45.9 MB
/srv/reproducible-results/rbuild-debian/r-b-build.v9KM6nWU/b1/erlang_28.0+dfsg-1_arm64.changes vs.
/srv/reproducible-results/rbuild-debian/r-b-build.v9KM6nWU/b2/erlang_28.0+dfsg-1_arm64.changes
4.29 KB
Files
    
Offset 8, 40 lines modifiedOffset 8, 40 lines modified
8 ·b760435ff0fca5574e4f9629da94861c·130320·debug·optional·erlang-crypto-dbgsym_28.0+dfsg-1_arm64.deb8 ·b760435ff0fca5574e4f9629da94861c·130320·debug·optional·erlang-crypto-dbgsym_28.0+dfsg-1_arm64.deb
9 ·3fcef15dbda0f8e602805e2c84731d5f·184848·interpreters·optional·erlang-crypto_28.0+dfsg-1_arm64.deb9 ·3fcef15dbda0f8e602805e2c84731d5f·184848·interpreters·optional·erlang-crypto_28.0+dfsg-1_arm64.deb
10 ·cd4ec75ae77b2d804867cfa060f0e7b9·493060·interpreters·optional·erlang-debugger_28.0+dfsg-1_arm64.deb10 ·cd4ec75ae77b2d804867cfa060f0e7b9·493060·interpreters·optional·erlang-debugger_28.0+dfsg-1_arm64.deb
11 ·0ad748cd2b592ee43046abb672a926a6·302900·interpreters·optional·erlang-dev_28.0+dfsg-1_arm64.deb11 ·0ad748cd2b592ee43046abb672a926a6·302900·interpreters·optional·erlang-dev_28.0+dfsg-1_arm64.deb
12 ·4917ec28e92b60b90d8ba1635cf5c6ed·76052·debug·optional·erlang-dialyzer-dbgsym_28.0+dfsg-1_arm64.deb12 ·4917ec28e92b60b90d8ba1635cf5c6ed·76052·debug·optional·erlang-dialyzer-dbgsym_28.0+dfsg-1_arm64.deb
13 ·79c4538a00b2d7ec0153a5c267bf4057·1065616·interpreters·optional·erlang-dialyzer_28.0+dfsg-1_arm64.deb13 ·79c4538a00b2d7ec0153a5c267bf4057·1065616·interpreters·optional·erlang-dialyzer_28.0+dfsg-1_arm64.deb
14 ·0d27c152355b462245d0c54d5929d666·825840·interpreters·optional·erlang-diameter_28.0+dfsg-1_arm64.deb14 ·0d27c152355b462245d0c54d5929d666·825840·interpreters·optional·erlang-diameter_28.0+dfsg-1_arm64.deb
15 ·5e8ec16cf2320fe7fb9d0e5e3ccee46d·17404264·doc·optional·erlang-doc_28.0+dfsg-1_all.deb15 ·addddd1aa4b1486a625658dc5e404cac·17403988·doc·optional·erlang-doc_28.0+dfsg-1_all.deb
16 ·49c45061563b000208d9840c81d1b70e·458392·interpreters·optional·erlang-edoc_28.0+dfsg-1_arm64.deb16 ·49c45061563b000208d9840c81d1b70e·458392·interpreters·optional·erlang-edoc_28.0+dfsg-1_arm64.deb
17 ·d67f9e82c40a30ce0894cc105e69f374·140000·interpreters·optional·erlang-eldap_28.0+dfsg-1_arm64.deb17 ·d67f9e82c40a30ce0894cc105e69f374·140000·interpreters·optional·erlang-eldap_28.0+dfsg-1_arm64.deb
18 ·9e7b11c5871fddd3bab650891178bdec·187352·interpreters·optional·erlang-et_28.0+dfsg-1_arm64.deb18 ·9e7b11c5871fddd3bab650891178bdec·187352·interpreters·optional·erlang-et_28.0+dfsg-1_arm64.deb
19 ·c58affacc069608d396152114b5e191f·174888·interpreters·optional·erlang-eunit_28.0+dfsg-1_arm64.deb19 ·c58affacc069608d396152114b5e191f·174888·interpreters·optional·erlang-eunit_28.0+dfsg-1_arm64.deb
20 ·4e504d6082dbb372a5c3202ef24337a2·959708·interpreters·optional·erlang-examples_28.0+dfsg-1_all.deb20 ·4e504d6082dbb372a5c3202ef24337a2·959708·interpreters·optional·erlang-examples_28.0+dfsg-1_all.deb
21 ·44bb4b492e70bd24914c4ae288c606d8·108700·interpreters·optional·erlang-ftp_28.0+dfsg-1_arm64.deb21 ·44bb4b492e70bd24914c4ae288c606d8·108700·interpreters·optional·erlang-ftp_28.0+dfsg-1_arm64.deb
22 ·69a0da903644bf7653a1e175b147a3b2·687712·interpreters·optional·erlang-inets_28.0+dfsg-1_arm64.deb22 ·69a0da903644bf7653a1e175b147a3b2·687712·interpreters·optional·erlang-inets_28.0+dfsg-1_arm64.deb
23 ·8b12a838d75bc4cc0743f83e8abd44c5·113592·interpreters·optional·erlang-jinterface_28.0+dfsg-1_all.deb23 ·64c437f6560d5bc96e17eed0ad3e2cd8·113604·interpreters·optional·erlang-jinterface_28.0+dfsg-1_all.deb
24 ·da182881a887be84163ec84257b9e11a·68148·debug·optional·erlang-megaco-dbgsym_28.0+dfsg-1_arm64.deb24 ·da182881a887be84163ec84257b9e11a·68148·debug·optional·erlang-megaco-dbgsym_28.0+dfsg-1_arm64.deb
25 ·4c7d901e8af35e324ce5d2870dc120e7·3730052·interpreters·optional·erlang-megaco_28.0+dfsg-1_arm64.deb25 ·4c7d901e8af35e324ce5d2870dc120e7·3730052·interpreters·optional·erlang-megaco_28.0+dfsg-1_arm64.deb
26 ·46b3b613a65f780927d3fc949171a011·912672·interpreters·optional·erlang-mnesia_28.0+dfsg-1_arm64.deb26 ·46b3b613a65f780927d3fc949171a011·912672·interpreters·optional·erlang-mnesia_28.0+dfsg-1_arm64.deb
27 ·3962d9691b9c296385aaa55dbc975e7d·93720·interpreters·optional·erlang-mode_28.0+dfsg-1_all.deb27 ·3962d9691b9c296385aaa55dbc975e7d·93720·interpreters·optional·erlang-mode_28.0+dfsg-1_all.deb
28 ·d84b3fa9984736cfe3753be307758635·14900·interpreters·optional·erlang-nox_28.0+dfsg-1_all.deb28 ·d84b3fa9984736cfe3753be307758635·14900·interpreters·optional·erlang-nox_28.0+dfsg-1_all.deb
29 ·a72283b33dc7fe398c0391b5dd4d37e4·1038776·interpreters·optional·erlang-observer_28.0+dfsg-1_arm64.deb29 ·a72283b33dc7fe398c0391b5dd4d37e4·1038776·interpreters·optional·erlang-observer_28.0+dfsg-1_arm64.deb
30 ·8e4bb7e012f45d823ce158e3d445637e·63032·debug·optional·erlang-odbc-dbgsym_28.0+dfsg-1_arm64.deb30 ·8e4bb7e012f45d823ce158e3d445637e·63032·debug·optional·erlang-odbc-dbgsym_28.0+dfsg-1_arm64.deb
31 ·384f68ba51d3348c4fbb1c6ee203b07b·68876·interpreters·optional·erlang-odbc_28.0+dfsg-1_arm64.deb31 ·384f68ba51d3348c4fbb1c6ee203b07b·68876·interpreters·optional·erlang-odbc_28.0+dfsg-1_arm64.deb
32 ·ef1929df5f95f58c6eb32964bbc7a8dc·20448·debug·optional·erlang-os-mon-dbgsym_28.0+dfsg-1_arm64.deb32 ·ef1929df5f95f58c6eb32964bbc7a8dc·20448·debug·optional·erlang-os-mon-dbgsym_28.0+dfsg-1_arm64.deb
33 ·d7e8742945b7bbbee0083f3a37b8055b·117412·interpreters·optional·erlang-os-mon_28.0+dfsg-1_arm64.deb33 ·d7e8742945b7bbbee0083f3a37b8055b·117412·interpreters·optional·erlang-os-mon_28.0+dfsg-1_arm64.deb
34 ·6afde07d0c933e5cf1e8a8699ba98ee8·213496·interpreters·optional·erlang-parsetools_28.0+dfsg-1_arm64.deb34 ·6afde07d0c933e5cf1e8a8699ba98ee8·213496·interpreters·optional·erlang-parsetools_28.0+dfsg-1_arm64.deb
35 ·a506707fa40e9a54b843ebdd66c7bd13·1215180·interpreters·optional·erlang-public-key_28.0+dfsg-1_arm64.deb35 ·a4e8850e5546383a29b9033414d80a36·1214860·interpreters·optional·erlang-public-key_28.0+dfsg-1_arm64.deb
36 ·c5e168cd641bde619f7de95da9bb6ca4·387700·interpreters·optional·erlang-reltool_28.0+dfsg-1_arm64.deb36 ·c5e168cd641bde619f7de95da9bb6ca4·387700·interpreters·optional·erlang-reltool_28.0+dfsg-1_arm64.deb
37 ·6387ede61d78092e86dcda1b7dd42299·27848·debug·optional·erlang-runtime-tools-dbgsym_28.0+dfsg-1_arm64.deb37 ·6387ede61d78092e86dcda1b7dd42299·27848·debug·optional·erlang-runtime-tools-dbgsym_28.0+dfsg-1_arm64.deb
38 ·c185b0d84348c0ae6ba021123568f2bf·252668·interpreters·optional·erlang-runtime-tools_28.0+dfsg-1_arm64.deb38 ·c185b0d84348c0ae6ba021123568f2bf·252668·interpreters·optional·erlang-runtime-tools_28.0+dfsg-1_arm64.deb
39 ·ff518966b3d562cb495239a4ec7ed043·1982824·interpreters·optional·erlang-snmp_28.0+dfsg-1_arm64.deb39 ·ff518966b3d562cb495239a4ec7ed043·1982824·interpreters·optional·erlang-snmp_28.0+dfsg-1_arm64.deb
40 ·243851adacac86468575c0d53f7c76a1·6198804·interpreters·optional·erlang-src_28.0+dfsg-1_all.deb40 ·2fd50aa92cb231baa1abfcd03f20e007·6198924·interpreters·optional·erlang-src_28.0+dfsg-1_all.deb
41 ·cce25e603d082217610cbd9ec3ae8662·1031408·interpreters·optional·erlang-ssh_28.0+dfsg-1_arm64.deb41 ·cce25e603d082217610cbd9ec3ae8662·1031408·interpreters·optional·erlang-ssh_28.0+dfsg-1_arm64.deb
42 ·2ceb8aa72ae8698559fe01a666ad808a·1688216·interpreters·optional·erlang-ssl_28.0+dfsg-1_arm64.deb42 ·2ceb8aa72ae8698559fe01a666ad808a·1688216·interpreters·optional·erlang-ssl_28.0+dfsg-1_arm64.deb
43 ·7b44d60da2e518e54b734a61016aafa0·358860·interpreters·optional·erlang-syntax-tools_28.0+dfsg-1_arm64.deb43 ·7b44d60da2e518e54b734a61016aafa0·358860·interpreters·optional·erlang-syntax-tools_28.0+dfsg-1_arm64.deb
44 ·1dc5a496b5934528eb3780d3d0a67687·115384·interpreters·optional·erlang-tftp_28.0+dfsg-1_arm64.deb44 ·1dc5a496b5934528eb3780d3d0a67687·115384·interpreters·optional·erlang-tftp_28.0+dfsg-1_arm64.deb
45 ·d681f8b4f7349c247c4cf9929920b802·636388·interpreters·optional·erlang-tools_28.0+dfsg-1_arm64.deb45 ·d681f8b4f7349c247c4cf9929920b802·636388·interpreters·optional·erlang-tools_28.0+dfsg-1_arm64.deb
46 ·dabda0896849679c7dd0fd8c178fe174·5480436·debug·optional·erlang-wx-dbgsym_28.0+dfsg-1_arm64.deb46 ·dabda0896849679c7dd0fd8c178fe174·5480436·debug·optional·erlang-wx-dbgsym_28.0+dfsg-1_arm64.deb
47 ·5f55019605a035068b3f0b5af7d4a531·5029140·interpreters·optional·erlang-wx_28.0+dfsg-1_arm64.deb47 ·5f55019605a035068b3f0b5af7d4a531·5029140·interpreters·optional·erlang-wx_28.0+dfsg-1_arm64.deb
43.8 MB
erlang-doc_28.0+dfsg-1_all.deb
452 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary
2 -rw-r--r--···0········0········0····39960·2025-05-21·08:22:24.000000·control.tar.xz2 -rw-r--r--···0········0········0····39976·2025-05-21·08:22:24.000000·control.tar.xz
3 -rw-r--r--···0········0········0·17364112·2025-05-21·08:22:24.000000·data.tar.xz3 -rw-r--r--···0········0········0·17363820·2025-05-21·08:22:24.000000·data.tar.xz
1.55 KB
control.tar.xz
1.53 KB
control.tar
1.51 KB
./md5sums
30.0 B
./md5sums
Files differ
1.46 KB
line order
Max HTML report size reached
43.8 MB
data.tar.xz
43.8 MB
data.tar
77.2 KB
file list
    
Offset 139, 15 lines modifiedOffset 139, 15 lines modified
139 -rw-r--r--···0·root·········(0)·root·········(0)······283·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/ssh.html139 -rw-r--r--···0·root·········(0)·root·········(0)······283·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/ssh.html
140 -rw-r--r--···0·root·········(0)·root·········(0)······284·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/ssl.html140 -rw-r--r--···0·root·········(0)·root·········(0)······284·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/ssl.html
141 -rw-r--r--···0·root·········(0)·root·········(0)······286·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/stdlib.html141 -rw-r--r--···0·root·········(0)·root·········(0)······286·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/stdlib.html
142 -rw-r--r--···0·root·········(0)·root·········(0)······292·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/syntax_tools.html142 -rw-r--r--···0·root·········(0)·root·········(0)······292·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/syntax_tools.html
143 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/143 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/
144 -rw-r--r--···0·root·········(0)·root·········(0)·····2325·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/.build144 -rw-r--r--···0·root·········(0)·root·········(0)·····2325·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/.build
145 -rw-r--r--···0·root·········(0)·root·········(0)·····5636·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/404.html145 -rw-r--r--···0·root·········(0)·root·········(0)·····5636·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/404.html
146 -rw-r--r--···0·root·········(0)·root·········(0)···753376·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/Erlang·System·Documentation.epub146 -rw-r--r--···0·root·········(0)·root·········(0)···753400·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/Erlang·System·Documentation.epub
147 -rw-r--r--···0·root·········(0)·root·········(0)····53464·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/applications.html147 -rw-r--r--···0·root·········(0)·root·········(0)····53464·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/applications.html
148 -rw-r--r--···0·root·········(0)·root·········(0)····97445·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/appup_cookbook.html148 -rw-r--r--···0·root·········(0)·root·········(0)····97445·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/appup_cookbook.html
149 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/149 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/
150 -rw-r--r--···0·root·········(0)·root·········(0)·····7982·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/ballpoint-pen.svg150 -rw-r--r--···0·root·········(0)·root·········(0)·····7982·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/ballpoint-pen.svg
151 -rw-r--r--···0·root·········(0)·root·········(0)·····2284·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist1.gif151 -rw-r--r--···0·root·········(0)·root·········(0)·····2284·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist1.gif
152 -rw-r--r--···0·root·········(0)·root·········(0)·····5214·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist2.gif152 -rw-r--r--···0·root·········(0)·root·········(0)·····5214·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist2.gif
153 -rw-r--r--···0·root·········(0)·root·········(0)·····5007·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist3.gif153 -rw-r--r--···0·root·········(0)·root·········(0)·····5007·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist3.gif
Offset 356, 15 lines modifiedOffset 356, 15 lines modified
356 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/356 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/
357 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/357 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/
358 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/358 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/
359 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/359 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/
360 -rw-r--r--···0·root·········(0)·root·········(0)·····1060·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/.build360 -rw-r--r--···0·root·········(0)·root·········(0)·····1060·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/.build
361 -rw-r--r--···0·root·········(0)·root·········(0)·····5998·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/404.html361 -rw-r--r--···0·root·········(0)·root·········(0)·····5998·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/404.html
362 -rw-r--r--···0·root·········(0)·root·········(0)·····6676·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/api-reference.html362 -rw-r--r--···0·root·········(0)·root·········(0)·····6676·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/api-reference.html
363 -rw-r--r--···0·root·········(0)·root·········(0)····97174·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1.epub363 -rw-r--r--···0·root·········(0)·root·········(0)····97163·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1.epub
364 -rw-r--r--···0·root·········(0)·root·········(0)···140448·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_getting_started.html364 -rw-r--r--···0·root·········(0)·root·········(0)···140448·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_getting_started.html
365 -rw-r--r--···0·root·········(0)·root·········(0)·····9316·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_introduction.html365 -rw-r--r--···0·root·········(0)·root·········(0)·····9316·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_introduction.html
366 -rw-r--r--···0·root·········(0)·root·········(0)·····7442·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_overview.html366 -rw-r--r--···0·root·········(0)·root·········(0)·····7442·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_overview.html
367 -rw-r--r--···0·root·········(0)·root·········(0)····78788·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_spec.html367 -rw-r--r--···0·root·········(0)·root·········(0)····78788·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_spec.html
368 -rw-r--r--···0·root·········(0)·root·········(0)····35357·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1ct.html368 -rw-r--r--···0·root·········(0)·root·········(0)····35357·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1ct.html
369 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/assets/369 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/assets/
370 -rw-r--r--···0·root·········(0)·root·········(0)·····1340·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/assets/exclusive_Win_But.gif370 -rw-r--r--···0·root·········(0)·root·········(0)·····1340·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/assets/exclusive_Win_But.gif
Offset 402, 15 lines modifiedOffset 402, 15 lines modified
402 -rw-r--r--···0·root·········(0)·root·········(0)····10664·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/api-reference.html402 -rw-r--r--···0·root·········(0)·root·········(0)····10664·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/api-reference.html
403 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/403 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/
404 -rw-r--r--···0·root·········(0)·root·········(0)·····4963·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/config.gif404 -rw-r--r--···0·root·········(0)·root·········(0)·····4963·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/config.gif
405 -rw-r--r--···0·root·········(0)·root·········(0)····10726·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/html_logs.gif405 -rw-r--r--···0·root·········(0)·root·········(0)····10726·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/html_logs.gif
406 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/logo.png406 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/logo.png
407 -rw-r--r--···0·root·········(0)·root·········(0)·····9561·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/tc_execution.gif407 -rw-r--r--···0·root·········(0)·root·········(0)·····9561·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/tc_execution.gif
408 -rw-r--r--···0·root·········(0)·root·········(0)····21789·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/basics_chapter.html408 -rw-r--r--···0·root·········(0)·root·········(0)····21789·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/basics_chapter.html
409 -rw-r--r--···0·root·········(0)·root·········(0)···400019·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/common_test.epub409 -rw-r--r--···0·root·········(0)·root·········(0)···400023·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/common_test.epub
410 -rw-r--r--···0·root·········(0)·root·········(0)·····7496·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/common_test_app.html410 -rw-r--r--···0·root·········(0)·root·········(0)·····7496·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/common_test_app.html
411 -rw-r--r--···0·root·········(0)·root·········(0)····59620·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/config_file_chapter.html411 -rw-r--r--···0·root·········(0)·root·········(0)····59620·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/config_file_chapter.html
412 -rw-r--r--···0·root·········(0)·root·········(0)····25535·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/cover_chapter.html412 -rw-r--r--···0·root·········(0)·root·········(0)····25535·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/cover_chapter.html
413 -rw-r--r--···0·root·········(0)·root·········(0)···181368·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct.html413 -rw-r--r--···0·root·········(0)·root·········(0)···181368·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct.html
414 -rw-r--r--···0·root·········(0)·root·········(0)····12266·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_cover.html414 -rw-r--r--···0·root·········(0)·root·········(0)····12266·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_cover.html
415 -rw-r--r--···0·root·········(0)·root·········(0)····29920·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_ftp.html415 -rw-r--r--···0·root·········(0)·root·········(0)····29920·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_ftp.html
416 -rw-r--r--···0·root·········(0)·root·········(0)····76699·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_hooks.html416 -rw-r--r--···0·root·········(0)·root·········(0)····76699·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_hooks.html
Offset 471, 15 lines modifiedOffset 471, 15 lines modified
471 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/assets/471 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/assets/
472 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/assets/logo.png472 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/assets/logo.png
473 -rw-r--r--···0·root·········(0)·root·········(0)····24214·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/beam_ssa.html473 -rw-r--r--···0·root·········(0)·root·········(0)····24214·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/beam_ssa.html
474 -rw-r--r--···0·root·········(0)·root·········(0)···450046·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl.html474 -rw-r--r--···0·root·········(0)·root·········(0)···450046·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl.html
475 -rw-r--r--···0·root·········(0)·root·········(0)····28674·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl_clauses.html475 -rw-r--r--···0·root·········(0)·root·········(0)····28674·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl_clauses.html
476 -rw-r--r--···0·root·········(0)·root·········(0)····28895·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl_trees.html476 -rw-r--r--···0·root·········(0)·root·········(0)····28895·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl_trees.html
477 -rw-r--r--···0·root·········(0)·root·········(0)····86571·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/compile.html477 -rw-r--r--···0·root·········(0)·root·········(0)····86571·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/compile.html
478 -rw-r--r--···0·root·········(0)·root·········(0)···189635·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/compiler.epub478 -rw-r--r--···0·root·········(0)·root·········(0)···189628·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/compiler.epub
479 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/479 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/
480 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/handlebars.runtime-CFQAK6SD.js480 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/handlebars.runtime-CFQAK6SD.js
481 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/handlebars.templates-K7URE6B4.js481 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/handlebars.templates-K7URE6B4.js
482 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/html-55NP3CS6.js482 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/html-55NP3CS6.js
483 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/html-erlang-WGRVP7UZ.css483 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/html-erlang-WGRVP7UZ.css
484 -rw-r--r--···0·root·········(0)·root·········(0)····17732·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/inconsolata-latin-400-normal-OXLHDACS.woff2484 -rw-r--r--···0·root·········(0)·root·········(0)····17732·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/inconsolata-latin-400-normal-OXLHDACS.woff2
485 -rw-r--r--···0·root·········(0)·root·········(0)····17976·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/inconsolata-latin-700-normal-S55P5GAG.woff2485 -rw-r--r--···0·root·········(0)·root·········(0)····17976·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/inconsolata-latin-700-normal-S55P5GAG.woff2
Offset 505, 15 lines modifiedOffset 505, 15 lines modified
505 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/505 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/
506 -rw-r--r--···0·root·········(0)·root·········(0)······978·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/.build506 -rw-r--r--···0·root·········(0)·root·········(0)······978·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/.build
507 -rw-r--r--···0·root·········(0)·root·········(0)·····6010·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/404.html507 -rw-r--r--···0·root·········(0)·root·········(0)·····6010·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/404.html
508 -rw-r--r--···0·root·········(0)·root·········(0)····35133·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/algorithm_details.html508 -rw-r--r--···0·root·········(0)·root·········(0)····35133·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/algorithm_details.html
509 -rw-r--r--···0·root·········(0)·root·········(0)·····6662·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/api-reference.html509 -rw-r--r--···0·root·········(0)·root·········(0)·····6662·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/api-reference.html
510 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/assets/510 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/assets/
511 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/assets/logo.png511 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/assets/logo.png
512 -rw-r--r--···0·root·········(0)·root·········(0)···127123·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto.epub512 -rw-r--r--···0·root·········(0)·root·········(0)···127126·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto.epub
513 -rw-r--r--···0·root·········(0)·root·········(0)···300253·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto.html513 -rw-r--r--···0·root·········(0)·root·········(0)···300253·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto.html
514 -rw-r--r--···0·root·········(0)·root·········(0)····10041·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto_app.html514 -rw-r--r--···0·root·········(0)·root·········(0)····10041·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto_app.html
515 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/515 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/
516 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/handlebars.runtime-CFQAK6SD.js516 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/handlebars.runtime-CFQAK6SD.js
517 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/handlebars.templates-K7URE6B4.js517 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/handlebars.templates-K7URE6B4.js
518 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/html-55NP3CS6.js518 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/html-55NP3CS6.js
519 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/html-erlang-WGRVP7UZ.css519 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/html-erlang-WGRVP7UZ.css
Offset 550, 15 lines modifiedOffset 550, 15 lines modified
550 -rw-r--r--···0·root·········(0)·root·········(0)····21770·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/cond_break_dialog.jpg550 -rw-r--r--···0·root·········(0)·root·········(0)····21770·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/cond_break_dialog.jpg
551 -rw-r--r--···0·root·········(0)·root·········(0)····13532·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/function_break_dialog.jpg551 -rw-r--r--···0·root·········(0)·root·········(0)····13532·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/function_break_dialog.jpg
552 -rw-r--r--···0·root·········(0)·root·········(0)····28924·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/interpret.jpg552 -rw-r--r--···0·root·········(0)·root·········(0)····28924·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/interpret.jpg
553 -rw-r--r--···0·root·········(0)·root·········(0)····14414·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/line_break_dialog.jpg553 -rw-r--r--···0·root·········(0)·root·········(0)····14414·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/line_break_dialog.jpg
554 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/logo.png554 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/logo.png
555 -rw-r--r--···0·root·········(0)·root·········(0)····40742·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/monitor.jpg555 -rw-r--r--···0·root·········(0)·root·········(0)····40742·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/monitor.jpg
556 -rw-r--r--···0·root·········(0)·root·········(0)····34504·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/view.jpg556 -rw-r--r--···0·root·········(0)·root·········(0)····34504·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/assets/view.jpg
557 -rw-r--r--···0·root·········(0)·root·········(0)···220575·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/debugger.epub557 -rw-r--r--···0·root·········(0)·root·········(0)···220570·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/debugger.epub
558 -rw-r--r--···0·root·········(0)·root·········(0)····13075·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/debugger.html558 -rw-r--r--···0·root·········(0)·root·········(0)····13075·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/debugger.html
559 -rw-r--r--···0·root·········(0)·root·········(0)····52016·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/debugger_chapter.html559 -rw-r--r--···0·root·········(0)·root·········(0)····52016·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/debugger_chapter.html
560 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/dist/560 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/dist/
561 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/dist/handlebars.runtime-CFQAK6SD.js561 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/dist/handlebars.runtime-CFQAK6SD.js
562 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/dist/handlebars.templates-K7URE6B4.js562 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/dist/handlebars.templates-K7URE6B4.js
563 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/dist/html-55NP3CS6.js563 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/dist/html-55NP3CS6.js
564 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/dist/html-erlang-WGRVP7UZ.css564 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/dist/html-erlang-WGRVP7UZ.css
Offset 587, 15 lines modifiedOffset 587, 15 lines modified
587 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/587 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/
588 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/588 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/
589 -rw-r--r--···0·root·········(0)·root·········(0)······921·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/.build589 -rw-r--r--···0·root·········(0)·root·········(0)······921·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/.build
590 -rw-r--r--···0·root·········(0)·root·········(0)·····6022·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/404.html590 -rw-r--r--···0·root·········(0)·root·········(0)·····6022·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/404.html
591 -rw-r--r--···0·root·········(0)·root·········(0)·····6786·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/api-reference.html591 -rw-r--r--···0·root·········(0)·root·········(0)·····6786·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/api-reference.html
592 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/assets/592 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/assets/
593 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/assets/logo.png593 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/assets/logo.png
594 -rw-r--r--···0·root·········(0)·root·········(0)····68059·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer.epub594 -rw-r--r--···0·root·········(0)·root·········(0)····68058·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer.epub
595 -rw-r--r--···0·root·········(0)·root·········(0)····53564·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer.html595 -rw-r--r--···0·root·········(0)·root·········(0)····53564·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer.html
596 -rw-r--r--···0·root·········(0)·root·········(0)····25892·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer_chapter.html596 -rw-r--r--···0·root·········(0)·root·········(0)····25892·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer_chapter.html
597 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/597 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/
598 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/handlebars.runtime-CFQAK6SD.js598 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/handlebars.runtime-CFQAK6SD.js
599 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/handlebars.templates-K7URE6B4.js599 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/handlebars.templates-K7URE6B4.js
600 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/html-55NP3CS6.js600 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/html-55NP3CS6.js
601 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/html-erlang-WGRVP7UZ.css601 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/html-erlang-WGRVP7UZ.css
Offset 756, 15 lines modifiedOffset 756, 15 lines modified
756 -rw-r--r--···0·root·········(0)·root·········(0)····23040·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-700-normal-2XVSBPG4.woff2756 -rw-r--r--···0·root·········(0)·root·········(0)····23040·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-700-normal-2XVSBPG4.woff2
757 -rw-r--r--···0·root·········(0)·root·········(0)·····5624·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-ext-300-normal-VPGGJKJL.woff2757 -rw-r--r--···0·root·········(0)·root·········(0)·····5624·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-ext-300-normal-VPGGJKJL.woff2
758 -rw-r--r--···0·root·········(0)·root·········(0)·····5472·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-ext-400-normal-N27NCBWW.woff2758 -rw-r--r--···0·root·········(0)·root·········(0)·····5472·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-ext-400-normal-N27NCBWW.woff2
759 -rw-r--r--···0·root·········(0)·root·········(0)·····5368·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2759 -rw-r--r--···0·root·········(0)·root·········(0)·····5368·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
760 -rw-r--r--···0·root·········(0)·root·········(0)·····1956·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/remixicon-NKANDIL5.woff2760 -rw-r--r--···0·root·········(0)·root·········(0)·····1956·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/remixicon-NKANDIL5.woff2
761 -rw-r--r--···0·root·········(0)·root·········(0)····25496·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/search_data-407EBE57.js761 -rw-r--r--···0·root·········(0)·root·········(0)····25496·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/search_data-407EBE57.js
762 -rw-r--r--···0·root·········(0)·root·········(0)·····6043·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/sidebar_items-04992418.js762 -rw-r--r--···0·root·········(0)·root·········(0)·····6043·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/sidebar_items-04992418.js
763 -rw-r--r--···0·root·········(0)·root·········(0)····33363·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/eldap.epub763 -rw-r--r--···0·root·········(0)·root·········(0)····33358·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/eldap.epub
764 -rw-r--r--···0·root·········(0)·root·········(0)····94391·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/eldap.html764 -rw-r--r--···0·root·········(0)·root·········(0)····94391·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/eldap.html
765 -rw-r--r--···0·root·········(0)·root·········(0)······264·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/index.html765 -rw-r--r--···0·root·········(0)·root·········(0)······264·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/index.html
766 -rw-r--r--···0·root·········(0)·root·········(0)····26619·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/notes.html766 -rw-r--r--···0·root·········(0)·root·········(0)····26619·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/notes.html
767 -rw-r--r--···0·root·········(0)·root·········(0)·····5929·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/search.html767 -rw-r--r--···0·root·········(0)·root·········(0)·····5929·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/search.html
768 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/768 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/
769 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/769 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/
770 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/770 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/
Max diff block lines reached; 58441/79028 bytes (73.95%) 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 493, 15 lines modifiedOffset 493, 15 lines modified
493 ······<p·class="built-using">493 ······<p·class="built-using">
494 ········Built·using494 ········Built·using
495 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the495 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
496 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>496 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
497 ······</p>497 ······</p>
498 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>498 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
499 ····</footer>499 ····</footer>
500 ··</div>500 ··</div>
501 </main>501 </main>
502 </div>502 </div>
503 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>503 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
504 ··<script>504 ··<script>
505 ··let·initialized·=·false;505 ··let·initialized·=·false;
760 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/doc/man_index.html
    
Offset 158, 15 lines modifiedOffset 158, 15 lines modified
158 ······<p·class="built-using">158 ······<p·class="built-using">
159 ········Built·using159 ········Built·using
160 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the160 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
161 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>161 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
162 ······</p>162 ······</p>
163 <p>Copyright·©·1996-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;
687 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/doc/readme.html
    
Offset 149, 15 lines modifiedOffset 149, 15 lines modified
149 ······<p·class="built-using">149 ······<p·class="built-using">
150 ········Built·using150 ········Built·using
151 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the151 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
152 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>152 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
153 ······</p>153 ······</p>
154 <p>Copyright·©·1996-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 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;
740 B
html2text {}
Max HTML report size reached
1.18 KB
./usr/share/doc/erlang-doc/html/doc/search.html
    
Offset 127, 15 lines modifiedOffset 127, 15 lines modified
127 ······<p·class="built-using">127 ······<p·class="built-using">
128 ········Built·using128 ········Built·using
129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
131 ······</p>131 ······</p>
132 <p>Copyright·©·1996-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;
419 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/doc/system/404.html
    
Offset 131, 15 lines modifiedOffset 131, 15 lines modified
131 ······<p·class="built-using">131 ······<p·class="built-using">
132 ········Built·using132 ········Built·using
133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
135 ······</p>135 ······</p>
136 <p>Copyright·©·1996-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.45 MB
./usr/share/doc/erlang-doc/html/doc/system/Erlang System Documentation.epub
14.5 KB
zipinfo {}
Max HTML report size reached
548 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
70.1 KB
OEBPS/typespec.xhtml
Max HTML report size reached
69.8 KB
OEBPS/tablesdatabases.xhtml
Max HTML report size reached
63.7 KB
OEBPS/sup_princ.xhtml
Max HTML report size reached
368 KB
OEBPS/statem.xhtml
Max HTML report size reached
196 KB
OEBPS/spec_proc.xhtml
Max HTML report size reached
426 KB
OEBPS/seq_prog.xhtml
Max HTML report size reached
113 KB
OEBPS/robustness.xhtml
Max HTML report size reached
18.0 KB
OEBPS/release_structure.xhtml
Max HTML report size reached
67.3 KB
OEBPS/release_handling.xhtml
Max HTML report size reached
30.3 KB
OEBPS/ref_man_records.xhtml
Max HTML report size reached
5.29 KB
OEBPS/ref_man_processes.xhtml
Max HTML report size reached
20.9 KB
OEBPS/ref_man_functions.xhtml
Max HTML report size reached
84.0 KB
OEBPS/records_macros.xhtml
Max HTML report size reached
69.8 KB
OEBPS/prog_ex_records.xhtml
Max HTML report size reached
3.69 KB
OEBPS/patterns.xhtml
Max HTML report size reached
1.47 KB
OEBPS/otp-patch-apply.xhtml
Max HTML report size reached
9.0 KB
OEBPS/opaques.xhtml
Max HTML report size reached
23.6 KB
OEBPS/nominals.xhtml
Max HTML report size reached
15.9 KB
OEBPS/nif.xhtml
Max HTML report size reached
23.9 KB
OEBPS/modules.xhtml
Max HTML report size reached
51.4 KB
OEBPS/maps.xhtml
Max HTML report size reached
58.2 KB
OEBPS/macros.xhtml
Max HTML report size reached
55.3 KB
OEBPS/listhandling.xhtml
Max HTML report size reached
92.3 KB
OEBPS/list_comprehensions.xhtml
Max HTML report size reached
6.1 KB
OEBPS/install-win32.xhtml
Max HTML report size reached
32.9 KB
OEBPS/included_applications.xhtml
Max HTML report size reached
48.0 KB
OEBPS/gen_server_concepts.xhtml
Max HTML report size reached
213 KB
OEBPS/funs.xhtml
Max HTML report size reached
367 KB
OEBPS/expressions.xhtml
Max HTML report size reached
1.63 KB
OEBPS/example.xhtml
Max HTML report size reached
40.5 KB
OEBPS/events.xhtml
Max HTML report size reached
9.91 KB
OEBPS/errors.xhtml
Max HTML report size reached
17.6 KB
OEBPS/error_logging.xhtml
Max HTML report size reached
70.9 KB
OEBPS/erl_interface.xhtml
Max HTML report size reached
65.6 KB
OEBPS/eff_guide_processes.xhtml
Max HTML report size reached
33.3 KB
OEBPS/eff_guide_functions.xhtml
Max HTML report size reached
7.09 KB
OEBPS/drivers.xhtml
Max HTML report size reached
65.2 KB
OEBPS/documentation.xhtml
Max HTML report size reached
16.2 KB
OEBPS/distributed_applications.xhtml
Max HTML report size reached
5.64 KB
OEBPS/distributed.xhtml
Max HTML report size reached
58.3 KB
OEBPS/design_principles.xhtml
Max HTML report size reached
77.0 KB
OEBPS/data_types.xhtml
Max HTML report size reached
184 KB
OEBPS/create_target.xhtml
Max HTML report size reached
1.31 KB
OEBPS/content.opf
1.27 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="2342653493-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="2342653493-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·555,·SHA:·d5bc7a23777f1f4867c5f386b28961876db0e2b0b3394bfcfa0d7ae7e925d92c·...·]-3">}</span><span·class="w">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="6108662624-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="6108662624-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·555,·SHA:·7684e4b9c75c83ce09628e588581a1c777993b45b02accd2d2c38642dc801678·...·]-3">}</span><span·class="w">
143 </span><span·class="nf">stop</span><span·class="p"·data-group-id="2342653493-4">(</span><span·class="n">State</span><span·class="p"·data-group-id="2342653493-4">)</span></code></pre><ul><li><code·class="inline">start/2</code>·is·called·when·starting·the·application·and·is·to·create·the143 </span><span·class="nf">stop</span><span·class="p"·data-group-id="6108662624-4">(</span><span·class="n">State</span><span·class="p"·data-group-id="6108662624-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="8300305748-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="8300305748-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="9759262827-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="9759262827-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="8300305748-2">(</span><span·class="ss">application</span><span·class="p"·data-group-id="8300305748-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="9759262827-2">(</span><span·class="ss">application</span><span·class="p"·data-group-id="9759262827-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="8300305748-3">(</span><span·class="p"·data-group-id="8300305748-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:·a895d802039d610e77bfa15e7cab67bfbfe74c43b12a3642f69027e60261536c·...·]-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="9759262827-3">(</span><span·class="p"·data-group-id="9759262827-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:·62f70f5adc61ce78034cd28e84d31617b2d09a21b17e073ee134d57db490b530·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">start</span><span·class="p"·data-group-id="8300305748-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="8300305748-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="9759262827-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="9759262827-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="8300305748-6">(</span><span·class="p"·data-group-id="8300305748-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="9759262827-6">(</span><span·class="p"·data-group-id="9759262827-6">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">stop</span><span·class="p"·data-group-id="8300305748-7">(</span><span·class="p">_</span><span·class="n">State</span><span·class="p"·data-group-id="8300305748-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="9759262827-7">(</span><span·class="p">_</span><span·class="n">State</span><span·class="p"·data-group-id="9759262827-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
160 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>A·library·application·that·cannot·be·started·or·stopped·does·not·need·any160 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>A·library·application·that·cannot·be·started·or·stopped·does·not·need·any
161 application·callback·module.</p><p><a·href=""·id="appl_res_file"></a></p><h2·id="application-resource-file"·class="section-heading">161 application·callback·module.</p><p><a·href=""·id="appl_res_file"></a></p><h2·id="application-resource-file"·class="section-heading">
162 ··<a·href="#application-resource-file"·class="hover-link">162 ··<a·href="#application-resource-file"·class="hover-link">
163 ····<i·class="ri-link-m"·aria-hidden="true"></i>163 ····<i·class="ri-link-m"·aria-hidden="true"></i>
164 ··</a>164 ··</a>
165 ··<span·class="text">Application·Resource·File</span>165 ··<span·class="text">Application·Resource·File</span>
166 </h2>166 </h2>
Offset 173, 22 lines modifiedOffset 173, 22 lines modified
173 keys.</li></ul><p>The·contents·of·a·minimal·<code·class="inline">.app</code>·file·for·a·library·application·<code·class="inline">libapp</code>·looks173 keys.</li></ul><p>The·contents·of·a·minimal·<code·class="inline">.app</code>·file·for·a·library·application·<code·class="inline">libapp</code>·looks
174 as·follows:</p><pre><code·class="text">{application,·libapp,·[]}.</code></pre><p>The·contents·of·a·minimal·<code·class="inline">.app</code>·file·<code·class="inline">ch_app.app</code>·for·a·supervision·tree174 as·follows:</p><pre><code·class="text">{application,·libapp,·[]}.</code></pre><p>The·contents·of·a·minimal·<code·class="inline">.app</code>·file·<code·class="inline">ch_app.app</code>·for·a·supervision·tree
175 application·like·<code·class="inline">ch_app</code>·looks·as·follows:</p><pre><code·class="text">{application,·ch_app,175 application·like·<code·class="inline">ch_app</code>·looks·as·follows:</p><pre><code·class="text">{application,·ch_app,
176 ·[{mod,·{ch_app,[]}}]}.</code></pre><p>The·key·<code·class="inline">mod</code>·defines·the·callback·module·and·start·argument·of·the·application,176 ·[{mod,·{ch_app,[]}}]}.</code></pre><p>The·key·<code·class="inline">mod</code>·defines·the·callback·module·and·start·argument·of·the·application,
177 in·this·case·<code·class="inline">ch_app</code>·and·<code·class="inline">[]</code>,·respectively.·This·means·that·the·following·is177 in·this·case·<code·class="inline">ch_app</code>·and·<code·class="inline">[]</code>,·respectively.·This·means·that·the·following·is
178 called·when·the·application·is·to·be·started:</p><pre><code·class="text">ch_app:start(normal,·[])</code></pre><p>The·following·is·called·when·the·application·is·stopped:</p><pre><code·class="text">ch_app:stop([])</code></pre><p>When·using·<a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>,·the·Erlang/OTP·tools·for·packaging·code·(see·Section178 called·when·the·application·is·to·be·started:</p><pre><code·class="text">ch_app:start(normal,·[])</code></pre><p>The·following·is·called·when·the·application·is·stopped:</p><pre><code·class="text">ch_app:stop([])</code></pre><p>When·using·<a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>,·the·Erlang/OTP·tools·for·packaging·code·(see·Section
179 <a·href="release_structure.html">Releases</a>),·the·keys·<code·class="inline">description</code>,·<code·class="inline">vsn</code>,·<code·class="inline">modules</code>,179 <a·href="release_structure.html">Releases</a>),·the·keys·<code·class="inline">description</code>,·<code·class="inline">vsn</code>,·<code·class="inline">modules</code>,
180 <code·class="inline">registered</code>,·and·<code·class="inline">applications</code>·are·also·to·be·specified:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9311083433-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="3794560800-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="9311083433-2">[</span><span·class="p"·data-group-id="9311083433-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="9311083433-3">}</span><span·class="p">,</span><span·class="w">181 ·</span><span·class="p"·data-group-id="3794560800-2">[</span><span·class="p"·data-group-id="3794560800-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="3794560800-3">}</span><span·class="p">,</span><span·class="w">
182 ··</span><span·class="p"·data-group-id="9311083433-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="9311083433-4">}</span><span·class="p">,</span><span·class="w">182 ··</span><span·class="p"·data-group-id="3794560800-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="3794560800-4">}</span><span·class="p">,</span><span·class="w">
183 ··</span><span·class="p"·data-group-id="9311083433-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9311083433-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:·0eee6649f619df122eb60b2028d0b8950e709a47e6bb343f329faa51fea4a5d1·...·]-5">}</span><span·class="p">,</span><span·class="w">183 ··</span><span·class="p"·data-group-id="3794560800-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3794560800-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:·e62775db2a9bbbab73f5685f6c3c1b2ac98e2ae343a8926fb9cf61aa561f25c1·...·]-5">}</span><span·class="p">,</span><span·class="w">
184 ··</span><span·class="p"·data-group-id="9311083433-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9311083433-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="9311083433-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·ea5b5f2b22ca804513e981a00d0e18d6a0552baa04730ff41ba7d8d0ca6e2a9a·...·]-7">}</span><span·class="p">,</span><span·class="w">184 ··</span><span·class="p"·data-group-id="3794560800-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3794560800-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="3794560800-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·1c481b41a5bcb1b149a63a522dbbabfb09559b38fc5fa79bcda759b6b825cd4d·...·]-7">}</span><span·class="p">,</span><span·class="w">
185 ··</span><span·class="p"·data-group-id="9311083433-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9311083433-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:·4ae9e84f04c4e2e1ebb95fb84e987f14ae66e0fc1928af702e725737d0b68fcd·...·]-9">}</span><span·class="p">,</span><span·class="w">185 ··</span><span·class="p"·data-group-id="3794560800-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3794560800-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:·cf12a755856bd720e177709180573b5654240b9c6cea03192dd1f891acec54af·...·]-9">}</span><span·class="p">,</span><span·class="w">
186 ··</span><span·class="p"·data-group-id="9311083433-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9311083433-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="9311083433-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·30055d79d3682da104675f27ba5c5ae6479b7ca5bec79cb6dcb7435543b64766·...·]-11">}</span><span·class="w">186 ··</span><span·class="p"·data-group-id="3794560800-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3794560800-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="3794560800-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·df35a93faa9c8c20cafb6909614a68f05551bfdfd61b5b08146b61d4ca7e19db·...·]-11">}</span><span·class="w">
187 ·</span><span·class="p"·data-group-id="9311083433-2">]</span><span·class="p"·data-group-id="9311083433-1">}</span><span·class="p">.</span></code></pre><ul><li><code·class="inline">description</code>·-·A·short·description,·a·string.·Defaults·to·<code·class="inline">&quot;&quot;</code>.</li><li><code·class="inline">vsn</code>·-·Version·number,·a·string.·Defaults·to·<code·class="inline">&quot;&quot;</code>.</li><li><code·class="inline">modules</code>·-·All·modules·<em>introduced</em>·by·this·application.·<a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·uses187 ·</span><span·class="p"·data-group-id="3794560800-2">]</span><span·class="p"·data-group-id="3794560800-1">}</span><span·class="p">.</span></code></pre><ul><li><code·class="inline">description</code>·-·A·short·description,·a·string.·Defaults·to·<code·class="inline">&quot;&quot;</code>.</li><li><code·class="inline">vsn</code>·-·Version·number,·a·string.·Defaults·to·<code·class="inline">&quot;&quot;</code>.</li><li><code·class="inline">modules</code>·-·All·modules·<em>introduced</em>·by·this·application.·<a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·uses
188 this·list·when·generating·boot·scripts·and·tar·files.·A·module·must·only188 this·list·when·generating·boot·scripts·and·tar·files.·A·module·must·only
189 be·included·in·one·application.·Defaults·to·<code·class="inline">[]</code>.</li><li><code·class="inline">registered</code>·-·All·names·of·registered·processes·in·the·application.189 be·included·in·one·application.·Defaults·to·<code·class="inline">[]</code>.</li><li><code·class="inline">registered</code>·-·All·names·of·registered·processes·in·the·application.
190 <a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·uses·this·list·to·detect·name·clashes·between·applications.190 <a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·uses·this·list·to·detect·name·clashes·between·applications.
191 Defaults·to·<code·class="inline">[]</code>.</li><li><code·class="inline">applications</code>·-·All·applications·that·must·be·started·before·this191 Defaults·to·<code·class="inline">[]</code>.</li><li><code·class="inline">applications</code>·-·All·applications·that·must·be·started·before·this
192 application·is·started.·<a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·uses·this·list·to·generate·correct·boot192 application·is·started.·<a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·uses·this·list·to·generate·correct·boot
193 scripts.·Defaults·to·<code·class="inline">[]</code>.·Notice·that·all·applications·have·dependencies·to193 scripts.·Defaults·to·<code·class="inline">[]</code>.·Notice·that·all·applications·have·dependencies·to
194 at·least·Kernel·and·STDLIB.</li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>For·details·about·the·syntax·and·contents·of·the·application·resource·file,194 at·least·Kernel·and·STDLIB.</li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>For·details·about·the·syntax·and·contents·of·the·application·resource·file,
Offset 300, 38 lines modifiedOffset 300, 38 lines modified
300 stop·applications.</p><h2·id="loading-and-unloading-applications"·class="section-heading">300 stop·applications.</p><h2·id="loading-and-unloading-applications"·class="section-heading">
301 ··<a·href="#loading-and-unloading-applications"·class="hover-link">301 ··<a·href="#loading-and-unloading-applications"·class="hover-link">
302 ····<i·class="ri-link-m"·aria-hidden="true"></i>302 ····<i·class="ri-link-m"·aria-hidden="true"></i>
303 ··</a>303 ··</a>
304 ··<span·class="text">Loading·and·Unloading·Applications</span>304 ··<span·class="text">Loading·and·Unloading·Applications</span>
305 </h2>305 </h2>
306 <p>Before·an·application·can·be·started,·it·must·be·<em>loaded</em>.·The·application306 <p>Before·an·application·can·be·started,·it·must·be·<em>loaded</em>.·The·application
307 controller·reads·and·stores·the·information·from·the·<code·class="inline">.app</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">load</span><span·class="p"·data-group-id="4277915641-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="4277915641-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="6663949028-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="6663949028-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="4277915641-2">(</span><span·class="p"·data-group-id="4277915641-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="6663949028-2">(</span><span·class="p"·data-group-id="6663949028-2">)</span><span·class="p">.</span><span·class="w">
310 </span><span·class="p"·data-group-id="4277915641-3">[</span><span·class="p"·data-group-id="4277915641-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:·5fb83d1cbfeb8ed9db89725af0988de924b833db141f0d89cfd499a57f5c286c·...·]-4">}</span><span·class="p">,</span><span·class="w">310 </span><span·class="p"·data-group-id="6663949028-3">[</span><span·class="p"·data-group-id="6663949028-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:·42f1b19366d228b4459577e89bbf65c5713bb4c95f0da0023b6ca1825bd3a41a·...·]-4">}</span><span·class="p">,</span><span·class="w">
311 ·</span><span·class="p"·data-group-id="4277915641-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="4277915641-5">}</span><span·class="p">,</span><span·class="w">311 ·</span><span·class="p"·data-group-id="6663949028-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="6663949028-5">}</span><span·class="p">,</span><span·class="w">
312 ·</span><span·class="p"·data-group-id="4277915641-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="4277915641-6">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·3e0bd6e081833aad8c106cd11a747cfc8ed20f6f60de12680e917759847d2d3c·...·]-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="6663949028-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="6663949028-6">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·ded12b7dedaadf110f0a0a540d4e55b343a6b4cf8c56cc13cb06e99203d12257·...·]-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="3855827785-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="3855827785-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="9978845194-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="9978845194-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="3855827785-2">(</span><span·class="p"·data-group-id="3855827785-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="9978845194-2">(</span><span·class="p"·data-group-id="9978845194-2">)</span><span·class="p">.</span><span·class="w">
317 </span><span·class="p"·data-group-id="3855827785-3">[</span><span·class="p"·data-group-id="3855827785-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:·59e39393efb04e703f51bd9499947d412266d2fa636b3341167429f0e02cc2df·...·]-4">}</span><span·class="p">,</span><span·class="w">317 </span><span·class="p"·data-group-id="9978845194-3">[</span><span·class="p"·data-group-id="9978845194-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:·0c2f6b57366920e556af5a57f6d2199ed7ad122bfa9affb46f9bdd8318a77f7f·...·]-4">}</span><span·class="p">,</span><span·class="w">
318 ·</span><span·class="p"·data-group-id="3855827785-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="3855827785-5">}</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·f8c587f2f8524404bd1182b7e211f5d5ed22e6d563021efc18d8fbaeb8e99754·...·]-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="9978845194-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="9978845194-5">}</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·a2658a173863c04578fb8dd8d6af73c2d83b077efbdf03d2434473b047fa065d·...·]-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="1607376328-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="1607376328-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="6966874796-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="6966874796-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="1607376328-2">(</span><span·class="p"·data-group-id="1607376328-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="6966874796-2">(</span><span·class="p"·data-group-id="6966874796-2">)</span><span·class="p">.</span><span·class="w">
328 </span><span·class="p"·data-group-id="1607376328-3">[</span><span·class="p"·data-group-id="1607376328-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:·e007ead3d03c07bec97fe73d0eb81a206eaa381151280dfcdf0051cdbd43998e·...·]-4">}</span><span·class="p">,</span><span·class="w">328 </span><span·class="p"·data-group-id="6966874796-3">[</span><span·class="p"·data-group-id="6966874796-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:·77fd1c6dee618573004da0c1a3fb4e230362cbc7ced942535d7fd2fe3dc7248d·...·]-4">}</span><span·class="p">,</span><span·class="w">
329 ·</span><span·class="p"·data-group-id="1607376328-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="1607376328-5">}</span><span·class="p">,</span><span·class="w">329 ·</span><span·class="p"·data-group-id="6966874796-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="6966874796-5">}</span><span·class="p">,</span><span·class="w">
330 ·</span><span·class="p"·data-group-id="1607376328-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="1607376328-6">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·f9d02655f916355d7811f2b362ee537fbceea937720564a81627cb92b56946ab·...·]-3">]</span></code></pre><p>If·the·application·is·not·already·loaded,·the·application·controller·first·loads330 ·</span><span·class="p"·data-group-id="6966874796-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="6966874796-6">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·a87377caacb5d7136b9558f99ad9b6cc4d98cb7ae95cc2efc961336133bf6a6d·...·]-3">]</span></code></pre><p>If·the·application·is·not·already·loaded,·the·application·controller·first·loads
331 it·using·<a·href="../../lib/kernel-10.3/doc/html/application.html#load/1"><code·class="inline">application:load/1</code></a>.·It·checks·the·value·of·the·<code·class="inline">applications</code>·key·to331 it·using·<a·href="../../lib/kernel-10.3/doc/html/application.html#load/1"><code·class="inline">application:load/1</code></a>.·It·checks·the·value·of·the·<code·class="inline">applications</code>·key·to
332 ensure·that·all·applications·that·are·to·be·started·before·this·application·are332 ensure·that·all·applications·that·are·to·be·started·before·this·application·are
333 running.</p><p><a·href=""·id="application_master"></a></p><p>Following·that,·the·application·controller·creates·an·<em>application·master</em>·for333 running.</p><p><a·href=""·id="application_master"></a></p><p>Following·that,·the·application·controller·creates·an·<em>application·master</em>·for
334 the·application.</p><p>The·application·master·establishes·itself·as·the·<a·href="../../erts-16.0/doc/html/erlang.html#group_leader/0">group334 the·application.</p><p>The·application·master·establishes·itself·as·the·<a·href="../../erts-16.0/doc/html/erlang.html#group_leader/0">group
335 leader</a>·of·all·processes·in·the·application335 leader</a>·of·all·processes·in·the·application
336 and·will·forward·I/O·to·the·previous·group·leader.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·purpose·of·the·application·master·being·the·group·leader·is·to·easily336 and·will·forward·I/O·to·the·previous·group·leader.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·purpose·of·the·application·master·being·the·group·leader·is·to·easily
337 keep·track·of·which·processes·that·belong·to·the·application.·That·is·needed337 keep·track·of·which·processes·that·belong·to·the·application.·That·is·needed
Offset 347, 55 lines modifiedOffset 347, 55 lines modified
347 defined·by·the·<code·class="inline">mod</code>·key.</p><h2·id="configuring-an-application"·class="section-heading">347 defined·by·the·<code·class="inline">mod</code>·key.</p><h2·id="configuring-an-application"·class="section-heading">
348 ··<a·href="#configuring-an-application"·class="hover-link">348 ··<a·href="#configuring-an-application"·class="hover-link">
349 ····<i·class="ri-link-m"·aria-hidden="true"></i>349 ····<i·class="ri-link-m"·aria-hidden="true"></i>
350 ··</a>350 ··</a>
351 ··<span·class="text">Configuring·an·Application</span>351 ··<span·class="text">Configuring·an·Application</span>
352 </h2>352 </h2>
353 <p>An·application·can·be·configured·using·<em>configuration·parameters</em>.·These·are·a353 <p>An·application·can·be·configured·using·<em>configuration·parameters</em>.·These·are·a
354 list·of·<code·class="inline">{Par,Val}</code>·tuples·specified·by·a·key·<code·class="inline">env</code>·in·the·<code·class="inline">.app</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9996076669-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="4809476414-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="9996076669-2">[</span><span·class="p"·data-group-id="9996076669-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="9996076669-3">}</span><span·class="p">,</span><span·class="w">355 ·</span><span·class="p"·data-group-id="4809476414-2">[</span><span·class="p"·data-group-id="4809476414-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="4809476414-3">}</span><span·class="p">,</span><span·class="w">
356 ··</span><span·class="p"·data-group-id="9996076669-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="9996076669-4">}</span><span·class="p">,</span><span·class="w">356 ··</span><span·class="p"·data-group-id="4809476414-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="4809476414-4">}</span><span·class="p">,</span><span·class="w">
357 ··</span><span·class="p"·data-group-id="9996076669-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9996076669-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:·9d5d0fb9adba82a356a947e26121a4eb7938bead3f12b45172491a28d3e5d15d·...·]-5">}</span><span·class="p">,</span><span·class="w">357 ··</span><span·class="p"·data-group-id="4809476414-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4809476414-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:·1e1c615d94e1abc3c7edbfa33cf27d967c8ca5f56c07430c5381de1d2b836276·...·]-5">}</span><span·class="p">,</span><span·class="w">
358 ··</span><span·class="p"·data-group-id="9996076669-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9996076669-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="9996076669-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·4ab0601a0d720335096011dfda1aa65ca24cbc9dec819932aacb26e2152a9c33·...·]-7">}</span><span·class="p">,</span><span·class="w">358 ··</span><span·class="p"·data-group-id="4809476414-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4809476414-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="4809476414-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·60464a428814d4c5879ca4a0b3e19dc5e29002b3a84d6d5b6dee0a9e459483b2·...·]-7">}</span><span·class="p">,</span><span·class="w">
359 ··</span><span·class="p"·data-group-id="9996076669-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9996076669-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:·160caa1583115ff7be94cdd1b684f6c55d5164b32bc0d99373a7ebc51434fb03·...·]-9">}</span><span·class="p">,</span><span·class="w">359 ··</span><span·class="p"·data-group-id="4809476414-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4809476414-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:·94a23dab85de8687e710211da2b6c8c7955565ab4156510f4ef453b9748709af·...·]-9">}</span><span·class="p">,</span><span·class="w">
360 ··</span><span·class="p"·data-group-id="9996076669-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9996076669-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="9996076669-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·698759fd7e18b971783592d033e3eb6a3faa6328c1bdffc7ec43e78eba8c5fb8·...·]-11">}</span><span·class="p">,</span><span·class="w">360 ··</span><span·class="p"·data-group-id="4809476414-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4809476414-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="4809476414-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·70baad73fbede53e5b5caa6c37e6f7e7b6b6c589de34bd68f81a9ad4c431b697·...·]-11">}</span><span·class="p">,</span><span·class="w">
361 ··</span><span·class="p"·data-group-id="9996076669-14">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9996076669-15">[</span><span·class="p"·data-group-id="9996076669-16">{</span><span·class="ss">file</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·224,·SHA:·f885da45d83fdae762f87a285cbdf04ff14d321ac6ef3feb913c41de8b7cc219·...·]-14">}</span><span·class="w">361 ··</span><span·class="p"·data-group-id="4809476414-14">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4809476414-15">[</span><span·class="p"·data-group-id="4809476414-16">{</span><span·class="ss">file</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·224,·SHA:·9ef75b4d48bcf8e6027dfbf7e91d9dbef18e66bc23b3fd3ffa0dd642f5f7e342·...·]-14">}</span><span·class="w">
362 ·</span><span·class="p"·data-group-id="9996076669-2">]</span><span·class="p"·data-group-id="9996076669-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="4809476414-2">]</span><span·class="p"·data-group-id="4809476414-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">Par</code>·is·to·be·an·atom.·<code·class="inline">Val</code>·is·any·term.·The·application·can·retrieve·the
363 value·of·a·configuration·parameter·by·calling·<code·class="inline">application:get_env(App,·Par)</code>·or363 value·of·a·configuration·parameter·by·calling·<code·class="inline">application:get_env(App,·Par)</code>·or
364 a·number·of·similar·functions.·For·more·information,·see·module·<a·href="../../lib/kernel-10.3/doc/html/application.html"><code·class="inline">application</code></a>364 a·number·of·similar·functions.·For·more·information,·see·module·<a·href="../../lib/kernel-10.3/doc/html/application.html"><code·class="inline">application</code></a>
365 in·Kernel.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl</span><span·class="w">365 in·Kernel.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl</span><span·class="w">
366 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="9384128984-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="9384128984-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:·b6b75d184a1698943cafd82e6f6e93e6d40ee1a5ccee04030d1f767282e3c373·...·]-3">]</span><span·class="w">366 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="0050733577-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="0050733577-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:·1322de7d5b556d3c1970297bb8c25022b9ca50e21d5aa80acd73bd41253e34e6·...·]-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="9384128984-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="9384128984-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="0050733577-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="0050733577-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="9384128984-5">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="9384128984-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="0050733577-5">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="0050733577-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="9384128984-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="9384128984-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="0050733577-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="0050733577-6">)</span><span·class="p">.</span><span·class="w">
371 </span><span·class="p"·data-group-id="9384128984-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="9384128984-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="0050733577-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="0050733577-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="3491526299-1">[</span><span·class="p"·data-group-id="3491526299-2">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3491526299-3">[</span><span·class="p"·data-group-id="3491526299-4">[·...·truncated·by·diffoscope;·len:·330,·SHA:·6c8766e8cfdeb6d5f695a1224b05efc737fb4b6ced4b6d70487c7614547f52e7·...·]9-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="2281960389-1">[</span><span·class="p"·data-group-id="2281960389-2">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2281960389-3">[</span><span·class="p"·data-group-id="2281960389-4">[·...·truncated·by·diffoscope;·len:·330,·SHA:·bd2002a034b9d389b7f04a96a574ad2ba156a73203a978e4b1f8cc0ad2723068·...·]9-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">
375 ·</span><span·class="p"·data-group-id="3491526299-5">{</span><span·class="n">ApplicationN</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3491526299-6">[</span><span·class="p"·data-group-id="3491526299-7">{</span><span·class="n">ParN1</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·330,·SHA:·4a99414cb617e4552aa4d140f81a926aba39eb573912684228826c3b8ed2df98·...·]9-1">]</span><span·class="p">.</span></code></pre><p>The·system·configuration·is·to·be·called·<code·class="inline">Name.config</code>·and·Erlang·is·to·be375 ·</span><span·class="p"·data-group-id="2281960389-5">{</span><span·class="n">ApplicationN</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2281960389-6">[</span><span·class="p"·data-group-id="2281960389-7">{</span><span·class="n">ParN1</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·330,·SHA:·70470468619ed72ab5433a5beeaee36652bbf52ed7cd28e7e582da7923618e44·...·]9-1">]</span><span·class="p">.</span></code></pre><p>The·system·configuration·is·to·be·called·<code·class="inline">Name.config</code>·and·Erlang·is·to·be
Max diff block lines reached; 11348/58087 bytes (19.54%) of diff not shown.
761 B
html2text {}
Max HTML report size reached
150 KB
./usr/share/doc/erlang-doc/html/doc/system/appup_cookbook.html
    
Offset 120, 18 lines modifiedOffset 120, 18 lines modified
120 ··<a·href="#changing-a-functional-module"·class="hover-link">120 ··<a·href="#changing-a-functional-module"·class="hover-link">
121 ····<i·class="ri-link-m"·aria-hidden="true"></i>121 ····<i·class="ri-link-m"·aria-hidden="true"></i>
122 ··</a>122 ··</a>
123 ··<span·class="text">Changing·a·Functional·Module</span>123 ··<span·class="text">Changing·a·Functional·Module</span>
124 </h2>124 </h2>
125 <p>When·a·functional·module·has·been·changed,·for·example,·if·a·new·function·has125 <p>When·a·functional·module·has·been·changed,·for·example,·if·a·new·function·has
126 been·added·or·a·bug·has·been·corrected,·simple·code·replacement·is·sufficient,126 been·added·or·a·bug·has·been·corrected,·simple·code·replacement·is·sufficient,
127 for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2741935335-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="9958489274-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
128 ·</span><span·class="p"·data-group-id="2741935335-2">[</span><span·class="p"·data-group-id="2741935335-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2741935335-4">[</span><span·class="p"·data-group-id="2741935335-5"[·...·truncated·by·diffoscope;·len:·317,·SHA:·3cb8d036390d9320e752de6798cf375d03f738dd56bd33bca6b6445c2a72530e·...·]-2">]</span><span·class="p">,</span><span·class="w">128 ·</span><span·class="p"·data-group-id="9958489274-2">[</span><span·class="p"·data-group-id="9958489274-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9958489274-4">[</span><span·class="p"·data-group-id="9958489274-5"[·...·truncated·by·diffoscope;·len:·317,·SHA:·f1adb086138332ecd1b5afc82e638b3dceb60932b7a6eb8a835301ab28c1ee05·...·]-2">]</span><span·class="p">,</span><span·class="w">
129 ·</span><span·class="p"·data-group-id="2741935335-6">[</span><span·class="p"·data-group-id="2741935335-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2741935335-8">[</span><span·class="p"·data-group-id="2741935335-9"[·...·truncated·by·diffoscope;·len:·317,·SHA:·7fc23ca845c9dc74ead5c18504f12e9b38225c01a9baf6444965911ff3ab9f9e·...·]-6">]</span><span·class="w">129 ·</span><span·class="p"·data-group-id="9958489274-6">[</span><span·class="p"·data-group-id="9958489274-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9958489274-8">[</span><span·class="p"·data-group-id="9958489274-9"[·...·truncated·by·diffoscope;·len:·317,·SHA:·74469e34f1e6f577d06009c7b36fbe1c56f13412f8e536a454361b8520f6a75b·...·]-6">]</span><span·class="w">
130 </span><span·class="p"·data-group-id="2741935335-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="9958489274-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="3836385332-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="2062710061-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
150 ·</span><span·class="p"·data-group-id="3836385332-2">[</span><span·class="p"·data-group-id="3836385332-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3836385332-4">[</span><span·class="p"·data-group-id="3836385332-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="3836385332-5">}</span><span·class="p"·data-group-id="3836385332-4">]</span><span·class="p"·data-group-id="3836385332-3">}</span><span·class="p"·data-group-id="3836385332-2">]</span><span·class="p">,</span><span·class="w"> 
151 ·</span><span·class="p"·data-group-id="3836385332-6">[</span><span·class="p"·data-group-id="3836385332-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3836385332-8">[</span><span·class="p"·data-group-id="3836385332-9"[·...·truncated·by·diffoscope;·len:·324,·SHA:·cc48d1420720dcdb9673ac8e86cec1cb103f4dd56d70db017707d46dc05ac02f·...·]</span><span·class="w">150 ·</span><span·class="p"·data-group-id="2062710061-2">[</span><span·class="p"·data-group-id="2062710061-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2062710061-4">[</span><span·class="p"·data-group-id="2062710061-5"[·...·truncated·by·diffoscope;·len:·348,·SHA:·af01c6c4e0dc0f2c18a1653737c1c268e5c7425e0a1dbab2533bbd967fa79e40·...·]</span><span·class="w">
 151 ·</span><span·class="p"·data-group-id="2062710061-6">[</span><span·class="p"·data-group-id="2062710061-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2062710061-8">[</span><span·class="p"·data-group-id="2062710061-9">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="2062710061-9">}</span><span·class="p"·data-group-id="2062710061-8">]</span><span·class="p"·data-group-id="2062710061-7">}</span><span·class="p"·data-group-id="2062710061-6">]</span><span·class="w">
152 </span><span·class="p"·data-group-id="3836385332-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="2062710061-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="8335049588-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="1496293323-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
167 ·</span><span·class="p"·data-group-id="8335049588-2">[</span><span·class="p"·data-group-id="8335049588-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8335049588-4">[</span><span·class="p"·data-group-id="8335049588-5">{</span><span·class="ss">update</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8335049588-6">{</span><span·class="ss">advanced</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8335049588-7">[</span><span·class="p"·data-group-id="8335049588-7">]</span><span·class="p"·data-group-id="8335049588-6">}</span><span·class="p"·data-group-id="8335049588-5">}</span><span·class="p"·data-group-id="8335049588-4">]</span><span·class="p"·data-group-id="8335049588-3">}</span><span·class="p"·data-group-id="8335049588-2">]</span><span·class="p">,</span><span·class="w"> 
168 ·</span><span·class="p"·data-group-id="8335049588-8">[</span><span·class="p"·data-group-id="8335049588-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8335049588-10">[</span><span·class="p"·data-group-id="8335049588-1[·...·truncated·by·diffoscope;·len:·667,·SHA:·98efd12fb51cb865ff991ce3101a73e3cd425b3b5424c48580f12f33fecec7d4·...·]</span><span·class="w">167 ·</span><span·class="p"·data-group-id="1496293323-2">[</span><span·class="p"·data-group-id="1496293323-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1496293323-4">[</span><span·class="p"·data-group-id="1496293323-5"[·...·truncated·by·diffoscope;·len:·683,·SHA:·218b2615cc5673a80cf7bb811aac6ff66a40256d17e749ab493906eac14127f6·...·]</span><span·class="w">
 168 ·</span><span·class="p"·data-group-id="1496293323-8">[</span><span·class="p"·data-group-id="1496293323-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1496293323-10">[</span><span·class="p"·data-group-id="1496293323-11">{</span><span·class="ss">update</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1496293323-12">{</span><span·class="ss">advanced</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1496293323-13">[</span><span·class="p"·data-group-id="1496293323-13">]</span><span·class="p"·data-group-id="1496293323-12">}</span><span·class="p"·data-group-id="1496293323-11">}</span><span·class="p"·data-group-id="1496293323-10">]</span><span·class="p"·data-group-id="1496293323-9">}</span><span·class="p"·data-group-id="1496293323-8">]</span><span·class="w">
169 </span><span·class="p"·data-group-id="8335049588-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="1496293323-1">}</span><span·class="p">.</span></code></pre><p>The·third·element·of·the·<code·class="inline">update</code>·instruction·is·a·tuple·<code·class="inline">{advanced,Extra}</code>,
170 which·says·that·the·affected·processes·are·to·do·a·state·transformation·before170 which·says·that·the·affected·processes·are·to·do·a·state·transformation·before
171 loading·the·new·version·of·the·module.·This·is·done·by·the·processes·calling·the171 loading·the·new·version·of·the·module.·This·is·done·by·the·processes·calling·the
172 callback·function·<code·class="inline">code_change/3</code>·(see·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>·in·STDLIB).172 callback·function·<code·class="inline">code_change/3</code>·(see·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>·in·STDLIB).
173 The·term·<code·class="inline">Extra</code>,·in·this·case·<code·class="inline">[]</code>,·is·passed·as·is·to·the·function:</p><p><a·href=""·id="code_change"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8629978664-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="8629978664-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="0543192864-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="0543192864-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="8629978664-2">(</span><span·class="p"·data-group-id="8629978664-3">[</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">3</span><span·class="p"·data-group-id="8629978664-3">]</span><span·class="p"·data-group-id="8629978664-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="0543192864-2">(</span><span·class="p"·data-group-id="0543192864-3">[</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">3</span><span·class="p"·data-group-id="0543192864-3">]</span><span·class="p"·data-group-id="0543192864-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="8629978664-4">(</span><span·class="p"·data-group-id="8629978664-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="8629978664-5">}</span><s[·...·truncated·by·diffoscope;·len:·389,·SHA:·535228c6b0b9eae19fd31bccde4bff01d361958da6f255ba432a455170f26622·...·]64-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="0543192864-4">(</span><span·class="p"·data-group-id="0543192864-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="0543192864-5">}</span><s[·...·truncated·by·diffoscope;·len:·389,·SHA:·93276576c597bc4a9a9ed61db4be2532e92bdd0377c8b44f705c2fd6a8b4bc6d·...·]64-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
178 ····</span><span·class="p"·data-group-id="8629978664-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="8629978664-7">}</span><span·class="p">;</span><span·class="w">178 ····</span><span·class="p"·data-group-id="0543192864-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="0543192864-7">}</span><span·class="p">;</span><span·class="w">
179 </span><span·class="nf">code_change</span><span·class="p"·data-group-id="8629978664-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:·29,·SHA:·f02b172deed04c57272016dd70c7549520fe822f1de2001beb1deb96761c3c9b·...·]64-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="0543192864-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:·29,·SHA:·ca474e6403f12ac536301b7986817240834b349ddbfea68d049359c9d6e4d50a·...·]64-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="8629978664-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8629978664-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:·86,·SHA:·d72b70067408003df296e06e72144c753ed7b1b6403c25a4c08489225c762425·...·]64-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="0543192864-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0543192864-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:·86,·SHA:·ee06e5d31afe1acf0a260ff5759c6792ebf20fc29b13c2ae2ce3dbcccbd1e723·...·]64-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="7668776446-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="7668776446-1">}</span><span·class="w"> 
198 </span><span·class="p"·data-group-id="7668776446-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="7668776446[·...·truncated·by·diffoscope;·len:·608,·SHA:·d9a087be36c3ef38f35fc88cafdbdc3676456bc5b81d46b80466747037ba395f·...·]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="4931403976-1">{</span><span·class="nb">load_module</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·199,·SHA:·e65d37410c1a9ee84de4653bcdfc7a9ed2afbf0f4534cc34e24a381fb1ddccab·...·]
 198 </span><span·class="p"·data-group-id="4931403976-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="4931403976-3">{</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="4931403976-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DepMods</span><span·class="p"·data-group-id="4931403976-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="9516218069-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">200 </span><span·class="p"·data-group-id="0694447777-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
201 ·</span><span·class="p"·data-group-id="9516218069-2">[</span><span·class="p"·data-group-id="9516218069-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9516218069-4">[</span><span·class="p"·data-group-id="9516218069-5"[·...·truncated·by·diffoscope;·len:·499,·SHA:·b9cf37548e8e80e2d2722abc6c93e27b42156cc377fae0928f2ea34b73671b21·...·]-2">]</span><span·class="p">,</span><span·class="w">201 ·</span><span·class="p"·data-group-id="0694447777-2">[</span><span·class="p"·data-group-id="0694447777-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0694447777-4">[</span><span·class="p"·data-group-id="0694447777-5"[·...·truncated·by·diffoscope;·len:·499,·SHA:·c5fc4560241c21073722963189ba3bd48f0cb54bf85e73c19cd388ec5f26dceb·...·]-2">]</span><span·class="p">,</span><span·class="w">
202 ·</span><span·class="p"·data-group-id="9516218069-7">[</span><span·class="p"·data-group-id="9516218069-8">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9516218069-9">[</span><span·class="p"·data-group-id="9516218069-10[·...·truncated·by·diffoscope;·len:·503,·SHA:·4a4f6383ee5fd1ea4af6c9f1d275eeb9fb82b60257a04469342689141b8ba589·...·]-7">]</span><span·class="w">202 ·</span><span·class="p"·data-group-id="0694447777-7">[</span><span·class="p"·data-group-id="0694447777-8">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0694447777-9">[</span><span·class="p"·data-group-id="0694447777-10[·...·truncated·by·diffoscope;·len:·503,·SHA:·e9c8acfe267fdf258f92a1d51d1336e5533f2a262e44807ed8ec23ac1f692140·...·]-7">]</span><span·class="w">
203 </span><span·class="p"·data-group-id="9516218069-1">}</span><span·class="p">.</span><span·class="w">203 </span><span·class="p"·data-group-id="0694447777-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="9516218069-12">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">205 </span><span·class="p"·data-group-id="0694447777-12">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
206 ·</span><span·class="p"·data-group-id="9516218069-13">[</span><span·class="p"·data-group-id="9516218069-14">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9516218069-15">[</span><span·class="p"·data-group-id="9516218069-16">{</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="9516218069-16">}</span><span·class="p"·data-group-id="9516218069-15">]</span><span·class="p"·data-group-id="9516218069-14">}</span><span·class="p"·data-group-id="9516218069-13">]</span><span·class="p">,</span><span·class="w"> 
207 ·</span><span·class="p"·data-group-id="9516218069-17">[</span><span·class="p"·data-group-id="9516218069-18">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9516218069-19">[</span><span·class="p"·data-group-id="9516218069[·...·truncated·by·diffoscope;·len:·332,·SHA:·3ed702aef438b36adfa78135dd59726e328c7ed4fc7544bf799c751d1823ad18·...·]</span><span·class="w">206 ·</span><span·class="p"·data-group-id="0694447777-13">[</span><span·class="p"·data-group-id="0694447777-14">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0694447777-15">[</span><span·class="p"·data-group-id="0694447777[·...·truncated·by·diffoscope;·len:·356,·SHA:·7aa0891b5985a32230f8ff9669a751e94feaabd694885ac9e8642823c63d210b·...·]</span><span·class="w">
 207 ·</span><span·class="p"·data-group-id="0694447777-17">[</span><span·class="p"·data-group-id="0694447777-18">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0694447777-19">[</span><span·class="p"·data-group-id="0694447777-20">{</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="0694447777-20">}</span><span·class="p"·data-group-id="0694447777-19">]</span><span·class="p"·data-group-id="0694447777-18">}</span><span·class="p"·data-group-id="0694447777-17">]</span><span·class="w">
208 </span><span·class="p"·data-group-id="9516218069-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="0694447777-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="6899487431-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="7130523621-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
210 ·</span><span·class="p"·data-group-id="6899487431-2">[</span><span·class="p"·data-group-id="6899487431-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">210 ·</span><span·class="p"·data-group-id="7130523621-2">[</span><span·class="p"·data-group-id="7130523621-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">
211 ···</span><span·class="p"·data-group-id="6899487431-4">[</span><span·class="p"·data-group-id="6899487431-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="6899487431-5">}</span><span·class="p">,</span><span·class="w">211 ···</span><span·class="p"·data-group-id="7130523621-4">[</span><span·class="p"·data-group-id="7130523621-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="7130523621-5">}</span><span·class="p">,</span><span·class="w">
212 ····</span><span·class="p"·data-group-id="6899487431-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="6899487431-7">[</span><span·class="ss">ch3</sp[·...·truncated·by·diffoscope;·len:·255,·SHA:·0e751e0c31e4d40dca5610b99ce4ede5ed85fc18a92d949689ccadcc1fc4643f·...·]1-2">]</span><span·class="p">,</span><span·class="w">212 ····</span><span·class="p"·data-group-id="7130523621-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="7130523621-7">[</span><span·class="ss">ch3</sp[·...·truncated·by·diffoscope;·len:·255,·SHA:·235499b7a6aa0377c0ef5f29fb5d754c6209bf2de9e0f8ff746a0bb2fa478362·...·]1-2">]</span><span·class="p">,</span><span·class="w">
213 ·</span><span·class="p"·data-group-id="6899487431-8">[</span><span·class="p"·data-group-id="6899487431-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">213 ·</span><span·class="p"·data-group-id="7130523621-8">[</span><span·class="p"·data-group-id="7130523621-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">
214 ···</span><span·class="p"·data-group-id="6899487431-10">[</span><span·class="p"·data-group-id="6899487431-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="6899487431-11">}</span><span·class="p">,</span><span·class="w">214 ···</span><span·class="p"·data-group-id="7130523621-10">[</span><span·class="p"·data-group-id="7130523621-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="7130523621-11">}</span><span·class="p">,</span><span·class="w">
215 ····</span><span·class="p"·data-group-id="6899487431-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="6899487431-13">[</span><span·class="ss">ch3</[·...·truncated·by·diffoscope;·len:·260,·SHA:·32c4f287a6f3cd01e99ab720ff719e02006202f32cae766e78fa969c1018ce3d·...·]1-8">]</span><span·class="w">215 ····</span><span·class="p"·data-group-id="7130523621-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="7130523621-13">[</span><span·class="ss">ch3</[·...·truncated·by·diffoscope;·len:·260,·SHA:·00bf9f4580703d8814a6f528c1b4168a2f2c406b0510dcc58dc03ee399d42792·...·]1-8">]</span><span·class="w">
216 </span><span·class="p"·data-group-id="6899487431-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="7130523621-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="3813965703-1">{</span><span·class="ss">ch4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3813965703-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:·b55fae860fe8607f34ba8047f1fd2506298f4c25375fbcc13da8653d46747fda·...·]-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="4214707189-1">{</span><span·class="ss">ch4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4214707189-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:·3ca6e342ed46df3aff3f0104b066bf64b673e72758113c51e3e1fe56fe435053·...·]-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="3813965703-4">[</span><span·class="ss">ch4</span><span·class="p"·data-group-id="3813965703-4">]</span><span·class="p"·data-group-id="3813965703-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="4214707189-4">[</span><span·class="ss">ch4</span><span·class="p"·data-group-id="4214707189-4">]</span><span·class="p"·data-group-id="4214707189-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="7231471514-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="3813568474-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
235 ·</span><span·class="p"·data-group-id="7231471514-2">[</span><span·class="p"·data-group-id="7231471514-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7231471514-4">[</span><span·class="p"·data-group-id="7231471514-5">{</span><span·class="ss">update</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7231471514-6">{</span><span·class="ss">advanced</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7231471514-7">[</span><span·class="p"·data-group-id="7231471514-7">]</span><span·class="p"·data-group-id="7231471514-6">}</span><span·class="p"·data-group-id="7231471514-5">}</span><span·class="p"·data-group-id="7231471514-4">]</span><span·class="p"·data-group-id="7231471514-3">}</span><span·class="p"·data-group-id="7231471514-2">]</span><span·class="p">,</span><span·class="w"> 
236 ·</span><span·class="p"·data-group-id="7231471514-8">[</span><span·class="p"·data-group-id="7231471514-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7231471514-10">[</span><span·class="p"·data-group-id="7231471514-1[·...·truncated·by·diffoscope;·len:·667,·SHA:·256c6cd623274a44bb6e6e53ede88b74ef74a8becda9e363681ff189fab88496·...·]</span><span·class="w">235 ·</span><span·class="p"·data-group-id="3813568474-2">[</span><span·class="p"·data-group-id="3813568474-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3813568474-4">[</span><span·class="p"·data-group-id="3813568474-5"[·...·truncated·by·diffoscope;·len:·683,·SHA:·6aeea102f7182eb1d4a16e170574a7396bfa72565c7fa3f48a15cc59f21e6eaf·...·]</span><span·class="w">
 236 ·</span><span·class="p"·data-group-id="3813568474-8">[</span><span·class="p"·data-group-id="3813568474-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3813568474-10">[</span><span·class="p"·data-group-id="3813568474-11">{</span><span·class="ss">update</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3813568474-12">{</span><span·class="ss">advanced</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3813568474-13">[</span><span·class="p"·data-group-id="3813568474-13">]</span><span·class="p"·data-group-id="3813568474-12">}</span><span·class="p"·data-group-id="3813568474-11">}</span><span·class="p"·data-group-id="3813568474-10">]</span><span·class="p"·data-group-id="3813568474-9">}</span><span·class="p"·data-group-id="3813568474-8">]</span><span·class="w">
237 </span><span·class="p"·data-group-id="7231471514-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="3813568474-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="9252005931-1">(</span><span·class="ss">ch4</span><span·class="p"·data-group-id="9252005931-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="5107836322-1">(</span><span·class="ss">ch4</span><span·class="p"·data-group-id="5107836322-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="9252005931-2">(</span><span·class="p"·data-group-id="9252005931-3">[</span><span·class="ss">system_code_change</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="9252005931-3">]</span><span·class="p"·data-group-id="925200[·...·truncated·by·diffoscope;·len:·4,·SHA:·c069c53811124ed06a245d43af2295bfd8bdd0c1b4e10077c4a712f396ca24ee·...·]-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="5107836322-2">(</span><span·class="p"·data-group-id="5107836322-3">[</span><span·class="ss">system_code_change</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="5107836322-3">]</span><span·class="p"·data-group-id="510783[·...·truncated·by·diffoscope;·len:·4,·SHA:·8104df31701f5aad096d83f908c8db2f1bb48d2da2f91ddd574414b3ca1bbcd6·...·]-2">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 104445/153211 bytes (68.17%) of diff not shown.
731 B
html2text {}
Max HTML report size reached
5.88 KB
./usr/share/doc/erlang-doc/html/doc/system/benchmarking.html
    
Offset 144, 16 lines modifiedOffset 144, 16 lines modified
144 fast·as·possible,·what·can·we·do?·One·way·could·be·to·generate·more144 fast·as·possible,·what·can·we·do?·One·way·could·be·to·generate·more
145 than·two·bytes·at·the·time.</p><pre><code·class="text">%·erlperf·'rand:bytes(100).'·'crypto:strong_rand_bytes(100).'145 than·two·bytes·at·the·time.</p><pre><code·class="text">%·erlperf·'rand:bytes(100).'·'crypto:strong_rand_bytes(100).'
146 Code···································||········QPS·······Time···Rel146 Code···································||········QPS·······Time···Rel
147 rand:bytes(100).························1····2124·Ki·····470·ns··100%147 rand:bytes(100).························1····2124·Ki·····470·ns··100%
148 crypto:strong_rand_bytes(100).··········1····1915·Ki·····522·ns···90%</code></pre><p><a·href="../../lib/stdlib-7.0/doc/html/rand.html#bytes/1"><code·class="inline">rand:bytes/1</code></a>·is·still·faster·when·we·generate·100·bytes·at·the·time,148 crypto:strong_rand_bytes(100).··········1····1915·Ki·····522·ns···90%</code></pre><p><a·href="../../lib/stdlib-7.0/doc/html/rand.html#bytes/1"><code·class="inline">rand:bytes/1</code></a>·is·still·faster·when·we·generate·100·bytes·at·the·time,
149 but·the·relative·difference·is·smaller.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erlperf·&#39;rand:bytes(1000).&#39;·&#39;crypto:strong_rand_bytes(1000).&#39;</span><span·class="w">149 but·the·relative·difference·is·smaller.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erlperf·&#39;rand:bytes(1000).&#39;·&#39;crypto:strong_rand_bytes(1000).&#39;</span><span·class="w">
150 </span><span·class="n">Code</span><span·class="w">····································</span><span·class="p">||</span><span·class="w">········</span><span·class="n">QPS</span><span·class="w">·······</span><span·class="n">Time</span><span·class="w">···</span><span·class="n">Rel</span><span·class="w">150 </span><span·class="n">Code</span><span·class="w">····································</span><span·class="p">||</span><span·class="w">········</span><span·class="n">QPS</span><span·class="w">·······</span><span·class="n">Time</span><span·class="w">···</span><span·class="n">Rel</span><span·class="w">
151 </span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">strong_rand_bytes</span><span·class="p"·data-group-id="6098190516-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="6098190516-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="5294246909-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="5294246909-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="6098190516-2">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="6098190516-2">)</span><span·class="p">.</span><span·class="w">························</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">284</span><span·class="w">·</span><span·class="n">Ki</span><span·class="w">····</span><span·class="mi">3521</span><span·class="w">·</span><span·class="ss">ns</span><span·class="w">···</span><span·class="mi">19</span><span·class="c1">%</span></code></pre><p>When·we·generate·1000·bytes·at·the·time,·<a·href="../../lib/crypto-5.6/doc/html/crypto.html#strong_rand_bytes/1"><code·class="inline">crypto:strong_rand_bytes/1</code></a>·is152 </span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">bytes</span><span·class="p"·data-group-id="5294246909-2">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="5294246909-2">)</span><span·class="p">.</span><span·class="w">························</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">284</span><span·class="w">·</span><span·class="n">Ki</span><span·class="w">····</span><span·class="mi">3521</span><span·class="w">·</span><span·class="ss">ns</span><span·class="w">···</span><span·class="mi">19</span><span·class="c1">%</span></code></pre><p>When·we·generate·1000·bytes·at·the·time,·<a·href="../../lib/crypto-5.6/doc/html/crypto.html#strong_rand_bytes/1"><code·class="inline">crypto:strong_rand_bytes/1</code></a>·is
153 now·the·fastest.</p><h2·id="benchmarking-using-erlang-otp-functionality"·class="section-heading">153 now·the·fastest.</p><h2·id="benchmarking-using-erlang-otp-functionality"·class="section-heading">
154 ··<a·href="#benchmarking-using-erlang-otp-functionality"·class="hover-link">154 ··<a·href="#benchmarking-using-erlang-otp-functionality"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Benchmarking·using·Erlang/OTP·functionality</span>157 ··<span·class="text">Benchmarking·using·Erlang/OTP·functionality</span>
158 </h2>158 </h2>
159 <p>Benchmarks·can·measure·wall-clock·time·or·CPU·time.</p><ul><li><p><a·href="../../lib/stdlib-7.0/doc/html/timer.html#tc/3"><code·class="inline">timer:tc/3</code></a>·measures·wall-clock·time.·The·advantage·with·wall-clock·time·is159 <p>Benchmarks·can·measure·wall-clock·time·or·CPU·time.</p><ul><li><p><a·href="../../lib/stdlib-7.0/doc/html/timer.html#tc/3"><code·class="inline">timer:tc/3</code></a>·measures·wall-clock·time.·The·advantage·with·wall-clock·time·is
Offset 219, 15 lines modifiedOffset 219, 15 lines modified
219 ······<p·class="built-using">219 ······<p·class="built-using">
220 ········Built·using220 ········Built·using
221 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the221 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
222 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>222 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
223 ······</p>223 ······</p>
224 <p>Copyright·©·1996-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="5747277170-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="5747277170-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="4512284560-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="4512284560-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="5747277170-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5747277170-3">&lt;&lt;</span><span·class="p"·data-group-id="5747277170-3">&gt;&gt;</span><span·class="p"·data-group-id="57472771[·...·truncated·by·diffoscope;·len:·1,·SHA:·7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451·...·]0-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="4512284560-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4512284560-3">&lt;&lt;</span><span·class="p"·data-group-id="4512284560-3">&gt;&gt;</span><span·class="p"·data-group-id="45122845[·...·truncated·by·diffoscope;·len:·1,·SHA:·e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683·...·]0-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="5747277170-4">(</span><span·class="p"·data-group-id="5747277170-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="5747277170-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·58,·SHA:·c5c6c5356ce19d50f70ee842797372dcd1491ecceab677c47f8cb88d2ce24eec·...·]0-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="4512284560-4">(</span><span·class="p"·data-group-id="4512284560-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="4512284560-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·58,·SHA:·ed0e508eb45628768869b732107dc8af3d6159336966945c9e737293c38b3ca8·...·]0-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="5747277170-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5747277170-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:·583e485bcb4a0b73d7adcf4889c8f4a8550493c43c5ee483c58b7c97b4040d25·...·]0-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="4512284560-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4512284560-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:·b7f137b810f8bce8a6224b57c62dff1be9e26c4a1868539696584e95e97dd289·...·]0-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="5747277170-8">(</span><span·class="p"·data-group-id="5747277170-9">[</span><span·class="p"·data-group-id="5747277170-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="5747277170-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="4512284560-8">(</span><span·class="p"·data-group-id="4512284560-9">[</span><span·class="p"·data-group-id="4512284560-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="4512284560-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="5605808191-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="5605808191-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="5139302904-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="5139302904-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="5605808191-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5605808191-3">&lt;&lt;</span><span·class="p"·data-group-id="5605808191-3">&gt;&gt;</span><span·class="p"·data-group-id="560580819[·...·truncated·by·diffoscope;·len:·1,·SHA:·6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b·...·]-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="5139302904-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5139302904-3">&lt;&lt;</span><span·class="p"·data-group-id="5139302904-3">&gt;&gt;</span><span·class="p"·data-group-id="513930290[·...·truncated·by·diffoscope;·len:·1,·SHA:·4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a·...·]-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="5605808191-4">(</span><span·class="p"·data-group-id="5605808191-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="5605808191-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·58,·SHA:·cc65c218f9ca4dbaede59153170d0650a7776c710dca0a2a0b913a5cfe2f44ba·...·]-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="5139302904-4">(</span><span·class="p"·data-group-id="5139302904-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="5139302904-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·58,·SHA:·8f4c95c0e5c01cc00daf8ccbfeb4e60f490966fbe72a2ce3ed490efb0179d34f·...·]-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="5605808191-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5605808191-7">&lt;&lt;</span><span·class="n">H</span><span·class="p">,</span><span·class="n">Acc</span><span·class="o">/</span><span[·...·truncated·by·diffoscope;·len:·126,·SHA:·8942fab45434a15adfa6146af1332a211da6d6cdc8288e02142d29fa13c068bc·...·]-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="5139302904-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5139302904-7">&lt;&lt;</span><span·class="n">H</span><span·class="p">,</span><span·class="n">Acc</span><span·class="o">/</span><span[·...·truncated·by·diffoscope;·len:·126,·SHA:·1061176de714581901aabc0a697bc66d43ec3ad9090fd22e396e2a504c4b0cd9·...·]-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="5605808191-8">(</span><span·class="p"·data-group-id="5605808191-9">[</span><span·class="p"·data-group-id="5605808191-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="5605808191-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="5139302904-8">(</span><span·class="p"·data-group-id="5139302904-9">[</span><span·class="p"·data-group-id="5139302904-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="5139302904-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="0971626572-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="0971626572-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="8868186337-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="8868186337-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="0971626572-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="0971626572-3">(</span><span·class="n">List</span><span·class="p"·data-group-id="0971626572-3">)</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·192,·SHA:·ba5e6884a25a81dde6d76de505f0dcbf586016643ee06ca8be264be5cd071628·...·]-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="8868186337-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="8868186337-3">(</span><span·class="n">List</span><span·class="p"·data-group-id="8868186337-3">)</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·192,·SHA:·692989332144a5fe339f54d5300f094c0ce10b6cf87ebca317c5a876b778174a·...·]-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="0971626572-5">(</span><span·class="p"·data-group-id="0971626572-6">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0971626572-6">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·86c4ec60d8c840f466d93020e4a41372e315b04fc81379a31faf908552c61c8f·...·]-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="8868186337-5">(</span><span·class="p"·data-group-id="8868186337-6">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="8868186337-6">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·8da4dd21f7e362c4a68d3ce556d7456540e6529eab1cfa817c3cd7597e612410·...·]-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="0971626572-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0971626572-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:·914eed587758d6f03216239b52d16d98d0c5c9cd0713d4db528e27c87be695e7·...·]-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="8868186337-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8868186337-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:·04bf1b11a1233e96271c614edfcd65cfba6df2dfa98ea983614b0dc7dd2b1fc5·...·]-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="0971626572-9">(</span><span·class="p"·data-group-id="0971626572-10">[</span><span·class="p"·data-group-id="0971626572-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="0971626572-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="8868186337-9">(</span><span·class="p"·data-group-id="8868186337-10">[</span><span·class="p"·data-group-id="8868186337-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="8868186337-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="9555025315-1">(</span><span·class="p"·data-group-id="9555025315-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="9555025315-2">]</span><span·class="p"·data-group-id="9555025315-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="0801081733-1">(</span><span·class="p"·data-group-id="0801081733-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0801081733-2">]</span><span·class="p"·data-group-id="0801081733-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="9555025315-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="9555025315-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="0801081733-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="0801081733-3">)</span><span·class="p">,</span><span·class="w">
139 ····</span><span·class="p"·data-group-id="9555025315-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="9555025315-4">&gt;&gt;</span><span·class="p">;</span><span·class="w">139 ····</span><span·class="p"·data-group-id="0801081733-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="0801081733-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="9555025315-5">(</span><span·class="p"·data-group-id="9555025315-6">[</span><span·class="p"·data-group-id="9555025315-6">]</span><span·class="p"·data-group-id="9555025315-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="0801081733-5">(</span><span·class="p"·data-group-id="0801081733-6">[</span><span·class="p"·data-group-id="0801081733-6">]</span><span·class="p"·data-group-id="0801081733-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
141 ····</span><span·class="p"·data-group-id="9555025315-7">&lt;&lt;</span><span·class="p"·data-group-id="9555025315-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="0801081733-7">&lt;&lt;</span><span·class="p"·data-group-id="0801081733-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="0050704310-1">(</span><span·class="p"·data-group-id="0050704310-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="0050704310-2">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·c5a28d42845633101f01a7e5e588ab76fb8c2fbcc982aa3ab947dfa0a0f24da5·...·]-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="0658860368-1">(</span><span·class="p"·data-group-id="0658860368-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="0658860368-2">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·4071b76e8717af5522f347cb16ba533182ac765dd373d15fe778d5500942a396·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
143 ····</span><span·class="p"·data-group-id="0050704310-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="0050704310-4">(</span><span·class="n">T</span><span·class="p"·data-group-id="0050704310-4">)</span><span·class="p"·data-group-id="0050704310-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="0050704310-5">(</span><span·class="p"·data-group-id="0050704310-6">&lt;&lt;</span><span·class="p"·data-group-id="0050704310-6">&gt;&gt;</span><span·class="p"·data-group-id="0050[·...·truncated·by·diffoscope;·len:·297,·SHA:·96340e2be9cbb94a18a960138a9ab899bbcf7f02978443b43b3b24c6ae010290·...·]">143 ····</span><span·class="p"·data-group-id="0658860368-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="0658860368-4">(</span><span·class="n">T</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·118,·SHA:·05f87494d683a5bb99b53672cd0dedd45fb4ae9060d1e39b3fabf41696a8e812·...·]">
 144 </span><span·class="nf">my_binary_to_list</span><span·class="p"·data-group-id="0658860368-5">(</span><span·class="p"·data-group-id="0658860368-6">&lt;&lt;</span><span·class="p"·data-group-id="0658860368-6">&gt;&gt;</span><span·class="p"·data-group-id="0658860368-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0658860368-7">[</span><span·class="p"·data-group-id="0658860368-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="2986252937-1">&lt;&lt;</span><span·class="n">Binary</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·de0779390bd9fc6fd51aefe47c36ba260e94b751a4e505afb2d374e787caa9d8·...·]-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="7365945946-1">&lt;&lt;</span><span·class="n">Binary</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·840154731f5606e19f01ba257a6b7d25d2949522c5b09db15e45a02717be9c28·...·]-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="2986252937-2">&lt;&lt;</span><span·class="n">Binary</span><span·class="o">/</span><span·class="ss">bitstring</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·8b1a411ea857e034557782582d26b09bc55143bcecd76faa7a5dc8b0a05eadfd·...·]-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="7365945946-2">&lt;&lt;</span><span·class="n">Binary</span><span·class="o">/</span><span·class="ss">bitstring</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·22032110ef4b80e774086593170f2a8c35bd796511f38bb3245c867ee23d447e·...·]-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="6250669747-1">&lt;&lt;</span><span·class="mi">0</span><span·class="p"·data-group-id="6250669747-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="2046822687-1">&lt;&lt;</span><span·class="mi">0</span><span·class="p"·data-group-id="2046822687-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="6250669747-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:·41,·SHA:·3d1e6ce8395fff9458a8e00e72fb4a6639ab6646f6716059a33c16ed7a095d54·...·]7-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="2046822687-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:·41,·SHA:·1a5887ef902a38dbe67fd1da598a4e28e49eded1c58f919ffa7bc8d429b6b574·...·]7-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="6250669747-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:·41,·SHA:·3d1e6ce8395fff9458a8e00e72fb4a6639ab6646f6716059a33c16ed7a095d54·...·]7-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="2046822687-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:·41,·SHA:·1a5887ef902a38dbe67fd1da598a4e28e49eded1c58f919ffa7bc8d429b6b574·...·]7-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="6250669747-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:·41,·SHA:·3d1e6ce8395fff9458a8e00e72fb4a6639ab6646f6716059a33c16ed7a095d54·...·]7-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="2046822687-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:·41,·SHA:·1a5887ef902a38dbe67fd1da598a4e28e49eded1c58f919ffa7bc8d429b6b574·...·]7-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="6250669747-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="6250669747-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="2046822687-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="2046822687-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="6250669747-6">{</span><span·class="n">Bin4</span><span·class="p">,</span><span·class="n">Bin3</span><span·class="p"·data-group-id="6250669747-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="2046822687-6">{</span><span·class="n">Bin4</span><span·class="p">,</span><span·class="n">Bin3</span><span·class="p"·data-group-id="2046822687-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="0982793679-1">(</span><span·class="ss">repack</span><span·class="p"·data-group-id="0982793679-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="4082902416-1">(</span><span·class="ss">repack</span><span·class="p"·data-group-id="4082902416-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="0982793679-2">(</span><span·class="p"·data-group-id="0982793679-3">[</span><span·class="ss">repack</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="0982793679-3">]</span><span·class="p"·data-group-id="0982793679-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="4082902416-2">(</span><span·class="p"·data-group-id="4082902416-3">[</span><span·class="ss">repack</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4082902416-3">]</span><span·class="p"·data-group-id="4082902416-2">)</span><span·class="p">.</span><span·class="w">
  
262 </span><span·class="nf">repack</span><span·class="p"·data-group-id="0982793679-4">(</span><span·class="n">Bin</span><span·class="p"·data-group-id="0982793679-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="0982793679-5">(<[·...·truncated·by·diffoscope;·len:·73,·SHA:·d9ca38e5a898a3459de97bdc8674ec1fba343f6a9d7088e81902c5ba1f3c0506·...·]-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="4082902416-4">(</span><span·class="n">Bin</span><span·class="p"·data-group-id="4082902416-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="4082902416-5">(<[·...·truncated·by·diffoscope;·len:·73,·SHA:·ae80a1774a69fd4f79e54ce451b9f105b1a09a19221245a9ae08da837ed6a377·...·]-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="0982793679-6">(</span><span·class="n">Bin</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0982793679-7">&lt;&lt;</span><span·class="p"·data-group-id="0982793679-7">&gt;&gt;</span><span·class="p"·data-group-id="098279367[·...·truncated·by·diffoscope;·len:·1,·SHA:·19581e27de7ced00ff1ce50b2047e7a567c76b1cbaebabe5ef03f7c3017bb5b7·...·]-6">)</span><span·class="p">.</span><span·class="w">263 ····</span><span·class="nf">repack</span><span·class="p"·data-group-id="4082902416-6">(</span><span·class="n">Bin</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4082902416-7">&lt;&lt;</span><span·class="p"·data-group-id="4082902416-7">&gt;&gt;</span><span·class="p"·data-group-id="408290241[·...·truncated·by·diffoscope;·len:·1,·SHA:·e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683·...·]-6">)</span><span·class="p">.</span><span·class="w">
  
264 </span><span·class="nf">repack</span><span·class="p"·data-group-id="0982793679-8">(</span><span·class="p"·data-group-id="0982793679-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:·e8fb7ed4bf40e657a0bb8dbc90b13c257752534abcc5450a7cf2247b8f55bf7a·...·]-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="4082902416-8">(</span><span·class="p"·data-group-id="4082902416-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:·97fd98cefa80cb8f839c7cb0cdaf3b2fbade6a422581bed9adc7de3783bee4c7·...·]-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="0982793679-10">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0982793679-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:·21b80ae439b62888a9007ea3c84de61cdc642df93c5ac167d6829fe60efee3ea·...·]-10">)</span><span·class="p">;</span><span·class="w">265 ····</span><span·class="nf">repack</span><span·class="p"·data-group-id="4082902416-10">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4082902416-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:·545905e07320abfb12e6ad7f40493484c125f31a156fc6cf6f15d86171046636·...·]-10">)</span><span·class="p">;</span><span·class="w">
266 </span><span·class="nf">repack</span><span·class="p"·data-group-id="0982793679-12">(</span><span·class="p"·data-group-id="0982793679-13">&lt;&lt;</span><span·class="p"·data-group-id="0982793679-13">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="098[·...·truncated·by·diffoscope;·len:·7,·SHA:·746751774fe25e21c1c27caaccd932429a7e40d61ac2d1ff41ca0d8e6289b917·...·]-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="4082902416-12">(</span><span·class="p"·data-group-id="4082902416-13">&lt;&lt;</span><span·class="p"·data-group-id="4082902416-13">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="408[·...·truncated·by·diffoscope;·len:·7,·SHA:·91ee0975bab1b793dc246519f320c372bb419d8cc38bfb030962cfa5042192d2·...·]-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="3932393842-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="3932393842-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="4918480923-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="4918480923-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="4334542256-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="4334542256-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="9090645238-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="9090645238-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="4334542256-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="4334542256-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="9090645238-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="9090645238-2">&gt;&gt;</span><span·class="w">··</span><span·class="c1">%%·Bin1·will·be·COPIED</span></code></pre><p>The·same·happens·if·you·insert·a·binary·into·an·Ets·table,·send·it·to·a·port
296 using·<a·href="../../erts-16.0/doc/html/erlang.html#port_command/2"><code·class="inline">erlang:port_command/2</code></a>,·or·pass·it·to296 using·<a·href="../../erts-16.0/doc/html/erlang.html#port_command/2"><code·class="inline">erlang:port_command/2</code></a>,·or·pass·it·to
297 <a·href="../../erts-16.0/doc/html/erl_nif.html#enif_inspect_binary">enif_inspect_binary</a>·in·a·NIF.</p><p>Matching·a·binary·will·also·cause·it·to·shrink·and·the·next·append·operation297 <a·href="../../erts-16.0/doc/html/erl_nif.html#enif_inspect_binary">enif_inspect_binary</a>·in·a·NIF.</p><p>Matching·a·binary·will·also·cause·it·to·shrink·and·the·next·append·operation
298 will·copy·the·binary·data:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6103824043-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="6103824043-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="7808485871-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="7808485871-1">&gt;&gt;</span><span·class="p">,</span><span·class="w">
299 </span><span·class="p"·data-group-id="6103824043-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:·bcdefdf228022c4b05277672bb0edea6946133610e7198aa6aaa33a443ed3607·...·]-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="7808485871-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:·3f757b955aad9cf7e427843a445aade4ce7d3ebeadf0dd6c078258ed38820201·...·]-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="6103824043-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="6103824043-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="7808485871-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="7808485871-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/81873 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="5460784875-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:·87f76e0fa702ca285250f01ca66ed7da96032338eb8829c06cebf1c9b1199b01·...·]-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="8752872200-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:·0f731f26187d07112cb1d5ecb801643caa0791a2d51b01d18154c4cce70c8d3c·...·]-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="4674037177-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:·1cd283b0863822240508ab1de0b596f9fa2f10dd3a82e5eaff18f94e1257f914·...·]-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="1374748716-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:·d15f0bced62b7d532e9b2cf94587494c81fccefac15562f962a3d1cbf47c082c·...·]-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="7264782725-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="7264782725-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="9944028385-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="9944028385-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="7264782725-2">&lt;&lt;</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="7264782725-2">&gt;&gt;</span></code></pre><p>This·gives·two·binaries·of·size·3,·with·the·following·evaluations:</p><ul><li><a·href="../../erts-16.0/doc/html/erlang.html#binary_to_list/1"><code·class="inline">binary_to_list(Bin11)</code></a>·evaluates·to·<code·class="inline">[1,·17,·42]</code>.</li><li><a·href="../../erts-16.0/doc/html/erlang.html#binary_to_list/1"><code·class="inline">binary_to_list(Bin12)</code></a>·evaluates·to·<code·class="inline">[97,·98,·99]</code>.</li></ul><p><em>Example·2:</em>Similarly,·a·binary·can·be·constructed·from·a·set·of·bound141 </span><span·class="n">Bin12</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9944028385-2">&lt;&lt;</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="9944028385-2">&gt;&gt;</span></code></pre><p>This·gives·two·binaries·of·size·3,·with·the·following·evaluations:</p><ul><li><a·href="../../erts-16.0/doc/html/erlang.html#binary_to_list/1"><code·class="inline">binary_to_list(Bin11)</code></a>·evaluates·to·<code·class="inline">[1,·17,·42]</code>.</li><li><a·href="../../erts-16.0/doc/html/erlang.html#binary_to_list/1"><code·class="inline">binary_to_list(Bin12)</code></a>·evaluates·to·<code·class="inline">[97,·98,·99]</code>.</li></ul><p><em>Example·2:</em>Similarly,·a·binary·can·be·constructed·from·a·set·of·bound
142 variables:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">17</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">142 variables:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">17</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">
143 </span><span·class="n">Bin2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7799029904-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:·d014064bddfb81f8ff4e190c9ac4a4f3b668e8e44c954cea84f09d3ae831fbd6·...·]-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="5092747077-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:·7937cd24cd993f9c97c5198b6a23b25839ae6560a1180c363e29fa868b718770·...·]-1">&gt;&gt;</span></code></pre><p>This·gives·a·binary·of·size·4.·Here,·a·<em>size·expression</em>·is·used·for·the
144 variable·<code·class="inline">C</code>·to·specify·a·16-bits·segment·of·<code·class="inline">Bin2</code>.</p><p><a·href="../../erts-16.0/doc/html/erlang.html#binary_to_list/1"><code·class="inline">binary_to_list(Bin2)</code></a>·evaluates·to·<code·class="inline">[1,·17,·00,·42]</code>.</p><p><em>Example·3:</em>·A·Bin·can·also·be·used·for·matching.·<code·class="inline">D</code>,·<code·class="inline">E</code>,·and·<code·class="inline">F</code>·are·unbound144 variable·<code·class="inline">C</code>·to·specify·a·16-bits·segment·of·<code·class="inline">Bin2</code>.</p><p><a·href="../../erts-16.0/doc/html/erlang.html#binary_to_list/1"><code·class="inline">binary_to_list(Bin2)</code></a>·evaluates·to·<code·class="inline">[1,·17,·00,·42]</code>.</p><p><em>Example·3:</em>·A·Bin·can·also·be·used·for·matching.·<code·class="inline">D</code>,·<code·class="inline">E</code>,·and·<code·class="inline">F</code>·are·unbound
145 variables,·and·<code·class="inline">Bin2</code>·is·bound,·as·in·Example·2:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3960352782-1">&lt;&lt;</span><span·class="n">D</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="p">,</span><span·class="w">·</span><span·class="n">F</span><span·cla[·...·truncated·by·diffoscope;·len:·86,·SHA:·6db7cef756a99addadc56d9e8b63fbce73935104028d76445cb978c9bf856d0d·...·]-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="2192234913-1">&lt;&lt;</span><span·class="n">D</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="p">,</span><span·class="w">·</span><span·class="n">F</span><span·cla[·...·truncated·by·diffoscope;·len:·86,·SHA:·483960765d0d38b95498c2368b3eb9b3656e59fb3f93d26f8f489384be75b32a·...·]-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="5406518073-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="5406518073-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="7060549590-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="7060549590-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="5406518073-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="5406518073-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="7060549590-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="7060549590-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="5406518073-3">(</span><span·class="n">Dgram</span><span·class="p"·data-group-id="5406518073-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="7060549590-3">(</span><span·class="n">Dgram</span><span·class="p"·data-group-id="7060549590-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="5406518073-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="7060549590-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="5406518073-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="7060549590-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="5406518073-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="5406518073-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="7060549590-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="7060549590-5">)</span><span·class="p">,</span><span·class="w">
158 ········</span><span·class="p"·data-group-id="5406518073-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:·173fe0595818120aed34760cbb016faa39226e527d30ae90f38ee82bda6c9106·...·]-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="7060549590-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:·69eb499d6b11bb0da04e28b9a87eab441d8aadd430640f81e84c76c7ee5521de·...·]-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="4522861328-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="452[·...·truncated·by·diffoscope;·len:·7,·SHA:·aeb0ffae16fee8fceab9cebbec382fd790dfb6317fdb6d2900b0a4ceb7e75db8·...·]-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="7077762806-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="707[·...·truncated·by·diffoscope;·len:·7,·SHA:·928aa28e98d298b8befb856c4f6e24e8a33f939259ec62407eeaa351d88bd486·...·]-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="5509579469-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="5509579469-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="6134928004-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="6134928004-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="1653706671-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="1653706671-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="9895837498-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="9895837498-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="8735293327-1">&lt;&lt;</span><span·class="p"·data-group-id="8735293327-2">(</span><span·class="n">X</span><span·class="o">+</span><span·class="mi">1</span><span·class="p"·data-group-id="8735293327-2">)</span><span·class="p">:</span><span·class="mi">8</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·97def7fbadbc55e5705d470091f301da90ef4ca84c2baaf93637553a39b8d6ad·...·]-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="9085132118-1">&lt;&lt;</span><span·class="p"·data-group-id="9085132118-2">(</span><span·class="n">X</span><span·class="o">+</span><span·class="mi">1</span><span·class="p"·data-group-id="9085132118-2">)</span><span·class="p">:</span><span·class="mi">8</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·fca93749b01ff24492e4b731e262e2cddd45130177dc6947e755dd9291d09c13·...·]-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="9804684843-1">&lt;&lt;</span><span·class="s">&quot;hello&quot;</span><span·class="p"·data-group-id="9804684843-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:·8b1301022cddbfde4e039df1770eab1d86e8c209069d05ac189155e305ecf213·...·]-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="3127458690-1">&lt;&lt;</span><span·class="s">&quot;hello&quot;</span><span·class="p"·data-group-id="3127458690-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:·3a20a932805370ad8fd75fde9b2b1091714c0b7cb77da03aabebbd96a9ddefbf·...·]-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="3775540289-1">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3775540289-2">&lt;&lt;</span><span·class="n">X</span><span·class="p">:</span><span·class="n">N</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·171,·SHA:·1a3fb7ff23b2076a9936d937aebdc338ccfc818380e45cd526fb39927d456d65·...·]-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="3795421526-1">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3795421526-2">&lt;&lt;</span><span·class="n">X</span><span·class="p">:</span><span·class="n">N</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·171,·SHA:·a7ab8631b2d62a273d9b035c9820ed7d46d4afa9c2183274b000b82a2795d5bc·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
257 ···</span><span·class="p"·data-group-id="3775540289-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">T</span><span·class="p"·data-group-id="3775540289-3">}</span><span·class="p">.</span></code></pre><p>The·two·occurrences·of·<code·class="inline">N</code>·are·not·related.·The·compiler·will·complain·that·the257 ···</span><span·class="p"·data-group-id="3795421526-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">T</span><span·class="p"·data-group-id="3795421526-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="9702281391-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="9702281391-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">258 <code·class="inline">N</code>·in·the·size·field·is·unbound.</p><p>The·correct·way·to·write·this·example·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="5282764694-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="5282764694-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
259 ···</span><span·class="p"·data-group-id="9702281391-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="9702281391-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="5282764694-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="5282764694-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="9702281391-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">T</span><span·class="p"·data-group-id="9702281391-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="5282764694-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">T</span><span·class="p"·data-group-id="5282764694-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="1255429724-1">(</span><span·class="p"·data-group-id="1255429724-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:·7da9e89c953989aafdf2dd1469c17a82d498d23c259f442265c346c11fd7a07a·...·]-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="8725337262-1">(</span><span·class="p"·data-group-id="8725337262-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:·e7b01753c7ba89cc338e3ea7c3a2ba664011bd758ec5b9a1beccaa52c91aa853·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
270 ···</span><span·class="p"·data-group-id="1255429724-3">{</span><span·class="n">Payload</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="1255429724-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·then270 ···</span><span·class="p"·data-group-id="8725337262-3">{</span><span·class="n">Payload</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="8725337262-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="4898599947-1">(</span><span·class="p"·data-group-id="4898599947-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-g[·...·truncated·by·diffoscope;·len:·573,·SHA:·497016938af751e35f3c33bcce984ea06eac7dd9792aa364548e0bdc282773c6·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">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="9405560766-1">(</span><span·class="p"·data-group-id="9405560766-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-g[·...·truncated·by·diffoscope;·len:·573,·SHA:·6256fc048a87bec208a560e114861dbbc8c966c2ee6f9c992ce3d4edec9484c7·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
272 ···</span><span·class="p"·data-group-id="4898599947-5">{</span><span·class="n">Payload</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="4898599947-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·to272 ···</span><span·class="p"·data-group-id="9405560766-5">{</span><span·class="n">Payload</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="9405560766-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="9660629193-1">(</span><span·class="p"·data-group-id="9660629193-2">&lt;&lt;</span><span·class="n">A</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="n">Rest</span><span·class="o">/</span><span·class="ss">binary</s[·...·truncated·by·diffoscope;·len:·784,·SHA:·364d5a31dad9bd6114772fbd898046de41e152198d552c9a67e8a7472e060b2a·...·]-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="0748958158-1">(</span><span·class="p"·data-group-id="0748958158-2">&lt;&lt;</span><span·class="n">A</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="n">Rest</span><span·class="o">/</span><span·class="ss">binary</s[·...·truncated·by·diffoscope;·len:·784,·SHA:·29825f133c50267e2fe0713d266008a69bd9de4f99a202923da6e581e9aeb5d5·...·]-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="6666070793-1">(</span><span·class="n">T</span><span·class="p"·data-group-id="6666070793-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="1101831668-1">(</span><span·class="n">T</span><span·class="p"·data-group-id="1101831668-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="6666070793-2">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6666070793-3">&lt;&lt;</span><span·class="p"·data-group-id="6666070793-3">&gt;&gt;</span><span·class="p"·data-group-id="6666070793-2">)</span><span·class="p">.</span><span·class="w">286 ····</span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="1101831668-2">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1101831668-3">&lt;&lt;</span><span·class="p"·data-group-id="1101831668-3">&gt;&gt;</span><span·class="p"·data-group-id="1101831668-2">)</span><span·class="p">.</span><span·class="w">
  
287 </span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="6666070793-4">(</span><span·class="p"·data-group-id="6666070793-5">[</span><span·class="p"·data-group-id="6666070793-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:·19fc90cf53843e173d2337c70f6bc913c016898c0c02732a149d85d0f606304b·...·]-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="1101831668-4">(</span><span·class="p"·data-group-id="1101831668-5">[</span><span·class="p"·data-group-id="1101831668-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:·5bcc5f5663ef6ce8b691bc2a54206b9dff3544e55b56a67b9f9dcc44f2ae112c·...·]-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="6666070793-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6666070793-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:·e4f1b332bceeead0e194f4f8f5f13742e4845ae26444d373347d69e4d036ce5c·...·]-7">)</span><span·class="p">;</span><span·class="w">288 ····</span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="1101831668-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1101831668-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:·baf40f646f99d01498be7e1fdf7be83d0502212baa299ed310259e6624294bd1·...·]-7">)</span><span·class="p">;</span><span·class="w">
289 </span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="6666070793-9">(</span><span·class="p"·data-group-id="6666070793-10">[</span><span·class="p"·data-group-id="6666070793-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="6666070793-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="1101831668-9">(</span><span·class="p"·data-group-id="1101831668-10">[</span><span·class="p"·data-group-id="1101831668-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="1101831668-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>
  
292 <div·class="bottom-actions"·id="bottom-actions">292 <div·class="bottom-actions"·id="bottom-actions">
293 ··<div·class="bottom-actions-item">293 ··<div·class="bottom-actions-item">
Max diff block lines reached; 783/49887 bytes (1.57%) of diff not shown.
641 B
html2text {}
Max HTML report size reached
59.9 KB
./usr/share/doc/erlang-doc/html/doc/system/c_port.html
    
Offset 148, 101 lines modifiedOffset 148, 101 lines modified
148 external·program,·if·it·is·written·properly).</p><p>The·port·is·created·using·the·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>·with148 external·program,·if·it·is·written·properly).</p><p>The·port·is·created·using·the·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>·with
149 <code·class="inline">{spawn,ExtPrg}</code>·as·the·first·argument.·The·string·<code·class="inline">ExtPrg</code>·is·the·name·of·the149 <code·class="inline">{spawn,ExtPrg}</code>·as·the·first·argument.·The·string·<code·class="inline">ExtPrg</code>·is·the·name·of·the
150 external·program,·including·any·command·line·arguments.·The·second·argument·is·a150 external·program,·including·any·command·line·arguments.·The·second·argument·is·a
151 list·of·options,·in·this·case·only·<code·class="inline">{packet,2}</code>.·This·option·says·that·a·2·byte151 list·of·options,·in·this·case·only·<code·class="inline">{packet,2}</code>.·This·option·says·that·a·2·byte
152 length·indicator·is·to·be·used·to·simplify·the·communication·between·C·and152 length·indicator·is·to·be·used·to·simplify·the·communication·between·C·and
153 Erlang.·The·Erlang·port·automatically·adds·the·length·indicator,·but·this·must153 Erlang.·The·Erlang·port·automatically·adds·the·length·indicator,·but·this·must
154 be·done·explicitly·in·the·external·C·program.</p><p>The·process·is·also·set·to·trap·exits,·which·enables·detection·of·failure·of·the154 be·done·explicitly·in·the·external·C·program.</p><p>The·process·is·also·set·to·trap·exits,·which·enables·detection·of·failure·of·the
155 external·program:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3035443192-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="3035443192-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="5022623056-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="5022623056-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="3035443192-2">(</span><span·class="p"·data-group-id="3035443192-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:·d6b55b0898e352422b7413da3b307e9b86bb99a515ce59f4ae1c4e7e841c6867·...·]-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="5022623056-2">(</span><span·class="p"·data-group-id="5022623056-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:·9b0586d1bce895e1fbea4c3275b51164d75e133c16cb19a636e5a8483c68c21f·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">start</span><span·class="p"·data-group-id="3035443192-4">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="3035443192-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="5022623056-4">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="5022623056-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="3035443192-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="3035443192-6">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·6ba0303d38d5fa0e60eb0182b1016031ed6f099a62107c06693e2c72177dad91·...·]-5">)</span><span·class="p">.</span><span·class="w">158 ··</span><span·class="nf">spawn</span><span·class="p"·data-group-id="5022623056-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="5022623056-6">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·4a31b9b6854c67765a1b3f41a93fa89976df7f5caee5bf548f542fc0b678fca9·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">init</span><span·class="p"·data-group-id="3035443192-7">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="3035443192-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="5022623056-7">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="5022623056-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="3035443192-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="3035443192-9">(</span><span·class="p"·data-group-id="3035443192-9">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·13b004685092414b743864be9601e523300cdaf9d11692f3b42c0d0db9821e3c·...·]-8">)</span><span·class="p">,</span><span·class="w">160 ··</span><span·class="nf">register</span><span·class="p"·data-group-id="5022623056-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="5022623056-9">(</span><span·class="p"·data-group-id="5022623056-9">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·0bb03d0d206dc5687f8ca719193e14fb92ed950f9849f2dde7f0066fc59d5506·...·]-8">)</span><span·class="p">,</span><span·class="w">
161 ··</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="3035443192-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="3035443192-10">)</span><span·class="p">,</span><span·class="w">161 ··</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="5022623056-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="5022623056-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="3035443192-11">(</span><span·class="p"·data-group-id="3035443192-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="3035443192-12">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·b0da7dea2f10e846fccabb63769e342604e3088e093b4674f2e4a8a7e3fbf9fa·...·]-11">)</span><span·class="p">,</span><span·class="w">162 ··</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="5022623056-11">(</span><span·class="p"·data-group-id="5022623056-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="5022623056-12">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·9ba691015bd9904fcec0003d83b303d18163640eb46e571405250b389086c3ed·...·]-11">)</span><span·class="p">,</span><span·class="w">
163 ··</span><span·class="nf">loop</span><span·class="p"·data-group-id="3035443192-15">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3035443192-15">)</span><span·class="p">.</span></code></pre><p>Now·<code·class="inline">complex1:foo/1</code>·and·<code·class="inline">complex1:bar/1</code>·can·be·implemented.·Both·send·a163 ··</span><span·class="nf">loop</span><span·class="p"·data-group-id="5022623056-15">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5022623056-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="7047457159-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="7047457159-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="3220990490-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="3220990490-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="7047457159-2">(</span><span·class="p"·data-group-id="7047457159-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="7047457159-3">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·76bd5ae895e82e5e1741cc2eb1fe928aff8345898dccf10bf099d830f555fd32·...·]-2">)</span><span·class="p">.</span><span·class="w">165 ··</span><span·class="nf">call_port</span><span·class="p"·data-group-id="3220990490-2">(</span><span·class="p"·data-group-id="3220990490-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="3220990490-3">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·0a4c364b8930b874cb36028c1ea220d5b97a2f235c08e196cee4d96cad3b2e27·...·]-2">)</span><span·class="p">.</span><span·class="w">
166 </span><span·class="nf">bar</span><span·class="p"·data-group-id="7047457159-4">(</span><span·class="n">Y</span><span·class="p"·data-group-id="7047457159-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="3220990490-4">(</span><span·class="n">Y</span><span·class="p"·data-group-id="3220990490-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="7047457159-5">(</span><span·class="p"·data-group-id="7047457159-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="7047457159-6">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·76bd5ae895e82e5e1741cc2eb1fe928aff8345898dccf10bf099d830f555fd32·...·]-5">)</span><span·class="p">.</span><span·class="w">167 ··</span><span·class="nf">call_port</span><span·class="p"·data-group-id="3220990490-5">(</span><span·class="p"·data-group-id="3220990490-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="3220990490-6">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·0a4c364b8930b874cb36028c1ea220d5b97a2f235c08e196cee4d96cad3b2e27·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
168 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="7047457159-7">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="7047457159-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="3220990490-7">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="3220990490-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="7047457159-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="7047457159-9">(</span><span·class="p"·data-group-id="7047457159-9">)</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·65dfc37a3286a0f41446f642e7ea2b61128d198aea6f807b469666f4f5438000·...·]-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="3220990490-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="3220990490-9">(</span><span·class="p"·data-group-id="3220990490-9">)</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·85e5078ba4a17b9f7ee7e0969d4ada2665e140725efb7d433b371c36bde4e8a4·...·]-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="7047457159-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="7047457159-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">171 ····</span><span·class="p"·data-group-id="3220990490-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="3220990490-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="2264648096-1">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2264648096-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="7348895872-1">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7348895872-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="2264648096-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="2264648096-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 ····</span><span·class="p"·data-group-id="7348895872-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="7348895872-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="2264648096-3">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2264648096-4">(</span><span·class="p"·data-group-id="2264648096-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2264648096-5">{</span[·...·truncated·by·diffoscope;·len:·336,·SHA:·aa6f070a1267247750cdc4a8fd6ef62a8ac030e09ba0ee3196c73f078ba4189a·...·]-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="7348895872-3">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7348895872-4">(</span><span·class="p"·data-group-id="7348895872-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7348895872-5">{</span[·...·truncated·by·diffoscope;·len:·336,·SHA:·314f5ac9a3e8a062c079a4f3b2574bf98fb63f765cb9b066253515b5437d3ce4·...·]-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="2264648096-7">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2264648096-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:·c9c4fa7ba7de0186d4d52f736df750a1b34cb285f336fa39ab5b71f55f777ae0·...·]-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 ········</span><span·class="p"·data-group-id="7348895872-7">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7348895872-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:·9491a5bf20615e12d87185a8032e2b7e3c6359fa110108cbdf08899006d3732e·...·]-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="2264648096-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="2264648096-10">(</span><span·class="n">Data</span><span·class="p"·data-group-id="2264648096-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·b7df70330e81f49a297127665f59cf99ad5d9d38ee37f02ed5f233618b428766·...·]-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="7348895872-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="7348895872-10">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7348895872-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·b64f63a6814b0df1599928bcdbc5d5e8bb719ff17296ca5340087be0c313292c·...·]-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="2264648096-11">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2264648096-11">)</span><span·class="w">181 ······</span><span·class="nf">loop</span><span·class="p"·data-group-id="7348895872-11">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7348895872-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="3169811383-1">(</span><span·class="p"·data-group-id="3169811383-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="3169811383-2">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·8a1bfe6655703675041b39084dd4a283afa64c89345fdfb8cf2fb86f5c9ef374·...·]-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="1997092101-1">(</span><span·class="p"·data-group-id="1997092101-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="1997092101-2">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·35b084384806c144cc1486befd781adbe880b196c770c59f03820ed6abde3a04·...·]-3">]</span><span·class="p">;</span><span·class="w">
186 </span><span·class="nf">encode</span><span·class="p"·data-group-id="3169811383-4">(</span><span·class="p"·data-group-id="3169811383-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="3169811383-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·6db113e31e28deba97071eb2bcb94dd6c7b2bf6e7cd52196fce0453e229bc7ce·...·]-6">]</span><span·class="p">.</span><span·class="w">186 </span><span·class="nf">encode</span><span·class="p"·data-group-id="1997092101-4">(</span><span·class="p"·data-group-id="1997092101-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="1997092101-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·4966939cf4ab46dcb8c45d0636670c25dee5a91eb8e9a412e6e3143d12a3ce0b·...·]-6">]</span><span·class="p">.</span><span·class="w">
  
187 </span><span·class="nf">decode</span><span·class="p"·data-group-id="3169811383-7">(</span><span·class="p"·data-group-id="3169811383-8">[</span><span·class="n">Int</span><span·class="p"·data-group-id="3169811383-8">]</span><span·class="p"·data-group-id="3169811383-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="5976952125-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·67,·SHA:·5b23445aeaed570d2f27af1f886d346e669fa1c5433f671fe450860a81010ed9·...·]187 </span><span·class="nf">decode</span><span·class="p"·data-group-id="1997092101-7">(</span><span·class="p"·data-group-id="1997092101-8">[</span><span·class="n">Int</span><span·class="p"·data-group-id="1997092101-8">]</span><span·class="p"·data-group-id="199[·...·truncated·by·diffoscope;·len:·240,·SHA:·ebd74f61a6076a4ed2982a29ec898fe3f210d1d55cbd77f9d274ed300c8594e4·...·]
 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="4138363794-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="4138363794-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="5976952125-2">(</span><span·class="p"·data-group-id="5976952125-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:·c51cfa18e1c6abc7352177d6bcb21cecdff4891884544e362693d132063eef5c·...·]-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="4138363794-2">(</span><span·class="p"·data-group-id="4138363794-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:·c9744332aa86e194246f1deb7b80387d8e3c755ed23cc76d52c195839da18fa3·...·]-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="5976952125-4">(</span><span·class="p"·data-group-id="5976952125-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:·7d9a9df7937b5f231bb0ec3b23a7f24b35890a408136a45b6281dd5d032ec3ba·...·]-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="4138363794-4">(</span><span·class="p"·data-group-id="4138363794-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:·66276c767cfba1b7196e1fc5c64da92277ee093eba50030f71823f19fad969b2·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
191 </span><span·class="nf">start</span><span·class="p"·data-group-id="5976952125-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="5976952125-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="4138363794-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="4138363794-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="5976952125-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="5976952125-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·ecced700029f97235c40c275e5a1d98ac49c8b686b5182d8223f8069d5ae0129·...·]-7">)</span><span·class="p">.</span><span·class="w">192 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="4138363794-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="4138363794-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·097ef6a78c22e6f91206f411b111078252be63437b6e65b027dd9aeb2d6357dd·...·]-7">)</span><span·class="p">.</span><span·class="w">
193 </span><span·class="nf">stop</span><span·class="p"·data-group-id="5976952125-9">(</span><span·class="p"·data-group-id="5976952125-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="4138363794-9">(</span><span·class="p"·data-group-id="4138363794-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="5976952125-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="5976952125-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="4138363794-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="4138363794-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="5976952125-11">(</span><span·class="p"·data-group-id="5976952125-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="5976952125-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·d42e35f646e4edf3fba91d6ba338f69d7eb4b18dcf005c1c3f357a4083426bfa·...·]-11">)</span><span·class="p">.</span><span·class="w">196 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="4138363794-11">(</span><span·class="p"·data-group-id="4138363794-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="4138363794-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·82815bc1b6f6f905adc755ebb768c6d4c1edf3d086720f54ab923c78c447bc1b·...·]-11">)</span><span·class="p">.</span><span·class="w">
197 </span><span·class="nf">bar</span><span·class="p"·data-group-id="5976952125-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="5976952125-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="4138363794-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="4138363794-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="5976952125-14">(</span><span·class="p"·data-group-id="5976952125-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="5976952125-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·d42e35f646e4edf3fba91d6ba338f69d7eb4b18dcf005c1c3f357a4083426bfa·...·]-14">)</span><span·class="p">.</span><span·class="w">198 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="4138363794-14">(</span><span·class="p"·data-group-id="4138363794-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="4138363794-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·82815bc1b6f6f905adc755ebb768c6d4c1edf3d086720f54ab923c78c447bc1b·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
199 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="5976952125-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="5976952125-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="4138363794-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="4138363794-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="5976952125-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="5976952125-18">(</span><span·class="p"·data-group-id="5976952125-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·96fc8c6c710e14840f6d95c51f586ae02a3871b4018ab4743227f752aa6a5263·...·]-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="4138363794-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="4138363794-18">(</span><span·class="p"·data-group-id="4138363794-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·40dcc6f9eb3d5f17ddcff919bd170aa4017e2903d9b833c04044c4262ce3c89b·...·]-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="5976952125-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="5976952125-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 »       </span><span·class="p"·data-group-id="4138363794-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="4138363794-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="5976952125-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="5976952125-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="4138363794-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="4138363794-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="5976952125-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="5976952125-22">(</span><span·class="p"·data-group-id="5976952125-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·3f6a1726e6dc1bcc6b24a706ae78e066fb8e4fcd2ead3eb61517398597a095d5·...·]-21">)</span><span·class="p">,</span><span·class="w">206 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="4138363794-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="4138363794-22">(</span><span·class="p"·data-group-id="4138363794-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·b1a4d4a510707418af5de2f73a26ca4250778bf07c26beb9e7c5884dbfd119d6·...·]-21">)</span><span·class="p">,</span><span·class="w">
207 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="5976952125-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="5976952125-23">)</span><span·class="p">,</span><span·class="w">207 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="4138363794-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="4138363794-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="5976952125-24">(</span><span·class="p"·data-group-id="5976952125-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="5976952125-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·ede796ca486a9018002b2530631f1b58442782e0dd01c90315597e34b499c84f·...·]-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="4138363794-24">(</span><span·class="p"·data-group-id="4138363794-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="4138363794-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·30c971b707a3434b3032eb9ffb722c3fbd063d17145d8171f2e195326e30a763·...·]-24">)</span><span·class="p">,</span><span·class="w">
209 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="5976952125-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5976952125-28">)</span><span·class="p">.</span><span·class="w">209 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="4138363794-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4138363794-28">)</span><span·class="p">.</span><span·class="w">
  
210 </span><span·class="nf">loop</span><span·class="p"·data-group-id="5976952125-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5976952125-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="4138363794-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4138363794-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="5976952125-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="5976952125-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 »       </span><span·class="p"·data-group-id="4138363794-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="4138363794-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="5976952125-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5976952125-32">(</span><span·class="p"·data-group-id="5976952125-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5976952125-33">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·c7db78283c0578192ffea7c5d28bef4027dae6ae76a00408c2e8ca00442573bc·...·]-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="4138363794-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4138363794-32">(</span><span·class="p"·data-group-id="4138363794-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4138363794-33">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·8ac5e36ec616ff22f0fafd2f539e80c1a2f73bcf027a3676a0c30dda21d0bd9f·...·]-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="5976952125-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5976952125-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:·18bb56e5ae2ebd079570364fa1b39558036e26472c575a730dbe5ad794e98755·...·]-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">215 »       »       </span><span·class="p"·data-group-id="4138363794-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4138363794-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:·da0cfc73c16be21ec162cf7fd9135caea9551ec0d52958d2a4e0e47c5dc6c2b3·...·]-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="5976952125-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="5976952125-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5976952125-3[·...·truncated·by·diffoscope;·len:·52,·SHA:·b5c9bb685b42c7d68791ee6adc9092d7708893bb9066b30f541bd46bece87611·...·]-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="4138363794-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="4138363794-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="4138363794-3[·...·truncated·by·diffoscope;·len:·52,·SHA:·94ff0f21a70da48c99cad632a51042bf462690fe4f0876ab09cd27f48c41f0e0·...·]-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="5976952125-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5976952125-39">)</span><span·class="p">;</span><span·class="w">218 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="4138363794-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4138363794-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="5976952125-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5976952125-41">(</span><span·class="p"·data-group-id="5976952125-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:·f87d514c304135c2c405f573c24cfb94d3dabb746422f349e576100cf7d82e4c·...·]-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="4138363794-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4138363794-41">(</span><span·class="p"·data-group-id="4138363794-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:·364620fc0fd33f2d0eb75348dfc252ab6847dab7e36e6f4f9dba727cb8ab1e45·...·]-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="5976952125-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="5976952125-42">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">222 »       »       </span><span·class="p"·data-group-id="4138363794-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="4138363794-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="5976952125-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="5976952125-43">)</span><span·class="w">223 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="4138363794-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="4138363794-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="5976952125-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="5976952125-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">225 »       </span><span·class="p"·data-group-id="4138363794-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="4138363794-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="5976952125-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="5976952125-45">)</span><span·class="w">226 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="4138363794-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="4138363794-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="5976952125-46">(</span><span·class="p"·data-group-id="5976952125-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="5976952125-47">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·7ad805be47086a5b8d268653fdf291f17dbe4f7d413bbc1572723a30974a8355·...·]-48">]</span><span·class="p">;</span><span·class="w">228 </span><span·class="nf">encode</span><span·class="p"·data-group-id="4138363794-46">(</span><span·class="p"·data-group-id="4138363794-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="4138363794-47">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·d42374eb04a657f98808d4fc464f17b8f8e771b2dfa1e8a0ff51f90561f62d17·...·]-48">]</span><span·class="p">;</span><span·class="w">
229 </span><span·class="nf">encode</span><span·class="p"·data-group-id="5976952125-49">(</span><span·class="p"·data-group-id="5976952125-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="5976952125-50">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·b5f15ad8f659981905c809149e7a07c984e404ba662d2bf54402a62fc6252720·...·]-51">]</span><span·class="p">.</span><span·class="w">229 </span><span·class="nf">encode</span><span·class="p"·data-group-id="4138363794-49">(</span><span·class="p"·data-group-id="4138363794-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="4138363794-50">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·34b40b4301e9da375206d23c46ddedfe640a9beffb979e9ad5f03cef1bd39729·...·]-51">]</span><span·class="p">.</span><span·class="w">
  
230 </span><span·class="nf">decode</span><span·class="p"·data-group-id="5976952125-52">(</span><span·class="p"·data-group-id="5976952125-53">[</span><span·class="n">Int</span><span·class="p"·data-group-id="5976952125-53">]</span><span·class="p"·data-group-id="5976952125-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="4138363794-52">(</span><span·class="p"·data-group-id="4138363794-53">[</span><span·class="n">Int</span><span·class="p"·data-group-id="4138363794-53">]</span><span·class="p"·data-group-id="4138363794-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="2723447115-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p"·data-group-id="2723447115-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="2723447115-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1282,·SHA:·fddf2ca47fcd3f21bd45762aed2560add1d370745cd97e2021479d55d221f652·...·]5-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="4685679475-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p"·data-group-id="4685679475-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="4685679475-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1282,·SHA:·8d47fac40286c27e45d8e96f2ec2a5dbe7ea9a6788965f77829fd69ff96c2851·...·]5-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="2723447115-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:·398,·SHA:·7857cac8fcadbb65c80d4c6f5536872d64fd45ef66fc6f1d92827015bcc043cc·...·]5-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="4685679475-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:·398,·SHA:·ee995ee8c97434433c15ec4ec9b2fc23934fe399f7cec71f78828ee59000ed1f·...·]5-8">)</span><span·class="gp·unselectable">
342 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="2723447115-10">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="2723447115-10">)</span><span·class="p">.</span><span·class="w">342 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="4685679475-10">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="4685679475-10">)</span><span·class="p">.</span><span·class="w">
343 </span><span·class="p"·data-group-id="2723447115-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex1</span><span·class="p"·data-group-id="2723447115-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:·3d69ac8e675629d86f8108bc787cf6d96fe26f5c41a6b1a6e1cd3711c3f2d046·...·]-1">)</span><span·class="p">.</span><span·class="w">343 </span><span·class="p"·data-group-id="4685679475-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex1</span><span·class="p"·data-group-id="4685679475-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:·6ff0e352c48d0438bf0afcd82615a8099704b161c30ad67799af3c1c0ab60640·...·]-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="4563136966-2">(</span><span·class="mi">3</span><span·class="p"·data-group-id="4563136966-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="9316133930-2">(</span><span·class="mi">3</span><span·class="p"·data-group-id="9316133930-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="4563136966-3">(</span><span·class="mi">5</span><span·class="p"·data-group-id="4563136966-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="9316133930-3">(</span><span·class="mi">5</span><span·class="p"·data-group-id="9316133930-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="4563136966-4">(</span><span·class="p"·data-group-id="4563136966-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="9316133930-4">(</span><span·class="p"·data-group-id="9316133930-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; 699/60701 bytes (1.15%) of diff not shown.
570 B
html2text {}
Max HTML report size reached
65.0 KB
./usr/share/doc/erlang-doc/html/doc/system/c_portdriver.html
    
Offset 151, 112 lines modifiedOffset 151, 112 lines modified
151 <p>Like·a·port·program,·the·port·communicates·with·an·Erlang·process.·All151 <p>Like·a·port·program,·the·port·communicates·with·an·Erlang·process.·All
152 communication·goes·through·one·Erlang·process·that·is·the·<em>connected·process</em>·of152 communication·goes·through·one·Erlang·process·that·is·the·<em>connected·process</em>·of
153 the·port·driver.·Terminating·this·process·closes·the·port·driver.</p><p>Before·the·port·is·created,·the·driver·must·be·loaded.·This·is·done·with·the153 the·port·driver.·Terminating·this·process·closes·the·port·driver.</p><p>Before·the·port·is·created,·the·driver·must·be·loaded.·This·is·done·with·the
154 function·<a·href="../../lib/kernel-10.3/doc/html/erl_ddll.html#load_driver/2"><code·class="inline">erl_ddll:load_driver/2</code></a>,·with·the·name·of·the·shared·library·as154 function·<a·href="../../lib/kernel-10.3/doc/html/erl_ddll.html#load_driver/2"><code·class="inline">erl_ddll:load_driver/2</code></a>,·with·the·name·of·the·shared·library·as
155 argument.</p><p>The·port·is·then·created·using·the·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>,·with·the155 argument.</p><p>The·port·is·then·created·using·the·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>,·with·the
156 tuple·<code·class="inline">{spawn,·DriverName}</code>·as·the·first·argument.·The·string·<code·class="inline">SharedLib</code>·is·the156 tuple·<code·class="inline">{spawn,·DriverName}</code>·as·the·first·argument.·The·string·<code·class="inline">SharedLib</code>·is·the
157 name·of·the·port·driver.·The·second·argument·is·a·list·of·options,·none·in·this157 name·of·the·port·driver.·The·second·argument·is·a·list·of·options,·none·in·this
158 case:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6244980084-1">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="6244980084-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="7057795885-1">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="7057795885-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="6244980084-2">(</span><span·class="p"·data-group-id="6244980084-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:·400828a27e60338bdcc99e508d41e68d3533d6b4e15d21cf5bc6d1b34c83a738·...·]-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="7057795885-2">(</span><span·class="p"·data-group-id="7057795885-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:·ded1728912bd8f993e633816b65310fadc454942d007fe8157dc86c63cd1cfad·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
160 </span><span·class="nf">start</span><span·class="p"·data-group-id="6244980084-4">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="6244980084-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="7057795885-4">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="7057795885-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="6244980084-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="6244980084-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="7057795885-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="7057795885-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="6244980084-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="6244980084-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="7057795885-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="7057795885-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="6244980084-7">(</span><span·class="p"·data-group-id="6244980084-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="6244980084-8">}</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·6e5bc2707429e7aa8d29134d69af709b1de164ef317ed8c0ac9ba892fdcdbc5c·...·]-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="7057795885-7">(</span><span·class="p"·data-group-id="7057795885-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="7057795885-8">}</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·030ecbb4f92ea30868c98669703148bc4617c009d8a990abee7aa65955be47d2·...·]-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="6244980084-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="6244980084-10">[</span><sp[·...·truncated·by·diffoscope;·len:·124,·SHA:·a3dc39792a5a2c15b2fa20f64a09bd0ca6faf75cbca201f3e10db2cba345c6f5·...·]-9">)</span><span·class="p">.</span><span·class="w">166 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7057795885-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="7057795885-10">[</span><sp[·...·truncated·by·diffoscope;·len:·124,·SHA:·d4082f896e20d0339af2721d1d5977211623bbe41c2dc2c21beeaa85dece005d·...·]-9">)</span><span·class="p">.</span><span·class="w">
  
167 </span><span·class="nf">init</span><span·class="p"·data-group-id="6244980084-11">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="6244980084-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="7057795885-11">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="7057795885-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="6244980084-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="6244980084-13">(</span><span·class="p"·data-group-id="6244980084-13">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·b18e8a3e8d8c1bf3d60f21e7c9d39dc42b03acd8a32429242c32c7589cb7842d·...·]-12">)</span><span·class="p">,</span><span·class="w">168 ··</span><span·class="nf">register</span><span·class="p"·data-group-id="7057795885-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="7057795885-13">(</span><span·class="p"·data-group-id="7057795885-13">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·8180f59a7ac85f6741a7a8cde8829d8f3bd13c87ceeaf1646b71faa03627e8e6·...·]-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="6244980084-14">(</span><span·class="p"·data-group-id="6244980084-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="6244980084-15">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·181,·SHA:·cd8cab59b762a1705fec4e851b91a660c8dd385178ec843f33d24d0ae222b920·...·]-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="7057795885-14">(</span><span·class="p"·data-group-id="7057795885-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="7057795885-15">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·181,·SHA:·92f615f3b242ba407feb7e5ddaa2bd2a34713b597ca3f524141efa0f20755ec9·...·]-14">)</span><span·class="p">,</span><span·class="w">
170 ··</span><span·class="nf">loop</span><span·class="p"·data-group-id="6244980084-17">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6244980084-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="7057795885-17">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7057795885-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="9336138124-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="9336138124-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="1147107063-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="1147107063-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="9336138124-2">(</span><span·class="p"·data-group-id="9336138124-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="9336138124-3">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·09739b55a112af64f14fe5f6257572244b3ae293341f06d6f66fe4cf5149dabe·...·]-2">)</span><span·class="p">.</span><span·class="w">172 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="1147107063-2">(</span><span·class="p"·data-group-id="1147107063-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="1147107063-3">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·f37b657d141f09a2a56cf3d44160c675cd439098613a6e994c31b72153002943·...·]-2">)</span><span·class="p">.</span><span·class="w">
173 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9336138124-4">(</span><span·class="n">Y</span><span·class="p"·data-group-id="9336138124-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="1147107063-4">(</span><span·class="n">Y</span><span·class="p"·data-group-id="1147107063-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="9336138124-5">(</span><span·class="p"·data-group-id="9336138124-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="9336138124-6">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·09739b55a112af64f14fe5f6257572244b3ae293341f06d6f66fe4cf5149dabe·...·]-5">)</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="1147107063-5">(</span><span·class="p"·data-group-id="1147107063-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="1147107063-6">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·f37b657d141f09a2a56cf3d44160c675cd439098613a6e994c31b72153002943·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="9336138124-7">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="9336138124-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="1147107063-7">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="1147107063-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="9336138124-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="9336138124-9">(</span><span·class="p"·data-group-id="9336138124-9">)</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·4051f583443c7bb349f4765bfd5b9613fd6bc38185c8a01181d4dfc73da4bf08·...·]-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="1147107063-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="1147107063-9">(</span><span·class="p"·data-group-id="1147107063-9">)</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·bc235ff0000480482a21211679effe1e5836c3a8fc24a9982c5ec0199d184518·...·]-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="9336138124-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="9336138124-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 ········</span><span·class="p"·data-group-id="1147107063-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="1147107063-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="4955808955-1">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4955808955-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="1423484354-1">(</span><span·class="n">Port</span><span·class="p"·data-group-id="1423484354-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="4955808955-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="4955808955-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">182 ········</span><span·class="p"·data-group-id="1423484354-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="1423484354-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="4955808955-3">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4955808955-4">(</span><span·class="p"·data-group-id="4955808955-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4955808955-5">{</span[·...·truncated·by·diffoscope;·len:·336,·SHA:·f299fc7284f5f0ba66e7ba20a7e05c9efe17f79bd54a09c2461b90c546fa8d8a·...·]-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="1423484354-3">{</span><span·class="nf">self</span><span·class="p"·data-group-id="1423484354-4">(</span><span·class="p"·data-group-id="1423484354-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1423484354-5">{</span[·...·truncated·by·diffoscope;·len:·336,·SHA:·d3feae907e6a800c41ed717254802f69d09971da8fb82e2d77093360c96c4452·...·]-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="4955808955-7">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4955808955-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:·afc963a18d20104787c30541e2e5fc34ae88861f09b3d6bf9f98b2c3e21f5ce0·...·]-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">185 ················</span><span·class="p"·data-group-id="1423484354-7">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1423484354-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:·9432555371347a3ce1d2c08874b982b9e6b30dfbc3515aea8a21042bfc592b22·...·]-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="4955808955-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="4955808955-10">(</span><span·class="n">Data</span><span·class="p"·data-group-id="4955808955-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·1a88b7c22a1a85e5c4c393231f2cb53cd6d98fe3b28efbbd8dfcf8a217ce8c3a·...·]-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="1423484354-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="1423484354-10">(</span><span·class="n">Data</span><span·class="p"·data-group-id="1423484354-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·9e06f84720eae3b6f1d660e38c47dd37e0a9b6c2dfb22b900498d634c962aeba·...·]-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="4955808955-11">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4955808955-11">)</span><span·class="w">188 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="1423484354-11">(</span><span·class="n">Port</span><span·class="p"·data-group-id="1423484354-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="0301831102-1">(</span><span·class="p"·data-group-id="0301831102-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="0301831102-2">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·8fcc6a3073304d3b80717b097fe63d383ce32948f788aa66dc88f4a036d63e11·...·]-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="3069630729-1">(</span><span·class="p"·data-group-id="3069630729-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="3069630729-2">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·b6882d78ee838e214815126a693b36ddfaecf7dbde0de2360127ae656d719ae8·...·]-3">]</span><span·class="p">;</span><span·class="w">
193 </span><span·class="nf">encode</span><span·class="p"·data-group-id="0301831102-4">(</span><span·class="p"·data-group-id="0301831102-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="0301831102-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·9db1ca80416344d8ff1d2010e68cbde3174013f7eecd57d49703df1ae2cb28f8·...·]-6">]</span><span·class="p">.</span><span·class="w">193 </span><span·class="nf">encode</span><span·class="p"·data-group-id="3069630729-4">(</span><span·class="p"·data-group-id="3069630729-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="3069630729-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·b924d9680e7bb2b8c7ee1fac5d1608f821cd4e12df323c5159f91c3f2b651ae7·...·]-6">]</span><span·class="p">.</span><span·class="w">
  
194 </span><span·class="nf">decode</span><span·class="p"·data-group-id="0301831102-7">(</span><span·class="p"·data-group-id="0301831102-8">[</span><span·class="n">Int</span><span·class="p"·data-group-id="0301831102-8">]</span><span·class="p"·data-group-id="0301831102-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="3069630729-7">(</span><span·class="p"·data-group-id="3069630729-8">[</span><span·class="n">Int</span><span·class="p"·data-group-id="3069630729-8">]</span><span·class="p"·data-group-id="3069630729-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="3708722827-1">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="3708722827-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="7353240395-1">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="7353240395-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="3708722827-2">(</span><span·class="p"·data-group-id="3708722827-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:·1a3e5164cbbde192c74216326d6d78c60296e6e8f0a75eebf495ce6625af8469·...·]-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="7353240395-2">(</span><span·class="p"·data-group-id="7353240395-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:·02e54b95a0396c0076dd9b5a11e913b7f08861f2c8845b4758458e0c3fdc2470·...·]-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="3708722827-4">(</span><span·class="p"·data-group-id="3708722827-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:·ef8d3bde6db2d8812dfdad5b75134751032bb266f4228d1eb3785e7faba9eaa1·...·]-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="7353240395-4">(</span><span·class="p"·data-group-id="7353240395-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:·6b132dc580d6c08764b7c02bc904ef655d44bd80d2a3a44cd70c21d359946afc·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
199 </span><span·class="nf">start</span><span·class="p"·data-group-id="3708722827-6">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="3708722827-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="7353240395-6">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="7353240395-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="3708722827-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="3708722827-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="7353240395-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="7353240395-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="3708722827-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="3708722827-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="7353240395-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="7353240395-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="3708722827-9">(</span><span·class="p"·data-group-id="3708722827-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="3708722827-10">}</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·51899674a391e362cf013e5803ec46148a2a003008d732e0dcdb89e6c1c92bc8·...·]-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="7353240395-9">(</span><span·class="p"·data-group-id="7353240395-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="7353240395-10">}</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·ebf0b9b94c4f67358db14224d750ce011ca3bd0490ba1f2ec7aa74e2eb26db65·...·]-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="3708722827-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="3708722827-12">[</span><s[·...·truncated·by·diffoscope;·len:·125,·SHA:·1cbc21dcd037ea916054a956cdb332476f5ca7420ba4fc00093c59ff705993cf·...·]-11">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7353240395-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="7353240395-12">[</span><s[·...·truncated·by·diffoscope;·len:·125,·SHA:·9dab9eaa7864a473cda4555c1f894f5fa317de70c6ce2f2c11424c4f40d78909·...·]-11">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">init</span><span·class="p"·data-group-id="3708722827-13">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="3708722827-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="7353240395-13">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="7353240395-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="3708722827-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="3708722827-15">(</span><span·class="p"·data-group-id="3708722827-15">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·798332aad2a6909ead55019522b2a34e90c44e2cc5c5d38ec6f57b366874d70d·...·]-14">)</span><span·class="p">,</span><span·class="w">207 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="7353240395-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="7353240395-15">(</span><span·class="p"·data-group-id="7353240395-15">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·b95f4fd4901aa1c7bc69086874c7a35619e0dd8e3d0e6ea476be078875ad9eac·...·]-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="3708722827-16">(</span><span·class="p"·data-group-id="3708722827-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="3708722827-17">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·181,·SHA:·42602d962f56cae9cdd26595c8ef06730ce38313e0b6f9d29114ab2385f6d040·...·]-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="7353240395-16">(</span><span·class="p"·data-group-id="7353240395-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="7353240395-17">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·181,·SHA:·829a93f671c61a38172601a48a9a6370c27eb0b394be666a5e23b8a7bd724d33·...·]-16">)</span><span·class="p">,</span><span·class="w">
209 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="3708722827-19">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3708722827-19">)</span><span·class="p">.</span><span·class="w">209 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7353240395-19">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7353240395-19">)</span><span·class="p">.</span><span·class="w">
  
210 </span><span·class="nf">stop</span><span·class="p"·data-group-id="3708722827-20">(</span><span·class="p"·data-group-id="3708722827-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="7353240395-20">(</span><span·class="p"·data-group-id="7353240395-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="3708722827-21">(</span><span·class="n">X</span><span·class="p"·data-group-id="3708722827-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="7353240395-21">(</span><span·class="n">X</span><span·class="p"·data-group-id="7353240395-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="3708722827-22">(</span><span·class="p"·data-group-id="3708722827-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="3708722827-23">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·04749591dabac7e9dac99974b199b0d704831cd90b5ba6970c37959ebe5809c4·...·]-22">)</span><span·class="p">.</span><span·class="w">213 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7353240395-22">(</span><span·class="p"·data-group-id="7353240395-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="7353240395-23">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·f870dd84a03f3e6538149c6327a7d68357021f00a04be7e43516d4c78c43d14b·...·]-22">)</span><span·class="p">.</span><span·class="w">
214 </span><span·class="nf">bar</span><span·class="p"·data-group-id="3708722827-24">(</span><span·class="n">Y</span><span·class="p"·data-group-id="3708722827-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="7353240395-24">(</span><span·class="n">Y</span><span·class="p"·data-group-id="7353240395-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="3708722827-25">(</span><span·class="p"·data-group-id="3708722827-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="3708722827-26">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·04749591dabac7e9dac99974b199b0d704831cd90b5ba6970c37959ebe5809c4·...·]-25">)</span><span·class="p">.</span><span·class="w">215 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7353240395-25">(</span><span·class="p"·data-group-id="7353240395-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="7353240395-26">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·f870dd84a03f3e6538149c6327a7d68357021f00a04be7e43516d4c78c43d14b·...·]-25">)</span><span·class="p">.</span><span·class="w">
  
216 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="3708722827-27">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="3708722827-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="7353240395-27">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="7353240395-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="3708722827-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="3708722827-29">(</span><span·class="p"·data-group-id="3708722827-29">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·900e8c9d7908450b89993aaecdded08dd40a3dae3ff629a86b6739db4e317eee·...·]-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="7353240395-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="7353240395-29">(</span><span·class="p"·data-group-id="7353240395-29">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·8eb575b0d7e4efb5361616a766a58ba2ff86bce5a032daeb0fd48e5cc588d590·...·]-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="3708722827-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="3708722827-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 »       </span><span·class="p"·data-group-id="7353240395-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="7353240395-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="3708722827-31">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3708722827-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="7353240395-31">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7353240395-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="3708722827-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="3708722827-32">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 »       </span><span·class="p"·data-group-id="7353240395-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="7353240395-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="3708722827-33">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3708722827-34">(</span><span·class="p"·data-group-id="3708722827-34">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3708722827-35">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·e920b3fee67df62b84ff3f69b31951cf7df0c6bf9fbe832170cb7a45793eab3a·...·]-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="7353240395-33">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7353240395-34">(</span><span·class="p"·data-group-id="7353240395-34">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7353240395-35">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·0b18ba3edf5f63188cbb4a2de83b854af3a70562c148003f481f0870559272bd·...·]-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="3708722827-37">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3708722827-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:·03be86dc590e669fd5488ae335c357c05ae15fc23bf66de7b65f1dee6ee6ab3e·...·]-37">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">227 »       »       </span><span·class="p"·data-group-id="7353240395-37">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7353240395-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:·dc81d8ca22200798ce578ce2d766cded98275b0ec78fa37b23f380b3c4341381·...·]-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="3708722827-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="3708722827-40">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3708722827-4[·...·truncated·by·diffoscope;·len:·52,·SHA:·13d3c3a73df135c901d3e9c916c850781096dda6d262ee6e889ddd606d90f0c7·...·]-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="7353240395-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="7353240395-40">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7353240395-4[·...·truncated·by·diffoscope;·len:·52,·SHA:·f5d0a1c8a15646146ef768c7ec146899d800b619111beccfa89335a04f0f964b·...·]-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="3708722827-41">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3708722827-41">)</span><span·class="p">;</span><span·class="w">230 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7353240395-41">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7353240395-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="3708722827-42">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3708722827-43">(</span><span·class="p"·data-group-id="3708722827-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:·d721c0448df5864ebb0cef78b030f43c3a551025bf5412c341edbde9d35f93c5·...·]-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="7353240395-42">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7353240395-43">(</span><span·class="p"·data-group-id="7353240395-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:·59c353bcc2bc424234b2f0aa8550ef79bc40307e427f775bfef864e19f9660be·...·]-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="3708722827-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="3708722827-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">234 »       »       </span><span·class="p"·data-group-id="7353240395-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="7353240395-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="3708722827-45">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="3708722827-45">)</span><span·class="w">235 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="7353240395-45">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="7353240395-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="3708722827-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="3708722827-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">237 »       </span><span·class="p"·data-group-id="7353240395-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="7353240395-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="3708722827-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="3708722827-48">[</sp[·...·truncated·by·diffoscope;·len:·127,·SHA:·5421632be59adb14f5bd5bb40f817ee824aaa4dafa56f1cfe6c66ce9fdc2a2a5·...·]-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="7353240395-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="7353240395-48">[</sp[·...·truncated·by·diffoscope;·len:·127,·SHA:·70a9876c42dbebed9e0c2853063317af174f15b7bdb18d5140d1382b8ff6c142·...·]-47">)</span><span·class="p">,</span><span·class="w">
239 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="3708722827-49">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="3708722827-49">)</span><span·class="w">239 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="7353240395-49">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="7353240395-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="3708722827-50">(</span><span·class="p"·data-group-id="3708722827-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="3708722827-51">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·8c22cf9849fdd7126dc63ca062f5b8334724fb6450b0718aec3a08b66eefd894·...·]-52">]</span><span·class="p">;</span><span·class="w">241 </span><span·class="nf">encode</span><span·class="p"·data-group-id="7353240395-50">(</span><span·class="p"·data-group-id="7353240395-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="7353240395-51">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·bdd99a4fded2ff998bbbd0fe6d5b528211e9bceefa728b743d61ff273f57eee4·...·]-52">]</span><span·class="p">;</span><span·class="w">
242 </span><span·class="nf">encode</span><span·class="p"·data-group-id="3708722827-53">(</span><span·class="p"·data-group-id="3708722827-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="3708722827-54">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·9594f83ab9aa1cfa5f73e64fd93ee05c254090b134081761d27ebecb9b3b95ce·...·]-55">]</span><span·class="p">.</span><span·class="w">242 </span><span·class="nf">encode</span><span·class="p"·data-group-id="7353240395-53">(</span><span·class="p"·data-group-id="7353240395-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="7353240395-54">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·ef824cc07a5e27d0ff69fdbda55058b1510268e05119c852eef433d7c10286e1·...·]-55">]</span><span·class="p">.</span><span·class="w">
  
243 </span><span·class="nf">decode</span><span·class="p"·data-group-id="3708722827-56">(</span><span·class="p"·data-group-id="3708722827-57">[</span><span·class="n">Int</span><span·class="p"·data-group-id="3708722827-57">]</span><span·class="p"·data-group-id="3708722827-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="7353240395-56">(</span><span·class="p"·data-group-id="7353240395-57">[</span><span·class="n">Int</span><span·class="p"·data-group-id="7353240395-57">]</span><span·class="p"·data-group-id="7353240395-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="1180755481-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p"·data-group-id="1180755481-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="1180755481-2">[</span><span·class="ss">source</[·...·truncated·by·diffoscope;·len:·1282,·SHA:·bad0f26926a91d301957ce89165efe03aa901da9f36dd5b76fb96e481ebd5bc0·...·]-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="1351107209-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p"·data-group-id="1351107209-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="1351107209-2">[</span><span·class="ss">source</[·...·truncated·by·diffoscope;·len:·1282,·SHA:·12a8ed53f21078c76801227888ebb5537d0f9a08ef9b44969026b3360ef3e781·...·]-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="1180755481-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><spa[·...·truncated·by·diffoscope;·len:·398,·SHA:·54c785cda12783e75ab8d68a606712d6e32f5fa0755987bc3547eee0ea1a1e6a·...·]-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="1351107209-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><spa[·...·truncated·by·diffoscope;·len:·398,·SHA:·41671485779591500aa8b2a2dc578f0a4355d23a40d5ff9a49c71a1c17ba5a4a·...·]-8">)</span><span·class="gp·unselectable">
356 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="1180755481-10">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="1180755481-10">)</span><span·class="p">.</span><span·class="w">356 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="1351107209-10">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="1351107209-10">)</span><span·class="p">.</span><span·class="w">
357 </span><span·class="p"·data-group-id="1180755481-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex5</span><span·class="p"·data-group-id="1180755481-11">}</span></code></pre><p><em>Step·3.</em>·Run·the·example:</p><pre><code·class="makeup·erlang"·translate="n[·...·truncated·by·diffoscope;·len:·271,·SHA:·d9174bd7af3d2d091936d53361e622a76fd2dc54245333451be88bf654cc8a7c·...·]-1">)</span><span·class="p">.</span><span·class="w">357 </span><span·class="p"·data-group-id="1351107209-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex5</span><span·class="p"·data-group-id="1351107209-11">}</span></code></pre><p><em>Step·3.</em>·Run·the·example:</p><pre><code·class="makeup·erlang"·translate="n[·...·truncated·by·diffoscope;·len:·271,·SHA:·8ff92b06ebe3443d7ae02ba8458553033d6b2aee0217053552b83e3097ee0c73·...·]-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="4535240553-2">(</span><span·class="mi">3</span><span·class="p"·data-group-id="4535240553-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="1388851758-2">(</span><span·class="mi">3</span><span·class="p"·data-group-id="1388851758-2">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 2019/65844 bytes (3.07%) of diff not shown.
546 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/doc/system/character_set.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ······<p·class="built-using">186 ······<p·class="built-using">
187 ········Built·using187 ········Built·using
188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
190 ······</p>190 ······</p>
191 <p>Copyright·©·1996-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.3 KB
./usr/share/doc/erlang-doc/html/doc/system/code_loading.html
    
Offset 122, 16 lines modifiedOffset 122, 16 lines modified
122 ····<i·class="ri-link-m"·aria-hidden="true"></i>122 ····<i·class="ri-link-m"·aria-hidden="true"></i>
123 ··</a>123 ··</a>
124 ··<span·class="text">Compilation</span>124 ··<span·class="text">Compilation</span>
125 </h2>125 </h2>
126 <p>Erlang·programs·must·be·<em>compiled</em>·to·object·code.·The·compiler·can·generate·a126 <p>Erlang·programs·must·be·<em>compiled</em>·to·object·code.·The·compiler·can·generate·a
127 new·file·that·contains·the·object·code.·The·current·abstract·machine,·which·runs127 new·file·that·contains·the·object·code.·The·current·abstract·machine,·which·runs
128 the·object·code,·is·called·BEAM,·therefore·the·object·files·get·the·suffix128 the·object·code,·is·called·BEAM,·therefore·the·object·files·get·the·suffix
129 <code·class="inline">.beam</code>.·The·compiler·can·also·generate·a·binary·which·can·be·loaded·directly.</p><p>The·compiler·is·located·in·the·module·<a·href="../../lib/compiler-9.0/doc/html/compile.html"><code·class="inline">compile</code></a>·in·Compiler.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">compile</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="9600151989-1">(</span><span·class="n">Module</span><span·class="p"·data-group-id="9600151989-1">)</span><span·class="w">129 <code·class="inline">.beam</code>.·The·compiler·can·also·generate·a·binary·which·can·be·loaded·directly.</p><p>The·compiler·is·located·in·the·module·<a·href="../../lib/compiler-9.0/doc/html/compile.html"><code·class="inline">compile</code></a>·in·Compiler.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">compile</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="6661901321-1">(</span><span·class="n">Module</span><span·class="p"·data-group-id="6661901321-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="9600151989-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="9600151989-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="6661901321-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="6661901321-2">)</span></code></pre><p>The·Erlang·shell·understands·the·command·<code·class="inline">c(Module)</code>,·which·both·compiles·and
131 loads·<code·class="inline">Module</code>.</p><p>There·is·also·a·module·<code·class="inline">make</code>,·which·provides·a·set·of·functions·similar·to·the131 loads·<code·class="inline">Module</code>.</p><p>There·is·also·a·module·<code·class="inline">make</code>,·which·provides·a·set·of·functions·similar·to·the
132 UNIX·type·Make·functions,·see·module·<a·href="../../lib/tools-4.1.2/doc/html/make.html"><code·class="inline">make</code></a>·in·Tools.</p><p>The·compiler·can·also·be·accessed·from·the·OS·prompt·using·the132 UNIX·type·Make·functions,·see·module·<a·href="../../lib/tools-4.1.2/doc/html/make.html"><code·class="inline">make</code></a>·in·Tools.</p><p>The·compiler·can·also·be·accessed·from·the·OS·prompt·using·the
133 <a·href="../../erts-16.0/doc/html/erl_cmd.html">erl</a>·executable·in·ERTS.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-compile·Module1...ModuleN</span><span·class="w">133 <a·href="../../erts-16.0/doc/html/erl_cmd.html">erl</a>·executable·in·ERTS.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-compile·Module1...ModuleN</span><span·class="w">
134 </span><span·class="c1">%·erl·-make</span></code></pre><p>The·<code·class="inline">erlc</code>·program·provides·way·to·compile·modules·from·the·OS134 </span><span·class="c1">%·erl·-make</span></code></pre><p>The·<code·class="inline">erlc</code>·program·provides·way·to·compile·modules·from·the·OS
135 shell,·see·the·<a·href="../../erts-16.0/doc/html/erlc_cmd.html">erlc</a>·executable·in·ERTS.·It135 shell,·see·the·<a·href="../../erts-16.0/doc/html/erlc_cmd.html">erlc</a>·executable·in·ERTS.·It
136 understands·a·number·of·flags·that·can·be·used·to·define·macros,·add·search136 understands·a·number·of·flags·that·can·be·used·to·define·macros,·add·search
137 paths·for·include·files,·and·more.</p><pre><code·class="text">%·erlc·&lt;flags&gt;·File1.erl...FileN.erl</code></pre><p><a·href=""·id="loading"></a></p><h2·id="code-loading"·class="section-heading">137 paths·for·include·files,·and·more.</p><pre><code·class="text">%·erlc·&lt;flags&gt;·File1.erl...FileN.erl</code></pre><p><a·href=""·id="loading"></a></p><h2·id="code-loading"·class="section-heading">
Offset 156, 54 lines modifiedOffset 156, 54 lines modified
156 When·a·module·is·loaded·into·the·system·for·the·first·time,·the·code·becomes156 When·a·module·is·loaded·into·the·system·for·the·first·time,·the·code·becomes
157 'current'.·If·then·a·new·instance·of·the·module·is·loaded,·the·code·of·the157 'current'.·If·then·a·new·instance·of·the·module·is·loaded,·the·code·of·the
158 previous·instance·becomes·'old'·and·the·new·instance·becomes·'current'.</p><p>Both·old·and·current·code·is·valid,·and·can·be·evaluated·concurrently.·Fully158 previous·instance·becomes·'old'·and·the·new·instance·becomes·'current'.</p><p>Both·old·and·current·code·is·valid,·and·can·be·evaluated·concurrently.·Fully
159 qualified·function·calls·always·refer·to·current·code.·Old·code·can·still·be159 qualified·function·calls·always·refer·to·current·code.·Old·code·can·still·be
160 evaluated·because·of·processes·lingering·in·the·old·code.</p><p>If·a·third·instance·of·the·module·is·loaded,·the·code·server·removes·(purges)160 evaluated·because·of·processes·lingering·in·the·old·code.</p><p>If·a·third·instance·of·the·module·is·loaded,·the·code·server·removes·(purges)
161 the·old·code·and·any·processes·lingering·in·it·is·terminated.·Then·the·third161 the·old·code·and·any·processes·lingering·in·it·is·terminated.·Then·the·third
162 instance·becomes·'current'·and·the·previously·current·code·becomes·'old'.</p><p>To·change·from·old·code·to·current·code,·a·process·must·make·a·fully·qualified162 instance·becomes·'current'·and·the·previously·current·code·becomes·'old'.</p><p>To·change·from·old·code·to·current·code,·a·process·must·make·a·fully·qualified
163 function·call.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9088545853-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="9088545853-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="9088545853-2">(</span><span·class="p"·data-group-id="9088545853-3">[</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·84,·SHA:·5965d7f9c12bc32cecc2411d559bc0d7c5226859b2fe2805de8c76e7b15a084f·...·]">)</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="0277851127-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="027[·...·truncated·by·diffoscope;·len:·9,·SHA:·e8a823f7ea2acadb13fa4f5642916831357c61207f007e3d7208c996752d2e17·...·]">)</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="0277851127-2">(</span><span·class="p"·data-group-id="0277851127-3">[</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0277851127-3">]</span><span·class="p"·data-group-id="0277851127-2">)</span><span·class="p">.</span><span·class="w">
  
165 </span><span·class="nf">loop</span><span·class="p"·data-group-id="9088545853-4">(</span><span·class="p"·data-group-id="9088545853-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="0277851127-4">(</span><span·class="p"·data-group-id="0277851127-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="9088545853-5">(</span><span·class="p"·data-group-id="9088545853-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="0277851127-5">(</span><span·class="p"·data-group-id="0277851127-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="9088545853-6">(</span><span·class="p"·data-group-id="9088545853-6">)</span><span·class="w">171 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="0277851127-6">(</span><span·class="p"·data-group-id="0277851127-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="0495182129-1">(</span><span·class="n">Name</span><span·class="o">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0495182129-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="9520211891-1">(</span><span·class="n">Name</span><span·class="o">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9520211891-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="3633966617-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="3633966617-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="9236261042-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="9236261042-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="3633966617-2">(</span><span·class="ss">load_my_nifs</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="3633966617-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="9236261042-2">(</span><span·class="ss">load_my_nifs</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9236261042-2">)</span><span·class="p">.</span><span·class="w">
  
197 </span><span·class="nf">load_my_nifs</span><span·class="p"·data-group-id="3633966617-3">(</span><span·class="p"·data-group-id="3633966617-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="9236261042-3">(</span><span·class="p"·data-group-id="9236261042-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="3633966617-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="3633966617-4">)</span><span·class="p">.</span></code></pre><p>If·the·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#load_nif/2"><code·class="inline">erlang:load_nif/2</code></a>·fails,·the·module·is·unloaded·and·a·warning200 ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">load_nif</span><span·class="p"·data-group-id="9236261042-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="9236261042-4">)</span><span·class="p">.</span></code></pre><p>If·the·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#load_nif/2"><code·class="inline">erlang:load_nif/2</code></a>·fails,·the·module·is·unloaded·and·a·warning
201 report·is·sent·to·the·error·loader.</p>201 report·is·sent·to·the·error·loader.</p>
202 </div>202 </div>
  
203 <div·class="bottom-actions"·id="bottom-actions">203 <div·class="bottom-actions"·id="bottom-actions">
204 ··<div·class="bottom-actions-item">204 ··<div·class="bottom-actions-item">
  
205 ······<a·href="distributed.html"·class="bottom-actions-button"·rel="prev">205 ······<a·href="distributed.html"·class="bottom-actions-button"·rel="prev">
Offset 247, 15 lines modifiedOffset 247, 15 lines modified
247 ······<p·class="built-using">247 ······<p·class="built-using">
248 ········Built·using248 ········Built·using
249 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the249 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
250 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>250 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
251 ······</p>251 ······</p>
252 <p>Copyright·©·1996-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
52.9 KB
./usr/share/doc/erlang-doc/html/doc/system/commoncaveats.html
    
Offset 118, 31 lines modifiedOffset 118, 31 lines modified
118 <p>This·section·lists·a·few·constructs·to·watch·out·for.</p><h2·id="operator"·class="section-heading">118 <p>This·section·lists·a·few·constructs·to·watch·out·for.</p><h2·id="operator"·class="section-heading">
119 ··<a·href="#operator"·class="hover-link">119 ··<a·href="#operator"·class="hover-link">
120 ····<i·class="ri-link-m"·aria-hidden="true"></i>120 ····<i·class="ri-link-m"·aria-hidden="true"></i>
121 ··</a>121 ··</a>
122 ··<span·class="text">Operator·<code·class="inline">++</code></span>122 ··<span·class="text">Operator·<code·class="inline">++</code></span>
123 </h2>123 </h2>
124 <p>The·<code·class="inline">++</code>·operator·copies·its·left-hand·side·operand.·That·is·clearly124 <p>The·<code·class="inline">++</code>·operator·copies·its·left-hand·side·operand.·That·is·clearly
125 seen·if·we·do·our·own·implementation·in·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="1308365692-1">(</span><span·class="p"·data-group-id="1308365692-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="1308365692-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·60,·SHA:·4fea6c23aabd4f7fe5c4e92050fab6ca3459b57569269d15624ce3790c3ce032·...·]-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="4628802106-1">(</span><span·class="p"·data-group-id="4628802106-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="4628802106-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·60,·SHA:·a10c785c99db8c77c25200f5fff2b321e340c4e0a07af5f4d09f202ec1911b8e·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
126 ····</span><span·class="p"·data-group-id="1308365692-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="1308365692-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:·a85807f77982a4c5b20e999ba0692e459d8ae875eb2cc9e6491305e5145e12ec·...·]-3">]</span><span·class="p">;</span><span·class="w">126 ····</span><span·class="p"·data-group-id="4628802106-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="4628802106-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:·41b5f52ce2d4fbfeb0a0c5881d463c9fe785eaa88e0a85b7ccf351a9e3bf05b9·...·]-3">]</span><span·class="p">;</span><span·class="w">
127 </span><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="1308365692-5">(</span><span·class="p"·data-group-id="1308365692-6">[</span><span·class="p"·data-group-id="1308365692-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><span·class="p"·data-group-id="1308365692-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="4628802106-5">(</span><span·class="p"·data-group-id="4628802106-6">[</span><span·class="p"·data-group-id="4628802106-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><span·class="p"·data-group-id="4628802106-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="8358270720-1">(</span><span·class="p"·data-group-id="8358270720-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="8358270720-2">]</span><span·class="p"·data-group-id="8358270720-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="0053841731-1">(</span><span·class="p"·data-group-id="0053841731-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0053841731-2">]</span><span·class="p"·data-group-id="0053841731-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="8358270720-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="8358270720-3">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="8358270720-4">[</span><span·class="n">H</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·a1e9bcdb639ed930060920cab6fab461cf87938cebadb626c182e4eb451d82bc·...·]-4">]</span><span·class="p">;</span><span·class="w">129 ····</span><span·class="nf">naive_reverse</span><span·class="p"·data-group-id="0053841731-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="0053841731-3">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="0053841731-4">[</span><span·class="n">H</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·64ffd185592246ba90ffccbaf440af585d99875d2133e024177d62f957fd0cbf·...·]-4">]</span><span·class="p">;</span><span·class="w">
130 </span><span·class="nf">naive_reverse</span><span·class="p"·data-group-id="8358270720-5">(</span><span·class="p"·data-group-id="8358270720-6">[</span><span·class="p"·data-group-id="8358270720-6">]</span><span·class="p"·data-group-id="8358270720-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="0053841731-5">(</span><span·class="p"·data-group-id="0053841731-6">[</span><span·class="p"·data-group-id="0053841731-6">]</span><span·class="p"·data-group-id="0053841731-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
131 ····</span><span·class="p"·data-group-id="8358270720-7">[</span><span·class="p"·data-group-id="8358270720-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="0053841731-7">[</span><span·class="p"·data-group-id="0053841731-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="6785977996-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="6785977996-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="7303609114-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="7303609114-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="6785977996-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6785977996-3">[</span><span·class="p"·data-group-id="6785977996-3">]</span><span·class="p"·data-group-id="6785977996-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="7303609114-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7303609114-3">[</span><span·class="p"·data-group-id="7303609114-3">]</span><span·class="p"·data-group-id="7303609114-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="6785977996-4">(</span><span·class="p"·data-group-id="6785977996-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6785977996-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·bccff85830cabf11172ac157c8ab2014ad8404980135a42a86a954a132947b05·...·]-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="7303609114-4">(</span><span·class="p"·data-group-id="7303609114-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="7303609114-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·d442ca1783e81b01cf946122c3ce5f63b2f75ecfe742273baba5c68dcd7f4d12·...·]-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="6785977996-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6785977996-7">[</span><span·class="n">H</span><span·class="p"·data-group-id="6785977996-7">]</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·108,·SHA:·9b8bd8518245a18aa739c3952bfcdd7628b9982bf7b448f9fef2d56682edc0b2·...·]-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="7303609114-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7303609114-7">[</span><span·class="n">H</span><span·class="p"·data-group-id="7303609114-7">]</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·108,·SHA:·85f1cac50a8116941b7cabca6d6c2b4e77df396c440a9eff3438c5224ef6b00f·...·]-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="6785977996-8">(</span><span·class="p"·data-group-id="6785977996-9">[</span><span·class="p"·data-group-id="6785977996-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="6785977996-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="7303609114-8">(</span><span·class="p"·data-group-id="7303609114-9">[</span><span·class="p"·data-group-id="7303609114-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="7303609114-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="4100732228-1">(</span><span·class="p"·data-group-id="4100732228-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="4100732228-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·f174df5c879770cfaf47751e9d47b62992dcd4072a2a78db7e20928b6635e8e5·...·]-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="9103557756-1">(</span><span·class="p"·data-group-id="9103557756-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="9103557756-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·f90b326c0c4b19e304aad6f4244a3b1faf7fbb4d017aa7b969cb13711f858a64·...·]-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="4100732228-3">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4100732228-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="4100[·...·truncated·by·diffoscope;·len:·59,·SHA:·8bcfd77ec423c3cf260d4f1eeedcf98c9f3d855a25991e2d972d13d2998a389d·...·]-3">)</span><span·class="p">;</span><span·class="w">139 ····</span><span·class="nf">vanilla_reverse</span><span·class="p"·data-group-id="9103557756-3">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9103557756-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="9103[·...·truncated·by·diffoscope;·len:·59,·SHA:·2f98f974f4eb8e228c20cb18f18c61db3f0d78863eab7f9f5b36ab46c892a8e2·...·]-3">)</span><span·class="p">;</span><span·class="w">
140 </span><span·class="nf">vanilla_reverse</span><span·class="p"·data-group-id="4100732228-5">(</span><span·class="p"·data-group-id="4100732228-6">[</span><span·class="p"·data-group-id="4100732228-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="4100732228-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="9103557756-5">(</span><span·class="p"·data-group-id="9103557756-6">[</span><span·class="p"·data-group-id="9103557756-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="9103557756-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="8089660725-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="8089660725-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="5541136743-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="5541136743-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="8089660725-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="8089660725-3">(</span><span·class="p"·data-group-id="8089660725-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="5541136743-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5541136743-3">(</span><span·class="p"·data-group-id="5541136743-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="8089660725-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="8089660725-5">[</span><span·class="n">State</span><span·class="o">#</[·...·truncated·by·diffoscope;·len:·180,·SHA:·1afb428b082a8e2f4ed234057bacd69a3bb775e39c7e131bc914c69a3e7f1cc4·...·]-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="5541136743-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="5541136743-5">[</span><span·class="n">State</span><span·class="o">#</[·...·truncated·by·diffoscope;·len:·180,·SHA:·27148d0cc637303472967aaa55d1660d872ab0c0789d2fdd7e06421e7fbe2fd0·...·]-4">)</span><span·class="w">
170 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="8089660725-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="5541136743-2">)</span><span·class="p">.</span></code></pre><p>The·code·in·the·fun·will·extract·one·element·from·the·record·and·print·it.·The
171 rest·of·the·<code·class="inline">state</code>·record·is·not·used.·However,·when·the·<a·href="../../erts-16.0/doc/html/erlang.html#spawn/1"><code·class="inline">spawn/1</code></a>171 rest·of·the·<code·class="inline">state</code>·record·is·not·used.·However,·when·the·<a·href="../../erts-16.0/doc/html/erlang.html#spawn/1"><code·class="inline">spawn/1</code></a>
172 function·is·executed,·the·entire·record·is·copied·to·the·newly·created·process.</p><p>The·same·kind·of·problem·can·happen·with·a·map:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">accidental2</span><span·class="p"·data-group-id="4947456826-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="4947456826-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="8539313645-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="8539313645-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="4947456826-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4947456826-3">(</span><span·class="p"·data-group-id="4947456826-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="8539313645-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="8539313645-3">(</span><span·class="p"·data-group-id="8539313645-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="4947456826-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="4947456826-5">[</span><span·class="nf">map_get</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·288,·SHA:·e03cffe1129512deb6cdf6a248b263d1512e12cf0290d23aa60e5ed201e9e7bb·...·]-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="8539313645-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="8539313645-5">[</span><span·class="nf">map_get</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·288,·SHA:·d400359a3ae93d5dbd8410bc522002de628ae093a4e8031035869d58570ad2cb·...·]-4">)</span><span·class="w">
175 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="4947456826-2">)</span><span·class="p">.</span></code></pre><p>In·the·following·example·(part·of·a·module·implementing·the·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>175 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="8539313645-2">)</span><span·class="p">.</span></code></pre><p>In·the·following·example·(part·of·a·module·implementing·the·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>
176 behavior)·the·created·fun·is·sent·to·another·process:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_call</span><span·class="p"·data-group-id="2295264419-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:·08ff984715f5d394c3479d1cf0b61c78b9c75e1548142ab642668d2cea3c7e72·...·]-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="0958130081-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:·e14785aa9e60837524fbc597f28d3531e63ad29fe6278adf73e78f26c5d307b7·...·]-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="2295264419-2">(</span><span·class="p"·data-group-id="2295264419-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="0958130081-2">(</span><span·class="p"·data-group-id="0958130081-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="2295264419-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="2295264419-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="0958130081-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="0958130081-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="6787995018-1">(</span><span·class="p"·data-group-id="6787995018-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="5721635417-1">(</span><span·class="p"·data-group-id="5721635417-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="6787995018-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="6787995018-3">(</span><span·class="mi">1</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·147,·SHA:·831d72f3cfa346c24bbc27debcf53290d30c97f45ae59108e444b2398f8ba94d·...·]-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="5721635417-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="5721635417-3">(</span><span·class="mi">1</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·147,·SHA:·a554ae80df6a1dd6fcd0d4c77a92b3469ea446b57ec499b5cddfcbc64c43eb74·...·]-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="6298497990-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="6298497990-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="2565845976-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="2565845976-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="4829603179-1">(</span><span·class="p"·data-group-id="4829603179-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="3332736054-1">(</span><span·class="p"·data-group-id="3332736054-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="4829603179-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4829603179-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="4829603179-3">)</span><span[·...·truncated·by·diffoscope;·len:·852,·SHA:·fcdab50f92cd7a7a60b9fa30f29d24a4dc12aab615684cdbfdbc8b9a2c5f1131·...·]-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="3332736054-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3332736054-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="3332736054-3">)</span><span[·...·truncated·by·diffoscope;·len:·852,·SHA:·5b0c53e6bb5a61ddf2814378b8e6e8b831c22c931682e672cc6f2fb5229697f2·...·]-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="4829603179-7">{</span><span·class="ss">data</span><span·class="o">=</span><span·class="n">Shared</span><span·class="p"·data-group-id="4829603179-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="3332736054-7">{</span><span·class="ss">data</span><span·class="o">=</span><span·class="n">Shared</span><span·class="p"·data-group-id="3332736054-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="4322791012-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="4322791012-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="2216829077-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="2216829077-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="4322791012-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4322791012-3">(</span><span·class="p"·data-group-id="4322791012-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="2216829077-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2216829077-3">(</span><span·class="p"·data-group-id="2216829077-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="4322791012-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="4322791012-5">[</span><span·class="n">Info</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·4662aa943f0d06e4dcd08e09eec497a413d27334d330927169cc4bb2b3f9e512·...·]-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="2216829077-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="2216829077-5">[</span><span·class="n">Info</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·be89eeee0112d0238dc52abfabebef65b9eb8c87a5b1ce891387f05a8e986e88·...·]-4">)</span><span·class="w">
196 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="4322791012-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="2216829077-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="8151399379-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="8151399379-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="3498688264-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="3498688264-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="8151399379-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="8151399379-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="3498688264-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="3498688264-2">)</span><span·class="p">,</span><span·class="w">
199 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="8151399379-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="8151399379-4">(</span><span·class="p"·data-group-id="8151399379-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="3498688264-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3498688264-4">(</span><span·class="p"·data-group-id="3498688264-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="8151399379-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="8151399379-6">[</span><span·class="n">Info</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·efa082332545cbea83fd2268398596866499526eecd05b7180f42ead6a1e3bb7·...·]-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="3498688264-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="3498688264-6">[</span><span·class="n">Info</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·baf540fd4e47daa7c4cec24ad82489cb76d6c6bb128db1f9b943caf39b1dc777·...·]-5">)</span><span·class="w">
201 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="8151399379-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="3498688264-3">)</span><span·class="p">.</span></code></pre><h2·id="list_to_atom-1"·class="section-heading">
202 ··<a·href="#list_to_atom-1"·class="hover-link">202 ··<a·href="#list_to_atom-1"·class="hover-link">
203 ····<i·class="ri-link-m"·aria-hidden="true"></i>203 ····<i·class="ri-link-m"·aria-hidden="true"></i>
204 ··</a>204 ··</a>
205 ··<span·class="text">list_to_atom/1</span>205 ··<span·class="text">list_to_atom/1</span>
206 </h2>206 </h2>
207 <p>Atoms·are·not·garbage-collected.·Once·an·atom·is·created,·it·is·never·removed.207 <p>Atoms·are·not·garbage-collected.·Once·an·atom·is·created,·it·is·never·removed.
208 The·emulator·terminates·if·the·limit·for·the·number·of·atoms·(1,048,576·by208 The·emulator·terminates·if·the·limit·for·the·number·of·atoms·(1,048,576·by
209 default)·is·reached.</p><p>Therefore,·converting·arbitrary·input·strings·to·atoms·can·be·dangerous·in·a209 default)·is·reached.</p><p>Therefore,·converting·arbitrary·input·strings·to·atoms·can·be·dangerous·in·a
210 system·that·runs·continuously.·If·only·certain·well-defined·atoms·are·allowed·as210 system·that·runs·continuously.·If·only·certain·well-defined·atoms·are·allowed·as
211 input,·<a·href="../../erts-16.0/doc/html/erlang.html#list_to_existing_atom/1"><code·class="inline">list_to_existing_atom/1</code></a>·or211 input,·<a·href="../../erts-16.0/doc/html/erlang.html#list_to_existing_atom/1"><code·class="inline">list_to_existing_atom/1</code></a>·or
212 <a·href="../../erts-16.0/doc/html/erlang.html#binary_to_existing_atom/1"><code·class="inline">binary_to_existing_atom/1</code></a>·can·be·used212 <a·href="../../erts-16.0/doc/html/erlang.html#binary_to_existing_atom/1"><code·class="inline">binary_to_existing_atom/1</code></a>·can·be·used
213 to·guard·against·a·denial-of-service·attack.·(All·atoms·that·are·allowed·must213 to·guard·against·a·denial-of-service·attack.·(All·atoms·that·are·allowed·must
214 have·been·created·earlier,·for·example,·by·using·all·of·them·in·a·module214 have·been·created·earlier,·for·example,·by·using·all·of·them·in·a·module
215 and·loading·that·module.)</p><p>Using·<a·href="../../erts-16.0/doc/html/erlang.html#list_to_atom/1"><code·class="inline">list_to_atom/1</code></a>·to·construct·an·atom·that215 and·loading·that·module.)</p><p>Using·<a·href="../../erts-16.0/doc/html/erlang.html#list_to_atom/1"><code·class="inline">list_to_atom/1</code></a>·to·construct·an·atom·that
216 is·passed·to·<a·href="../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply/3</code></a>·is·quite·expensive.</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">apply</span><span·class="p"·data-group-id="4856731550-1">(</span><span·class="nf">list_to_atom</span><span·class="p"·data-group-id="4856731550-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="4856731550-2">)</[·...·truncated·by·diffoscope;·len:·196,·SHA:·897701eb2537c517bc0d2af93803ae1bebbaba192d5b3030854d83a3671343fb·...·]-1">)</span></code></pre><h2·id="length-1"·class="section-heading">216 is·passed·to·<a·href="../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply/3</code></a>·is·quite·expensive.</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">apply</span><span·class="p"·data-group-id="1743662161-1">(</span><span·class="nf">list_to_atom</span><span·class="p"·data-group-id="1743662161-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="1743662161-2">)</[·...·truncated·by·diffoscope;·len:·196,·SHA:·1b0b8e287451dcae42084959c5a245695410d088d309f6ca5fa7b78e0afe6f04·...·]-1">)</span></code></pre><h2·id="length-1"·class="section-heading">
217 ··<a·href="#length-1"·class="hover-link">217 ··<a·href="#length-1"·class="hover-link">
218 ····<i·class="ri-link-m"·aria-hidden="true"></i>218 ····<i·class="ri-link-m"·aria-hidden="true"></i>
219 ··</a>219 ··</a>
220 ··<span·class="text">length/1</span>220 ··<span·class="text">length/1</span>
221 </h2>221 </h2>
222 <p>The·time·for·calculating·the·length·of·a·list·is·proportional·to·the·length·of222 <p>The·time·for·calculating·the·length·of·a·list·is·proportional·to·the·length·of
223 the·list,·as·opposed·to·<a·href="../../erts-16.0/doc/html/erlang.html#tuple_size/1"><code·class="inline">tuple_size/1</code></a>,223 the·list,·as·opposed·to·<a·href="../../erts-16.0/doc/html/erlang.html#tuple_size/1"><code·class="inline">tuple_size/1</code></a>,
224 <a·href="../../erts-16.0/doc/html/erlang.html#byte_size/1"><code·class="inline">byte_size/1</code></a>,·and·<a·href="../../erts-16.0/doc/html/erlang.html#bit_size/1"><code·class="inline">bit_size/1</code></a>,·which·all224 <a·href="../../erts-16.0/doc/html/erlang.html#byte_size/1"><code·class="inline">byte_size/1</code></a>,·and·<a·href="../../erts-16.0/doc/html/erlang.html#bit_size/1"><code·class="inline">bit_size/1</code></a>,·which·all
225 execute·in·constant·time.</p><p>Normally,·there·is·no·need·to·worry·about·the·speed·of·<a·href="../../erts-16.0/doc/html/erlang.html#length/1"><code·class="inline">length/1</code></a>,225 execute·in·constant·time.</p><p>Normally,·there·is·no·need·to·worry·about·the·speed·of·<a·href="../../erts-16.0/doc/html/erlang.html#length/1"><code·class="inline">length/1</code></a>,
226 because·it·is·efficiently·implemented·in·C.·In·time-critical·code,·you·might226 because·it·is·efficiently·implemented·in·C.·In·time-critical·code,·you·might
227 want·to·avoid·it·if·the·input·list·could·potentially·be·very·long.</p><p>Some·uses·of·<a·href="../../erts-16.0/doc/html/erlang.html#length/1"><code·class="inline">length/1</code></a>·can·be·replaced·by·matching.·For·example,227 want·to·avoid·it·if·the·input·list·could·potentially·be·very·long.</p><p>Some·uses·of·<a·href="../../erts-16.0/doc/html/erlang.html#length/1"><code·class="inline">length/1</code></a>·can·be·replaced·by·matching.·For·example,
228 the·following·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="8801729958-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="8801729958-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="8801729958-2">(</span[·...·truncated·by·diffoscope;·len:·66,·SHA:·fa16b58d85e6b033a20ae56614e697d78e94434da2e0f468a59bb46d717e918e·...·]-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">228 the·following·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="9566660793-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="9566660793-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="9566660793-2">(</span[·...·truncated·by·diffoscope;·len:·66,·SHA:·96592d52f703456fbcb0a7a429a6b64be9d4b4538d2c9d4e74f5a53a4ef2642a·...·]-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="9660274629-1">(</span><span·class="p"·data-group-id="9660274629-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[·...·truncated·by·diffoscope;·len:·128,·SHA:·b79ca2160c0971a191b9e0a86ed64523b29626ba3b3bb2bac6f03829062f2a57·...·]-1">)</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="9966280382-1">(</span><span·class="p"·data-group-id="9966280382-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[·...·truncated·by·diffoscope;·len:·128,·SHA:·e46b90b0e69c0d00dd8f1c53f0ec3b68b8371d6e7196ee40b630f228449499f6·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
230 ···</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>One·slight·difference·is·that·<a·href="../../erts-16.0/doc/html/erlang.html#length/1"><code·class="inline">length(L)</code></a>·fails·if·<code·class="inline">L</code>·is·an230 ···</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>One·slight·difference·is·that·<a·href="../../erts-16.0/doc/html/erlang.html#length/1"><code·class="inline">length(L)</code></a>·fails·if·<code·class="inline">L</code>·is·an
231 improper·list,·while·the·pattern·in·the·second·code·fragment·accepts·an·improper231 improper·list,·while·the·pattern·in·the·second·code·fragment·accepts·an·improper
232 list.</p><h2·id="setelement-3"·class="section-heading">232 list.</p><h2·id="setelement-3"·class="section-heading">
233 ··<a·href="#setelement-3"·class="hover-link">233 ··<a·href="#setelement-3"·class="hover-link">
234 ····<i·class="ri-link-m"·aria-hidden="true"></i>234 ····<i·class="ri-link-m"·aria-hidden="true"></i>
235 ··</a>235 ··</a>
236 ··<span·class="text">setelement/3</span>236 ··<span·class="text">setelement/3</span>
Offset 238, 18 lines modifiedOffset 238, 18 lines modified
238 <p><a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·copies·the·tuple·it·modifies.·Therefore,238 <p><a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·copies·the·tuple·it·modifies.·Therefore,
239 updating·a·tuple·in·a·loop·using·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·creates·a·new239 updating·a·tuple·in·a·loop·using·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·creates·a·new
240 copy·of·the·tuple·every·time.</p><p>There·is·one·exception·to·the·rule·that·the·tuple·is·copied.·If·the·compiler240 copy·of·the·tuple·every·time.</p><p>There·is·one·exception·to·the·rule·that·the·tuple·is·copied.·If·the·compiler
241 clearly·can·see·that·destructively·updating·the·tuple·would·give·the·same·result241 clearly·can·see·that·destructively·updating·the·tuple·would·give·the·same·result
242 as·if·the·tuple·was·copied,·the·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·is242 as·if·the·tuple·was·copied,·the·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·is
243 replaced·with·a·special·destructive·<code·class="inline">setelement</code>·instruction.·In·the·following243 replaced·with·a·special·destructive·<code·class="inline">setelement</code>·instruction.·In·the·following
244 code·sequence,·the·first·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·call·copies·the·tuple244 code·sequence,·the·first·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·call·copies·the·tuple
245 and·modifies·the·ninth·element:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">multiple_setelement</span><span·class="p"·data-group-id="1996879256-1">(</span><span·class="n">T0</span><span·class="p"·data-group-id="1996879256-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="1996879256-2">(<[·...·truncated·by·diffoscope;·len:·72,·SHA:·27ba5384d218fe24e3c294634b1392986b57d3ce961b8aa682f312cd7125ce23·...·]-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="7700358561-1">(</span><span·class="n">T0</span><span·class="p"·data-group-id="7700358561-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="7700358561-2">(<[·...·truncated·by·diffoscope;·len:·72,·SHA:·5dec7704840cddb3ef032de59e8236258d05f8c5c755a90da590cd2bed2978f3·...·]-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="1996879256-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="1996879256-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="7700358561-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="7700358561-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="1996879256-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="1996879256-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="7700358561-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="7700358561-4">)</span><span·class="p">,</span><span·class="w">
248 ····</span><span·class="nf">setelement</span><span·class="p"·data-group-id="1996879256-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="1996879256-5">)</span><span·class="p">.</span></code></pre><p>The·two·following·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·calls·modify·the·tuple·in248 ····</span><span·class="nf">setelement</span><span·class="p"·data-group-id="7700358561-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="7700358561-5">)</span><span·class="p">.</span></code></pre><p>The·two·following·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·calls·modify·the·tuple·in
249 place.</p><p>For·the·optimization·to·be·applied,·<em>all</em>·the·following·conditions·must·be·true:</p><ul><li>The·tuple·argument·must·be·known·to·be·a·tuple·of·a·known·size.</li><li>The·indices·must·be·integer·literals,·not·variables·or·expressions.</li><li>The·indices·must·be·given·in·descending·order.</li><li>There·must·be·no·calls·to·another·function·in·between·the·calls·to249 place.</p><p>For·the·optimization·to·be·applied,·<em>all</em>·the·following·conditions·must·be·true:</p><ul><li>The·tuple·argument·must·be·known·to·be·a·tuple·of·a·known·size.</li><li>The·indices·must·be·integer·literals,·not·variables·or·expressions.</li><li>The·indices·must·be·given·in·descending·order.</li><li>There·must·be·no·calls·to·another·function·in·between·the·calls·to
250 <a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>.</li><li>The·tuple·returned·from·one·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·call·must·only·be250 <a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>.</li><li>The·tuple·returned·from·one·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·call·must·only·be
251 used·in·the·subsequent·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>.</li></ul><p>If·the·code·cannot·be·structured·as·in·the·<code·class="inline">multiple_setelement/1</code>·example,·the251 used·in·the·subsequent·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>.</li></ul><p>If·the·code·cannot·be·structured·as·in·the·<code·class="inline">multiple_setelement/1</code>·example,·the
252 best·way·to·modify·multiple·elements·in·a·large·tuple·is·to·convert·the·tuple·to252 best·way·to·modify·multiple·elements·in·a·large·tuple·is·to·convert·the·tuple·to
253 a·list,·modify·the·list,·and·convert·it·back·to·a·tuple.</p><h2·id="size-1"·class="section-heading">253 a·list,·modify·the·list,·and·convert·it·back·to·a·tuple.</p><h2·id="size-1"·class="section-heading">
254 ··<a·href="#size-1"·class="hover-link">254 ··<a·href="#size-1"·class="hover-link">
Max diff block lines reached; 699/53237 bytes (1.31%) of diff not shown.
848 B
html2text {}
Max HTML report size reached
210 KB
./usr/share/doc/erlang-doc/html/doc/system/conc_prog.html
Max HTML report size reached
186 KB
./usr/share/doc/erlang-doc/html/doc/system/create_target.html
Max HTML report size reached
78.4 KB
./usr/share/doc/erlang-doc/html/doc/system/data_types.html
    
Offset 199, 18 lines modifiedOffset 199, 18 lines modified
199 ··</a>199 ··</a>
200 ··<span·class="text">Representation·of·Floating·Point·Numbers</span>200 ··<span·class="text">Representation·of·Floating·Point·Numbers</span>
201 </h3>201 </h3>
202 <p>When·working·with·floats·you·may·not·see·what·you·expect·when·printing·or·doing202 <p>When·working·with·floats·you·may·not·see·what·you·expect·when·printing·or·doing
203 arithmetic·operations.·This·is·because·floats·are·represented·by·a·fixed·number203 arithmetic·operations.·This·is·because·floats·are·represented·by·a·fixed·number
204 of·bits·in·a·base-2·system·while·printed·floats·are·represented·with·a·base-10204 of·bits·in·a·base-2·system·while·printed·floats·are·represented·with·a·base-10
205 system.·Erlang·uses·64-bit·floats.·Here·are·examples·of·this·phenomenon:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="mf">0.1</span><span·class="o">+</span><span·class="mf">0.2</span><span·class="p">.</span><span·class="w">205 system.·Erlang·uses·64-bit·floats.·Here·are·examples·of·this·phenomenon:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="mf">0.1</span><span·class="o">+</span><span·class="mf">0.2</span><span·class="p">.</span><span·class="w">
206 </span><span·class="mf">0.30000000000000004</span></code></pre><p>The·real·numbers·<code·class="inline">0.1</code>·and·<code·class="inline">0.2</code>·cannot·be·represented·exactly·as·floats.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="6410722742-1">{</span><span·class="mf">36028797018963968.0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">36028797018963968</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="mf">36028797018963968.0</span><span·class="p">,</span><span·class="w">206 </span><span·class="mf">0.30000000000000004</span></code></pre><p>The·real·numbers·<code·class="inline">0.1</code>·and·<code·class="inline">0.2</code>·cannot·be·represented·exactly·as·floats.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="2507313231-1">{</span><span·class="mf">36028797018963968.0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">36028797018963968</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="mf">36028797018963968.0</span><span·class="p">,</span><span·class="w">
207 ··</span><span·class="mf">36028797018963970.0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">36028797018963970</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="mf">36028797018963970.0</span><span·class="p"·data-group-id="6410722742-1">}</span><span·class="p">.</span><span·class="w">207 ··</span><span·class="mf">36028797018963970.0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">36028797018963970</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="mf">36028797018963970.0</span><span·class="p"·data-group-id="2507313231-1">}</span><span·class="p">.</span><span·class="w">
208 </span><span·class="p"·data-group-id="6410722742-2">{</span><span·class="mf">3.602879701896397e16</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">208 </span><span·class="p"·data-group-id="2507313231-2">{</span><span·class="mf">3.602879701896397e16</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">
209 ·</span><span·class="mf">3.602879701896397e16</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="6410722742-2">}</span><span·class="p">.</span></code></pre><p>The·value·<code·class="inline">36028797018963968</code>·can·be·represented·exactly·as·a·float·value·but209 ·</span><span·class="mf">3.602879701896397e16</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="2507313231-2">}</span><span·class="p">.</span></code></pre><p>The·value·<code·class="inline">36028797018963968</code>·can·be·represented·exactly·as·a·float·value·but
210 Erlang's·pretty·printer·rounds·<code·class="inline">36028797018963968.0</code>·to·<code·class="inline">3.602879701896397e16</code>210 Erlang's·pretty·printer·rounds·<code·class="inline">36028797018963968.0</code>·to·<code·class="inline">3.602879701896397e16</code>
211 (<code·class="inline">=36028797018963970.0</code>)·as·all·values·in·the·range211 (<code·class="inline">=36028797018963970.0</code>)·as·all·values·in·the·range
212 <code·class="inline">[36028797018963966.0,·36028797018963972.0]</code>·are·represented·by212 <code·class="inline">[36028797018963966.0,·36028797018963972.0]</code>·are·represented·by
213 <code·class="inline">36028797018963968.0</code>.</p><p>For·more·information·about·floats·and·issues·with·them·see:</p><ul><li><a·href="https://floating-point-gui.de/">What·Every·Programmer·Should·Know·About·Floating-Point·Arithmetic</a></li><li><a·href="https://0.30000000000000004.com/">0.30000000000000004.com/</a></li><li><a·href="https://docs.python.org/3/tutorial/floatingpoint.html">Floating·Point·Arithmetic:·Issues·and·Limitations</a></li></ul><p>If·you·need·to·work·with·exact·decimal·fractions,·for·instance·to·represent213 <code·class="inline">36028797018963968.0</code>.</p><p>For·more·information·about·floats·and·issues·with·them·see:</p><ul><li><a·href="https://floating-point-gui.de/">What·Every·Programmer·Should·Know·About·Floating-Point·Arithmetic</a></li><li><a·href="https://0.30000000000000004.com/">0.30000000000000004.com/</a></li><li><a·href="https://docs.python.org/3/tutorial/floatingpoint.html">Floating·Point·Arithmetic:·Issues·and·Limitations</a></li></ul><p>If·you·need·to·work·with·exact·decimal·fractions,·for·instance·to·represent
214 money,·it·is·recommended·to·use·a·library·that·handles·that,·or·work·in214 money,·it·is·recommended·to·use·a·library·that·handles·that,·or·work·in
215 cents·instead·of·dollars·or·euros·so·that·decimal·fractions·are·not·needed.</p><p>Also·note·that·Erlang's·floats·do·not·exactly·match·IEEE·754·floats,215 cents·instead·of·dollars·or·euros·so·that·decimal·fractions·are·not·needed.</p><p>Also·note·that·Erlang's·floats·do·not·exactly·match·IEEE·754·floats,
216 in·that·neither·<em>Inf</em>·nor·<em>NaN</em>·are·supported·in·Erlang.·Any216 in·that·neither·<em>Inf</em>·nor·<em>NaN</em>·are·supported·in·Erlang.·Any
Offset 244, 52 lines modifiedOffset 244, 52 lines modified
244 by·eight·are·called·<em>binaries</em>.</p><p><em>Examples:</em></p><pre><code·class="text">1&gt;·&lt;&lt;10,20&gt;&gt;.244 by·eight·are·called·<em>binaries</em>.</p><p><em>Examples:</em></p><pre><code·class="text">1&gt;·&lt;&lt;10,20&gt;&gt;.
245 &lt;&lt;10,20&gt;&gt;245 &lt;&lt;10,20&gt;&gt;
246 2&gt;·&lt;&lt;&quot;ABC&quot;&gt;&gt;.246 2&gt;·&lt;&lt;&quot;ABC&quot;&gt;&gt;.
247 &lt;&lt;&quot;ABC&quot;&gt;&gt;247 &lt;&lt;&quot;ABC&quot;&gt;&gt;
248 3&gt;·&lt;&lt;1:1,0:1&gt;&gt;.248 3&gt;·&lt;&lt;1:1,0:1&gt;&gt;.
249 &lt;&lt;2:2&gt;&gt;</code></pre><p>The·<a·href="../../erts-16.0/doc/html/erlang.html#is_bitstring/1"><code·class="inline">is_bitstring/1</code></a>·BIF·tests·whether·a249 &lt;&lt;2:2&gt;&gt;</code></pre><p>The·<a·href="../../erts-16.0/doc/html/erlang.html#is_bitstring/1"><code·class="inline">is_bitstring/1</code></a>·BIF·tests·whether·a
250 term·is·a·bit·string,·and·the·<a·href="../../erts-16.0/doc/html/erlang.html#is_binary/1"><code·class="inline">is_binary/1</code></a>250 term·is·a·bit·string,·and·the·<a·href="../../erts-16.0/doc/html/erlang.html#is_binary/1"><code·class="inline">is_binary/1</code></a>
251 BIF·tests·whether·a·term·is·a·binary.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">is_bitstring</span><span·class="p"·data-group-id="0443392975-1">(</span><span·class="p"·data-group-id="0443392975-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">1</span><span·class="p"·data-group-id="0443392975-2">&gt;&gt;</span><span·class="p"·data-group-id="044339297[·...·truncated·by·diffoscope;·len:·1,·SHA:·ef2d127de37b942baad06145e54b0c619a1f22327b2ebbcfbec78f5564afe39d·...·]-1">)</span><span·class="p">.</span><span·class="w">251 BIF·tests·whether·a·term·is·a·binary.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">is_bitstring</span><span·class="p"·data-group-id="3036775864-1">(</span><span·class="p"·data-group-id="3036775864-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">1</span><span·class="p"·data-group-id="3036775864-2">&gt;&gt;</span><span·class="p"·data-group-id="303677586[·...·truncated·by·diffoscope;·len:·1,·SHA:·4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a·...·]-1">)</span><span·class="p">.</span><span·class="w">
252 </span><span·class="ss">true</span><span·class="gp·unselectable">252 </span><span·class="ss">true</span><span·class="gp·unselectable">
253 2&gt;·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="0443392975-3">(</span><span·class="p"·data-group-id="0443392975-4">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">1</span><span·class="p"·data-group-id="0443392975-4">&gt;&gt;</span><span·class="p"·data-group-id="044339297[·...·truncated·by·diffoscope;·len:·1,·SHA:·ef2d127de37b942baad06145e54b0c619a1f22327b2ebbcfbec78f5564afe39d·...·]-3">)</span><span·class="p">.</span><span·class="w">253 2&gt;·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="3036775864-3">(</span><span·class="p"·data-group-id="3036775864-4">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">1</span><span·class="p"·data-group-id="3036775864-4">&gt;&gt;</span><span·class="p"·data-group-id="303677586[·...·truncated·by·diffoscope;·len:·1,·SHA:·4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a·...·]-3">)</span><span·class="p">.</span><span·class="w">
254 </span><span·class="ss">false</span><span·class="gp·unselectable">254 </span><span·class="ss">false</span><span·class="gp·unselectable">
255 3&gt;·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="0443392975-5">(</span><span·class="p"·data-group-id="0443392975-6">&lt;&lt;</span><span·class="mi">42</span><span·class="p"·data-group-id="0443392975-6">&gt;&gt;</span><span·class="p"·data-group-id="0443392975-5">)</span><span·class="p">.</span><span·class="w">255 3&gt;·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="3036775864-5">(</span><span·class="p"·data-group-id="3036775864-6">&lt;&lt;</span><span·class="mi">42</span><span·class="p"·data-group-id="3036775864-6">&gt;&gt;</span><span·class="p"·data-group-id="3036775864-5">)</span><span·class="p">.</span><span·class="w">
256 </span><span·class="ss">true</span><span·class="w">256 </span><span·class="ss">true</span><span·class="w">
257 </span></code></pre><p>For·more·examples,·see·<a·href="../../doc/system/bit_syntax.html">Programming·Examples</a>.</p><h2·id="reference"·class="section-heading">257 </span></code></pre><p>For·more·examples,·see·<a·href="../../doc/system/bit_syntax.html">Programming·Examples</a>.</p><h2·id="reference"·class="section-heading">
258 ··<a·href="#reference"·class="hover-link">258 ··<a·href="#reference"·class="hover-link">
259 ····<i·class="ri-link-m"·aria-hidden="true"></i>259 ····<i·class="ri-link-m"·aria-hidden="true"></i>
260 ··</a>260 ··</a>
261 ··<span·class="text">Reference</span>261 ··<span·class="text">Reference</span>
262 </h2>262 </h2>
263 <p>A·term·that·is·<a·href="../../doc/system/system_limits.html#unique_references">unique</a>263 <p>A·term·that·is·<a·href="../../doc/system/system_limits.html#unique_references">unique</a>
264 among·connected·nodes.·A·reference·is·created·by·calling·the264 among·connected·nodes.·A·reference·is·created·by·calling·the
265 <a·href="../../erts-16.0/doc/html/erlang.html#make_ref/0"><code·class="inline">make_ref/0</code></a>·BIF.·The265 <a·href="../../erts-16.0/doc/html/erlang.html#make_ref/0"><code·class="inline">make_ref/0</code></a>·BIF.·The
266 <a·href="../../erts-16.0/doc/html/erlang.html#is_reference/1"><code·class="inline">is_reference/1</code></a>·BIF·tests·whether·a·term266 <a·href="../../erts-16.0/doc/html/erlang.html#is_reference/1"><code·class="inline">is_reference/1</code></a>·BIF·tests·whether·a·term
267 is·a·reference.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·data-group-id="0724161432-1">(</span><span·class="p"·data-group-id="0724161432-1">)</span><span·class="p">.</span><span·class="w">267 is·a·reference.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·data-group-id="2052164186-1">(</span><span·class="p"·data-group-id="2052164186-1">)</span><span·class="p">.</span><span·class="w">
268 </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.76482849</span><span·class="p">.</span><span·class="mf">3801088007.198204</span><span·class="o">&gt;</span><span·class="gp·unselectable">268 </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.76482849</span><span·class="p">.</span><span·class="mf">3801088007.198204</span><span·class="o">&gt;</span><span·class="gp·unselectable">
269 2&gt;·</span><span·class="nf">is_reference</span><span·class="p"·data-group-id="0724161432-2">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="0724161432-2">)</span><span·class="p">.</span><span·class="w">269 2&gt;·</span><span·class="nf">is_reference</span><span·class="p"·data-group-id="2052164186-2">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="2052164186-2">)</span><span·class="p">.</span><span·class="w">
270 </span><span·class="ss">true</span></code></pre><h2·id="fun"·class="section-heading">270 </span><span·class="ss">true</span></code></pre><h2·id="fun"·class="section-heading">
271 ··<a·href="#fun"·class="hover-link">271 ··<a·href="#fun"·class="hover-link">
272 ····<i·class="ri-link-m"·aria-hidden="true"></i>272 ····<i·class="ri-link-m"·aria-hidden="true"></i>
273 ··</a>273 ··</a>
274 ··<span·class="text">Fun</span>274 ··<span·class="text">Fun</span>
275 </h2>275 </h2>
276 <p>A·fun·is·a·functional·object.·Funs·make·it·possible·to·create·an·anonymous276 <p>A·fun·is·a·functional·object.·Funs·make·it·possible·to·create·an·anonymous
277 function·and·pass·the·function·itself··not·its·name··as·argument·to·other277 function·and·pass·the·function·itself··not·its·name··as·argument·to·other
278 functions.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Fun1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="1026464044-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="1026464044-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="o">+</span><span·class="mi">1</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">278 functions.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Fun1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="3061411385-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="3061411385-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="o">+</span><span·class="mi">1</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
279 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="p">.</span><span·class="mf">6.39074546</span><span·class="o">&gt;</span><span·class="gp·unselectable">279 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="p">.</span><span·class="mf">6.39074546</span><span·class="o">&gt;</span><span·class="gp·unselectable">
280 2&gt;·</span><span·class="n">Fun1</span><span·class="p"·data-group-id="1026464044-2">(</span><span·class="mi">2</span><span·class="p"·data-group-id="1026464044-2">)</span><span·class="p">.</span><span·class="w">280 2&gt;·</span><span·class="n">Fun1</span><span·class="p"·data-group-id="3061411385-2">(</span><span·class="mi">2</span><span·class="p"·data-group-id="3061411385-2">)</span><span·class="p">.</span><span·class="w">
281 </span><span·class="mi">3</span></code></pre><p>The·<a·href="../../erts-16.0/doc/html/erlang.html#is_function/1"><code·class="inline">is_function/1</code></a>·and·<a·href="../../erts-16.0/doc/html/erlang.html#is_function/2"><code·class="inline">is_function/2</code></a>281 </span><span·class="mi">3</span></code></pre><p>The·<a·href="../../erts-16.0/doc/html/erlang.html#is_function/1"><code·class="inline">is_function/1</code></a>·and·<a·href="../../erts-16.0/doc/html/erlang.html#is_function/2"><code·class="inline">is_function/2</code></a>
282 BIFs·tests·whether·a·term·is·a·fun.</p><p><em>Examples</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="7172151096-1">(</span><span·class="p"·data-group-id="7172151096-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">282 BIFs·tests·whether·a·term·is·a·fun.</p><p><em>Examples</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="2717637089-1">(</span><span·class="p"·data-group-id="2717637089-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
283 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="p">.</span><span·class="mf">43.105768164</span><span·class="o">&gt;</span><span·class="gp·unselectable">283 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="p">.</span><span·class="mf">43.105768164</span><span·class="o">&gt;</span><span·class="gp·unselectable">
284 2&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="7172151096-2">(</span><span·class="n">F</span><span·class="p"·data-group-id="7172151096-2">)</span><span·class="p">.</span><span·class="w">284 2&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="2717637089-2">(</span><span·class="n">F</span><span·class="p"·data-group-id="2717637089-2">)</span><span·class="p">.</span><span·class="w">
285 </span><span·class="ss">true</span><span·class="gp·unselectable">285 </span><span·class="ss">true</span><span·class="gp·unselectable">
286 3&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="7172151096-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="7172151096-3">)</span><span·class="p">.</span><span·class="w">286 3&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="2717637089-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="2717637089-3">)</span><span·class="p">.</span><span·class="w">
287 </span><span·class="ss">true</span><span·class="gp·unselectable">287 </span><span·class="ss">true</span><span·class="gp·unselectable">
288 4&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="7172151096-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="7172151096-4">)</span><span·class="p">.</span><span·class="w">288 4&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="2717637089-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="2717637089-4">)</span><span·class="p">.</span><span·class="w">
289 </span><span·class="ss">false</span></code></pre><p>Read·more·about·funs·in·<a·href="expressions.html#fun-expressions">Fun·Expressions</a>.·For·more289 </span><span·class="ss">false</span></code></pre><p>Read·more·about·funs·in·<a·href="expressions.html#fun-expressions">Fun·Expressions</a>.·For·more
290 examples,·see·<a·href="../../doc/system/funs.html">Programming·Examples</a>.</p><h2·id="port-identifier"·class="section-heading">290 examples,·see·<a·href="../../doc/system/funs.html">Programming·Examples</a>.</p><h2·id="port-identifier"·class="section-heading">
291 ··<a·href="#port-identifier"·class="hover-link">291 ··<a·href="#port-identifier"·class="hover-link">
292 ····<i·class="ri-link-m"·aria-hidden="true"></i>292 ····<i·class="ri-link-m"·aria-hidden="true"></i>
293 ··</a>293 ··</a>
294 ··<span·class="text">Port·Identifier</span>294 ··<span·class="text">Port·Identifier</span>
295 </h2>295 </h2>
Offset 307, 94 lines modifiedOffset 307, 94 lines modified
307 for·a·new·process·after·a·while.</p><p>The·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·returns·the·Pid·of·the·calling·process.·When307 for·a·new·process·after·a·while.</p><p>The·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·returns·the·Pid·of·the·calling·process.·When
308 <a·href="ref_man_processes.html#process-creation">creating·a·new·process</a>,·the·parent308 <a·href="ref_man_processes.html#process-creation">creating·a·new·process</a>,·the·parent
309 process·will·be·able·to·get·the·Pid·of·the·child·process·either·via·the·return309 process·will·be·able·to·get·the·Pid·of·the·child·process·either·via·the·return
310 value,·as·is·the·case·when·calling·the·<a·href="../../erts-16.0/doc/html/erlang.html#spawn/3"><code·class="inline">spawn/3</code></a>·BIF,·or·via310 value,·as·is·the·case·when·calling·the·<a·href="../../erts-16.0/doc/html/erlang.html#spawn/3"><code·class="inline">spawn/3</code></a>·BIF,·or·via
311 a·message,·which·is·the·case·when·calling·the311 a·message,·which·is·the·case·when·calling·the
312 <a·href="../../erts-16.0/doc/html/erlang.html#spawn_request/5"><code·class="inline">spawn_request/5</code></a>·BIF.·A·Pid·is·typically·used·when312 <a·href="../../erts-16.0/doc/html/erlang.html#spawn_request/5"><code·class="inline">spawn_request/5</code></a>·BIF.·A·Pid·is·typically·used·when
313 when·sending·a·process·a·<a·href="ref_man_processes.html#signals">signal</a>.·The313 when·sending·a·process·a·<a·href="ref_man_processes.html#signals">signal</a>.·The
314 <a·href="../../erts-16.0/doc/html/erlang.html#is_pid/1"><code·class="inline">is_pid/1</code></a>·BIF·tests·whether·a·term·is·a·Pid.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5016433625-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="5016433625-1">)</span><span·class="p">.</span><span·class="w">314 <a·href="../../erts-16.0/doc/html/erlang.html#is_pid/1"><code·class="inline">is_pid/1</code></a>·BIF·tests·whether·a·term·is·a·Pid.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7214627377-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="7214627377-1">)</span><span·class="p">.</span><span·class="w">
315 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5016433625-2">(</span><span·class="p"·data-group-id="5016433625-3">[</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5016433625-3">]</span><span·class="p"·data-group-id="5016433625-2">)</span><span·class="p">.</span><span·class="w">315 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7214627377-2">(</span><span·class="p"·data-group-id="7214627377-3">[</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7214627377-3">]</span><span·class="p"·data-group-id="7214627377-2">)</span><span·class="p">.</span><span·class="w">
  
316 </span><span·class="nf">loop</span><span·class="p"·data-group-id="5016433625-4">(</span><span·class="p"·data-group-id="5016433625-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">316 </span><span·class="nf">loop</span><span·class="p"·data-group-id="7214627377-4">(</span><span·class="p"·data-group-id="7214627377-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
317 ····</span><span·class="k">receive</span><span·class="w">317 ····</span><span·class="k">receive</span><span·class="w">
318 ········</span><span·class="ss">who_are_you</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">318 ········</span><span·class="ss">who_are_you</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
319 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5016433625-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="5016433625-6">[</span><span·class="nf">s[·...·truncated·by·diffoscope;·len:·210,·SHA:·dd6fe5beeb40604f3fc0167cf4f3da1ab5da69ae78afe1946a2624986ab49e24·...·]-5">)</span><span·class="p">,</span><span·class="w">319 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="7214627377-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="7214627377-6">[</span><span·class="nf">s[·...·truncated·by·diffoscope;·len:·210,·SHA:·4ad9e7e757758436fad2f38b988704cc09659c5a740a7d9484838406d4af07a1·...·]-5">)</span><span·class="p">,</span><span·class="w">
320 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="5016433625-8">(</span><span·class="p"·data-group-id="5016433625-8">)</span><span·class="w">320 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="7214627377-8">(</span><span·class="p"·data-group-id="7214627377-8">)</span><span·class="w">
321 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">321 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
322 </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="5016433625-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="5016433625-10">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·64,·SHA:·4a6504435286deeb655894591e72adacf1bd6f68f6d7a1944525b83564c4eded·...·]-9">)</span><span·class="p">.</span><span·class="w">322 </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7214627377-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="7214627377-10">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·64,·SHA:·143164bb523996c0c94791d37f5d9859aca86557ce03308a43eba1e28e9361e5·...·]-9">)</span><span·class="p">.</span><span·class="w">
323 </span><span·class="o">&lt;</span><span·class="mf">0.58</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">323 </span><span·class="o">&lt;</span><span·class="mf">0.58</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">
324 2&gt;·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">who_are_you</span><span·class="p">.</span><span·class="w">324 2&gt;·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">who_are_you</span><span·class="p">.</span><span·class="w">
325 </span><span·class="n">I</span><span·class="w">·</span><span·class="ss">am</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.58</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">325 </span><span·class="n">I</span><span·class="w">·</span><span·class="ss">am</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.58</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">
326 </span><span·class="ss">who_are_you</span></code></pre><p>Read·more·about·processes·in·<a·href="ref_man_processes.html">Processes</a>.</p><h2·id="tuple"·class="section-heading">326 </span><span·class="ss">who_are_you</span></code></pre><p>Read·more·about·processes·in·<a·href="ref_man_processes.html">Processes</a>.</p><h2·id="tuple"·class="section-heading">
327 ··<a·href="#tuple"·class="hover-link">327 ··<a·href="#tuple"·class="hover-link">
328 ····<i·class="ri-link-m"·aria-hidden="true"></i>328 ····<i·class="ri-link-m"·aria-hidden="true"></i>
329 ··</a>329 ··</a>
330 ··<span·class="text">Tuple</span>330 ··<span·class="text">Tuple</span>
331 </h2>331 </h2>
332 <p>A·tuple·is·a·compound·data·type·with·a·fixed·number·of·terms:</p><pre><code·class="text">{Term1,...,TermN}</code></pre><p>Each·term·<code·class="inline">Term</code>·in·the·tuple·is·called·an·<em>element</em>.·The·number·of·elements·is332 <p>A·tuple·is·a·compound·data·type·with·a·fixed·number·of·terms:</p><pre><code·class="text">{Term1,...,TermN}</code></pre><p>Each·term·<code·class="inline">Term</code>·in·the·tuple·is·called·an·<em>element</em>.·The·number·of·elements·is
333 said·to·be·the·<em>size</em>·of·the·tuple.</p><p>There·exists·a·number·of·BIFs·to·manipulate·tuples.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4633466664-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="4633466664-2">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·76e75bd2ae00407c9b4f6863a1db7430c269f2f22067c6b33fb3d6662223c504·...·]-1">}</span><span·class="p">.</span><span·class="w">333 said·to·be·the·<em>size</em>·of·the·tuple.</p><p>There·exists·a·number·of·BIFs·to·manipulate·tuples.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6136512126-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="6136512126-2">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·f19d11d317e67f0c55e4d038f492cba80424c559aad82156537c89f228c50d42·...·]-1">}</span><span·class="p">.</span><span·class="w">
334 </span><span·class="p"·data-group-id="4633466664-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="4633466664-4">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·28f22dbef5af11c2969b1c0085f4dbc599472aa309abbb18531189fac4c8eb85·...·]-3">}</span><span·class="gp·unselectable">334 </span><span·class="p"·data-group-id="6136512126-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="6136512126-4">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·8eda8881521209ec096d71c2bddde3e628bfec09fc22fd802fbb26adc41063b4·...·]-3">}</span><span·class="gp·unselectable">
335 2&gt;·</span><span·class="nf">element</span><span·class="p"·data-group-id="4633466664-5">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">P</span><span·class="p"·data-group-id="4633466664-5">)</span><span·class="p">.</span><span·class="w">335 2&gt;·</span><span·class="nf">element</span><span·class="p"·data-group-id="6136512126-5">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">P</span><span·class="p"·data-group-id="6136512126-5">)</span><span·class="p">.</span><span·class="w">
336 </span><span·class="ss">adam</span><span·class="gp·unselectable">336 </span><span·class="ss">adam</span><span·class="gp·unselectable">
337 3&gt;·</span><span·class="nf">element</span><span·class="p"·data-group-id="4633466664-6">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="n">P</span><span·class="p"·data-group-id="4633466664-6">)</span><span·class="p">.</span><span·class="w">337 3&gt;·</span><span·class="nf">element</span><span·class="p"·data-group-id="6136512126-6">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="n">P</span><span·class="p"·data-group-id="6136512126-6">)</span><span·class="p">.</span><span·class="w">
338 </span><span·class="p"·data-group-id="4633466664-7">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><span·class="p"·data-group-id="4633466664-7">}</span><span·class="gp·unselectable">338 </span><span·class="p"·data-group-id="6136512126-7">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><span·class="p"·data-group-id="6136512126-7">}</span><span·class="gp·unselectable">
339 4&gt;·</span><span·class="n">P2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">setelement</span><span·class="p"·data-group-id="4633466664-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="4633466664-8">)</span><span·class="p">.</span><span·class="w">339 4&gt;·</span><span·class="n">P2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">setelement</span><span·class="p"·data-group-id="6136512126-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="6136512126-8">)</span><span·class="p">.</span><span·class="w">
340 </span><span·class="p"·data-group-id="4633466664-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="4633466664-10">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span>[·...·truncated·by·diffoscope;·len:·95,·SHA:·5e648147c3fdfcbfa5828dcddbcc4c503a07995feb7a01d5b461d1e0d1280b58·...·]-9">}</span><span·class="gp·unselectable">340 </span><span·class="p"·data-group-id="6136512126-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="6136512126-10">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span>[·...·truncated·by·diffoscope;·len:·95,·SHA:·52ba900848be3bd4f410fd4a4680201433ac74c0e3320405d6f3827a7b4f192a·...·]-9">}</span><span·class="gp·unselectable">
341 5&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="4633466664-11">(</span><span·class="n">P</span><span·class="p"·data-group-id="4633466664-11">)</span><span·class="p">.</span><span·class="w">341 5&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="6136512126-11">(</span><span·class="n">P</span><span·class="p"·data-group-id="6136512126-11">)</span><span·class="p">.</span><span·class="w">
342 </span><span·class="mi">3</span><span·class="gp·unselectable">342 </span><span·class="mi">3</span><span·class="gp·unselectable">
343 6&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="4633466664-12">(</span><span·class="p"·data-group-id="4633466664-13">{</span><span·class="p"·data-group-id="4633466664-13">}</span><span·class="p"·data-group-id="4633466664-12">)</span><span·class="p">.</span><span·class="w">343 6&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="6136512126-12">(</span><span·class="p"·data-group-id="6136512126-13">{</span><span·class="p"·data-group-id="6136512126-13">}</span><span·class="p"·data-group-id="6136512126-12">)</span><span·class="p">.</span><span·class="w">
344 </span><span·class="mi">0</span><span·class="gp·unselectable">344 </span><span·class="mi">0</span><span·class="gp·unselectable">
345 7&gt;·</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="4633466664-14">(</span><span·class="p"·data-group-id="4633466664-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="4633466664-15">}</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·061b39931a3f87e294f81e0f5400e16a204c71f050b88064403800cbf7b30dea·...·]-14">)</span><span·class="p">.</span><span·class="w">345 7&gt;·</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="6136512126-14">(</span><span·class="p"·data-group-id="6136512126-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="6136512126-15">}</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·a0dd5f93246d3616c0fef2047e93d50ecfbe2277b63c33f8f11278c1f751c3a3·...·]-14">)</span><span·class="p">.</span><span·class="w">
346 </span><span·class="ss">true</span></code></pre><h2·id="map"·class="section-heading">346 </span><span·class="ss">true</span></code></pre><h2·id="map"·class="section-heading">
347 ··<a·href="#map"·class="hover-link">347 ··<a·href="#map"·class="hover-link">
348 ····<i·class="ri-link-m"·aria-hidden="true"></i>348 ····<i·class="ri-link-m"·aria-hidden="true"></i>
349 ··</a>349 ··</a>
350 ··<span·class="text">Map</span>350 ··<span·class="text">Map</span>
351 </h2>351 </h2>
352 <p>A·map·is·a·compound·data·type·with·a·variable·number·of·key-value·associations:</p><pre><code·class="text">#{Key1·=&gt;·Value1,·...,·KeyN·=&gt;·ValueN}</code></pre><p>Each·key-value·association·in·the·map·is·called·an·<em>association·pair</em>.·The·key352 <p>A·map·is·a·compound·data·type·with·a·variable·number·of·key-value·associations:</p><pre><code·class="text">#{Key1·=&gt;·Value1,·...,·KeyN·=&gt;·ValueN}</code></pre><p>Each·key-value·association·in·the·map·is·called·an·<em>association·pair</em>.·The·key
353 and·value·parts·of·the·pair·are·called·<em>elements</em>.·The·number·of·association353 and·value·parts·of·the·pair·are·called·<em>elements</em>.·The·number·of·association
354 pairs·is·said·to·be·the·<em>size</em>·of·the·map.</p><p>There·exists·a·number·of·BIFs·to·manipulate·maps.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">M1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0578159976-1">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">adam</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">age</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·453,·SHA:·5ee9af9346d59cdf89ef1a75c148a198e66f89883b28598ceeb3f7c7bbe51f26·...·]-1">}</span><span·class="p">.</span><span·class="w">354 pairs·is·said·to·be·the·<em>size</em>·of·the·map.</p><p>There·exists·a·number·of·BIFs·to·manipulate·maps.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">M1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8754069574-1">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">adam</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">age</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·453,·SHA:·abc3f5d155151633ee26624801af973f6d188435216760cc9b2c8b3acfb421b2·...·]-1">}</span><span·class="p">.</span><span·class="w">
355 </span><span·class="p"·data-group-id="0578159976-3">#{</span><span·class="ss">age</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">24</span><span·class="p">,</span><span·class="ss">date</span><span·class="w">·</span><span·class="p">=&gt;</span>[·...·truncated·by·diffoscope;·len:·405,·SHA:·6595adf54f0ee2aab46bf980db608c7ffdd9c348e7fcfee13f1855444cfeda7d·...·]-3">}</span><span·class="gp·unselectable">355 </span><span·class="p"·data-group-id="8754069574-3">#{</span><span·class="ss">age</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">24</span><span·class="p">,</span><span·class="ss">date</span><span·class="w">·</span><span·class="p">=&gt;</span>[·...·truncated·by·diffoscope;·len:·405,·SHA:·c91a11c42c6860c237a28d4820ca45b028ce2b03a7eed6e383f015ab61f0414f·...·]-3">}</span><span·class="gp·unselectable">
356 2&gt;·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="0578159976-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="0578159976-5">)</span><span·class="p">.</span><span·class="w">356 2&gt;·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="8754069574-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="8754069574-5">)</span><span·class="p">.</span><span·class="w">
357 </span><span·class="ss">adam</span><span·class="gp·unselectable">357 </span><span·class="ss">adam</span><span·class="gp·unselectable">
358 3&gt;·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="0578159976-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="0578159976-6">)</span><span·class="p">.</span><span·class="w">358 3&gt;·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="8754069574-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="8754069574-6">)</span><span·class="p">.</span><span·class="w">
359 </span><span·class="p"·data-group-id="0578159976-7">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><span·class="p"·data-group-id="0578159976-7">}</span><span·class="gp·unselectable">359 </span><span·class="p"·data-group-id="8754069574-7">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><span·class="p"·data-group-id="8754069574-7">}</span><span·class="gp·unselectable">
Max diff block lines reached; 38945/79499 bytes (48.99%) of diff not shown.
695 B
html2text {}
Max HTML report size reached
1.4 KB
./usr/share/doc/erlang-doc/html/doc/system/debugging.html
    
Offset 331, 15 lines modifiedOffset 331, 15 lines modified
331 ······<p·class="built-using">331 ······<p·class="built-using">
332 ········Built·using332 ········Built·using
333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
335 ······</p>335 ······</p>
336 <p>Copyright·©·1996-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="5948780115-1">(</span><span·class="ss">ch1</span><span·class="p"·data-group-id="5948780115-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="9608070875-1">(</span><span·class="ss">ch1</span><span·class="p"·data-group-id="9608070875-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="5948780115-2">(</span><span·class="p"·data-group-id="5948780115-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5948780115-3">]</span><span·class="p"·data-group-id="5948780115-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="9608070875-2">(</span><span·class="p"·data-group-id="9608070875-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9608070875-3">]</span><span·class="p"·data-group-id="9608070875-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="5948780115-4">(</span><span·class="p"·data-group-id="5948780115-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:·115,·SHA:·ef0e9a115e8fc2ef84f462adae17d6797b74419ef09e16fc05eb4cccf49988b7·...·]5-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="9608070875-4">(</span><span·class="p"·data-group-id="9608070875-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:·115,·SHA:·a398c95c1fcc67e653412ca4a77eb10971fac025d7ca55ed66fac2de3bf7ae1b·...·]5-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="5948780115-6">(</span><span·class="p"·data-group-id="5948780115-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5948780115-7">]</span><span·class="p"·data-group-id="5948780115-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="9608070875-6">(</span><span·class="p"·data-group-id="9608070875-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9608070875-7">]</span><span·class="p"·data-group-id="9608070875-6">)</span><span·class="p">.</span><span·class="w">
  
163 </span><span·class="nf">start</span><span·class="p"·data-group-id="5948780115-8">(</span><span·class="p"·data-group-id="5948780115-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="9608070875-8">(</span><span·class="p"·data-group-id="9608070875-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="5948780115-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="5948780115-10">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·8d2b07e6916b9bce8c2447f3d3d59287bf4060b0f104ace94fa659ee913a92cb·...·]5-9">)</span><span·class="p">.</span><span·class="w">164 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="9608070875-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="9608070875-10">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·3420ad67ca8572b83898e416eb2747702d9e1e396be46157f0afa937522b9995·...·]5-9">)</span><span·class="p">.</span><span·class="w">
  
165 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="5948780115-11">(</span><span·class="p"·data-group-id="5948780115-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="9608070875-11">(</span><span·class="p"·data-group-id="9608070875-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="5948780115-12">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5948780115-13">(</span><span·class="p"·data-group-id="5948780115-13">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·dd6cd3c27c62f70a9b200a8bbe93da95a825265212bc04fd29fbb1a19f5eb5c4·...·]5-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="9608070875-12">{</span><span·class="nf">self</span><span·class="p"·data-group-id="9608070875-13">(</span><span·class="p"·data-group-id="9608070875-13">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·271eec0e95dfa3605f1ccdebdd69ec3deca375ae260acd2e6250975d3654a670·...·]5-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="5948780115-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="5948780115-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">168 ········</span><span·class="p"·data-group-id="9608070875-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="9608070875-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="5948780115-15">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="5948780115-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="9608070875-15">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="9608070875-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="5948780115-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="5948780115-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="9608070875-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="9608070875-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="5948780115-17">(</span><span·class="p"·data-group-id="5948780115-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="9608070875-17">(</span><span·class="p"·data-group-id="9608070875-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="5948780115-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="5948780115-19">(</span><span·class="p"·data-group-id="5948780115-19">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·18,·SHA:·b307f93ba28729966bd31ec46c65ee198c33367c2f5a3ebae7a85c6ae90add5f·...·]5-18">)</span><span·class="p">,</span><span·class="w">175 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="9608070875-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="9608070875-19">(</span><span·class="p"·data-group-id="9608070875-19">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·18,·SHA:·b4b71485b30b8f91244bdc5be40857119c8b2d42eaa68f3505028c1b2b30c7eb·...·]5-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="5948780115-20">(</span><span·class="p"·data-group-id="5948780115-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="9608070875-20">(</span><span·class="p"·data-group-id="9608070875-20">)</span><span·class="p">,</span><span·class="w">
177 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="5948780115-21">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="5948780115-21">)</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="9608070875-21">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="9608070875-21">)</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">loop</span><span·class="p"·data-group-id="5948780115-22">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="5948780115-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="9608070875-22">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="9608070875-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="5948780115-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="5948780115-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">180 ········</span><span·class="p"·data-group-id="9608070875-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="9608070875-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
181 ············</span><span·class="p"·data-group-id="5948780115-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="5948780115-24">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·142,·SHA:·44258f19c2d57ef975ec4cbfc42dcb7ce81d84fbd630f96851c9a5150fb919cd·...·]5-25">)</span><span·class="p">,</span><span·class="w">181 ············</span><span·class="p"·data-group-id="9608070875-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="9608070875-24">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·142,·SHA:·a6461257b4529cc2fe8105f9ac4074b8a70f96ea6f3ca92367c8ecf922350c50·...·]5-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="5948780115-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="5948780115-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="9608070875-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="9608070875-26">}</span><span·class="p">,</span><span·class="w">
183 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="5948780115-27">(</span><span·class="n">Chs2</span><span·class="p"·data-group-id="5948780115-27">)</span><span·class="p">;</span><span·class="w">183 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="9608070875-27">(</span><span·class="n">Chs2</span><span·class="p"·data-group-id="9608070875-27">)</span><span·class="p">;</span><span·class="w">
184 ········</span><span·class="p"·data-group-id="5948780115-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="5948780115-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">184 ········</span><span·class="p"·data-group-id="9608070875-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="9608070875-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="5948780115-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="5948780115-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="9608070875-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="9608070875-29">)</span><span·class="p">,</span><span·class="w">
186 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="5948780115-30">(</span><span·class="n">Chs2</span><span·class="p"·data-group-id="5948780115-30">)</span><span·class="w">186 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="9608070875-30">(</span><span·class="n">Chs2</span><span·class="p"·data-group-id="9608070875-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="0084543832-1">(</span><span·class="ss">server</span><span·class="p"·data-group-id="0084543832-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="4125413490-1">(</span><span·class="ss">server</span><span·class="p"·data-group-id="4125413490-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="0084543832-2">(</span><span·class="p"·data-group-id="0084543832-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="0084543832-3">]</span><span·class="p"·data-group-id="0084543832-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="4125413490-2">(</span><span·class="p"·data-group-id="4125413490-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4125413490-3">]</span><span·class="p"·data-group-id="4125413490-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="0084543832-4">(</span><span·class="p"·data-group-id="0084543832-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:·a2d9847b25f15b68b2a84a13623e2071e3a1042a43a9f2ecadeb6ea74757b799·...·]-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="4125413490-4">(</span><span·class="p"·data-group-id="4125413490-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:·74c1790d7016a188ac97c9417284323c794823590814981436e281dd9f8372e4·...·]-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="0084543832-6">(</span><span·class="p"·data-group-id="0084543832-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="0084543832-7">]</span><span·class="p"·data-group-id="0084543832-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="4125413490-6">(</span><span·class="p"·data-group-id="4125413490-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4125413490-7">]</span><span·class="p"·data-group-id="4125413490-6">)</span><span·class="p">.</span><span·class="w">
  
191 </span><span·class="nf">start</span><span·class="p"·data-group-id="0084543832-8">(</span><span·class="n">Mod</span><span·class="p"·data-group-id="0084543832-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="4125413490-8">(</span><span·class="n">Mod</span><span·class="p"·data-group-id="4125413490-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="0084543832-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="0084543832-10">[</span><span·class="n">Mod</span>[·...·truncated·by·diffoscope;·len:·95,·SHA:·24ddee95df0a9690cf2d8086f8fabb5b8365e2bd622b15d19577d99197a1d0c2·...·]-9">)</span><span·class="p">.</span><span·class="w">192 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="4125413490-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="4125413490-10">[</span><span·class="n">Mod</span>[·...·truncated·by·diffoscope;·len:·95,·SHA:·11b0ddb06f7433e8e1b0677082c33d471bef5c83e419e7242468304c43327d3c·...·]-9">)</span><span·class="p">.</span><span·class="w">
  
193 </span><span·class="nf">call</span><span·class="p"·data-group-id="0084543832-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="0084543832-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="4125413490-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="4125413490-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="0084543832-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="0084543832-13">(</span><span·class="p"·data-group-id="0084543832-13">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·d97ca5a5af8ea8960fe192c1abeb23847e69684379597a39795be0137da3c733·...·]-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="4125413490-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="4125413490-13">(</span><span·class="p"·data-group-id="4125413490-13">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·54374a2a101f6e3ece062578743d1248ca7902bfe61ad2bf2d6a2db71c05854c·...·]-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="0084543832-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="0084543832-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">196 ········</span><span·class="p"·data-group-id="4125413490-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="4125413490-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="0084543832-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="0084543832-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="4125413490-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="4125413490-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="0084543832-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="0084543832-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="4125413490-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="4125413490-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="0084543832-17">(</span><span·class="n">Mod</span><span·class="p"·data-group-id="0084543832-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="4125413490-17">(</span><span·class="n">Mod</span><span·class="p"·data-group-id="4125413490-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="0084543832-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="0084543832-19">(</span><span·class="p"·data-group-id="0084543832-19">)</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·4a57d0fde5e188dfbedff741e69462487e819e861e46c083d43877ec6c53c1ef·...·]-18">)</span><span·class="p">,</span><span·class="w">203 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="4125413490-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="4125413490-19">(</span><span·class="p"·data-group-id="4125413490-19">)</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·844fcc5aefc6282f9e1d3d5715e9a1d4126a43598d9231e94eaf6f7423b00879·...·]-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="0084543832-20">(</span><span·class="p"·data-group-id="0084543832-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="4125413490-20">(</span><span·class="p"·data-group-id="4125413490-20">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="0084543832-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="0084543832-21">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="4125413490-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="4125413490-21">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">loop</span><span·class="p"·data-group-id="0084543832-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="0084543832-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="4125413490-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="4125413490-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="0084543832-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="0084543832-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 ········</span><span·class="p"·data-group-id="4125413490-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="4125413490-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ············</span><span·class="p"·data-group-id="0084543832-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="0084543832-24">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·278,·SHA:·d430967aa2babd12188e91f94bd9c5676a26a592150f663a716cac9d4f0621f7·...·]-25">)</span><span·class="p">,</span><span·class="w">209 ············</span><span·class="p"·data-group-id="4125413490-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="4125413490-24">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·278,·SHA:·2372cebf1c710e937d6a273c6eae1df4f162b434dcf2ecace72dd7994f84de19·...·]-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="0084543832-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="0084543832-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="4125413490-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="4125413490-26">}</span><span·class="p">,</span><span·class="w">
211 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="0084543832-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="0084543832-27">)</span><span·class="p">;</span><span·class="w">211 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="4125413490-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="4125413490-27">)</span><span·class="p">;</span><span·class="w">
212 ········</span><span·class="p"·data-group-id="0084543832-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="0084543832-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 ········</span><span·class="p"·data-group-id="4125413490-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="4125413490-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="0084543832-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="0084543832-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="4125413490-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="4125413490-29">)</span><span·class="p">,</span><span·class="w">
214 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="0084543832-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="0084543832-30">)</span><span·class="w">214 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="4125413490-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="4125413490-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="7441596654-1">(</span><span·class="ss">ch2</span><span·class="p"·data-group-id="7441596654-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="2592380741-1">(</span><span·class="ss">ch2</span><span·class="p"·data-group-id="2592380741-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="7441596654-2">(</span><span·class="p"·data-group-id="7441596654-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7441596654-3">]</span><span·class="p"·data-group-id="7441596654-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="2592380741-2">(</span><span·class="p"·data-group-id="2592380741-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2592380741-3">]</span><span·class="p"·data-group-id="2592380741-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="7441596654-4">(</span><span·class="p"·data-group-id="7441596654-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:·b427af5b7d777589aaa68777516a9ab34b8d11638ae7f30bd4991b070f78e756·...·]-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="2592380741-4">(</span><span·class="p"·data-group-id="2592380741-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:·3545eb0dba4bca313a8a61d1109dd5c4c9cc95aa682a41afe42252cf8ea38cd6·...·]-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="7441596654-6">(</span><span·class="p"·data-group-id="7441596654-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:·960be8c0bdf2fc384068a692b9f94891e24e5dca27ea0dfdd267d23ffe05c134·...·]-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="2592380741-6">(</span><span·class="p"·data-group-id="2592380741-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:·b5458932ab29ca10af2f16c46b6d0ce164482cec8cbf696cb4040663c10abce4·...·]-6">)</span><span·class="p">.</span><span·class="w">
  
219 </span><span·class="nf">start</span><span·class="p"·data-group-id="7441596654-8">(</span><span·class="p"·data-group-id="7441596654-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="2592380741-8">(</span><span·class="p"·data-group-id="2592380741-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="7441596654-9">(</span><span·class="ss">ch2</span><span·class="p"·data-group-id="7441596654-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="2592380741-9">(</span><span·class="ss">ch2</span><span·class="p"·data-group-id="2592380741-9">)</span><span·class="p">.</span><span·class="w">
  
221 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="7441596654-10">(</span><span·class="p"·data-group-id="7441596654-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="2592380741-10">(</span><span·class="p"·data-group-id="2592380741-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="7441596654-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="7441596654-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="2592380741-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="2592380741-11">)</span><span·class="p">.</span><span·class="w">
  
223 </span><span·class="nf">free</span><span·class="p"·data-group-id="7441596654-12">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="7441596654-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="2592380741-12">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="2592380741-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="7441596654-13">(</span><span·class="ss">ch2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7441596654-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:·cfb82d0ffbb041b34d1bb2be306506845fd179d8d54fed05bd6c86686d7f239b·...·]-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="2592380741-13">(</span><span·class="ss">ch2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2592380741-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:·3385c4ba2fbb16898a820579ebb43f9a7f04e2f9d7e26eacbdccf038b9547e3e·...·]-13">)</span><span·class="p">.</span><span·class="w">
  
225 </span><span·class="nf">init</span><span·class="p"·data-group-id="7441596654-15">(</span><span·class="p"·data-group-id="7441596654-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="2592380741-15">(</span><span·class="p"·data-group-id="2592380741-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="7441596654-16">(</span><span·class="p"·data-group-id="7441596654-16">)</span><span·class="p">.</span><span·class="w">226 ····</span><span·class="nf">channels</span><span·class="p"·data-group-id="2592380741-16">(</span><span·class="p"·data-group-id="2592380741-16">)</span><span·class="p">.</span><span·class="w">
  
227 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="7441596654-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="7441596654-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="2592380741-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="2592380741-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="7441596654-18">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="7441596654-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="2592380741-18">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="2592380741-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="7441596654-19">(</span><span·class="p"·data-group-id="7441596654-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="7441596654-20">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·837fa79c28a0bbcb400331b759a51db0dd1f99ec49d3257520b8a65e78fd633e·...·]-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="2592380741-19">(</span><span·class="p"·data-group-id="2592380741-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="2592380741-20">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·374f45e9425de8b372a8e002718b1106bdab2cf296e10adf805921b780c45de0·...·]-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="7441596654-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="7441596654-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="2592380741-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="2592380741-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="7139280551-1">(</span><span·class="p"·data-group-id="7139280551-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="3035977903-1">(</span><span·class="p"·data-group-id="3035977903-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
240 ···</span><span·class="p"·data-group-id="7139280551-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="7139280551-3">[</span><span·class="p"·data-group-id="7139280551-3">]</span>[·...·truncated·by·diffoscope;·len:·498,·SHA:·2eae497d7dcd5a2476354157b283760ac05cc736bf153c73aed28e870d4938a9·...·]-2">}</span><span·class="p">.</span><span·class="w">240 ···</span><span·class="p"·data-group-id="3035977903-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="3035977903-3">[</span><span·class="p"·data-group-id="3035977903-3">]</span>[·...·truncated·by·diffoscope;·len:·498,·SHA:·52fe979bc726acd0566d386a9028b4b4be3a6facd16987f46cd6192c9f84e738·...·]-2">}</span><span·class="p">.</span><span·class="w">
  
241 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="7139280551-5">(</span><span·class="p"·data-group-id="7139280551-6">{</span><span·class="n">Allocated</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7139280551-7">[</span><span·class="n">H</span><span·class="p">|</span>[·...·truncated·by·diffoscope;·len:·294,·SHA:·48c9e38cbb6079b44074f420b896722ec8d2e933dacf06ca85d196fb7bd1ab65·...·]-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="3035977903-5">(</span><span·class="p"·data-group-id="3035977903-6">{</span><span·class="n">Allocated</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3035977903-7">[</span><span·class="n">H</span><span·class="p">|</span>[·...·truncated·by·diffoscope;·len:·294,·SHA:·55f690d5565d29d4157d10dc25ea7ec1c10d99da4d5593841b0c8f6810a40cf7·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
242 ···</span><span·class="p"·data-group-id="7139280551-8">{</span><span·class="n">H</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7139280551-9">{</span><span·class="p"·data-group-id="7139280551-10">[</span><span·class="n">H</span><span·class="p">|</span><span·c[·...·truncated·by·diffoscope;·len:·245,·SHA:·2f3b51daa6bb494197e7bc2dc45a5be458fcc66c0306c603b3db8b653bcd08df·...·]-8">}</span><span·class="p">.</span><span·class="w">242 ···</span><span·class="p"·data-group-id="3035977903-8">{</span><span·class="n">H</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3035977903-9">{</span><span·class="p"·data-group-id="3035977903-10">[</span><span·class="n">H</span><span·class="p">|</span><span·c[·...·truncated·by·diffoscope;·len:·245,·SHA:·4c168667997451d4c1fc282741fa5b061758d8a547618f1f7aac900f2a684cef·...·]-8">}</span><span·class="p">.</span><span·class="w">
  
243 </span><span·class="nf">free</span><span·class="p"·data-group-id="7139280551-11">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7139280551-12">{</span><span·class="n">Alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Free</span><sp[·...·truncated·by·diffoscope;·len:·195,·SHA:·f7603eefb71dbda19b03e546bbab4993e9d04463c0047e4335187e3040a66cc5·...·]-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="3035977903-11">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3035977903-12">{</span><span·class="n">Alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Free</span><sp[·...·truncated·by·diffoscope;·len:·195,·SHA:·f5e31c128403ce57c4478c1072c69f6a9b2e3bc72ea5c296f25b2ddb550dd0f0·...·]-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="7139280551-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="7139280551-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="3035977903-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="3035977903-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="7139280551-14">{</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="7139280551-15">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Alloc</[·...·truncated·by·diffoscope;·len:·332,·SHA:·e54282bee8475aff51b73ad9fc1aca62a8942415df53cf7d012c0e3d8ab57c3e·...·]-14">}</span><span·class="p">;</span><span·class="w">246 ·········</span><span·class="p"·data-group-id="3035977903-14">{</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="3035977903-15">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Alloc</[·...·truncated·by·diffoscope;·len:·332,·SHA:·311b6546190020eb9037412474223ec0e0bbdaa3897d795e60003ed519832f7f·...·]-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="6142161088-1">(</span><span·class="ss">chs3</span><span·class="p"·data-group-id="6142161088-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="7522403677-1">(</span><span·class="ss">chs3</span><span·class="p"·data-group-id="7522403677-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="6142161088-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="6142161088-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="7522403677-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="7522403677-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="6142161088-3">(</span><span·class="ss">chs3</span><span·class="p"·data-group-id="6142161088-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="7522403677-3">(</span><span·class="ss">chs3</span><span·class="p"·data-group-id="7522403677-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-16.0/doc/html/erl_cmd.html#name"><code·class="inline">-name</code></a>·(long·names)·or144 the·command-line·flag·<a·href="../../erts-16.0/doc/html/erl_cmd.html#name"><code·class="inline">-name</code></a>·(long·names)·or
145 <a·href="../../erts-16.0/doc/html/erl_cmd.html#sname"><code·class="inline">-sname</code></a>·(short·names).</p><p>The·format·of·the·node·name·is·an·atom·<code·class="inline">name@host</code>.·<code·class="inline">name</code>·is·the·name·given·by145 <a·href="../../erts-16.0/doc/html/erl_cmd.html#sname"><code·class="inline">-sname</code></a>·(short·names).</p><p>The·format·of·the·node·name·is·an·atom·<code·class="inline">name@host</code>.·<code·class="inline">name</code>·is·the·name·given·by
146 the·user.·<code·class="inline">host</code>·is·the·full·host·name·if·long·names·are·used,·or·the·first·part146 the·user.·<code·class="inline">host</code>·is·the·full·host·name·if·long·names·are·used,·or·the·first·part
147 of·the·host·name·if·short·names·are·used.·Function·<a·href="../../erts-16.0/doc/html/erlang.html#node/0"><code·class="inline">node()</code></a>147 of·the·host·name·if·short·names·are·used.·Function·<a·href="../../erts-16.0/doc/html/erlang.html#node/0"><code·class="inline">node()</code></a>
148 returns·the·name·of·the·node.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-name·dilbert</span><span·class="w">148 returns·the·name·of·the·node.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-name·dilbert</span><span·class="w">
149 </span><span·class="p"·data-group-id="5284941472-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="5284941472-1">)</span><span·class="mi">1</span><span·class="o"[·...·truncated·by·diffoscope;·len:·158,·SHA:·96c2797832c37b54409eae02cd3aa5aa260c56fa9a6b718b484509ef71e2e6bf·...·]-2">)</span><span·class="p">.</span><span·class="w">149 </span><span·class="p"·data-group-id="2471031613-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="2471031613-1">)</span><span·class="mi">1</span><span·class="o"[·...·truncated·by·diffoscope;·len:·158,·SHA:·bd742704e24a9c7eadb92f41c366429d2e861262a245284b012d2ec11d1fdc99·...·]-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="5284941472-3">(</span><span·class="p"·data-group-id="5284941472-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="2471031613-3">(</span><span·class="p"·data-group-id="2471031613-3">)</span><span·class="p">.</span><span·class="w">
153 </span><span·class="ss">dilbert@uab</span></code></pre><p>The·node·name·can·also·be·given·in·runtime·by·calling·<a·href="../../lib/kernel-10.3/doc/html/net_kernel.html#start/1"><code·class="inline">net_kernel:start/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl</span><span·class="gp·unselectable">153 </span><span·class="ss">dilbert@uab</span></code></pre><p>The·node·name·can·also·be·given·in·runtime·by·calling·<a·href="../../lib/kernel-10.3/doc/html/net_kernel.html#start/1"><code·class="inline">net_kernel:start/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl</span><span·class="gp·unselectable">
154 1&gt;·</span><span·class="nf">node</span><span·class="p"·data-group-id="5186612712-1">(</span><span·class="p"·data-group-id="5186612712-1">)</span><span·class="p">.</span><span·class="w">154 1&gt;·</span><span·class="nf">node</span><span·class="p"·data-group-id="1667921770-1">(</span><span·class="p"·data-group-id="1667921770-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="5186612712-2">(</span><span·class="p"·data-group-id="5186612712-3">[</span><span·class="ss">dilbert</span><span·class="p">,</span><span·class="ss">shortnames</span><span·class="p"·data-group-id="5186612712-3">]</span><span·class="p"·data-group-id="51866127[·...·truncated·by·diffoscope;·len:·2,·SHA:·6b51d431df5d7f141cbececcf79edf3dd861c3b4069f0b11661a3eefacbba918·...·]-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="1667921770-2">(</span><span·class="p"·data-group-id="1667921770-3">[</span><span·class="ss">dilbert</span><span·class="p">,</span><span·class="ss">shortnames</span><span·class="p"·data-group-id="1667921770-3">]</span><span·class="p"·data-group-id="16679217[·...·truncated·by·diffoscope;·len:·2,·SHA:·ff5a1ae012afa5d4c889c50ad427aaf545d31a4fac04ffc1c4d03d403ba4250a·...·]-2">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="5186612712-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="5186612712-4">}</span><span·class="gp·unselectable">157 </span><span·class="p"·data-group-id="1667921770-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="1667921770-4">}</span><span·class="gp·unselectable">
158 (dilbert@uab)3&gt;·</span><span·class="nf">node</span><span·class="p"·data-group-id="5186612712-5">(</span><span·class="p"·data-group-id="5186612712-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="1667921770-5">(</span><span·class="p"·data-group-id="1667921770-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="8603072202-1">[</span><span·class="p"·data-group-id="8603072202-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="4918152630-1">[</span><span·class="p"·data-group-id="4918152630-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
158 ··</span><span·class="p"·data-group-id="8603072202-3">[</span><span·class="p"·data-group-id="8603072202-4">{</span><span·class="ss">distributed</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8603072202-5">[</span><span·class="p"·data-group-id="8603072202-6">[·...·truncated·by·diffoscope;·len:·712,·SHA:·8b957d0afcad36592e075f17d1828086f58a6c9e549fa6aac8f43990d7e2a7d1·...·]-4">}</span><span·class="p">,</span><span·class="w">158 ··</span><span·class="p"·data-group-id="4918152630-3">[</span><span·class="p"·data-group-id="4918152630-4">{</span><span·class="ss">distributed</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4918152630-5">[</span><span·class="p"·data-group-id="4918152630-6">[·...·truncated·by·diffoscope;·len:·712,·SHA:·55a4003fd7711970280909dc59fdeed67b2c2a3617749655f209cbc7cf1057a6·...·]-4">}</span><span·class="p">,</span><span·class="w">
159 ···</span><span·class="p"·data-group-id="8603072202-9">{</span><span·class="ss">sync_nodes_mandatory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8603072202-10">[</span><span·class="ss">cp2@cave</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·119,·SHA:·adc4170fb5a0712b7a238a7ee690c8a7d8f027ffb32fbad822431592be67a9aa·...·]-9">}</span><span·class="p">,</span><span·class="w">159 ···</span><span·class="p"·data-group-id="4918152630-9">{</span><span·class="ss">sync_nodes_mandatory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4918152630-10">[</span><span·class="ss">cp2@cave</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·119,·SHA:·935948b9bd1641cdd6df800cf550b2a245397f26615171f850f2189c97714961·...·]-9">}</span><span·class="p">,</span><span·class="w">
160 ···</span><span·class="p"·data-group-id="8603072202-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="8603072202-11">}</span><span·class="w">160 ···</span><span·class="p"·data-group-id="4918152630-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="4918152630-11">}</span><span·class="w">
161 ··</span><span·class="p"·data-group-id="8603072202-3">]</span><span·class="w">161 ··</span><span·class="p"·data-group-id="4918152630-3">]</span><span·class="w">
162 ·</span><span·class="p"·data-group-id="8603072202-2">}</span><span·class="w">162 ·</span><span·class="p"·data-group-id="4918152630-2">}</span><span·class="w">
163 </span><span·class="p"·data-group-id="8603072202-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="4918152630-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="7719266224-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="7719266224-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="5027064358-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="5027064358-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="7278723975-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="7278723975-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="0714857964-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="0714857964-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="7363504858-1">(</span><span·class="p"·data-group-id="7363504858-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="7363504858-2">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·100,·SHA:·1ade94af7c7fc2b0c2194fcb58441325ff7df692050cc0b3d108cee923b248a0·...·]-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="8163307179-1">(</span><span·class="p"·data-group-id="8163307179-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="8163307179-2">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·100,·SHA:·6cba99ad54f820cd2c6006bb3a48b16e01cd24d96dc00be6e61a71e2f403df56·...·]-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="4766163666-1">(</span><span·class="p"·data-group-id="4766163666-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="4766163666-2">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·99,·SHA:·197456538f24c7d5c3c886844d410d73b55384fb3ef347e399ad79f5e07717c0·...·]-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="4368501047-1">(</span><span·class="p"·data-group-id="4368501047-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="4368501047-2">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·99,·SHA:·a35ac38091129741e3af47eb6cbc092275fb449a898a09ddaa4e7516aebf46db·...·]-1">)</span></code></pre><p>Here·<code·class="inline">Node</code>·is·the·old·node.</p><p><em>Example:</em></p><p>If·<code·class="inline">myapp</code>·is·running·at·<code·class="inline">cp3</code>,·and·if·<code·class="inline">cp2</code>·now·restarts,·it·does·not·restart
210 <code·class="inline">myapp</code>,·as·the·order·between·the·<code·class="inline">cp2</code>·and·<code·class="inline">cp3</code>·nodes·is·undefined.</p><p><a·href=""·id="dist4"></a></p><p><img·src="assets/dist4.gif"·alt="Application·myapp·-·Situation·4"·title="Application·myapp·-·Situation·4"/></p><p>However,·if·<code·class="inline">cp1</code>·also·restarts,·the·function·<a·href="../../lib/kernel-10.3/doc/html/application.html#takeover/2"><code·class="inline">application:takeover/2</code></a>·moves210 <code·class="inline">myapp</code>,·as·the·order·between·the·<code·class="inline">cp2</code>·and·<code·class="inline">cp3</code>·nodes·is·undefined.</p><p><a·href=""·id="dist4"></a></p><p><img·src="assets/dist4.gif"·alt="Application·myapp·-·Situation·4"·title="Application·myapp·-·Situation·4"/></p><p>However,·if·<code·class="inline">cp1</code>·also·restarts,·the·function·<a·href="../../lib/kernel-10.3/doc/html/application.html#takeover/2"><code·class="inline">application:takeover/2</code></a>·moves
211 <code·class="inline">myapp</code>·to·<code·class="inline">cp1</code>,·as·<code·class="inline">cp1</code>·has·a·higher·priority·than·<code·class="inline">cp3</code>·for·this211 <code·class="inline">myapp</code>·to·<code·class="inline">cp1</code>,·as·<code·class="inline">cp1</code>·has·a·higher·priority·than·<code·class="inline">cp3</code>·for·this
212 application.·In·this·case,·<code·class="inline">Module:start({takeover,·cp3@cave},·StartArgs)</code>·is212 application.·In·this·case,·<code·class="inline">Module:start({takeover,·cp3@cave},·StartArgs)</code>·is
213 executed·at·<code·class="inline">cp1</code>·to·start·the·application.</p><p><a·href=""·id="dist5"></a></p><p><img·src="assets/dist5.gif"·alt="Application·myapp·-·Situation·5"·title="Application·myapp·-·Situation·5"/></p>213 executed·at·<code·class="inline">cp1</code>·to·start·the·application.</p><p><a·href=""·id="dist5"></a></p><p><img·src="assets/dist5.gif"·alt="Application·myapp·-·Situation·5"·title="Application·myapp·-·Situation·5"/></p>
214 </div>214 </div>
  
215 <div·class="bottom-actions"·id="bottom-actions">215 <div·class="bottom-actions"·id="bottom-actions">
Offset 257, 15 lines modifiedOffset 257, 15 lines modified
257 ······<p·class="built-using">257 ······<p·class="built-using">
258 ········Built·using258 ········Built·using
259 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the259 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
260 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>260 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
261 ······</p>261 ······</p>
262 <p>Copyright·©·1996-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.6 KB
./usr/share/doc/erlang-doc/html/doc/system/documentation.html
    
Offset 112, 23 lines modifiedOffset 112, 23 lines modified
112 ······</a>112 ······</a>
  
  
113 ····<span>Documentation</span>113 ····<span>Documentation</span>
114 ··</h1>114 ··</h1>
  
115 <p>Documentation·in·Erlang·is·done·through·the·<code·class="inline">-moduledoc</code>·and·<code·class="inline">-doc</code>115 <p>Documentation·in·Erlang·is·done·through·the·<code·class="inline">-moduledoc</code>·and·<code·class="inline">-doc</code>
116 <a·href="modules.html#module-attributes">attributes</a>.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6366894854-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="6366894854-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="2148377046-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="2148377046-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="6366894854-2">(</span><span·class="p"·data-group-id="6366894854-3">[</span><span·class="ss">add</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="6366894854-3">]</span><span·class="p"·data-group-id="6366894854-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="2148377046-2">(</span><span·class="p"·data-group-id="2148377046-3">[</span><span·class="ss">add</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="2148377046-3">]</span><span·class="p"·data-group-id="2148377046-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="6366894854-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="6366894854-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="2148377046-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="2148377046-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="8703351248-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="8703351248-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="3728822970-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="3728822970-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="8703351248-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="8703351248-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="3728822970-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="3728822970-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="8703351248-3">(</span><span·class="p"·data-group-id="8703351248-4">[</span><span·class="ss">add</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="8703351248-4">]</span><span·class="p"·data-group-id="8703351248-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="3728822970-3">(</span><span·class="p"·data-group-id="3728822970-4">[</span><span·class="ss">add</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="3728822970-4">]</span><span·class="p"·data-group-id="3728822970-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="8703351248-5">(</span><span·class="p"·data-group-id="8703351248-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="870335[·...·truncated·by·diffoscope;·len:·57,·SHA:·19659b154dcbb9290b813f3d8f8a14fe63c3985f16af31e565a06bd82acb6079·...·]-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="3728822970-5">(</span><span·class="p"·data-group-id="3728822970-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="372882[·...·truncated·by·diffoscope;·len:·57,·SHA:·ab55a84dc0f70f37afde67075bd4de99b2b69097eb0af7d8bc220e3896d1b102·...·]-5">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="nf">add</span><span·class="p"·data-group-id="8703351248-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="8703351248-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="3728822970-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="3728822970-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="5394960499-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:·ab1122a511539cb0864b5b5152a77dbf02ac20df201adfc79ab3a81e05e2dd33·...·]-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="4008832680-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:·1e7e5227bdfa4524307d4dd912da5ec08fb89b1887a52dcbb980f8858b1cd94a·...·]-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="5394960499-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="5394960499-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="4008832680-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="4008832680-2">}</span><span·class="p">.</span><span·class="w">
163 </span><span·class="nf">add</span><span·class="p"·data-group-id="5394960499-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="5394960499-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="4008832680-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="4008832680-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="4047744499-1">(</span><span·class="p"·data-group-id="4047744499-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="4047744499-2">}</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·f8820c5955d5e090c0dd94981baddc0feb0cd5e16a147f4ae1c9a01bd92d0c19·...·]-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="4949061994-1">(</span><span·class="p"·data-group-id="4949061994-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="4949061994-2">}</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·bdba8104856762461cd758d53d4492861929e121de23c6d1f78e28a1f0eac392·...·]-1">)</span><span·class="p">.</span><span·class="w">
176 </span><span·class="nf">add</span><span·class="p"·data-group-id="4047744499-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="4047744499-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="4949061994-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="4949061994-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="1805679633-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="1805679633-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="3683108436-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="3683108436-1">)</span><span·class="p">.</span><span·class="w">
188 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="s">&quot;188 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="s">&quot;
189 ···A·module·for·basic·arithmetic.189 ···A·module·for·basic·arithmetic.
  
190 ···This·module·can·be·used·to·add·and·subtract·values.·For·example:190 ···This·module·can·be·used·to·add·and·subtract·values.·For·example:
  
191 ···```erlang191 ···```erlang
192 ···1&gt;·arith:substract(arith:add(2,·3),·1).192 ···1&gt;·arith:substract(arith:add(2,·3),·1).
Offset 203, 96 lines modifiedOffset 203, 96 lines modified
203 <p>There·are·three·reserved·metadata·keys·for·<code·class="inline">-moduledoc</code>:</p><ul><li><code·class="inline">since·=&gt;·unicode:chardata()</code>·-·Shows·in·which·version·of·the·application·the·module·was·added.203 <p>There·are·three·reserved·metadata·keys·for·<code·class="inline">-moduledoc</code>:</p><ul><li><code·class="inline">since·=&gt;·unicode:chardata()</code>·-·Shows·in·which·version·of·the·application·the·module·was·added.
204 If·this·is·added,·all·functions,·types,·and·callbacks·within·will·also·receive204 If·this·is·added,·all·functions,·types,·and·callbacks·within·will·also·receive
205 the·same·<code·class="inline">since</code>·value·unless·specified·in·the·metadata·of·the·function,·type205 the·same·<code·class="inline">since</code>·value·unless·specified·in·the·metadata·of·the·function,·type
206 or·callback.</li><li><code·class="inline">deprecated·=&gt;·unicode:chardata()</code>·-·Shows·a·text·in·the·documentation·explaining·that·it·is206 or·callback.</li><li><code·class="inline">deprecated·=&gt;·unicode:chardata()</code>·-·Shows·a·text·in·the·documentation·explaining·that·it·is
207 deprecated·and·what·to·use·instead.</li><li><code·class="inline">format·=&gt;·unicode:chardata()</code>·-·The·format·to·use·for·all·documentation·in·this·module.·The207 deprecated·and·what·to·use·instead.</li><li><code·class="inline">format·=&gt;·unicode:chardata()</code>·-·The·format·to·use·for·all·documentation·in·this·module.·The
208 default·is·<code·class="inline">text/markdown</code>.·It·should·be·written·using·the208 default·is·<code·class="inline">text/markdown</code>.·It·should·be·written·using·the
209 <a·href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">mime·type</a>209 <a·href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">mime·type</a>
210 of·the·format.</li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="p"·data-group-id="6733917290-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="6733917290-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="0950092888-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="0950092888-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="6733917290-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:·2cb25c7d2e1cf021233b5c28e47bcbd0c34c621a8ab5c9f50c9526a97190e9df·...·]-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="0950092888-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:·8a117362407a144a594ffccd003d4f0fa6b5b19e5a4b30138643f21a992a16fe·...·]-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="6733917290-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="6733917290-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="0950092888-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="0950092888-3">}</span><span·class="p">.</span></code></pre><h2·id="documenting-functions-user-defined-types-and-callbacks"·class="section-heading">
213 ··<a·href="#documenting-functions-user-defined-types-and-callbacks"·class="hover-link">213 ··<a·href="#documenting-functions-user-defined-types-and-callbacks"·class="hover-link">
214 ····<i·class="ri-link-m"·aria-hidden="true"></i>214 ····<i·class="ri-link-m"·aria-hidden="true"></i>
215 ··</a>215 ··</a>
216 ··<span·class="text">Documenting·functions,·user-defined·types,·and·callbacks</span>216 ··<span·class="text">Documenting·functions,·user-defined·types,·and·callbacks</span>
217 </h2>217 </h2>
218 <p>Functions,·types,·and·callbacks·can·be·documented·using·the·<code·class="inline">-doc</code>·attribute.218 <p>Functions,·types,·and·callbacks·can·be·documented·using·the·<code·class="inline">-doc</code>·attribute.
219 Each·entry·should·start·with·a·short·paragraph·describing·the·purpose·of·entity,219 Each·entry·should·start·with·a·short·paragraph·describing·the·purpose·of·entity,
220 and·then·go·into·greater·detail·in·needed.</p><p>It·is·not·recommended·to·include·images·or·diagrams·in·this·documentation·as·it220 and·then·go·into·greater·detail·in·needed.</p><p>It·is·not·recommended·to·include·images·or·diagrams·in·this·documentation·as·it
221 is·used·by·IDEs·and·<a·href="../../lib/stdlib-7.0/doc/html/c.html#h/1"><code·class="inline">c:h/1</code></a>·to·show·the·documentation·to·the·user.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;&quot;&quot;221 is·used·by·IDEs·and·<a·href="../../lib/stdlib-7.0/doc/html/c.html#h/1"><code·class="inline">c:h/1</code></a>·to·show·the·documentation·to·the·user.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;&quot;&quot;
222 A·number·that·can·be·used·by·the·arith·module.222 A·number·that·can·be·used·by·the·arith·module.
  
223 We·use·a·special·number·here·so·that·we·know223 We·use·a·special·number·here·so·that·we·know
224 that·this·number·comes·from·this·module.224 that·this·number·comes·from·this·module.
225 &quot;&quot;&quot;</span><span·class="p">.</span><span·class="w">225 &quot;&quot;&quot;</span><span·class="p">.</span><span·class="w">
226 </span><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">number</span><span·class="p"·data-group-id="9985698220-1">(</span><span·class="p"·data-group-id="9985698220-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9985698220-2">{</span><span·class="ss">arith</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·38b2cf286e1586d630024d6c4b1276816b8b932e0d9304be03fcc1b006081cf1·...·]-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="3303987903-1">(</span><span·class="p"·data-group-id="3303987903-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3303987903-2">{</span><span·class="ss">arith</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·ec7808f45fdbeaea906cda931ca3004d36c23cdf32b23aedba919d720904d486·...·]-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="9985698220-4">(</span><span·class="nf">number</span><span·class="p"·data-group-id="9985698220-5">(</span><span·class="p"·data-group-id="9985698220-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:·db1bd3612800b281744a8a630f1d07a5e944bfe2cdf198986ab4876c45a1e623·...·]-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="3303987903-4">(</span><span·class="nf">number</span><span·class="p"·data-group-id="3303987903-5">(</span><span·class="p"·data-group-id="3303987903-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:·5d99afb8e02b0ce60b2c81ce281e77db030bbfb802d06d1e361bb65e525a0c58·...·]-7">)</span><span·class="p">.</span><span·class="w">
236 </span><span·class="nf">add</span><span·class="p"·data-group-id="9985698220-8">(</span><span·class="p"·data-group-id="9985698220-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="9985698220-9">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·662,·SHA:·721385cd92b0761c6fa350f2666eaa883928532299b3e8222a4f1cfadfcdf716·...·]-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="3303987903-8">(</span><span·class="p"·data-group-id="3303987903-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="3303987903-9">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·662,·SHA:·1b68dc61d7b471af0dea1ab84ee9f5a0bd99e6717fb59da370b5450d0109f693·...·]-11">}</span><span·class="p">.</span></code></pre><h3·id="doc-metadata"·class="section-heading">
237 ··<a·href="#doc-metadata"·class="hover-link">237 ··<a·href="#doc-metadata"·class="hover-link">
238 ····<i·class="ri-link-m"·aria-hidden="true"></i>238 ····<i·class="ri-link-m"·aria-hidden="true"></i>
239 ··</a>239 ··</a>
240 ··<span·class="text">Doc·metadata</span>240 ··<span·class="text">Doc·metadata</span>
241 </h3>241 </h3>
242 <p>There·are·four·reserved·metadata·keys·for·<code·class="inline">-doc</code>:</p><ul><li><p><code·class="inline">since·=&gt;·unicode:chardata()</code>·-·Shows·which·version·of·the·application·the242 <p>There·are·four·reserved·metadata·keys·for·<code·class="inline">-doc</code>:</p><ul><li><p><code·class="inline">since·=&gt;·unicode:chardata()</code>·-·Shows·which·version·of·the·application·the
243 module·was·added.</p></li><li><p><code·class="inline">deprecated·=&gt;·unicode:chardata()</code>·-·Shows·a·text·in·the·documentation243 module·was·added.</p></li><li><p><code·class="inline">deprecated·=&gt;·unicode:chardata()</code>·-·Shows·a·text·in·the·documentation
244 explaining·that·it·is·deprecated·and·what·to·use·instead.·The·compiler·will244 explaining·that·it·is·deprecated·and·what·to·use·instead.·The·compiler·will
245 automatically·insert·this·key·if·there·is·a·<code·class="inline">-deprecated</code>·attribute·marking·a245 automatically·insert·this·key·if·there·is·a·<code·class="inline">-deprecated</code>·attribute·marking·a
246 function·as·deprecated.</p></li><li><p><code·class="inline">group·=&gt;·unicode:chardata()</code>·-·A·group·that·the·function,·type·or·callback·belongs·to.246 function·as·deprecated.</p></li><li><p><code·class="inline">group·=&gt;·unicode:chardata()</code>·-·A·group·that·the·function,·type·or·callback·belongs·to.
Max diff block lines reached; 38315/67415 bytes (56.83%) of diff not shown.
663 B
html2text {}
Max HTML report size reached
8.64 KB
./usr/share/doc/erlang-doc/html/doc/system/drivers.html
    
Offset 122, 23 lines modifiedOffset 122, 23 lines modified
122 ··<span·class="text">Drivers·and·Concurrency</span>122 ··<span·class="text">Drivers·and·Concurrency</span>
123 </h2>123 </h2>
124 <p>The·runtime·system·always·takes·a·lock·before·running·any·code·in·a·driver.</p><p>By·default,·that·lock·is·at·the·driver·level,·that·is,·if·several·ports·have124 <p>The·runtime·system·always·takes·a·lock·before·running·any·code·in·a·driver.</p><p>By·default,·that·lock·is·at·the·driver·level,·that·is,·if·several·ports·have
125 been·opened·to·the·same·driver,·only·code·for·one·port·at·the·same·time·can·be125 been·opened·to·the·same·driver,·only·code·for·one·port·at·the·same·time·can·be
126 running.</p><p>A·driver·can·be·configured·to·have·one·lock·for·each·port·instead.</p><p>If·a·driver·is·used·in·a·functional·way·(that·is,·holds·no·state,·but·only·does126 running.</p><p>A·driver·can·be·configured·to·have·one·lock·for·each·port·instead.</p><p>If·a·driver·is·used·in·a·functional·way·(that·is,·holds·no·state,·but·only·does
127 some·heavy·calculation·and·returns·a·result),·several·ports·with·registered127 some·heavy·calculation·and·returns·a·result),·several·ports·with·registered
128 names·can·be·opened·beforehand,·and·the·port·to·be·used·can·be·chosen·based·on128 names·can·be·opened·beforehand,·and·the·port·to·be·used·can·be·chosen·based·on
129 the·scheduler·ID·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="9405248611-1">(</span><span·class="n">PORT_NAMES</span><span·class="p"·data-group-id="9405248611-2">(</span><span·class="p"·data-group-id="9405248611-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="3063876398-1">(</span><span·class="n">PORT_NAMES</span><span·class="p"·data-group-id="3063876398-2">(</span><span·class="p"·data-group-id="3063876398-2">)</span><span·class="p">,</span><span·class="w">
130 »       </span><span·class="p"·data-group-id="9405248611-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="3063876398-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="9405248611-3">}</span><span·class="p"·data-group-id="9405248611-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="3063876398-3">}</span><span·class="p"·data-group-id="3063876398-1">)</span><span·class="p">.</span><span·class="w">
  
134 </span><span·class="nf">client_port</span><span·class="p"·data-group-id="9405248611-4">(</span><span·class="p"·data-group-id="9405248611-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="3063876398-4">(</span><span·class="p"·data-group-id="3063876398-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="9405248611-5">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="9405248611-6">(</span><span·class="ss">scheduler_id</span><span·class="p"·data-group-id="9405248611-6">)</span><sp[·...·truncated·by·diffoscope;·len:·363,·SHA:·3b5b9aa8f41bf110dbd517ab01c26b154fe423a3e43d900a5959c463ccf98bbc·...·]-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="3063876398-5">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="3063876398-6">(</span><span·class="ss">scheduler_id</span><span·class="p"·data-group-id="3063876398-6">)</span><sp[·...·truncated·by·diffoscope;·len:·363,·SHA:·ef5952ac65ca03bcc4e34e48abe20956753a817c4e3e517125405731af6f36b9·...·]-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="9405248611-9">(</span><span·class="p"·data-group-id="9405248611-9">)</span><span·class="p"·data-group-id="9405248611-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="3063876398-9">(</span><span·class="p"·data-group-id="3063876398-9">)</span><span·class="p"·data-group-id="3063876398-5">)</span><span·class="p">.</span></code></pre><p>As·long·as·there·are·no·more·than·16·schedulers,·there·will·never·be·any·lock
137 contention·on·the·port·lock·for·the·driver.</p><h2·id="avoiding-copying-binaries-when-calling-a-driver"·class="section-heading">137 contention·on·the·port·lock·for·the·driver.</p><h2·id="avoiding-copying-binaries-when-calling-a-driver"·class="section-heading">
138 ··<a·href="#avoiding-copying-binaries-when-calling-a-driver"·class="hover-link">138 ··<a·href="#avoiding-copying-binaries-when-calling-a-driver"·class="hover-link">
139 ····<i·class="ri-link-m"·aria-hidden="true"></i>139 ····<i·class="ri-link-m"·aria-hidden="true"></i>
140 ··</a>140 ··</a>
141 ··<span·class="text">Avoiding·Copying·Binaries·When·Calling·a·Driver</span>141 ··<span·class="text">Avoiding·Copying·Binaries·When·Calling·a·Driver</span>
142 </h2>142 </h2>
143 <p>There·are·basically·two·ways·to·avoid·copying·a·binary·that·is·sent·to·a·driver:</p><ul><li><p>If·the·<code·class="inline">Data</code>·argument·for·<a·href="../../erts-16.0/doc/html/erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>·is·a143 <p>There·are·basically·two·ways·to·avoid·copying·a·binary·that·is·sent·to·a·driver:</p><ul><li><p>If·the·<code·class="inline">Data</code>·argument·for·<a·href="../../erts-16.0/doc/html/erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>·is·a
Offset 225, 15 lines modifiedOffset 225, 15 lines modified
225 ······<p·class="built-using">225 ······<p·class="built-using">
226 ········Built·using226 ········Built·using
227 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the227 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
228 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>228 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
229 ······</p>229 ······</p>
230 <p>Copyright·©·1996-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="1734410288-1">(</span><span·class="ss">one</span><span·class="p"·data-group-id="1734410288-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="2526137723-1">(</span><span·class="ss">one</span><span·class="p"·data-group-id="2526137723-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="1734410288-2">(</span><span·class="ss">two</span><span·class="p"·data-group-id="1734410288-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="2526137723-2">(</span><span·class="ss">two</span><span·class="p"·data-group-id="2526137723-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="1734410288-3">(</span><span·class="ss">three</span><span·class="p"·data-group-id="1734410288-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="2526137723-3">(</span><span·class="ss">three</span><span·class="p"·data-group-id="2526137723-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="1734410288-4">(</span><span·class="n">Int</span><span·class="p"·data-group-id="1734410288-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="1734410288-5">([·...·truncated·by·diffoscope;·len:·74,·SHA:·68ffef92a1135449650faa991de679b8f814761715ca30cf74c5f2f068a0e40f·...·]-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="2526137723-4">(</span><span·class="n">Int</span><span·class="p"·data-group-id="2526137723-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="2526137723-5">([·...·truncated·by·diffoscope;·len:·74,·SHA:·8eab42eb64fefd3f3be8c30b64d971f2b3fb12710bbd4ce9b8194cfde52c0b9f·...·]-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="1734410288-6">(</span><span·class="ss">four</span><span·class="p"·data-group-id="1734410288-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="2526137723-6">(</span><span·class="ss">four</span><span·class="p"·data-group-id="2526137723-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="1734410288-7">(</span><span·class="ss">five</span><span·class="p"·data-group-id="1734410288-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="2526137723-7">(</span><span·class="ss">five</span><span·class="p"·data-group-id="2526137723-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="1734410288-8">(</span><span·class="ss">six</span><span·class="p"·data-group-id="1734410288-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="2526137723-8">(</span><span·class="ss">six</span><span·class="p"·data-group-id="2526137723-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">6</span><span·class="p">.</span></code></pre><p>The·problem·is·the·clause·with·the·variable·<code·class="inline">Int</code>.·As·a·variable·can·match
136 anything,·including·the·atoms·<code·class="inline">four</code>,·<code·class="inline">five</code>,·and·<code·class="inline">six</code>,·which·the·following136 anything,·including·the·atoms·<code·class="inline">four</code>,·<code·class="inline">five</code>,·and·<code·class="inline">six</code>,·which·the·following
137 clauses·also·match,·the·compiler·must·generate·suboptimal·code·that·executes·as137 clauses·also·match,·the·compiler·must·generate·suboptimal·code·that·executes·as
138 follows:</p><ul><li>First,·the·input·value·is·compared·to·<code·class="inline">one</code>,·<code·class="inline">two</code>,·and·<code·class="inline">three</code>·(using·a138 follows:</p><ul><li>First,·the·input·value·is·compared·to·<code·class="inline">one</code>,·<code·class="inline">two</code>,·and·<code·class="inline">three</code>·(using·a
139 single·instruction·that·does·a·binary·search;·thus,·quite·efficient·even·if139 single·instruction·that·does·a·binary·search;·thus,·quite·efficient·even·if
140 there·are·many·values)·to·select·which·one·of·the·first·three·clauses·to140 there·are·many·values)·to·select·which·one·of·the·first·three·clauses·to
141 execute·(if·any).</li><li>If·none·of·the·first·three·clauses·match,·the·fourth·clause·match·as·a141 execute·(if·any).</li><li>If·none·of·the·first·three·clauses·match,·the·fourth·clause·match·as·a
142 variable·always·matches.</li><li>If·the·guard·test·<a·href="../../erts-16.0/doc/html/erlang.html#is_integer/1"><code·class="inline">is_integer(Int)</code></a>·succeeds,·the·fourth142 variable·always·matches.</li><li>If·the·guard·test·<a·href="../../erts-16.0/doc/html/erlang.html#is_integer/1"><code·class="inline">is_integer(Int)</code></a>·succeeds,·the·fourth
143 clause·is·executed.</li><li>If·the·guard·test·fails,·the·input·value·is·compared·to·<code·class="inline">four</code>,·<code·class="inline">five</code>,·and143 clause·is·executed.</li><li>If·the·guard·test·fails,·the·input·value·is·compared·to·<code·class="inline">four</code>,·<code·class="inline">five</code>,·and
144 <code·class="inline">six</code>,·and·the·appropriate·clause·is·selected.·(There·is·a·<code·class="inline">function_clause</code>144 <code·class="inline">six</code>,·and·the·appropriate·clause·is·selected.·(There·is·a·<code·class="inline">function_clause</code>
145 exception·if·none·of·the·values·matched.)</li></ul><p>Rewriting·to·either:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">atom_map2</span><span·class="p"·data-group-id="2548830004-1">(</span><span·class="ss">one</span><span·class="p"·data-group-id="2548830004-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="2340811353-1">(</span><span·class="ss">one</span><span·class="p"·data-group-id="2340811353-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="2548830004-2">(</span><span·class="ss">two</span><span·class="p"·data-group-id="2548830004-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="2340811353-2">(</span><span·class="ss">two</span><span·class="p"·data-group-id="2340811353-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="2548830004-3">(</span><span·class="ss">three</span><span·class="p"·data-group-id="2548830004-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="2340811353-3">(</span><span·class="ss">three</span><span·class="p"·data-group-id="2340811353-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="2548830004-4">(</span><span·class="ss">four</span><span·class="p"·data-group-id="2548830004-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="2340811353-4">(</span><span·class="ss">four</span><span·class="p"·data-group-id="2340811353-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="2548830004-5">(</span><span·class="ss">five</span><span·class="p"·data-group-id="2548830004-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="2340811353-5">(</span><span·class="ss">five</span><span·class="p"·data-group-id="2340811353-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="2548830004-6">(</span><span·class="ss">six</span><span·class="p"·data-group-id="2548830004-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="2340811353-6">(</span><span·class="ss">six</span><span·class="p"·data-group-id="2340811353-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="2548830004-7">(</span><span·class="n">Int</span><span·class="p"·data-group-id="2548830004-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="2548830004-8">(<[·...·truncated·by·diffoscope;·len:·701,·SHA:·b3dc1d87a1624c4a16f81598795674aa8e047c5a5ced6a1af2d08a7a0a737ab7·...·]0-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="2340811353-7">(</span><span·class="n">Int</span><span·class="p"·data-group-id="2340811353-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="2340811353-8">(<[·...·truncated·by·diffoscope;·len:·701,·SHA:·924d7f0545bc6f58d9bf38e11a4bc0016161f4d0da2fa496ba57fa4edf741a0c·...·]0-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="4387672550-3">(</span><span·class="ss">one</span><span·class="p"·data-group-id="4387672550-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="2836587240-3">(</span><span·class="ss">one</span><span·class="p"·data-group-id="2836587240-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="4387672550-4">(</span><span·class="ss">two</span><span·class="p"·data-group-id="4387672550-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="2836587240-4">(</span><span·class="ss">two</span><span·class="p"·data-group-id="2836587240-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="4387672550-5">(</span><span·class="ss">three</span><span·class="p"·data-group-id="4387672550-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="2836587240-5">(</span><span·class="ss">three</span><span·class="p"·data-group-id="2836587240-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="4387672550-6">(</span><span·class="ss">four</span><span·class="p"·data-group-id="4387672550-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="2836587240-6">(</span><span·class="ss">four</span><span·class="p"·data-group-id="2836587240-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="4387672550-7">(</span><span·class="ss">five</span><span·class="p"·data-group-id="4387672550-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="2836587240-7">(</span><span·class="ss">five</span><span·class="p"·data-group-id="2836587240-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="4387672550-8">(</span><span·class="ss">six</span><span·class="p"·data-group-id="4387672550-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:·540,·SHA:·f75e9c558ff0bd92fe8d80ac09b98caf2c9b58cb0c821fb14351ba9bfd47b8de·...·]9-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="2836587240-8">(</span><span·class="ss">six</span><span·class="p"·data-group-id="2836587240-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:·540,·SHA:·6f72dfcae3d370a71f294958e1091e1c20cbd5e209e973c051633f3064be76b6·...·]9-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="5037034299-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="5037034299-4">[</span><span·clas[·...·truncated·by·diffoscope;·len:·83,·SHA:·7d122434ee2ce2c89cf2e405ffa4deda4a30f9b785d7eadac12621d7525ee63a·...·]9-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="2676019879-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="2676019879-4">[</span><span·clas[·...·truncated·by·diffoscope;·len:·83,·SHA:·5131f87aabdf11b1884f74dd3f6ddbeaa1e6de12af9da47cae647732adf695cb·...·]9-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="5037034299-5">(</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5037034299-6">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="503[·...·truncated·by·diffoscope;·len:·286,·SHA:·081758627b00dc7f0e207320ec614a9d5e30559d639951bd9c7f9879f5c5fe0a·...·]9-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="2676019879-5">(</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2676019879-6">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="267[·...·truncated·by·diffoscope;·len:·286,·SHA:·a8897381e4e03a4b47588337c2a7d180d8197995a6addfc00ff12e4910dd882b·...·]9-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
162 ····</span><span·class="p"·data-group-id="5037034299-8">[</span><span·class="n">Map</span><span·class="p"·data-group-id="5037034299-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="5037034299-9">)</span><span·[·...·truncated·by·diffoscope;·len:·372,·SHA:·6521a4848d69e379b1bffbf39cbb42486c10202b7b24dd8cef914ea6377f7851·...·]9-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="2676019879-8">[</span><span·class="n">Map</span><span·class="p"·data-group-id="2676019879-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="2676019879-9">)</span><span·[·...·truncated·by·diffoscope;·len:·372,·SHA:·dd86df0434165049205e537c5cc9f89debf9be2970a2d4c57b9bace5193cf114·...·]9-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="0408354609-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="0408354609-2">[</span><span·class="p"·data-group-id="0408354609-2">]</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·83,·SHA:·24d1896d7913648751ca8345bf3a2d8dbf5d0ad1336afe8c32114244217b4597·...·]-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="0203116658-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="0203116658-2">[</span><span·class="p"·data-group-id="0203116658-2">]</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·83,·SHA:·cb327b650647ba09bf6f8770974e2e56f0fde85fbe9a03f972bc5f4170475224·...·]-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="0408354609-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="0408354609-4">[</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·309,·SHA:·ddfef2e23eb2e79bb2470c8d584a1a87755908fd2aea10bdbe0c81e227971b83·...·]-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="0203116658-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="0203116658-4">[</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·309,·SHA:·c5436f00470c59187bb92b4a6f2686c4b06a16f95be0b7e72afcb29661c15bf7·...·]-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="0408354609-6">(</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0408354609-7">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="0408[·...·truncated·by·diffoscope;·len:·286,·SHA:·69960c23d7ff4b9aaa88e07d35a60bd95537261f4d15444dfdc2a4ed851400bc·...·]-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="0203116658-6">(</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0203116658-7">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="0203[·...·truncated·by·diffoscope;·len:·286,·SHA:·3a79efc12037bca50a7e32263e8617699590b71add7814c8b5355ff3039330f9·...·]-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 ····</span><span·class="p"·data-group-id="0408354609-9">[</span><span·class="n">Map</span><span·class="p"·data-group-id="0408354609-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="0408354609-10">)</span><span[·...·truncated·by·diffoscope;·len:·897,·SHA:·c41da9c70becff0b8fb07b53ec58bf3311dfc323ebdd02a57c1bd83b398dd938·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 ····</span><span·class="p"·data-group-id="0203116658-9">[</span><span·class="n">Map</span><span·class="p"·data-group-id="0203116658-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="0203116658-10">)</span><span[·...·truncated·by·diffoscope;·len:·897,·SHA:·818401842ce2efff1be116bf570a7b21277b31decbff0c25bb8d009f723df97c·...·]-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="4368147110-2">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="4368147110-2">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">174 »       </span><span·class="p"·data-group-id="8799309176-2">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="8799309176-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="4368147110-3">[</span><span·class="n">Y</span><span·class="p">|</span><span·class="n">Ys</span><span·class="p"·data-group-id="4368147110-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 »       »       </span><span·class="p"·data-group-id="8799309176-3">[</span><span·class="n">Y</span><span·class="p">|</span><span·class="n">Ys</span><span·class="p"·data-group-id="8799309176-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 »       »       ····</span><span·class="p"·data-group-id="4368147110-4">[</span><span·class="n">Map</span><span·class="p"·data-group-id="4368147110-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="4368147110-5">)</span><span·[·...·truncated·by·diffoscope;·len:·379,·SHA:·5fcbf922566de75a7d9fd6ea21d083fc29582f4568ec9abe6cfa973b1d1a8aa8·...·]-4">]</span><span·class="p">;</span><span·class="w">177 »       »       ····</span><span·class="p"·data-group-id="8799309176-4">[</span><span·class="n">Map</span><span·class="p"·data-group-id="8799309176-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="8799309176-5">)</span><span·[·...·truncated·by·diffoscope;·len:·379,·SHA:·85fb4b72bdc767846120ae3e9d5b5332e3446a5eef68835f25075cb506dba0f9·...·]-4">]</span><span·class="p">;</span><span·class="w">
178 »       »       </span><span·class="p"·data-group-id="4368147110-7">[</span><span·class="p"·data-group-id="4368147110-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 »       »       </span><span·class="p"·data-group-id="8799309176-7">[</span><span·class="p"·data-group-id="8799309176-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="4368147110-8">[</span><span·class="p"·data-group-id="4368147110-8">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">181 »       </span><span·class="p"·data-group-id="8799309176-8">[</span><span·class="p"·data-group-id="8799309176-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="3277336363-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="3277336363-1">]</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·1122,·SHA:·7314ffc939f867379ff84504e9c4ffd783c3366bed6e786a3f373074ba546bf8·...·]-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="8096583779-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="8096583779-1">]</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·1122,·SHA:·8954ad36b3f8d5c4f9e9eaa5fe0bfcb1d8929870234d04bc86ac5d794778fbfb·...·]-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="3277336363-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:·90f177d9f0a7753efa1c06eca96806a04d4d6d37948d9bcdbafd7862de48e1b6·...·]-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="8096583779-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:·aede4b707e91d45558f338882a933459de697e397503a3c2afbb9424488a39e5·...·]-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="3277336363-9">(</span><span·class="p"·data-group-id="3277336363-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="8096583779-9">(</span><span·class="p"·data-group-id="8096583779-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="3277336363-10">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Bytes</span><span·class="p"·data-group-id="3277336363-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:·e504297cc562caf65a44339300baf4436ddacfbdee6a5a226866305cf5f08cec·...·]-11">)</span><span·class="p">.</span><span·class="w">130 2&gt;·</span><span·class="p"·data-group-id="8096583779-10">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Bytes</span><span·class="p"·data-group-id="8096583779-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:·f762a0c2ab6094e1246af46101eafc0347c6c90265a27fee615d97c9ba4722cc·...·]-11">)</span><span·class="p">.</span><span·class="w">
131 </span><span·class="p"·data-group-id="3277336363-13">{</span><span·class="nb">memory</span><span·class="p">,</span><span·class="mi">2616</span><span·class="p"·data-group-id="3277336363-13">}</span><span·class="gp·unselectable">131 </span><span·class="p"·data-group-id="8096583779-13">{</span><span·class="nb">memory</span><span·class="p">,</span><span·class="mi">2616</span><span·class="p"·data-group-id="8096583779-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="3277336363-14">(</span><span·class="ss">wordsize</span><span·class="p"·data-group-id="3277336363-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="8096583779-14">(</span><span·class="ss">wordsize</span><span·class="p"·data-group-id="8096583779-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="2372940506-1">(</span><span·class="p"·data-group-id="2372940506-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="8101340494-1">(</span><span·class="p"·data-group-id="8101340494-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="2372940506-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="2372940506-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">137 ·····</span><span·class="p"·data-group-id="8101340494-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="8101340494-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="2372940506-3">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2372940506-3">)</span><span·class="p">,</span><span·class="w">138 ·········</span><span·class="nf">handle_sys_msg</span><span·class="p"·data-group-id="8101340494-3">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="8101340494-3">)</span><span·class="p">,</span><span·class="w">
139 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="2372940506-4">(</span><span·class="p"·data-group-id="2372940506-4">)</span><span·class="p">;</span><span·class="w">139 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="8101340494-4">(</span><span·class="p"·data-group-id="8101340494-4">)</span><span·class="p">;</span><span·class="w">
140 ·····</span><span·class="p"·data-group-id="2372940506-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="2372940506-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">140 ·····</span><span·class="p"·data-group-id="8101340494-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="8101340494-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="2372940506-6">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2372940506-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="8101340494-6">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="8101340494-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="2372940506-7">(</span><span·class="p"·data-group-id="2372940506-7">)</span><span·class="w">143 ··········</span><span·class="nf">loop</span><span·class="p"·data-group-id="8101340494-7">(</span><span·class="p"·data-group-id="8101340494-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="2372940506-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="2372940506-9">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·ed3a1375154f141fcd959d1937f7f862d2fa8d0611598d47953062d1f66c4604·...·]-8">)</span><span·class="p">.</span></code></pre><p>The·call·to·<a·href="../../lib/stdlib-7.0/doc/html/io.html#format/2"><code·class="inline">io:format/2</code></a>·will·never·be·executed,·but·a·return·address·will145 ··</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8101340494-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="8101340494-9">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·8a9038962dfd6927ebec04b56ef1520e6acc72c93710c58c3085e3041ab27fdf·...·]-8">)</span><span·class="p">.</span></code></pre><p>The·call·to·<a·href="../../lib/stdlib-7.0/doc/html/io.html#format/2"><code·class="inline">io:format/2</code></a>·will·never·be·executed,·but·a·return·address·will
146 still·be·pushed·to·the·stack·each·time·<code·class="inline">loop/0</code>·is·called·recursively.·The146 still·be·pushed·to·the·stack·each·time·<code·class="inline">loop/0</code>·is·called·recursively.·The
147 correct·tail-recursive·version·of·the·function·looks·as·follows:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="9254818038-1">(</span><span·class="p"·data-group-id="9254818038-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="1509550529-1">(</span><span·class="p"·data-group-id="1509550529-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="9254818038-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="9254818038-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">149 ······</span><span·class="p"·data-group-id="1509550529-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="1509550529-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="9254818038-3">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="9254818038-3">)</span><span·class="p">,</span><span·class="w">150 ·········</span><span·class="nf">handle_sys_msg</span><span·class="p"·data-group-id="1509550529-3">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="1509550529-3">)</span><span·class="p">,</span><span·class="w">
151 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="9254818038-4">(</span><span·class="p"·data-group-id="9254818038-4">)</span><span·class="p">;</span><span·class="w">151 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="1509550529-4">(</span><span·class="p"·data-group-id="1509550529-4">)</span><span·class="p">;</span><span·class="w">
152 ······</span><span·class="p"·data-group-id="9254818038-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="9254818038-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">152 ······</span><span·class="p"·data-group-id="1509550529-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="1509550529-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="9254818038-6">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="9254818038-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="1509550529-6">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="1509550529-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="9254818038-7">(</span><span·class="p"·data-group-id="9254818038-7">)</span><span·class="w">155 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="1509550529-7">(</span><span·class="p"·data-group-id="1509550529-7">)</span><span·class="w">
156 ·</span><span·class="k">end</span><span·class="p">.</span></code></pre><h3·id="initial-heap-size"·class="section-heading">156 ·</span><span·class="k">end</span><span·class="p">.</span></code></pre><h3·id="initial-heap-size"·class="section-heading">
157 ··<a·href="#initial-heap-size"·class="hover-link">157 ··<a·href="#initial-heap-size"·class="hover-link">
158 ····<i·class="ri-link-m"·aria-hidden="true"></i>158 ····<i·class="ri-link-m"·aria-hidden="true"></i>
159 ··</a>159 ··</a>
160 ··<span·class="text">Initial·Heap·Size</span>160 ··<span·class="text">Initial·Heap·Size</span>
161 </h3>161 </h3>
162 <p>The·default·initial·heap·size·of·233·words·is·quite·conservative·to·support162 <p>The·default·initial·heap·size·of·233·words·is·quite·conservative·to·support
Offset 190, 30 lines modifiedOffset 190, 30 lines modified
190 ··</a>190 ··</a>
191 ··<span·class="text">Fetching·Received·Messages</span>191 ··<span·class="text">Fetching·Received·Messages</span>
192 </h2>192 </h2>
193 <p>The·cost·of·fetching·a·received·message·from·the·message·queue·depends·on·how193 <p>The·cost·of·fetching·a·received·message·from·the·message·queue·depends·on·how
194 complicated·the·<code·class="inline">receive</code>·expression·is.·A·simple·expression·that·matches·any194 complicated·the·<code·class="inline">receive</code>·expression·is.·A·simple·expression·that·matches·any
195 message·is·very·cheap·because·it·retrieves·the·first·message·in·the·message195 message·is·very·cheap·because·it·retrieves·the·first·message·in·the·message
196 queue:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">receive</span><span·class="w">196 queue:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">receive</span><span·class="w">
197 ····</span><span·class="n">Message</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">handle_msg</span><span·class="p"·data-group-id="2641234817-1">(</span><span·class="n">Message</span><span·class="p"·data-group-id="2641234817-1">)</span><span·class="w">197 ····</span><span·class="n">Message</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">handle_msg</span><span·class="p"·data-group-id="3767736122-1">(</span><span·class="n">Message</span><span·class="p"·data-group-id="3767736122-1">)</span><span·class="w">
198 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>However,·this·is·not·always·convenient:·we·can·receive·a·message·that·we·do·not198 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>However,·this·is·not·always·convenient:·we·can·receive·a·message·that·we·do·not
199 know·how·to·handle·at·this·point,·so·it·is·common·to·only·match·the·messages·we199 know·how·to·handle·at·this·point,·so·it·is·common·to·only·match·the·messages·we
200 expect:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">receive</span><span·class="w">200 expect:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">receive</span><span·class="w">
201 ····</span><span·class="p"·data-group-id="1932713792-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="1932713792-1">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·157,·SHA:·97919d375a60bb3b6a266cdd4a7af44601a84777fde8d06c43283debbb3e7b6c·...·]-2">)</span><span·class="w">201 ····</span><span·class="p"·data-group-id="6291250483-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="6291250483-1">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·157,·SHA:·3ea8f63a4ce63f1e3b61d13c1d320874a58591a658cec026ed9452df3bd4fad1·...·]-2">)</span><span·class="w">
202 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>While·this·is·convenient·it·means·that·the·entire·message·queue·must·be·searched202 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>While·this·is·convenient·it·means·that·the·entire·message·queue·must·be·searched
203 until·it·finds·a·matching·message.·This·is·very·expensive·for·processes·with203 until·it·finds·a·matching·message.·This·is·very·expensive·for·processes·with
204 long·message·queues,·so·there·is·an·optimization·for·the·common·case·of204 long·message·queues,·so·there·is·an·optimization·for·the·common·case·of
205 sending·a·request·and·waiting·for·a·response·shortly·after:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">MRef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">monitor</span><span·class="p"·data-group-id="5596889607-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="5596889607-1">)</span><span·class="p">,</span><span·class="w">205 sending·a·request·and·waiting·for·a·response·shortly·after:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">MRef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">monitor</span><span·class="p"·data-group-id="5470090735-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="5470090735-1">)</span><span·class="p">,</span><span·class="w">
206 </span><span·class="n">Process</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5596889607-2">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5596889607-3">(</span><span·class="p"·data-group-id="5596889607-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·93,·SHA:·5984c0cb3ef43eec2e88fadf3a88075bc678f7a0456c1730df4b87923d6007f2·...·]-2">}</span><span·class="p">,</span><span·class="w">206 </span><span·class="n">Process</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5470090735-2">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5470090735-3">(</span><span·class="p"·data-group-id="5470090735-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·93,·SHA:·fbbe77d7f84463e8fe17293ddd2439ab2b9e58fb36816816d23dfcc5fdb4895f·...·]-2">}</span><span·class="p">,</span><span·class="w">
207 </span><span·class="k">receive</span><span·class="w">207 </span><span·class="k">receive</span><span·class="w">
208 ····</span><span·class="p"·data-group-id="5596889607-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="5596889607-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 ····</span><span·class="p"·data-group-id="5470090735-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="5470090735-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ········</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="5596889607-5">(</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5596889607-6">[</span><span·class="ss">flush</span><span·class="p"·data-group-id="5596889607-6">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·99eacb030ca7a148f73235d14e163d02d07d5bddf92c8de8fb4bb89bee90077a·...·]-5">)</span><span·class="p">,</span><span·class="w">209 ········</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="5470090735-5">(</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5470090735-6">[</span><span·class="ss">flush</span><span·class="p"·data-group-id="5470090735-6">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·9087a9beba238498eb1bdcb61afe66b5fe45c9a3193731721c394fe33e85c252·...·]-5">)</span><span·class="p">,</span><span·class="w">
210 ········</span><span·class="nf">handle_reply</span><span·class="p"·data-group-id="5596889607-7">(</span><span·class="n">Reply</span><span·class="p"·data-group-id="5596889607-7">)</span><span·class="p">;</span><span·class="w">210 ········</span><span·class="nf">handle_reply</span><span·class="p"·data-group-id="5470090735-7">(</span><span·class="n">Reply</span><span·class="p"·data-group-id="5470090735-7">)</span><span·class="p">;</span><span·class="w">
211 ····</span><span·class="p"·data-group-id="5596889607-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><s[·...·truncated·by·diffoscope;·len:·140,·SHA:·8dfbf034d4f015acb57baa52baa36e6fa366c7a1e12daf563599523598097d58·...·]-8">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">211 ····</span><span·class="p"·data-group-id="5470090735-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><s[·...·truncated·by·diffoscope;·len:·140,·SHA:·a96d2a67957b354769997cb2ea391678af6dd6ac9834109f33efb22f84a9f571·...·]-8">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
212 ········</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="5596889607-9">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="5596889607-9">)</span><span·class="w">212 ········</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="5470090735-9">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="5470090735-9">)</span><span·class="w">
213 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Since·the·compiler·knows·that·the·reference·created·by213 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Since·the·compiler·knows·that·the·reference·created·by
214 <a·href="../../erts-16.0/doc/html/erlang.html#monitor/2"><code·class="inline">monitor/2</code></a>·cannot·exist·before·the·call·(since·it·is·a·globally214 <a·href="../../erts-16.0/doc/html/erlang.html#monitor/2"><code·class="inline">monitor/2</code></a>·cannot·exist·before·the·call·(since·it·is·a·globally
215 unique·identifier),·and·that·the·<code·class="inline">receive</code>·only·matches·messages·that·contain215 unique·identifier),·and·that·the·<code·class="inline">receive</code>·only·matches·messages·that·contain
216 said·reference,·it·will·tell·the·emulator·to·search·only·the·messages·that216 said·reference,·it·will·tell·the·emulator·to·search·only·the·messages·that
217 arrived·after·the·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#monitor/2"><code·class="inline">monitor/2</code></a>.</p><p>The·above·is·a·simple·example·where·one·is·guaranteed·that·the·optimization217 arrived·after·the·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#monitor/2"><code·class="inline">monitor/2</code></a>.</p><p>The·above·is·a·simple·example·where·one·is·guaranteed·that·the·optimization
218 will·take,·but·what·about·more·complicated·code?</p><p><a·href=""·id="recv_opt_info"></a></p><h3·id="option-recv_opt_info"·class="section-heading">218 will·take,·but·what·about·more·complicated·code?</p><p><a·href=""·id="recv_opt_info"></a></p><h3·id="option-recv_opt_info"·class="section-heading">
219 ··<a·href="#option-recv_opt_info"·class="hover-link">219 ··<a·href="#option-recv_opt_info"·class="hover-link">
Offset 229, 101 lines modifiedOffset 229, 101 lines modified
229 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">200</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">NOT</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">all</span><span·class="w">·</span><span·class="ss">clauses</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">match</span><span·class="w">·</span><span·class="ss">a</span><span·class="w">·</span><span·class="ss">suitable</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">229 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">200</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">NOT</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">all</span><span·class="w">·</span><span·class="ss">clauses</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">match</span><span·class="w">·</span><span·class="ss">a</span><span·class="w">·</span><span·class="ss">suitable</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">
230 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">206</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">used</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">mark</span><span·class="w">·</span><span·class="ss">a</span><span·class="w">·</span><span·class="ss">message</span><span·class="w">·</span><span·class="ss">queue</span><span·class="w">·</span><span·class="ss">position</span><span·class="w">230 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">206</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">used</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">mark</span><span·class="w">·</span><span·class="ss">a</span><span·class="w">·</span><span·class="ss">message</span><span·class="w">·</span><span·class="ss">queue</span><span·class="w">·</span><span·class="ss">position</span><span·class="w">
231 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">208</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">all</span><span·class="w">·</span><span·class="ss">clauses</span><span·class="w">·</span><span·class="ss">match</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">created</span><span·class="w">·</span><span·class="ss">by</span><span·class="w">·</span><span·class="nb">monitor</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">at</span><span·class="w">·</span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">206</span><span·class="w">231 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">208</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">all</span><span·class="w">·</span><span·class="ss">clauses</span><span·class="w">·</span><span·class="ss">match</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">created</span><span·class="w">·</span><span·class="ss">by</span><span·class="w">·</span><span·class="nb">monitor</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">at</span><span·class="w">·</span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">206</span><span·class="w">
232 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">219</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">INFO</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">passing</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">created</span><span·class="w">·</span><span·class="ss">by</span><span·class="w">·</span><span·class="ss">make_ref</span><span·class="p">/</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">at</span><span·class="w">·</span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">218</span><span·class="w">232 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">219</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">INFO</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">passing</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">created</span><span·class="w">·</span><span·class="ss">by</span><span·class="w">·</span><span·class="ss">make_ref</span><span·class="p">/</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">at</span><span·class="w">·</span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">218</span><span·class="w">
233 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">222</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">all</span><span·class="w">·</span><span·class="ss">clauses</span><span·class="w">·</span><span·class="ss">match</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">parameter</span><span·class="w">·</span><span·class="mi">1</span></code></pre><p>To·make·it·clearer·exactly·what·code·the·warnings·refer·to,·the·warnings·in·the233 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">222</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">all</span><span·class="w">·</span><span·class="ss">clauses</span><span·class="w">·</span><span·class="ss">match</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">parameter</span><span·class="w">·</span><span·class="mi">1</span></code></pre><p>To·make·it·clearer·exactly·what·code·the·warnings·refer·to,·the·warnings·in·the
234 following·examples·are·inserted·as·comments·after·the·clause·they·refer·to,·for234 following·examples·are·inserted·as·comments·after·the·clause·they·refer·to,·for
235 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·DO</span><span·class="w">235 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·DO</span><span·class="w">
236 </span><span·class="nf">simple_receive</span><span·class="p"·data-group-id="5370337724-1">(</span><span·class="p"·data-group-id="5370337724-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">236 </span><span·class="nf">simple_receive</span><span·class="p"·data-group-id="7905642486-1">(</span><span·class="p"·data-group-id="7905642486-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
237 </span><span·class="c1">%%·efficiency_guide.erl:194:·Warning:·INFO:·not·a·selective·receive,·this·is·always·fast</span><span·class="w">237 </span><span·class="c1">%%·efficiency_guide.erl:194:·Warning:·INFO:·not·a·selective·receive,·this·is·always·fast</span><span·class="w">
238 </span><span·class="k">receive</span><span·class="w">238 </span><span·class="k">receive</span><span·class="w">
239 ····</span><span·class="n">Message</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">handle_msg</span><span·class="p"·data-group-id="5370337724-2">(</span><span·class="n">Message</span><span·class="p"·data-group-id="5370337724-2">)</span><span·class="w">239 ····</span><span·class="n">Message</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">handle_msg</span><span·class="p"·data-group-id="7905642486-2">(</span><span·class="n">Message</span><span·class="p"·data-group-id="7905642486-2">)</span><span·class="w">
240 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">240 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
241 </span><span·class="c1">%%·DO·NOT,·unless·Tag·is·known·to·be·a·suitable·reference:·see</span><span·class="w">241 </span><span·class="c1">%%·DO·NOT,·unless·Tag·is·known·to·be·a·suitable·reference:·see</span><span·class="w">
242 </span><span·class="c1">%%·cross_function_receive/0·further·down.</span><span·class="w">242 </span><span·class="c1">%%·cross_function_receive/0·further·down.</span><span·class="w">
243 </span><span·class="nf">selective_receive</span><span·class="p"·data-group-id="5370337724-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="5370337724-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">243 </span><span·class="nf">selective_receive</span><span·class="p"·data-group-id="7905642486-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="7905642486-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
244 </span><span·class="c1">%%·efficiency_guide.erl:200:·Warning:·NOT·OPTIMIZED:·all·clauses·do·not·match·a·suitable·reference</span><span·class="w">244 </span><span·class="c1">%%·efficiency_guide.erl:200:·Warning:·NOT·OPTIMIZED:·all·clauses·do·not·match·a·suitable·reference</span><span·class="w">
245 </span><span·class="k">receive</span><span·class="w">245 </span><span·class="k">receive</span><span·class="w">
246 ····</span><span·class="p"·data-group-id="5370337724-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="5370337724-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·157,·SHA:·4485f84cf29c4a7d2496894f208b7cd12141eed6927b0743129a9b7a26a3f696·...·]-5">)</span><span·class="w">246 ····</span><span·class="p"·data-group-id="7905642486-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="7905642486-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·157,·SHA:·3edfd216d01c5b54bff961b760c1daef212b1da34612bcb2207f27813fea78ca·...·]-5">)</span><span·class="w">
247 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">247 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
248 </span><span·class="c1">%%·DO</span><span·class="w">248 </span><span·class="c1">%%·DO</span><span·class="w">
249 </span><span·class="nf">optimized_receive</span><span·class="p"·data-group-id="5370337724-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="5370337724-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">249 </span><span·class="nf">optimized_receive</span><span·class="p"·data-group-id="7905642486-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="7905642486-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
250 </span><span·class="c1">%%·efficiency_guide.erl:206:·Warning:·OPTIMIZED:·reference·used·to·mark·a·message·queue·position</span><span·class="w">250 </span><span·class="c1">%%·efficiency_guide.erl:206:·Warning:·OPTIMIZED:·reference·used·to·mark·a·message·queue·position</span><span·class="w">
251 ····</span><span·class="n">MRef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">monitor</span><span·class="p"·data-group-id="5370337724-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="5370337724-7">)</span><span·class="p">,</span><span·class="w">251 ····</span><span·class="n">MRef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">monitor</span><span·class="p"·data-group-id="7905642486-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="7905642486-7">)</span><span·class="p">,</span><span·class="w">
252 ····</span><span·class="n">Process</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5370337724-8">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5370337724-9">(</span><span·class="p"·data-group-id="5370337724-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:·5dc91dcda6f857ce009475f65d80b5bee5dc0c3e3e79e00af0ac19855f3694b3·...·]-8">}</span><span·class="p">,</span><span·class="w">252 ····</span><span·class="n">Process</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7905642486-8">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7905642486-9">(</span><span·class="p"·data-group-id="7905642486-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:·ebebe87782f2b8f6a69d0030654032fc7c01b6be64f39085a681a73c400c9db3·...·]-8">}</span><span·class="p">,</span><span·class="w">
253 ····</span><span·class="c1">%%·efficiency_guide.erl:208:·Warning:·OPTIMIZED:·matches·reference·created·by·monitor/2·at·efficiency_guide.erl:206</span><span·class="w">253 ····</span><span·class="c1">%%·efficiency_guide.erl:208:·Warning:·OPTIMIZED:·matches·reference·created·by·monitor/2·at·efficiency_guide.erl:206</span><span·class="w">
254 ····</span><span·class="k">receive</span><span·class="w">254 ····</span><span·class="k">receive</span><span·class="w">
255 ········</span><span·class="p"·data-group-id="5370337724-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="5370337724-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">255 ········</span><span·class="p"·data-group-id="7905642486-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="7905642486-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
256 ········</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="5370337724-11">(</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5370337724-12">[</span><span·class="ss">flush</span><span·class="p"·data-group-id="5370337724-12">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·b4705487731e455ce64cb33987a7f06a17622410926d702a6649ee5ba8437dd4·...·]-11">)</span><span·class="p">,</span><span·class="w">256 ········</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="7905642486-11">(</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7905642486-12">[</span><span·class="ss">flush</span><span·class="p"·data-group-id="7905642486-12">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·fddb79a9fcb62a15099d10016884266866f41b5938fbc38fe018b1caae98b375·...·]-11">)</span><span·class="p">,</span><span·class="w">
257 ········</span><span·class="nf">handle_reply</span><span·class="p"·data-group-id="5370337724-13">(</span><span·class="n">Reply</span><span·class="p"·data-group-id="5370337724-13">)</span><span·class="p">;</span><span·class="w">257 ········</span><span·class="nf">handle_reply</span><span·class="p"·data-group-id="7905642486-13">(</span><span·class="n">Reply</span><span·class="p"·data-group-id="7905642486-13">)</span><span·class="p">;</span><span·class="w">
258 ····</span><span·class="p"·data-group-id="5370337724-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:·503efacfc78a44a32275b71ff0d274d6d7e08390379f5454787249d6e2839c7d·...·]-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">258 ····</span><span·class="p"·data-group-id="7905642486-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:·f8767d89e20fe03b932c9699b7c1f1fa1a2af3d6227376561e17a8fec4674d92·...·]-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
259 ····</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="5370337724-15">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="5370337724-15">)</span><span·class="w">259 ····</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="7905642486-15">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="7905642486-15">)</span><span·class="w">
260 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">260 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
261 </span><span·class="c1">%%·DO</span><span·class="w">261 </span><span·class="c1">%%·DO</span><span·class="w">
262 </span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="5370337724-16">(</span><span·class="p"·data-group-id="5370337724-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">262 </span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="7905642486-16">(</span><span·class="p"·data-group-id="7905642486-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
263 ····</span><span·class="c1">%%·efficiency_guide.erl:218:·Warning:·OPTIMIZED:·reference·used·to·mark·a·message·queue·position</span><span·class="w">263 ····</span><span·class="c1">%%·efficiency_guide.erl:218:·Warning:·OPTIMIZED:·reference·used·to·mark·a·message·queue·position</span><span·class="w">
264 ····</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·data-group-id="5370337724-17">(</span><span·class="p"·data-group-id="5370337724-17">)</span><span·class="p">,</span><span·class="w">264 ····</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·data-group-id="7905642486-17">(</span><span·class="p"·data-group-id="7905642486-17">)</span><span·class="p">,</span><span·class="w">
265 ····</span><span·class="c1">%%·efficiency_guide.erl:219:·Warning:·INFO:·passing·reference·created·by·make_ref/0·at·efficiency_guide.erl:218</span><span·class="w">265 ····</span><span·class="c1">%%·efficiency_guide.erl:219:·Warning:·INFO:·passing·reference·created·by·make_ref/0·at·efficiency_guide.erl:218</span><span·class="w">
266 ····</span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="5370337724-18">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="5370337724-18">)</span><span·class="p">.</span><span·class="w">266 ····</span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="7905642486-18">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="7905642486-18">)</span><span·class="p">.</span><span·class="w">
  
267 </span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="5370337724-19">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="5370337724-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">267 </span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="7905642486-19">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="7905642486-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
268 ····</span><span·class="c1">%%·efficiency_guide.erl:222:·Warning:·OPTIMIZED:·all·clauses·match·reference·in·function·parameter·1</span><span·class="w">268 ····</span><span·class="c1">%%·efficiency_guide.erl:222:·Warning:·OPTIMIZED:·all·clauses·match·reference·in·function·parameter·1</span><span·class="w">
269 ····</span><span·class="k">receive</span><span·class="w">269 ····</span><span·class="k">receive</span><span·class="w">
270 ········</span><span·class="p"·data-group-id="5370337724-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="5370337724-20">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·160,·SHA:·83986f9fc4fb59a5d69d1c3849797fc648d99ed791752f0788d92748cac414a3·...·]-21">)</span><span·class="w">270 ········</span><span·class="p"·data-group-id="7905642486-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="7905642486-20">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·160,·SHA:·c8570003a17ffaa5647000532357885f8a10327ad5b910c99be0b32a1cf4582e·...·]-21">)</span><span·class="w">
271 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><h2·id="literal-pool"·class="section-heading">271 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><h2·id="literal-pool"·class="section-heading">
272 ··<a·href="#literal-pool"·class="hover-link">272 ··<a·href="#literal-pool"·class="hover-link">
273 ····<i·class="ri-link-m"·aria-hidden="true"></i>273 ····<i·class="ri-link-m"·aria-hidden="true"></i>
274 ··</a>274 ··</a>
Max diff block lines reached; 20624/67792 bytes (30.42%) of diff not shown.
751 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/doc/system/efficiency_guide.html
    
Offset 185, 15 lines modifiedOffset 185, 15 lines modified
185 ······<p·class="built-using">185 ······<p·class="built-using">
186 ········Built·using186 ········Built·using
187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
189 ······</p>189 ······</p>
190 <p>Copyright·©·1996-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="5636161613-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="5636161613-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="1844072560-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="1844072560-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="5636161613-2">(</span><span·class="p"·data-group-id="5636161613-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:·2d5faced60f37b19f57e7c97af0c27ecd756cd37cdec9c9330f9a236e2519110·...·]-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="1844072560-2">(</span><span·class="p"·data-group-id="1844072560-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:·76fb24bc535f1079f0899187ab9d1cd83130d31523fc488710c6b76cc50a01ac·...·]-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="5636161613-4">(</span><span·class="p"·data-group-id="5636161613-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:·1ffddefa9f9f39d174c034ca952886d865c7db25f4885babe0be8e772c72dcd2·...·]-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="1844072560-4">(</span><span·class="p"·data-group-id="1844072560-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:·8a101c52a650cf82e0561b69f5e5a30a3e860d7300a0bb0783166d7175f0386e·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
130 </span><span·class="nf">start</span><span·class="p"·data-group-id="5636161613-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="5636161613-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="1844072560-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="1844072560-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="5636161613-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="5636161613-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·d1aa762f37e838b3e456661f90bd8656099bc776d6e33d8658c6cadb245eee02·...·]-7">)</span><span·class="p">.</span><span·class="w">131 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="1844072560-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="1844072560-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·73da88df22c7f0d5243c6f58b9353e69b9118709861da5191651f00ae26d3e7d·...·]-7">)</span><span·class="p">.</span><span·class="w">
132 </span><span·class="nf">stop</span><span·class="p"·data-group-id="5636161613-9">(</span><span·class="p"·data-group-id="5636161613-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="1844072560-9">(</span><span·class="p"·data-group-id="1844072560-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="5636161613-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="5636161613-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="1844072560-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="1844072560-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="5636161613-11">(</span><span·class="p"·data-group-id="5636161613-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="5636161613-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·180954e8f09a7f895352f55051c1404163e2184443676e949fbe1e2b1cb0a019·...·]-11">)</span><span·class="p">.</span><span·class="w">135 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="1844072560-11">(</span><span·class="p"·data-group-id="1844072560-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="1844072560-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·bb54b6cf84f87066c9700a4f62c1c1f7ae0bc7eea62a957b59be4c224fdc6fb6·...·]-11">)</span><span·class="p">.</span><span·class="w">
136 </span><span·class="nf">bar</span><span·class="p"·data-group-id="5636161613-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="5636161613-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="1844072560-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="1844072560-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="5636161613-14">(</span><span·class="p"·data-group-id="5636161613-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="5636161613-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·180954e8f09a7f895352f55051c1404163e2184443676e949fbe1e2b1cb0a019·...·]-14">)</span><span·class="p">.</span><span·class="w">137 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="1844072560-14">(</span><span·class="p"·data-group-id="1844072560-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="1844072560-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·bb54b6cf84f87066c9700a4f62c1c1f7ae0bc7eea62a957b59be4c224fdc6fb6·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
138 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="5636161613-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="5636161613-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="1844072560-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="1844072560-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="5636161613-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="5636161613-18">(</span><span·class="p"·data-group-id="5636161613-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·291eb83d4c2a2e0bfbe0ef8275570b762c5937dd512018bba6d226e2432dd973·...·]-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="1844072560-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="1844072560-18">(</span><span·class="p"·data-group-id="1844072560-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·2b2642ae9fa60c5014d0b077e51e662a861bf69ea5f929d83c4ce4423949904c·...·]-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="5636161613-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="5636161613-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">141 »       </span><span·class="p"·data-group-id="1844072560-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="1844072560-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="5636161613-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="5636161613-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="1844072560-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="1844072560-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="5636161613-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="5636161613-22">(</span><span·class="p"·data-group-id="5636161613-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·33d08ccc476e88f596313fb742fd00df5ddba082e52b71c08e569c227c086339·...·]-21">)</span><span·class="p">,</span><span·class="w">145 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="1844072560-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="1844072560-22">(</span><span·class="p"·data-group-id="1844072560-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·edf862c95a7c40d0460442b92ab6f91115f9ee69e5bf692d4090f84d7b6f6ed4·...·]-21">)</span><span·class="p">,</span><span·class="w">
146 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="5636161613-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="5636161613-23">)</span><span·class="p">,</span><span·class="w">146 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="1844072560-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="1844072560-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="5636161613-24">(</span><span·class="p"·data-group-id="5636161613-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="5636161613-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·3a8e533b866d9cc5c4fd4e8429defc6db8ed272b2d91097ef4a63cef799f0f09·...·]-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="1844072560-24">(</span><span·class="p"·data-group-id="1844072560-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="1844072560-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·e977d6e0f88f940c712658cc83fc2f46c2d5929c96e719282ee6617812dbb760·...·]-24">)</span><span·class="p">,</span><span·class="w">
148 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="5636161613-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5636161613-28">)</span><span·class="p">.</span><span·class="w">148 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="1844072560-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="1844072560-28">)</span><span·class="p">.</span><span·class="w">
  
149 </span><span·class="nf">loop</span><span·class="p"·data-group-id="5636161613-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5636161613-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="1844072560-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="1844072560-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="5636161613-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="5636161613-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">151 »       </span><span·class="p"·data-group-id="1844072560-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="1844072560-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="5636161613-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5636161613-32">(</span><span·class="p"·data-group-id="5636161613-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5636161613-33">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·de26463439f0ce95c3d92439bb9afaadd2d1b6a2178d1389cd869ae36d7012c2·...·]-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="1844072560-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="1844072560-32">(</span><span·class="p"·data-group-id="1844072560-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1844072560-33">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·4f671cd023b8b29d06fccc3cac1a01049176498c07e7c67352632007ebe31d46·...·]-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="5636161613-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5636161613-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:·12d8f988f6169ce0d8a12135ba9b4d0542b38fbcc1c87781c8297eb837028d91·...·]-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">154 »       »       </span><span·class="p"·data-group-id="1844072560-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1844072560-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:·48f2703b9918009b625ca402c180c5a37afe01c6ab5861aeddd1077e891de433·...·]-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="5636161613-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="5636161613-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5636161613-3[·...·truncated·by·diffoscope;·len:·52,·SHA:·172685f0cd800cb771e6fdc4936119a2a7e44c729864480b2fd01a769dd3fbe8·...·]-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="1844072560-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="1844072560-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="1844072560-3[·...·truncated·by·diffoscope;·len:·52,·SHA:·94fbe01209f361fa9f4652fc80a994399ae4bc37dfdda36a528869957a3d3f9d·...·]-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="5636161613-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5636161613-39">)</span><span·class="p">;</span><span·class="w">157 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="1844072560-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="1844072560-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="5636161613-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5636161613-41">(</span><span·class="p"·data-group-id="5636161613-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:·75a6b706d2787e27fac99c93920a43e791270ac2d3267814dd066c661e12e46d·...·]-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="1844072560-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="1844072560-41">(</span><span·class="p"·data-group-id="1844072560-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:·c859617bbdf05c0ec814703c29f0c60791fe8b10c2c631b84ae361f319bf99b8·...·]-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="5636161613-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="5636161613-42">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">161 »       »       </span><span·class="p"·data-group-id="1844072560-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="1844072560-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="5636161613-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="5636161613-43">)</span><span·class="w">162 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="1844072560-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="1844072560-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="5636161613-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="5636161613-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">164 »       </span><span·class="p"·data-group-id="1844072560-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="1844072560-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="5636161613-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="5636161613-45">)</span><span·class="w">165 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="1844072560-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="1844072560-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="5636161613-46">(</span><span·class="p"·data-group-id="5636161613-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="5636161613-47">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·ac34eb1152b2dcc0f5101db21c4deddc562d168185f1f1b6214ce6ab517b5a24·...·]-48">]</span><span·class="p">;</span><span·class="w">167 </span><span·class="nf">encode</span><span·class="p"·data-group-id="1844072560-46">(</span><span·class="p"·data-group-id="1844072560-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="1844072560-47">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·8c86dc3f3edff58b6e97898cc47085ecc638e357ac42b70270c5877a2cf18719·...·]-48">]</span><span·class="p">;</span><span·class="w">
168 </span><span·class="nf">encode</span><span·class="p"·data-group-id="5636161613-49">(</span><span·class="p"·data-group-id="5636161613-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="5636161613-50">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·3fac75c7c756dd60c2dc2993825dc3cb448c333f748985e8e4ecf2ee139ef390·...·]-51">]</span><span·class="p">.</span><span·class="w">168 </span><span·class="nf">encode</span><span·class="p"·data-group-id="1844072560-49">(</span><span·class="p"·data-group-id="1844072560-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="1844072560-50">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·f43c5875f34a82730ed327fd99e1a32810efa8c1ff48b16d9b6db87f6f6c97a5·...·]-51">]</span><span·class="p">.</span><span·class="w">
  
169 </span><span·class="nf">decode</span><span·class="p"·data-group-id="5636161613-52">(</span><span·class="p"·data-group-id="5636161613-53">[</span><span·class="n">Int</span><span·class="p"·data-group-id="5636161613-53">]</span><span·class="p"·data-group-id="5636161613-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="1844072560-52">(</span><span·class="p"·data-group-id="1844072560-53">[</span><span·class="n">Int</span><span·class="p"·data-group-id="1844072560-53">]</span><span·class="p"·data-group-id="1844072560-52">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">.</span></code></pre><p>There·are·two·differences·when·using·Erl_Interface·on·the·C·side·compared·to·the
170 example·in·<a·href="c_port.html">Ports</a>,·using·only·the·plain·port:</p><ul><li>As·Erl_Interface·operates·on·the·Erlang·external·term·format,·the·port·must·be170 example·in·<a·href="c_port.html">Ports</a>,·using·only·the·plain·port:</p><ul><li>As·Erl_Interface·operates·on·the·Erlang·external·term·format,·the·port·must·be
171 set·to·use·binaries.</li><li>Instead·of·inventing·an·encoding/decoding·scheme,·the171 set·to·use·binaries.</li><li>Instead·of·inventing·an·encoding/decoding·scheme,·the
172 <a·href="../../erts-16.0/doc/html/erlang.html#term_to_binary/1"><code·class="inline">term_to_binary/1</code></a>·and172 <a·href="../../erts-16.0/doc/html/erlang.html#term_to_binary/1"><code·class="inline">term_to_binary/1</code></a>·and
173 <a·href="../../erts-16.0/doc/html/erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>·BIFs·are·to·be·used.</li></ul><p>That·is:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">open_port</span><span·class="p"·data-group-id="0341979163-1">(</span><span·class="p"·data-group-id="0341979163-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="0341979163-2">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·2065,·SHA:·1a4404c97508d4760f436a02ef401595e6cd2b227305bb3c443df6719e8d65f5·...·]-1">}</span><span·class="p">,</span><span·class="w">173 <a·href="../../erts-16.0/doc/html/erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>·BIFs·are·to·be·used.</li></ul><p>That·is:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">open_port</span><span·class="p"·data-group-id="1938492147-1">(</span><span·class="p"·data-group-id="1938492147-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="1938492147-2">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·2065,·SHA:·6d419047055b590e636aa71c00130090c4c397da1dade5177fc4bf43c5bd062f·...·]-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="8305854410-5">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8305854410-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:·4a5af40e6500a7c16891a30edf3e9c5122787977a45abc766234d470b66be235·...·]-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 ··</span><span·class="p"·data-group-id="1371658588-5">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1371658588-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:·8fd8f2a160cf1c1cc0beb6fb4869c5f6edd9b0816c5ac79d4022cc06c9d95ffa·...·]-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="8305854410-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="8305854410-8">(</span><span·class="n">Data</span><span·class="p"·data-group-id="8305854410-8">[·...·truncated·by·diffoscope;·len:·49,·SHA:·006faae1ad4cb89f09e249eaeeb533da61a07de01b89a5f18f0aded934fc17d1·...·]-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="1371658588-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="1371658588-8">(</span><span·class="n">Data</span><span·class="p"·data-group-id="1371658588-8">[·...·truncated·by·diffoscope;·len:·49,·SHA:·6bc187dc821e118454153da73991e35d7ab5aabeda4f1648527e8e7221f5d129·...·]-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="0654606969-1">{</span><span·class="nf">self</span><span·class="p"·data-group-id="0654606969-2">(</span><span·class="p"·data-group-id="0654606969-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0654606969-3">{</span[·...·truncated·by·diffoscope;·len:·343,·SHA:·e0c49998c64b8daf80498bef20be4c39425e0103e2c438be4016045edbed516d·...·]9-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="5626398429-1">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5626398429-2">(</span><span·class="p"·data-group-id="5626398429-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5626398429-3">{</span[·...·truncated·by·diffoscope;·len:·343,·SHA:·e2b2aef9704676a55443d40e490c2e457b25f22e5da418f1e29113637f6e4e64·...·]9-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="0654606969-5">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0654606969-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:·90,·SHA:·43ba060b164793507e0a468fbdbfb06cc6bf722d80161c80e463aba87303bfc1·...·]9-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">179 ··</span><span·class="p"·data-group-id="5626398429-5">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5626398429-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:·90,·SHA:·c0933d66a679ee75bae716a39da2e72b136c69a717dc9bea735d2d7d7040c989·...·]9-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="0654606969-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="0654606969-8">(</span><span·class="n">Data</span><span·class="p"·data-group-id="065460[·...·truncated·by·diffoscope;·len:·56,·SHA:·1aaaf0327e6b1082b5d75b1d3a68fa26186f7cc40914434e51f1f135beb876d2·...·]9-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="5626398429-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="5626398429-8">(</span><span·class="n">Data</span><span·class="p"·data-group-id="562639[·...·truncated·by·diffoscope;·len:·56,·SHA:·01454fde0277c3bc1aa509993395f24e3a15e03500512d490dea9d54a4ee5419·...·]9-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="5940009506-1">(</span><span·class="ss">complex2</span><span·class="p"·data-group-id="5940009506-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="4659825114-1">(</span><span·class="ss">complex2</span><span·class="p"·data-group-id="4659825114-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="5940009506-2">(</span><span·class="p"·data-group-id="5940009506-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:·e353c8bcf04843f7885a7fa35feb01026b75951ed1b231ebbadc65f985fab575·...·]-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="4659825114-2">(</span><span·class="p"·data-group-id="4659825114-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:·02ce3f44ae4a109aeab6aa0a6eff93dbc6efbffd81a294199ef39a846c9533cc·...·]-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="5940009506-4">(</span><span·class="p"·data-group-id="5940009506-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:·182caa67a3dd2d2877c4e1dc440efb28bef567b655d13b35892178a3be6fbb66·...·]-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="4659825114-4">(</span><span·class="p"·data-group-id="4659825114-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:·7f74535b66d74f0859ba6f0e96dfae379431352b4e00f462e7c13efa9f35422d·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
184 </span><span·class="nf">start</span><span·class="p"·data-group-id="5940009506-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="5940009506-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="4659825114-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="4659825114-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="5940009506-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="5940009506-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·7be1607aa785825b5af4154b007e3117f26b5ee49bb5e1ff97a400a78e7f032a·...·]-7">)</span><span·class="p">.</span><span·class="w">185 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="4659825114-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="4659825114-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·6318d89e738e43a32aed572eca8f2b07c363fe8ad3ad6b957851bbfc28f78421·...·]-7">)</span><span·class="p">.</span><span·class="w">
186 </span><span·class="nf">stop</span><span·class="p"·data-group-id="5940009506-9">(</span><span·class="p"·data-group-id="5940009506-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="4659825114-9">(</span><span·class="p"·data-group-id="4659825114-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="5940009506-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="5940009506-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="4659825114-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="4659825114-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="5940009506-11">(</span><span·class="p"·data-group-id="5940009506-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="5940009506-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·8ad4414f73643d260ca14c4941a1d8e903200d4c2136bb342a08a54e850cf6f1·...·]-11">)</span><span·class="p">.</span><span·class="w">189 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="4659825114-11">(</span><span·class="p"·data-group-id="4659825114-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="4659825114-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·3f041e3bac59ed74cd4da3565398210eed75432708a798fbe7efa89c714a3cd7·...·]-11">)</span><span·class="p">.</span><span·class="w">
190 </span><span·class="nf">bar</span><span·class="p"·data-group-id="5940009506-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="5940009506-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="4659825114-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="4659825114-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="5940009506-14">(</span><span·class="p"·data-group-id="5940009506-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="5940009506-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·8ad4414f73643d260ca14c4941a1d8e903200d4c2136bb342a08a54e850cf6f1·...·]-14">)</span><span·class="p">.</span><span·class="w">191 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="4659825114-14">(</span><span·class="p"·data-group-id="4659825114-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="4659825114-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·3f041e3bac59ed74cd4da3565398210eed75432708a798fbe7efa89c714a3cd7·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
192 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="5940009506-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="5940009506-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="4659825114-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="4659825114-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="5940009506-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="5940009506-18">(</span><span·class="p"·data-group-id="5940009506-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·647995eaecea3b8072072110f4b6e468a7f13c2fa71ad73d885eb9db48a0cb46·...·]-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="4659825114-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="4659825114-18">(</span><span·class="p"·data-group-id="4659825114-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·a1c1ae7ed9d34a005656b438469f23331d7a701c52921b3e6f04878a429b1fb7·...·]-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="5940009506-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="5940009506-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">195 »       </span><span·class="p"·data-group-id="4659825114-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="4659825114-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="5940009506-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="5940009506-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="4659825114-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="4659825114-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="5940009506-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="5940009506-22">(</span><span·class="p"·data-group-id="5940009506-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·7c39427c0b8558fe9b2b7fae09f947df4ac0888d13b6763987ee93a4a83ff146·...·]-21">)</span><span·class="p">,</span><span·class="w">199 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="4659825114-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="4659825114-22">(</span><span·class="p"·data-group-id="4659825114-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·c67c4885ca5c53bc111cc1671ac845a0cf8383daf43e05a6535936526aaa3c0d·...·]-21">)</span><span·class="p">,</span><span·class="w">
200 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="5940009506-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="5940009506-23">)</span><span·class="p">,</span><span·class="w">200 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="4659825114-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="4659825114-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="5940009506-24">(</span><span·class="p"·data-group-id="5940009506-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="5940009506-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·467,·SHA:·55363ae8866265aa22f1cde23282f68a3f3ff47a2e34afd4d4dce08b2514dd81·...·]-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="4659825114-24">(</span><span·class="p"·data-group-id="4659825114-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="4659825114-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·467,·SHA:·e9345c94b9624c84423b0a59e2d4c45aa636dd2a0f5ec2ee3b168b68c990d3cd·...·]-24">)</span><span·class="p">,</span><span·class="w">
202 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="5940009506-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5940009506-28">)</span><span·class="p">.</span><span·class="w">202 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="4659825114-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4659825114-28">)</span><span·class="p">.</span><span·class="w">
  
203 </span><span·class="nf">loop</span><span·class="p"·data-group-id="5940009506-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5940009506-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="4659825114-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4659825114-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="5940009506-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="5940009506-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 »       </span><span·class="p"·data-group-id="4659825114-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="4659825114-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="5940009506-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5940009506-32">(</span><span·class="p"·data-group-id="5940009506-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5940009506-33">{</[·...·truncated·by·diffoscope;·len:·351,·SHA:·60f5e7e3a458f67f62af9943b0e61d1801b9abadaf29b31124eea01ae9b2e666·...·]-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="4659825114-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4659825114-32">(</span><span·class="p"·data-group-id="4659825114-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4659825114-33">{</[·...·truncated·by·diffoscope;·len:·351,·SHA:·ea985bac318bf873dc3e7b57ee685d21ab4520218df7e0236aa09c57e7460823·...·]-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="5940009506-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5940009506-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:·dedd4d0e94b2f041eddc9d981dfd7a9cf2a984e606433566ddd7007bfd9adf5b·...·]-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 »       »       </span><span·class="p"·data-group-id="4659825114-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4659825114-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:·6d43f2a4e4981b3fabb4bc74f68d61183a0760ea4baae7150f67a995c199e0e3·...·]-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="5940009506-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="5940009506-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5940[·...·truncated·by·diffoscope;·len:·60,·SHA:·c2561cd002de35e4b964ec4d9af0052f3a65d40103400bc8e5440ab596c23bd1·...·]-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="4659825114-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="4659825114-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="4659[·...·truncated·by·diffoscope;·len:·60,·SHA:·949f9808ddd8153f9d51c222eb71b754802261a979e0cd5c48eac713c5d8bdb4·...·]-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="5940009506-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5940009506-39">)</span><span·class="p">;</span><span·class="w">211 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="4659825114-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4659825114-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="5940009506-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5940009506-41">(</span><span·class="p"·data-group-id="5940009506-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:·588834832b6bc6af7709961bc0f4caad3a74c57a982fbbd5760ce7350edaa875·...·]-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="4659825114-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4659825114-41">(</span><span·class="p"·data-group-id="4659825114-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:·b88adb2a8bf2e893fd1298d9af48af37a38e2a06d2962f5adeda010e0d6e835a·...·]-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="5940009506-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="5940009506-42">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">215 »       »       </span><span·class="p"·data-group-id="4659825114-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="4659825114-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="5940009506-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="5940009506-43">)</span><span·class="w">216 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="4659825114-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="4659825114-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="5940009506-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="5940009506-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">218 »       </span><span·class="p"·data-group-id="4659825114-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="4659825114-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="5940009506-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="5940009506-45">)</span><span·class="w">219 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="4659825114-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="4659825114-45">)</span><span·class="w">
220 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Notice·that·calling·<code·class="inline">complex2:foo/1</code>·and·<code·class="inline">complex2:bar/1</code>·results·in·the·tuple220 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Notice·that·calling·<code·class="inline">complex2:foo/1</code>·and·<code·class="inline">complex2:bar/1</code>·results·in·the·tuple
221 <code·class="inline">{foo,X}</code>·or·<code·class="inline">{bar,Y}</code>·being·sent·to·the·<code·class="inline">complex</code>·process,·which·codes·them·as221 <code·class="inline">{foo,X}</code>·or·<code·class="inline">{bar,Y}</code>·being·sent·to·the·<code·class="inline">complex</code>·process,·which·codes·them·as
222 binaries·and·sends·them·to·the·port.·This·means·that·the·C·program·must·be·able222 binaries·and·sends·them·to·the·port.·This·means·that·the·C·program·must·be·able
223 to·handle·these·two·tuples.</p><h2·id="c-program"·class="section-heading">223 to·handle·these·two·tuples.</p><h2·id="c-program"·class="section-heading">
224 ··<a·href="#c-program"·class="hover-link">224 ··<a·href="#c-program"·class="hover-link">
225 ····<i·class="ri-link-m"·aria-hidden="true"></i>225 ····<i·class="ri-link-m"·aria-hidden="true"></i>
226 ··</a>226 ··</a>
Offset 362, 27 lines modifiedOffset 362, 27 lines modified
362 ····-L/usr/local/otp/lib/erl_interface-3.9.2/lib·\362 ····-L/usr/local/otp/lib/erl_interface-3.9.2/lib·\
363 ····complex.c·erl_comm.c·ei.c·-lei·-lpthread</code></pre><p>In·Erlang/OTP·R5B·and·later·versions·of·OTP,·the·<code·class="inline">include</code>·and·<code·class="inline">lib</code>·directories363 ····complex.c·erl_comm.c·ei.c·-lei·-lpthread</code></pre><p>In·Erlang/OTP·R5B·and·later·versions·of·OTP,·the·<code·class="inline">include</code>·and·<code·class="inline">lib</code>·directories
364 are·situated·under·<code·class="inline">$OTPROOT/lib/erl_interface-VSN</code>,·where·<code·class="inline">$OTPROOT</code>·is·the364 are·situated·under·<code·class="inline">$OTPROOT/lib/erl_interface-VSN</code>,·where·<code·class="inline">$OTPROOT</code>·is·the
365 root·directory·of·the·OTP·installation·(<code·class="inline">/usr/local/otp</code>·in·the·recent·example)365 root·directory·of·the·OTP·installation·(<code·class="inline">/usr/local/otp</code>·in·the·recent·example)
366 and·<code·class="inline">VSN</code>·is·the·version·of·the·Erl_interface·application·(3.2.1·in·the·recent366 and·<code·class="inline">VSN</code>·is·the·version·of·the·Erl_interface·application·(3.2.1·in·the·recent
367 example).</p><p>In·R4B·and·earlier·versions·of·OTP,·<code·class="inline">include</code>·and·<code·class="inline">lib</code>·are·situated·under367 example).</p><p>In·R4B·and·earlier·versions·of·OTP,·<code·class="inline">include</code>·and·<code·class="inline">lib</code>·are·situated·under
368 <code·class="inline">$OTPROOT/usr</code>.</p><p><em>Step·2.</em>·Start·Erlang·and·compile·the·Erlang·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">368 <code·class="inline">$OTPROOT/usr</code>.</p><p><em>Step·2.</em>·Start·Erlang·and·compile·the·Erlang·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">
Max diff block lines reached; 6844/73367 bytes (9.33%) of diff not shown.
538 B
html2text {}
Max HTML report size reached
19.2 KB
./usr/share/doc/erlang-doc/html/doc/system/error_logging.html
    
Offset 143, 39 lines modifiedOffset 143, 39 lines modified
143 reports·and·other·error·and·information·reports·are·by·default·logged·through143 reports·and·other·error·and·information·reports·are·by·default·logged·through
144 the·log·handler·which·is·set·up·when·the·Kernel·application·is·started.</p><p>Prior·to·Erlang/OTP·21.0,·supervisor,·crash,·and·progress·reports·were·only144 the·log·handler·which·is·set·up·when·the·Kernel·application·is·started.</p><p>Prior·to·Erlang/OTP·21.0,·supervisor,·crash,·and·progress·reports·were·only
145 logged·when·the·SASL·application·was·running.·This·behaviour·can,·for·backwards145 logged·when·the·SASL·application·was·running.·This·behaviour·can,·for·backwards
146 compatibility,·be·enabled·by·setting·the·Kernel·configuration·parameter146 compatibility,·be·enabled·by·setting·the·Kernel·configuration·parameter
147 <a·href="../../lib/kernel-10.3/doc/html/kernel_app.html#logger_sasl_compatible"><code·class="inline">logger_sasl_compatible</code></a>·to147 <a·href="../../lib/kernel-10.3/doc/html/kernel_app.html#logger_sasl_compatible"><code·class="inline">logger_sasl_compatible</code></a>·to
148 <code·class="inline">true</code>.·For·more·information,·see148 <code·class="inline">true</code>.·For·more·information,·see
149 <a·href="../../lib/sasl-4.3/doc/html/error_logging.html">SASL·Error·Logging</a>·in·the·SASL·User's·Guide.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-kernel·logger_level·info</span><span·class="w">149 <a·href="../../lib/sasl-4.3/doc/html/error_logging.html">SASL·Error·Logging</a>·in·the·SASL·User's·Guide.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-kernel·logger_level·info</span><span·class="w">
150 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">21</span><span·class="w">·</span><span·class="p"·data-group-id="9423753437-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">10.0</span><span·class="p"·data-group-id="9423753437-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="9423753437-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1313,·SHA:·ffe18bc9b367add8af6e06808da09b675c1ac44611e67b5d5cb308f793f909d7·...·]-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="0891029470-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">10.0</span><span·class="p"·data-group-id="0891029470-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="0891029470-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1313,·SHA:·b9ea92f3cd754f663214b279c0198f71c4ebac58a5e7ef22a4915efeb6c888ba·...·]-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="9423753437-8">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">kernel_safe_sup</span><span·class="p"·data-group-id="9423753437-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="0891029470-8">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">kernel_safe_sup</span><span·class="p"·data-group-id="0891029470-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="9423753437-9">[</span><span·class="p"·data-group-id="9423753437-10">{</span><span·class="ss">pid</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.74</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·ddb48044cd94f7f60d09ca31def228abdf6c31c7699cd41292eaa28081371139·...·]-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="0891029470-9">[</span><span·class="p"·data-group-id="0891029470-10">{</span><span·class="ss">pid</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.74</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·0ec52b88d9b3238bac74f17b38e24346c825c728d0934dc4a1e73b78d5a16630·...·]-10">}</span><span·class="p">,</span><span·class="w">
160 ··············</span><span·class="p"·data-group-id="9423753437-11">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="ss">disk_log_sup</span><span·class="p"·data-group-id="9423753437-11">}</span><span·class="p">,</span><span·class="w">160 ··············</span><span·class="p"·data-group-id="0891029470-11">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="ss">disk_log_sup</span><span·class="p"·data-group-id="0891029470-11">}</span><span·class="p">,</span><span·class="w">
161 ··············</span><span·class="p"·data-group-id="9423753437-12">{</span><span·class="ss">mfargs</span><span·class="p">,</span><span·class="p"·data-group-id="9423753437-13">{</span><span·class="ss">disk_log_sup</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·196,·SHA:·00da42d0be1e9954a073c6222b9fe66d40c5bf0c47780301aa5b4988630212c3·...·]-12">}</span><span·class="p">,</span><span·class="w">161 ··············</span><span·class="p"·data-group-id="0891029470-12">{</span><span·class="ss">mfargs</span><span·class="p">,</span><span·class="p"·data-group-id="0891029470-13">{</span><span·class="ss">disk_log_sup</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·196,·SHA:·ac6d8a0f996502114aa3fe528442d0ece4151724cb6167c7c10d91cda6bb00f0·...·]-12">}</span><span·class="p">,</span><span·class="w">
162 ··············</span><span·class="p"·data-group-id="9423753437-15">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="9423753437-15">}</span><span·class="p">,</span><span·class="w">162 ··············</span><span·class="p"·data-group-id="0891029470-15">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="0891029470-15">}</span><span·class="p">,</span><span·class="w">
163 ··············</span><span·class="p"·data-group-id="9423753437-16">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">1000</span><span·class="p"·data-group-id="9423753437-16">}</span><span·class="p">,</span><span·class="w">163 ··············</span><span·class="p"·data-group-id="0891029470-16">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">1000</span><span·class="p"·data-group-id="0891029470-16">}</span><span·class="p">,</span><span·class="w">
164 ··············</span><span·class="p"·data-group-id="9423753437-17">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="9423753437-17">}</span><span·class="p"·data-group-id="9423753437-9">]</span><span·class="w">164 ··············</span><span·class="p"·data-group-id="0891029470-17">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="0891029470-17">}</span><span·class="p"·data-group-id="0891029470-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="9423753437-18">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">kernel_safe_sup</span><span·class="p"·data-group-id="9423753437-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="0891029470-18">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">kernel_safe_sup</span><span·class="p"·data-group-id="0891029470-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="9423753437-19">[</span><span·class="p"·data-group-id="9423753437-20">{</span><span·class="ss">pid</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.75</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·eec0ffc5babcc902f2f9e1b2a50b50b8f38b4184cad0074b146442f0d39e1a83·...·]-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="0891029470-19">[</span><span·class="p"·data-group-id="0891029470-20">{</span><span·class="ss">pid</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.75</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·1c0ba03ff15bfe3638ce61e884ebb8fd36416786d35b7be85ac338512aa62930·...·]-20">}</span><span·class="p">,</span><span·class="w">
168 ··············</span><span·class="p"·data-group-id="9423753437-21">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="ss">disk_log_server</span><span·class="p"·data-group-id="9423753437-21">}</span><span·class="p">,</span><span·class="w">168 ··············</span><span·class="p"·data-group-id="0891029470-21">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="ss">disk_log_server</span><span·class="p"·data-group-id="0891029470-21">}</span><span·class="p">,</span><span·class="w">
169 ··············</span><span·class="p"·data-group-id="9423753437-22">{</span><span·class="ss">mfargs</span><span·class="p">,</span><span·class="p"·data-group-id="9423753437-23">{</span><span·class="ss">disk_log_server</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·199,·SHA:·65a42108b737c868e272134c9c10d85fc32f3b0f9244ccda95bce495305cf1aa·...·]-22">}</span><span·class="p">,</span><span·class="w">169 ··············</span><span·class="p"·data-group-id="0891029470-22">{</span><span·class="ss">mfargs</span><span·class="p">,</span><span·class="p"·data-group-id="0891029470-23">{</span><span·class="ss">disk_log_server</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·199,·SHA:·178b490f06f333467ea9c949dd8f17d1bb2cf63806872999daeb164fac1cf463·...·]-22">}</span><span·class="p">,</span><span·class="w">
170 ··············</span><span·class="p"·data-group-id="9423753437-25">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="9423753437-25">}</span><span·class="p">,</span><span·class="w">170 ··············</span><span·class="p"·data-group-id="0891029470-25">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="0891029470-25">}</span><span·class="p">,</span><span·class="w">
171 ··············</span><span·class="p"·data-group-id="9423753437-26">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">2000</span><span·class="p"·data-group-id="9423753437-26">}</span><span·class="p">,</span><span·class="w">171 ··············</span><span·class="p"·data-group-id="0891029470-26">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">2000</span><span·class="p"·data-group-id="0891029470-26">}</span><span·class="p">,</span><span·class="w">
172 ··············</span><span·class="p"·data-group-id="9423753437-27">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">worker</span><span·class="p"·data-group-id="9423753437-27">}</span><span·class="p"·data-group-id="9423753437-19">]</span><span·class="w">172 ··············</span><span·class="p"·data-group-id="0891029470-27">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">worker</span><span·class="p"·data-group-id="0891029470-27">}</span><span·class="p"·data-group-id="0891029470-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="9423753437-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="9423753437-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="0891029470-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="0891029470-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;">Class</th><th·style="text-align:·left;">Origin</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">error</code></td><td·style="text-align:·left;">Run-time·error,·for·example,·<code·class="inline">1+a</code>,·or·the·process·called·<a·href="../../erts-16.0/doc/html/erlang.html#error/1"><code·class="inline">error/1</code></a></td></tr><tr><td·style="text-align:·left;"><code·class="inline">exit</code></td><td·style="text-align:·left;">The·process·called·<a·href="../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a></td></tr><tr><td·style="text-align:·left;"><code·class="inline">throw</code></td><td·style="text-align:·left;">The·process·called·<a·href="../../erts-16.0/doc/html/erlang.html#throw/1"><code·class="inline">throw/1</code></a></td></tr></tbody></table><p><em>Table:·Exception·Classes.</em></p><p>All·of·the·above·exceptions·can·also·be·generated·by·calling·<a·href="../../erts-16.0/doc/html/erlang.html#raise/3"><code·class="inline">erlang:raise/3</code></a>.</p><p>An·exception·consists·of·its·class,·an·exit·reason·(see154 in·<a·href="expressions.html">Expressions</a>.</p><table><thead><tr><th·style="text-align:·left;">Class</th><th·style="text-align:·left;">Origin</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">error</code></td><td·style="text-align:·left;">Run-time·error,·for·example,·<code·class="inline">1+a</code>,·or·the·process·called·<a·href="../../erts-16.0/doc/html/erlang.html#error/1"><code·class="inline">error/1</code></a></td></tr><tr><td·style="text-align:·left;"><code·class="inline">exit</code></td><td·style="text-align:·left;">The·process·called·<a·href="../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a></td></tr><tr><td·style="text-align:·left;"><code·class="inline">throw</code></td><td·style="text-align:·left;">The·process·called·<a·href="../../erts-16.0/doc/html/erlang.html#throw/1"><code·class="inline">throw/1</code></a></td></tr></tbody></table><p><em>Table:·Exception·Classes.</em></p><p>All·of·the·above·exceptions·can·also·be·generated·by·calling·<a·href="../../erts-16.0/doc/html/erlang.html#raise/3"><code·class="inline">erlang:raise/3</code></a>.</p><p>An·exception·consists·of·its·class,·an·exit·reason·(see
155 <a·href="errors.html#exit_reasons">Exit·Reason</a>),·and·a·stack·trace·(which·aids·in·finding155 <a·href="errors.html#exit_reasons">Exit·Reason</a>),·and·a·stack·trace·(which·aids·in·finding
156 the·code·location·of·the·exception).</p><p>The·stack·trace·can·be·bound·to·a·variable·from·within·a·<code·class="inline">try</code>·expression·for156 the·code·location·of·the·exception).</p><p>The·stack·trace·can·be·bound·to·a·variable·from·within·a·<code·class="inline">try</code>·expression·for
157 any·exception·class,·or·as·part·of·the·exit·reason·when·a·run-time·error·is157 any·exception·class,·or·as·part·of·the·exit·reason·when·a·run-time·error·is
158 caught·by·a·<code·class="inline">catch</code>.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="4586876037-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4586876037-2">{</span><span·class="ss">test</span><span·class="p">,</span><span·class="n">Stacktrace</span><span·class="p"·data-group-id="458[·...·truncated·by·diffoscope;·len:·453,·SHA:·a9e8a80901a0cfb1bd6d178600eb099cbe027b32cbf1611e4d15512a75440c17·...·]-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="2999544659-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2999544659-2">{</span><span·class="ss">test</span><span·class="p">,</span><span·class="n">Stacktrace</span><span·class="p"·data-group-id="299[·...·truncated·by·diffoscope;·len:·453,·SHA:·20c83d4ee8433bb39faf6f6d6a1d759752fdb9f51c804742f56645ee7fb5f866·...·]-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="4586876037-5">[</span><span·class="p"·data-group-id="4586876037-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:·f41121584fcb1c9578996047df04d0cfb7ee137f59878801a1d36c3194faa7e3·...·]-6">}</span><span·class="p">,</span><span·class="w">159 </span><span·class="p"·data-group-id="2999544659-5">[</span><span·class="p"·data-group-id="2999544659-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:·4375ca89bf4a2938e91337daaa3b907cca33094476db79c86a792c03ee5265db·...·]-6">}</span><span·class="p">,</span><span·class="w">
160 ·</span><span·class="p"·data-group-id="4586876037-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="4586876037-9">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·73ea6a3e6e43f4c4b66bbbd239f3044529eba93fa4f9eb16caddbe65c11cf195·...·]-8">}</span><span·class="p">,</span><span·class="w">160 ·</span><span·class="p"·data-group-id="2999544659-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="2999544659-9">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·4d64ef0118709e98bfa7220fe7f3be8237ae829df8dcfff9665d33fc4fc29f01·...·]-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="4586876037-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="2999544659-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="4586876037-10">(</span><span·class="ss">test</span><span·class="p"·data-group-id="4586876037-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="2999544659-10">(</span><span·class="ss">test</span><span·class="p"·data-group-id="2999544659-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="4586876037-11">[</span><span·class="p"·data-group-id="4586876037-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:·9c45b716ee3610b0935d2da43f3a35c458ac932e055b2ef070b92fae86fd09f4·...·]-12">}</span><span·class="p">,</span><span·class="w">163 </span><span·class="p"·data-group-id="2999544659-11">[</span><span·class="p"·data-group-id="2999544659-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:·ce148acfdd7545d86071434cf19a687bba2c5cbf2c06de6338f1565731179598·...·]-12">}</span><span·class="p">,</span><span·class="w">
164 ·</span><span·class="p"·data-group-id="4586876037-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="4586876037-15">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·77,·SHA:·cfd23d936fc8693dc061c26cdceeba568eae424863b173eb098d54716d8d1d58·...·]-14">}</span><span·class="p">,</span><span·class="w">164 ·</span><span·class="p"·data-group-id="2999544659-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="2999544659-15">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·77,·SHA:·a8e170086f131ecec93302facb72b0cd899d2a4d7dc6765eadb3a5b57310154a·...·]-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="4586876037-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="2999544659-11">]</span></code></pre><p><a·href=""·id="stacktrace"></a></p><h3·id="the-call-stack-back-trace-stacktrace"·class="section-heading">
166 ··<a·href="#the-call-stack-back-trace-stacktrace"·class="hover-link">166 ··<a·href="#the-call-stack-back-trace-stacktrace"·class="hover-link">
167 ····<i·class="ri-link-m"·aria-hidden="true"></i>167 ····<i·class="ri-link-m"·aria-hidden="true"></i>
168 ··</a>168 ··</a>
169 ··<span·class="text">The·call-stack·back·trace·(stacktrace)</span>169 ··<span·class="text">The·call-stack·back·trace·(stacktrace)</span>
170 </h3>170 </h3>
171 <p>The·stack·back-trace·(<a·href="../../erts-16.0/doc/html/erlang.html#t:stacktrace/0"><em>stacktrace</em></a>)·is·a·list·that171 <p>The·stack·back-trace·(<a·href="../../erts-16.0/doc/html/erlang.html#t:stacktrace/0"><em>stacktrace</em></a>)·is·a·list·that
172 contains·<code·class="inline">{Module,·Function,·Arity,·ExtraInfo}</code>·and/or·<code·class="inline">{Fun,·Arity,·ExtraInfo}</code>172 contains·<code·class="inline">{Module,·Function,·Arity,·ExtraInfo}</code>·and/or·<code·class="inline">{Fun,·Arity,·ExtraInfo}</code>
Offset 283, 15 lines modifiedOffset 283, 15 lines modified
283 ······<p·class="built-using">283 ······<p·class="built-using">
284 ········Built·using284 ········Built·using
285 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the285 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
286 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>286 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
287 ······</p>287 ······</p>
288 <p>Copyright·©·1996-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="6919570326-1">(</span><span·class="ss">terminal_logger</span><span·class="p"·data-group-id="6919570326-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="5978401871-1">(</span><span·class="ss">terminal_logger</span><span·class="p"·data-group-id="5978401871-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="6919570326-2">(</span><span·class="ss">gen_event</span><span·class="p"·data-group-id="6919570326-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="5978401871-2">(</span><span·class="ss">gen_event</span><span·class="p"·data-group-id="5978401871-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="6919570326-3">(</span><span·class="p"·data-group-id="6919570326-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:·c02e7c1df8761a0cb6b7decb4218c81edfd103788dccbe9ca8310058c0e682ff·...·]-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="5978401871-3">(</span><span·class="p"·data-group-id="5978401871-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:·e071a73e67f85b80bfffb3ec1c1c9a9df184d72b62a35fddebf9c50ee9a64adc·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
146 </span><span·class="nf">init</span><span·class="p"·data-group-id="6919570326-5">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="6919570326-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="5978401871-5">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="5978401871-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
147 ····</span><span·class="p"·data-group-id="6919570326-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6919570326-7">[</span><span·class="p"·data-group-id="6919570326-7">]</span><span·class="p"·data-group-id="6919570326-6">}</span><span·class="p">.</span><span·class="w">147 ····</span><span·class="p"·data-group-id="5978401871-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5978401871-7">[</span><span·class="p"·data-group-id="5978401871-7">]</span><span·class="p"·data-group-id="5978401871-6">}</span><span·class="p">.</span><span·class="w">
  
148 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="6919570326-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="6919570326-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="5978401871-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="5978401871-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="6919570326-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="6919570326-10">[</span><span·clas[·...·truncated·by·diffoscope;·len:·116,·SHA:·9899dd849d4d3f7815f95c29bb74eec5e9177d0638ccc34a9f6bc11849eaae8c·...·]-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="5978401871-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="5978401871-10">[</span><span·clas[·...·truncated·by·diffoscope;·len:·116,·SHA:·8ff661368b2fea6f7d11ddd9b5fa568a0aebc4a202b15c3685b78e36f297e6fb·...·]-9">)</span><span·class="p">,</span><span·class="w">
150 ····</span><span·class="p"·data-group-id="6919570326-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="6919570326-11">}</span><span·class="p">.</span><span·class="w">150 ····</span><span·class="p"·data-group-id="5978401871-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="5978401871-11">}</span><span·class="p">.</span><span·class="w">
  
151 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="6919570326-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="6919570326-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="5978401871-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="5978401871-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="8031970697-1">(</span><span·class="ss">file_logger</span><span·class="p"·data-group-id="8031970697-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="6665356759-1">(</span><span·class="ss">file_logger</span><span·class="p"·data-group-id="6665356759-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="8031970697-2">(</span><span·class="ss">gen_event</span><span·class="p"·data-group-id="8031970697-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="6665356759-2">(</span><span·class="ss">gen_event</span><span·class="p"·data-group-id="6665356759-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="8031970697-3">(</span><span·class="p"·data-group-id="8031970697-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:·498dc992e189cadd9e712117ceaa38fcdcf11334f5327668ff8c5e6037dd7c0c·...·]-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="6665356759-3">(</span><span·class="p"·data-group-id="6665356759-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:·7c6ce0a70b221f1d90ac44fdb7fa26d6a18840e824e40346914ff35b1f941008·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">init</span><span·class="p"·data-group-id="8031970697-5">(</span><span·class="n">File</span><span·class="p"·data-group-id="8031970697-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="6665356759-5">(</span><span·class="n">File</span><span·class="p"·data-group-id="6665356759-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ····</span><span·class="p"·data-group-id="8031970697-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="8031970697-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·267,·SHA:·b630a14b350fd5fae29e0e2f11c9825b1770dc527d464a883bbd74c1fde112e0·...·]-7">)</span><span·class="p">,</span><span·class="w">158 ····</span><span·class="p"·data-group-id="6665356759-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="6665356759-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·267,·SHA:·498eb2e175a1b15ba75f5267d14de5bcfde7ca6106f9a9e9432f2159962edaab·...·]-7">)</span><span·class="p">,</span><span·class="w">
159 ····</span><span·class="p"·data-group-id="8031970697-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="8031970697-8">}</span><span·class="p">.</span><span·class="w">159 ····</span><span·class="p"·data-group-id="6665356759-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="6665356759-8">}</span><span·class="p">.</span><span·class="w">
  
160 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="8031970697-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="8031970697-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="6665356759-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="6665356759-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="8031970697-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:·d4595798509ded0de75bee2ffe6ef296cf1d3f7b1a2ac6aa05d12e6e374150bc·...·]-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="6665356759-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:·1e76708958badb5f63435aca11ad5ff8a24024bef91178858e3652808cecb8f1·...·]-10">)</span><span·class="p">,</span><span·class="w">
162 ····</span><span·class="p"·data-group-id="8031970697-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="8031970697-12">}</span><span·class="p">.</span><span·class="w">162 ····</span><span·class="p"·data-group-id="6665356759-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="6665356759-12">}</span><span·class="p">.</span><span·class="w">
  
163 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="8031970697-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="8031970697-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="6665356759-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="6665356759-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="8031970697-14">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="8031970697-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="6665356759-14">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="6665356759-14">)</span><span·class="p">.</span></code></pre><p>The·code·is·explained·in·the·next·sections.</p><p><a·href=""·id="mgr"></a></p><h2·id="starting-an-event-manager"·class="section-heading">
165 ··<a·href="#starting-an-event-manager"·class="hover-link">165 ··<a·href="#starting-an-event-manager"·class="hover-link">
166 ····<i·class="ri-link-m"·aria-hidden="true"></i>166 ····<i·class="ri-link-m"·aria-hidden="true"></i>
167 ··</a>167 ··</a>
168 ··<span·class="text">Starting·an·Event·Manager</span>168 ··<span·class="text">Starting·an·Event·Manager</span>
169 </h2>169 </h2>
170 <p>To·start·an·event·manager·for·handling·errors,·as·described·in·the·previous170 <p>To·start·an·event·manager·for·handling·errors,·as·described·in·the·previous
171 example,·call·the·following·function:</p><pre><code·class="text">gen_event:start_link({local,·error_man})</code></pre><p><a·href="../../lib/stdlib-7.0/doc/html/gen_event.html#start_link/1"><code·class="inline">gen_event:start_link/1</code></a>·spawns·and·links·to·a·new·event·manager·process.</p><p>The·argument,·<code·class="inline">{local,·error_man}</code>,·specifies·the·name·under·which·the171 example,·call·the·following·function:</p><pre><code·class="text">gen_event:start_link({local,·error_man})</code></pre><p><a·href="../../lib/stdlib-7.0/doc/html/gen_event.html#start_link/1"><code·class="inline">gen_event:start_link/1</code></a>·spawns·and·links·to·a·new·event·manager·process.</p><p>The·argument,·<code·class="inline">{local,·error_man}</code>,·specifies·the·name·under·which·the
Offset 184, 57 lines modifiedOffset 184, 57 lines modified
184 manager·that·is·not·part·of·a·supervision·tree.</p><h2·id="adding-an-event-handler"·class="section-heading">184 manager·that·is·not·part·of·a·supervision·tree.</p><h2·id="adding-an-event-handler"·class="section-heading">
185 ··<a·href="#adding-an-event-handler"·class="hover-link">185 ··<a·href="#adding-an-event-handler"·class="hover-link">
186 ····<i·class="ri-link-m"·aria-hidden="true"></i>186 ····<i·class="ri-link-m"·aria-hidden="true"></i>
187 ··</a>187 ··</a>
188 ··<span·class="text">Adding·an·Event·Handler</span>188 ··<span·class="text">Adding·an·Event·Handler</span>
189 </h2>189 </h2>
190 <p>The·following·example·shows·how·to·start·an·event·manager·and·add·an·event190 <p>The·following·example·shows·how·to·start·an·event·manager·and·add·an·event
191 handler·to·it·by·using·the·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="8885577954-1">(</span><span·class="p"·data-group-id="8885577954-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="8885577954-2">}</span><span·class="p"·data-group-id="8885577954-1">)</span><span·class="p">.</span><span·class="w"> 
192 </span><span·class="p"·data-group-id="8885577954-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="8885577954-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="8885577954-4">(</span><span·class="ss">error_man</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·219,·SHA:·d993e6692e0d28fc161d8ececc739bf4593312d7d97ce023d5ee0564da4285b6·...·]">)</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="1385799263-[·...·truncated·by·diffoscope;·len:·270,·SHA:·a0a5739ef7cea93eb42c8700484567be9bf86b0cbeb3da738fc98b2fa0bcd98e·...·]">)</span><span·class="p">.</span><span·class="w">
 192 </span><span·class="p"·data-group-id="1385799263-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="1385799263-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="1385799263-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="1385799263-5">[</span><span·class="p"·data-group-id="1385799263-5">]</span><span·class="p"·data-group-id="1385799263-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="1538493236-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="1538493236-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
199 ····</span><span·class="p"·data-group-id="1538493236-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1538493236-3">[</span><span·class="p"·data-group-id="1538493236-3">]</span><span·class=[·...·truncated·by·diffoscope;·len:·180,·SHA:·7d5ef98cb1b73a346bdcfc25d2bca5fea880672e09832113c8278025e4ebe61e·...·]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="0767348785-1">(</span><span·class="p">_</span><span·class="n">[·...·truncated·by·diffoscope;·len:·132,·SHA:·75bd7d8a17f2ba42bfeb4d7f18242d4147fd532556de039ecb27858a32aaff2d·...·]
 199 ····</span><span·class="p"·data-group-id="0767348785-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0767348785-3">[</span><span·class="p"·data-group-id="0767348785-3">]</span><span·class="p"·data-group-id="0767348785-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="1289269287-1">(</span><span·class="n">File</span><span·class="p"·data-group-id="1289269287-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="3160180975-1">(</span><span·class="n">File</span><span·class="p"·data-group-id="3160180975-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
202 ····</span><span·class="p"·data-group-id="1289269287-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="1289269287-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·267,·SHA:·b9ba33933dd2e5b05a45c2a23a4e450e5f1744e399d5d62887001472721ff4e5·...·]-3">)</span><span·class="p">,</span><span·class="w">202 ····</span><span·class="p"·data-group-id="3160180975-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="3160180975-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·267,·SHA:·4f34def864bb4a14cac6a5e00ed38a8fcc612011e831072e35e15577600b1be4·...·]-3">)</span><span·class="p">,</span><span·class="w">
203 ····</span><span·class="p"·data-group-id="1289269287-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="1289269287-4">}</span><span·class="p">.</span></code></pre><h2·id="notifying-about-events"·class="section-heading">203 ····</span><span·class="p"·data-group-id="3160180975-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="3160180975-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="5844670321-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="5844670321-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="5844670321-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="5844670321-3">[</span><span·class="n">ErrorMsg</span><span·class="p"·data-group-id="5844670321-3">]</span><span·class="p"·data-group-id="5844670321-2">)</span><span·class="p">,</span><span·class="w"> 
217 ····</span><span·class="p"·data-group-id="5844670321-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="5844670321-4">}</span><span·class="p">.</span></code></pre>[·...·truncated·by·diffoscope;·len:·332,·SHA:·f06d01fbb3437b48e4adc69fb7e8d086f571d5bcf65ad5b5d448a037c429b4fc·...·]-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="8161202756-1">(</span><span·class="n">ErrorMsg</span><sp[·...·truncated·by·diffoscope;·len:·114,·SHA:·b66a255d05d2608f43205a428c55f690dc8228ab6f15a94c219a6921d8cc7af9·...·]-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="8161202756-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="8161202756-3">[</span><span·class="n">ErrorMsg</span><span·class="p"·data-group-id="8161202756-3">]</span><span·class="p"·data-group-id="8161202756-2">)</span><span·class="p">,</span><span·class="w">
 217 ····</span><span·class="p"·data-group-id="8161202756-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="8161202756-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="2176225434-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="2176225434-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="6560907767-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:·2b191b9100b709721c8e181d34dcab364794f2633c877c58906afd771d85ef56·...·]-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="2176225434-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:·bfed8a0738f6e6d15d91a06521d8b8efc8dbb650070980414f0cc27890bb4708·...·]-2">)</span><span·class="p">,</span><span·class="w">
219 ····</span><span·class="p"·data-group-id="6560907767-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="6560907767-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="2176225434-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="2176225434-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="7895854277-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="7895854277-2">[</span><span·class="[·...·truncated·by·diffoscope;·len:·80,·SHA:·ed1244dd105e47ff30d2e5456682e260c0d24f9f1ddb70398fd8e8d3daeaaac4·...·]7-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="2539393747-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="2539393747-2">[</span><span·class="[·...·truncated·by·diffoscope;·len:·80,·SHA:·7564310d086ee6d8a6b547d4783e157beed7c0a0358c4a32f42102114533e1b4·...·]7-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="3030006385-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="3030006385-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:·245,·SHA:·21534f68a0b8c159e4754002e6e525d67372a83c2523960eb5a62cc655cc68e3·...·]08-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="7964425708-1">(</span><span·class="p">_</span><s[·...·truncated·by·diffoscope;·len:·164,·SHA:·4fab964a90b1a7b6343eb3a91048d632262f3c9d51dd3a3de93e098507e9c5db·...·]08-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="9712537330-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="9712537330-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="8313782108-2">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="8313782108-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="9712537330-2">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="9712537330-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="1835287820-1">(</span><span·class="ss">error_man</span><span·class="p"·data-group-id="1835287820-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="0452465446-1">(</span><span·class="ss">error_man</span><span·class="p"·data-group-id="0452465446-1">)</span><span·class="p">.</span><span·class="w">
257 </span><span·class="ss">ok</span></code></pre><h2·id="handling-other-messages"·class="section-heading">257 </span><span·class="ss">ok</span></code></pre><h2·id="handling-other-messages"·class="section-heading">
258 ··<a·href="#handling-other-messages"·class="hover-link">258 ··<a·href="#handling-other-messages"·class="hover-link">
259 ····<i·class="ri-link-m"·aria-hidden="true"></i>259 ····<i·class="ri-link-m"·aria-hidden="true"></i>
260 ··</a>260 ··</a>
261 ··<span·class="text">Handling·Other·Messages</span>261 ··<span·class="text">Handling·Other·Messages</span>
262 </h2>262 </h2>
263 <p>If·the·<code·class="inline">gen_event</code>·process·is·to·be·able·to·receive·other·messages263 <p>If·the·<code·class="inline">gen_event</code>·process·is·to·be·able·to·receive·other·messages
264 than·events,·the·callback·function·<code·class="inline">handle_info(Info,·State)</code>·must·be264 than·events,·the·callback·function·<code·class="inline">handle_info(Info,·State)</code>·must·be
265 implemented·to·handle·them.·Examples·of·other·messages·are·exit265 implemented·to·handle·them.·Examples·of·other·messages·are·exit
266 messages·if·the·event·manager·is·linked·to·other·processes·than·the266 messages·if·the·event·manager·is·linked·to·other·processes·than·the
267 supervisor·(for·example·via·<a·href="../../lib/stdlib-7.0/doc/html/gen_event.html#add_sup_handler/3"><code·class="inline">gen_event:add_sup_handler/3</code></a>)·and·is267 supervisor·(for·example·via·<a·href="../../lib/stdlib-7.0/doc/html/gen_event.html#add_sup_handler/3"><code·class="inline">gen_event:add_sup_handler/3</code></a>)·and·is
Max diff block lines reached; 3307/42335 bytes (7.81%) 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="0678996254-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="0678996254-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="5024055585-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="5024055585-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
368 KB
./usr/share/doc/erlang-doc/html/doc/system/expressions.html
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/doc/system/features.html
    
Offset 235, 15 lines modifiedOffset 235, 15 lines modified
235 ······<p·class="built-using">235 ······<p·class="built-using">
236 ········Built·using236 ········Built·using
237 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the237 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
238 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>238 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
239 ······</p>239 ······</p>
240 <p>Copyright·©·1996-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="4617117801-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="4617117801-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="9868048880-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="9868048880-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="4617117801-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="4617117801-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="9868048880-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="9868048880-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="4617117801-3">(</span><span·class="p"·data-group-id="4617117801-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="4617117801-4">]</span><span·class="p"·data-group-id="4617117801-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="9868048880-3">(</span><span·class="p"·data-group-id="9868048880-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9868048880-4">]</span><span·class="p"·data-group-id="9868048880-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="4617117801-5">(</span><span·class="p"·data-group-id="4617117801-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:·1ceeb38ff0db14bb8ba15fc756a6c9c7b2ab7400941e484cb11ca24251096cb0·...·]-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="9868048880-5">(</span><span·class="p"·data-group-id="9868048880-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:·201098eddc72b69ac9f97c7ec30f86812eab7617a40b24a1a7b403bb1499bea0·...·]-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="4617117801-7">(</span><span·class="p"·data-group-id="4617117801-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:·19a89e3e60a578d13d57397a09ded60b5ca69efb883f85d64cfc3f20e0b366bf·...·]-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="9868048880-7">(</span><span·class="p"·data-group-id="9868048880-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:·6d865df5954d3100fa24b4640dbbdce2eab8cfd670f1b5a6031f9a8f7dc3cb3e·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
170 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="4617117801-9">(</span><span·class="p"·data-group-id="4617117801-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="9868048880-9">(</span><span·class="p"·data-group-id="9868048880-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="4617117801-10">(</span><span·class="p"·data-group-id="4617117801-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="4617117801-11">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·407,·SHA:·a341b6656e23f84f9f228c0421a84dd8b195a90470fc7a47bc39e2862fef55fd·...·]-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="9868048880-10">(</span><span·class="p"·data-group-id="9868048880-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="9868048880-11">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·407,·SHA:·8af5271b59cd922dc7ee0aaa1e92c638c226e96f9dfdfcdd7036692fb3bb172e·...·]-10">)</span><span·class="p">.</span><span·class="w">
  
172 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="4617117801-14">(</span><span·class="p"·data-group-id="4617117801-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="9868048880-14">(</span><span·class="p"·data-group-id="9868048880-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="4617117801-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="4617117801-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="9868048880-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="9868048880-15">)</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">free</span><span·class="p"·data-group-id="4617117801-16">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="4617117801-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="9868048880-16">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="9868048880-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="4617117801-17">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4617117801-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:·d49cbb132fdb6c0a2956b72be847b1806e717c17e4eb5c15a2f1a2ffc4e9c734·...·]-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="9868048880-17">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9868048880-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:·699ffd19df3507ecaa40600c0daf32ee93151f5f72c0426114229f1352df32e2·...·]-17">)</span><span·class="p">.</span><span·class="w">
  
176 </span><span·class="nf">init</span><span·class="p"·data-group-id="4617117801-19">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="4617117801-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="9868048880-19">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="9868048880-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ····</span><span·class="p"·data-group-id="4617117801-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="4617117801-21">(</span><span·class="p"·data-group-id="4617117801-21">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·8a683f742add19a472c609639840afae488a0ce6cb44919b83c77278a1bac46c·...·]-20">}</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="p"·data-group-id="9868048880-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="9868048880-21">(</span><span·class="p"·data-group-id="9868048880-21">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·5e00591af046512e38d7e35e2a97c44920856ee65ac88d986a6d1e374cea4049·...·]-20">}</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="4617117801-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:·77ceb90b69e6748a9dc0e14e18d2f57060064191b73b5f3db5b46b360f5b1bea·...·]-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="9868048880-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:·4ce66cf2e9064f40d3f00f4a498f5be426bad984f174fafbfc90d44aba7535fd·...·]-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ····</span><span·class="p"·data-group-id="4617117801-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="4617117801-23">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·143,·SHA:·d88d8b2f480c7767b7c69f4f074c13bae715a51d8a316f5c1a113fae1e67dfd4·...·]-24">)</span><span·class="p">,</span><span·class="w">179 ····</span><span·class="p"·data-group-id="9868048880-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="9868048880-23">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·143,·SHA:·761579c16d65b508fdbe595120bd2f9a81bd60910ed600dc80bd10bce73b9275·...·]-24">)</span><span·class="p">,</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="4617117801-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="4617117801-25">}</span><span·class="p">.</span><span·class="w">180 ····</span><span·class="p"·data-group-id="9868048880-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="9868048880-25">}</span><span·class="p">.</span><span·class="w">
  
181 </span><span·class="nf">handle_cast</span><span·class="p"·data-group-id="4617117801-26">(</span><span·class="p"·data-group-id="4617117801-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="4617117801-27">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·db8afadebdbef48450dd2996602d8fd8e96d29e30ec715f41d682fd419f49cf7·...·]-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="9868048880-26">(</span><span·class="p"·data-group-id="9868048880-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="9868048880-27">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·0703f73ecb704743626787c6c77f2c4d4ea812345e3e427b551c32ced683ca91·...·]-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="4617117801-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="4617117801-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="9868048880-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="9868048880-28">)</span><span·class="p">,</span><span·class="w">
183 ····</span><span·class="p"·data-group-id="4617117801-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="4617117801-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="9868048880-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="9868048880-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="2633056486-1">(</span><span·class="p"·data-group-id="2633056486-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="9028478780-1">(</span><span·class="p"·data-group-id="9028478780-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="2633056486-2">(</span><span·class="p"·data-group-id="2633056486-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="2633056486-3">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·682,·SHA:·06c1007faaab0a3ad4766e70286363c7d47bfa971304dece45f71658b81c9513·...·]-6">}</span></code></pre><p><code·class="inline">start_link/0</code>·calls·function·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/4</code></a>.··This·function191 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="9028478780-2">(</span><span·class="p"·data-group-id="9028478780-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="9028478780-3">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·682,·SHA:·755641d427f8b1efeabfaddaed6d5d0ed3f123a5eb60881935268800132ce536·...·]-6">}</span></code></pre><p><code·class="inline">start_link/0</code>·calls·function·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/4</code></a>.··This·function
192 spawns·and·links·to·a·new·process,·a·<code·class="inline">gen_server</code>.</p><ul><li><p>The·first·argument,·<code·class="inline">{local,·ch3}</code>,·specifies·the·name.192 spawns·and·links·to·a·new·process,·a·<code·class="inline">gen_server</code>.</p><ul><li><p>The·first·argument,·<code·class="inline">{local,·ch3}</code>,·specifies·the·name.
193 The·gen_server·is·then·locally·registered·as·<code·class="inline">ch3</code>.</p><p>If·the·name·is·omitted,·the·<code·class="inline">gen_server</code>·is·not·registered.·Instead·its·pid193 The·gen_server·is·then·locally·registered·as·<code·class="inline">ch3</code>.</p><p>If·the·name·is·omitted,·the·<code·class="inline">gen_server</code>·is·not·registered.·Instead·its·pid
194 must·be·used.·The·name·can·also·be·given·as·<code·class="inline">{global,·Name}</code>,·in·which·case194 must·be·used.·The·name·can·also·be·given·as·<code·class="inline">{global,·Name}</code>,·in·which·case
195 the·<code·class="inline">gen_server</code>·is·registered·using·<a·href="../../lib/kernel-10.3/doc/html/global.html#register_name/2"><code·class="inline">global:register_name/2</code></a>.</p></li><li><p>The·second·argument,·<code·class="inline">ch3</code>,·is·the·name·of·the·callback·module,·which·is195 the·<code·class="inline">gen_server</code>·is·registered·using·<a·href="../../lib/kernel-10.3/doc/html/global.html#register_name/2"><code·class="inline">global:register_name/2</code></a>.</p></li><li><p>The·second·argument,·<code·class="inline">ch3</code>,·is·the·name·of·the·callback·module,·which·is
196 the·module·where·the·callback·functions·are·located.</p><p>The·interface·functions·(<code·class="inline">start_link/0</code>,·<code·class="inline">alloc/0</code>,·and·<code·class="inline">free/1</code>)·are·located196 the·module·where·the·callback·functions·are·located.</p><p>The·interface·functions·(<code·class="inline">start_link/0</code>,·<code·class="inline">alloc/0</code>,·and·<code·class="inline">free/1</code>)·are·located
197 in·the·same·module·as·the·callback·functions·(<code·class="inline">init/1</code>,·<code·class="inline">handle_call/3</code>,·and197 in·the·same·module·as·the·callback·functions·(<code·class="inline">init/1</code>,·<code·class="inline">handle_call/3</code>,·and
198 <code·class="inline">handle_cast/2</code>).·It·is·usually·good·programming·practice·to·have·the·code198 <code·class="inline">handle_cast/2</code>).·It·is·usually·good·programming·practice·to·have·the·code
199 corresponding·to·one·process·contained·in·a·single·module.</p></li><li><p>The·third·argument,·<code·class="inline">[]</code>,·is·a·term·that·is·passed·as·is·to·the·callback199 corresponding·to·one·process·contained·in·a·single·module.</p></li><li><p>The·third·argument,·<code·class="inline">[]</code>,·is·a·term·that·is·passed·as·is·to·the·callback
200 function·<code·class="inline">init</code>.·Here,·<code·class="inline">init</code>·does·not·need·any·indata·and·ignores·the200 function·<code·class="inline">init</code>.·Here,·<code·class="inline">init</code>·does·not·need·any·indata·and·ignores·the
201 argument.</p></li><li><p>The·fourth·argument,·<code·class="inline">[]</code>,·is·a·list·of·options.·See·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>201 argument.</p></li><li><p>The·fourth·argument,·<code·class="inline">[]</code>,·is·a·list·of·options.·See·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>
202 for·the·available·options.</p></li></ul><p>If·name·registration·succeeds,·the·new·<code·class="inline">gen_server</code>·process·calls·the·callback202 for·the·available·options.</p></li></ul><p>If·name·registration·succeeds,·the·new·<code·class="inline">gen_server</code>·process·calls·the·callback
203 function·<code·class="inline">ch3:init([])</code>.·<code·class="inline">init</code>·is·expected·to·return·<code·class="inline">{ok,·State}</code>,·where203 function·<code·class="inline">ch3:init([])</code>.·<code·class="inline">init</code>·is·expected·to·return·<code·class="inline">{ok,·State}</code>,·where
204 <code·class="inline">State</code>·is·the·internal·state·of·the·<code·class="inline">gen_server</code>.·In·this·case,·the·state·is204 <code·class="inline">State</code>·is·the·internal·state·of·the·<code·class="inline">gen_server</code>.·In·this·case,·the·state·is
205 the·available·channels.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init</span><span·class="p"·data-group-id="1377377776-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="1377377776-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="1627375784-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="1627375784-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ····</span><span·class="p"·data-group-id="1377377776-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="1377377776-3">(</span><span·class="p"·data-group-id="1377377776-3">)</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·87e32066814aaa5df824e317785eb39113f6265f2426bb845cdc4575e98b810e·...·]-2">}</span><span·class="p">.</span></code></pre><p><a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/4</code></a>·is·synchronous.·It·does·not·return·until·the206 ····</span><span·class="p"·data-group-id="1627375784-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="1627375784-3">(</span><span·class="p"·data-group-id="1627375784-3">)</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·5f7cede832c575f621f9a400b42fd760e804da82531dac24888a4fb62a53a145·...·]-2">}</span><span·class="p">.</span></code></pre><p><a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/4</code></a>·is·synchronous.·It·does·not·return·until·the
207 <code·class="inline">gen_server</code>·has·been·initialized·and·is·ready·to·receive·requests.</p><p><a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/4</code></a>·must·be·used·if·the·<code·class="inline">gen_server</code>·is·part·of207 <code·class="inline">gen_server</code>·has·been·initialized·and·is·ready·to·receive·requests.</p><p><a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/4</code></a>·must·be·used·if·the·<code·class="inline">gen_server</code>·is·part·of
208 a·supervision·tree,·meaning·that·it·was·started·by·a·supervisor.·There208 a·supervision·tree,·meaning·that·it·was·started·by·a·supervisor.·There
209 is·another·function,·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start/4"><code·class="inline">gen_server:start/4</code></a>,·to·start·a·standalone209 is·another·function,·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start/4"><code·class="inline">gen_server:start/4</code></a>,·to·start·a·standalone
210 <code·class="inline">gen_server</code>·that·is·not·part·of·a·supervision·tree.</p><h2·id="synchronous-requests-call"·class="section-heading">210 <code·class="inline">gen_server</code>·that·is·not·part·of·a·supervision·tree.</p><h2·id="synchronous-requests-call"·class="section-heading">
211 ··<a·href="#synchronous-requests-call"·class="hover-link">211 ··<a·href="#synchronous-requests-call"·class="hover-link">
212 ····<i·class="ri-link-m"·aria-hidden="true"></i>212 ····<i·class="ri-link-m"·aria-hidden="true"></i>
213 ··</a>213 ··</a>
Offset 221, 32 lines modifiedOffset 221, 32 lines modified
221 </h2>221 </h2>
222 <p>The·synchronous·request·<code·class="inline">alloc()</code>·is·implemented·using·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#call/2"><code·class="inline">gen_server:call/2</code></a>:</p><pre><code·class="text">alloc()·-&gt;222 <p>The·synchronous·request·<code·class="inline">alloc()</code>·is·implemented·using·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#call/2"><code·class="inline">gen_server:call/2</code></a>:</p><pre><code·class="text">alloc()·-&gt;
223 ····gen_server:call(ch3,·alloc).</code></pre><p><code·class="inline">ch3</code>·is·the·name·of·the·<code·class="inline">gen_server</code>·and·must·agree·with·the·name223 ····gen_server:call(ch3,·alloc).</code></pre><p><code·class="inline">ch3</code>·is·the·name·of·the·<code·class="inline">gen_server</code>·and·must·agree·with·the·name
224 used·to·start·it.·<code·class="inline">alloc</code>·is·the·actual·request.</p><p>The·request·is·made·into·a·message·and·sent·to·the·<code·class="inline">gen_server</code>.224 used·to·start·it.·<code·class="inline">alloc</code>·is·the·actual·request.</p><p>The·request·is·made·into·a·message·and·sent·to·the·<code·class="inline">gen_server</code>.
225 When·the·request·is·received,·the·<code·class="inline">gen_server</code>·calls225 When·the·request·is·received,·the·<code·class="inline">gen_server</code>·calls
226 <code·class="inline">handle_call(Request,·From,·State)</code>,·which·is·expected·to·return226 <code·class="inline">handle_call(Request,·From,·State)</code>,·which·is·expected·to·return
227 a·tuple·<code·class="inline">{reply,Reply,State1}</code>.·<code·class="inline">Reply</code>·is·the·reply·that·is·to·be·sent·back227 a·tuple·<code·class="inline">{reply,Reply,State1}</code>.·<code·class="inline">Reply</code>·is·the·reply·that·is·to·be·sent·back
228 to·the·client,·and·<code·class="inline">State1</code>·is·a·new·value·for·the·state·of·the·<code·class="inline">gen_server</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_call</span><span·class="p"·data-group-id="8354218978-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:·8,·SHA:·6132d6b07e08a0b846f1557da11808cf8f27c47229fef08cdb86a0103adc5cd0·...·]8-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="9771642298-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:·8,·SHA:·b96c2fc0cc2a8f5ae4f2c86c00339a7213d766a624ddc71aed0c76aa0ea48fc3·...·]8-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
229 ····</span><span·class="p"·data-group-id="8354218978-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="8354218978-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·139,·SHA:·be3357b9b589c5a7da2ee04bb5569a10419182f55a71b0cd32d673d93467b78f·...·]8-3">)</span><span·class="p">,</span><span·class="w">229 ····</span><span·class="p"·data-group-id="9771642298-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="9771642298-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·139,·SHA:·04f720c9268f4aec292d79ac3d7fcc764230bada340d850fc346024608fb5a55·...·]8-3">)</span><span·class="p">,</span><span·class="w">
230 ····</span><span·class="p"·data-group-id="8354218978-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="8354218978-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="9771642298-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="9771642298-4">}</span><span·class="p">.</span></code></pre><p>In·this·case,·the·reply·is·the·allocated·channel·<code·class="inline">Ch</code>·and·the·new·state·is·the
231 set·of·remaining·available·channels·<code·class="inline">Chs2</code>.</p><p>Thus,·the·call·<code·class="inline">ch3:alloc()</code>·returns·the·allocated·channel·<code·class="inline">Ch</code>·and·the231 set·of·remaining·available·channels·<code·class="inline">Chs2</code>.</p><p>Thus,·the·call·<code·class="inline">ch3:alloc()</code>·returns·the·allocated·channel·<code·class="inline">Ch</code>·and·the
232 <code·class="inline">gen_server</code>·then·waits·for·new·requests,·now·with·an·updated·list·of232 <code·class="inline">gen_server</code>·then·waits·for·new·requests,·now·with·an·updated·list·of
233 available·channels.</p><h2·id="asynchronous-requests-cast"·class="section-heading">233 available·channels.</p><h2·id="asynchronous-requests-cast"·class="section-heading">
234 ··<a·href="#asynchronous-requests-cast"·class="hover-link">234 ··<a·href="#asynchronous-requests-cast"·class="hover-link">
235 ····<i·class="ri-link-m"·aria-hidden="true"></i>235 ····<i·class="ri-link-m"·aria-hidden="true"></i>
236 ··</a>236 ··</a>
237 ··<span·class="text">Asynchronous·Requests·-·Cast</span>237 ··<span·class="text">Asynchronous·Requests·-·Cast</span>
238 </h2>238 </h2>
239 <p>The·asynchronous·request·<code·class="inline">free(Ch)</code>·is·implemented·using·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#cast/2"><code·class="inline">gen_server:cast/2</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">free</span><span·class="p"·data-group-id="6069269840-1">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="6069269840-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">239 <p>The·asynchronous·request·<code·class="inline">free(Ch)</code>·is·implemented·using·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#cast/2"><code·class="inline">gen_server:cast/2</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">free</span><span·class="p"·data-group-id="4095509541-1">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="4095509541-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="6069269840-2">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6069269840-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:·89,·SHA:·6cd83a48d4d13b1c2861e181aa07a0e72fa5922a5c2b596488573bdaa94676a3·...·]-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="4095509541-2">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4095509541-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:·89,·SHA:·867d502153aaa50e347db12fde9b7a0e7ed499dd5917c8b3e98b9164aa6b4d9e·...·]-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="2122090457-1">(</span><span·class="p"·data-group-id="2122090457-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="2122090457-2">}</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·88,·SHA:·972eafeb5ed3ff9dc79b8c4784d14a03a8574a3003053b85aac074a45d5abdd4·...·]-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="0233334493-1">(</span><span·class="p"·data-group-id="0233334493-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="0233334493-2">}</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·88,·SHA:·a18b06a3809af62a634ce2921429d64d4dcbd67a764ebde1b3bc8fb3ec935f15·...·]-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="2122090457-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="2122090457-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="0233334493-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="0233334493-3">)</span><span·class="p">,</span><span·class="w">
245 ····</span><span·class="p"·data-group-id="2122090457-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="2122090457-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="0233334493-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="0233334493-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="4398198014-1">(</span><span·class="n">Args</span><span·class="p"·data-group-id="4398198014-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="5299025099-1">(</span><span·class="n">Args</span><span·class="p"·data-group-id="5299025099-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="4398198014-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="4398198014-2">)</span><span·class="p">,</span><span·class="w">266 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="5299025099-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="5299025099-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="4398198014-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="4398198014-3">}</span><span·class="p">.</span><span·class="w">268 ····</span><span·class="p"·data-group-id="5299025099-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="5299025099-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="4398198014-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="4398198014-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="5299025099-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="5299025099-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="4653675712-1">(</span><span·class="p"·data-group-id="4653675712-2">[</span><span·class="ss">stop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="4653675712-2">]</span><span·class="p"·data-group-id="4653675712-1">)</span><span·class="p">.</span><span·class="w">281 </span><span·class="nf">export</span><span·class="p"·data-group-id="7937242896-1">(</span><span·class="p"·data-group-id="7937242896-2">[</span><span·class="ss">stop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7937242896-2">]</span><span·class="p"·data-group-id="7937242896-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="4653675712-3">(</span><span·class="p"·data-group-id="4653675712-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="7937242896-3">(</span><span·class="p"·data-group-id="7937242896-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 9081/50030 bytes (18.15%) of diff not shown.
630 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/doc/system/getting_started.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-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="8749107431-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="1522581553-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="8749107431-2">[</span><span·class="p"·data-group-id="8749107431-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="8749107431-3">}</span><span·class="p">,</span><span·class="w">169 ·</span><span·class="p"·data-group-id="1522581553-2">[</span><span·class="p"·data-group-id="1522581553-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="1522581553-3">}</span><span·class="p">,</span><span·class="w">
170 ··</span><span·class="p"·data-group-id="8749107431-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="8749107431-4">}</span><span·class="p">,</span><span·class="w">170 ··</span><span·class="p"·data-group-id="1522581553-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="1522581553-4">}</span><span·class="p">,</span><span·class="w">
171 ··</span><span·class="p"·data-group-id="8749107431-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8749107431-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:·a655f9dec777ca66b22a5da8bac6cd9b147c0abe750e6d72a1193c88e14aeb05·...·]-5">}</span><span·class="p">,</span><span·class="w">171 ··</span><span·class="p"·data-group-id="1522581553-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1522581553-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:·9e3c9da8b84d0dd8f2d8fde81776fe8b993653fc284d5a3e16cea388b0e17434·...·]-5">}</span><span·class="p">,</span><span·class="w">
172 ··</span><span·class="p"·data-group-id="8749107431-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8749107431-8">[</span><span·class="ss">prim_app_server</span><span·class="p"·data-group-id="8749107431-8">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·181755568e43a1f0c215cf4e5a0e23ce44e7108b16a19a41304bacd65d04f9f9·...·]-7">}</span><span·class="p">,</span><span·class="w">172 ··</span><span·class="p"·data-group-id="1522581553-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1522581553-8">[</span><span·class="ss">prim_app_server</span><span·class="p"·data-group-id="1522581553-8">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·a84f6cbff03e569296c775cf48ef53d678d437672182004829bc3c597f397592·...·]-7">}</span><span·class="p">,</span><span·class="w">
173 ··</span><span·class="p"·data-group-id="8749107431-9">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8749107431-10">[</span><span·class="ss">incl_app</span><span·class="p"·data-group-id="8749107431-10">]</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·7b4a285e8c3ddf69ce827f48fb6848644ed71ed42bb6e2fbe3905eaf1e9054d1·...·]-9">}</span><span·class="p">,</span><span·class="w">173 ··</span><span·class="p"·data-group-id="1522581553-9">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1522581553-10">[</span><span·class="ss">incl_app</span><span·class="p"·data-group-id="1522581553-10">]</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·6ff472e935edbae2556207603570395b684f0ec49a0e0d4547a118446cc34f42·...·]-9">}</span><span·class="p">,</span><span·class="w">
174 ··</span><span·class="p"·data-group-id="8749107431-11">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8749107431-12">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·184,·SHA:·338b8292837ff0da7f4c1271cd4f096292213db9ec4377e0e0648269add263f8·...·]-11">}</span><span·class="p">,</span><span·class="w">174 ··</span><span·class="p"·data-group-id="1522581553-11">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1522581553-12">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·184,·SHA:·8b067054412e6fb784c5c97531ff05e9d2375f6ea12ed65dfdfdc8093950eb43·...·]-11">}</span><span·class="p">,</span><span·class="w">
175 ··</span><span·class="p"·data-group-id="8749107431-13">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8749107431-14">{</span><span·class="ss">prim_app_cb</span><span·class="p">,</span><span·class="p"·data-group-id="8749107431-15">[</span><span·class="p"·data-group-id="8749107431-15">]</span><span·class="p"·data-group-id="8749107431-14">}</span><span·class="p"·data-group-id="8749107431-13">}</span><span·class="p">,</span><span·class="w"> 
176 ··</span><span·class="p"·data-group-id="8749107431-16">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8749107431-17">[</span><span·class="p"·data-group-id="8749107431-18">{</span><span·class="ss">file</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·230,·SHA:·133b670745cf2eb52c3c995149c62648007dcef1b968ffa2c04e589f68bc4b96·...·]</span><span·class="w">175 ··</span><span·class="p"·data-group-id="1522581553-13">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1522581553-14">{</span><span·class="ss">prim_app_cb</span><span·class="p">,</span><span·class="p"·data-group-id="1522581553-15"[·...·truncated·by·diffoscope;·len:·188,·SHA:·a5976b2519ace6c2cc001c68743f78f31e839599e5b3b4b5204567a82571357c·...·]</span><span·class="w">
 176 ··</span><span·class="p"·data-group-id="1522581553-16">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1522581553-17">[</span><span·class="p"·data-group-id="1522581553-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="1522581553-18">}</span><span·class="p"·data-group-id="1522581553-17">]</span><span·class="p"·data-group-id="1522581553-16">}</span><span·class="w">
177 ·</span><span·class="p"·data-group-id="8749107431-2">]</span><span·class="p"·data-group-id="8749107431-1">}</span><span·class="p">.</span></code></pre><h2·id="synchronizing-processes-during-startup"·class="section-heading">177 ·</span><span·class="p"·data-group-id="1522581553-2">]</span><span·class="p"·data-group-id="1522581553-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="9725263448-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="5531273807-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="9725263448-2">[</span><span·class="p"·data-group-id="9725263448-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="9725263448-3">}</span><span·class="p">,</span><span·class="w">192 ·</span><span·class="p"·data-group-id="5531273807-2">[</span><span·class="p"·data-group-id="5531273807-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="5531273807-3">}</span><span·class="p">,</span><span·class="w">
193 ··</span><span·class="p"·data-group-id="9725263448-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="9725263448-4">}</span><span·class="p">,</span><span·class="w">193 ··</span><span·class="p"·data-group-id="5531273807-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="5531273807-4">}</span><span·class="p">,</span><span·class="w">
194 ··</span><span·class="p"·data-group-id="9725263448-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725263448-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:·41524f82f5f8ab57a248d0d1da637adf8c10ded78220a945b2b07db0cc50fe45·...·]-5">}</span><span·class="p">,</span><span·class="w">194 ··</span><span·class="p"·data-group-id="5531273807-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5531273807-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:·bf77f75b7028ae12ab1d70165cddfd2af74b7ed51c00e3df180865318154f191·...·]-5">}</span><span·class="p">,</span><span·class="w">
195 ··</span><span·class="p"·data-group-id="9725263448-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725263448-8">[</span><span·class="ss">prim_app_server</span><span·class="p"·data-group-id="9725263448-8">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·60bd7a4670cd715a88a2c03aaad4426ee81373a27d1f1820dd33c103b0d79b42·...·]-7">}</span><span·class="p">,</span><span·class="w">195 ··</span><span·class="p"·data-group-id="5531273807-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5531273807-8">[</span><span·class="ss">prim_app_server</span><span·class="p"·data-group-id="5531273807-8">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·d6c33104735995612157d16f5a1aeed2f1aa3764a1a9694f682365cc39a1dfa3·...·]-7">}</span><span·class="p">,</span><span·class="w">
196 ··</span><span·class="p"·data-group-id="9725263448-9">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725263448-10">[</span><span·class="ss">incl_app</span><span·class="p"·data-group-id="9725263448-10">]</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·91694415b951a7d76187270c64d899b84e2a12bdb3b2103cea4b25240219bbb0·...·]-9">}</span><span·class="p">,</span><span·class="w">196 ··</span><span·class="p"·data-group-id="5531273807-9">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5531273807-10">[</span><span·class="ss">incl_app</span><span·class="p"·data-group-id="5531273807-10">]</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·73288ee24965b59f8033d7bba1835751ed0d16d6c21122b4975a08560d4c5bd4·...·]-9">}</span><span·class="p">,</span><span·class="w">
197 ··</span><span·class="p"·data-group-id="9725263448-11">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725263448-12">[</span><span·class="p"·data-group-id="9725263448-13">{</span><span·class="ss">init</span><span·class="[·...·truncated·by·diffoscope;·len:·582,·SHA:·fbc1c7cec1f88582994441176776a57650978d72cdeae7b2ef08154f1857a25d·...·]-11">}</span><span·class="p">,</span><span·class="w">197 ··</span><span·class="p"·data-group-id="5531273807-11">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5531273807-12">[</span><span·class="p"·data-group-id="5531273807-13">{</span><span·class="ss">init</span><span·class="[·...·truncated·by·diffoscope;·len:·582,·SHA:·4a2756b249dffa204fb7e4adb227220c30eb983b3fd73e342f0a200175a3f7f6·...·]-11">}</span><span·class="p">,</span><span·class="w">
198 ··</span><span·class="p"·data-group-id="9725263448-17">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725263448-18">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·184,·SHA:·cdfa16c3b733013c50ecd764b4308b50139a6a8930f90f909ac9854aa358cd53·...·]-17">}</span><span·class="p">,</span><span·class="w">198 ··</span><span·class="p"·data-group-id="5531273807-17">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5531273807-18">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·184,·SHA:·ea5684a8c512d0665bbc2f49f8f8ff8933d640b10e470e8eace6ddb7979c080e·...·]-17">}</span><span·class="p">,</span><span·class="w">
199 ··</span><span·class="p"·data-group-id="9725263448-19">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725263448-20">{</span><span·class="ss">application_starter</span><span·class="p">,</span><span·class="p"·data-group-id="9725263448-21">[</span><span·class="ss">prim_app_cb</span><span·class="p">,</span><span·class="p"·data-group-id="9725263448-22">[</span><span·class="p"·data-group-id="9725263448-22">]</span><span·class="p"·data-group-id="9725263448-21">]</span><span·class="p"·data-group-id="9725263448-20">}</span><span·class="p"·data-group-id="9725263448-19">}</span><span·class="p">,</span><span·class="w"> 
200 ··</span><span·class="p"·data-group-id="9725263448-23">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725263448-24">[</span><span·class="p"·data-group-id="9725263448-25">{</span><span·class="ss">file</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·230,·SHA:·829e1bda2f92d176c669fbf401fa26722c706e7251dcae12fb388d659c1f3fd9·...·]</span><span·class="w">199 ··</span><span·class="p"·data-group-id="5531273807-19">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5531273807-20">{</span><span·class="ss">application_starter</span><span·class="p">,</span><span·class="p"·data-group-id="553127[·...·truncated·by·diffoscope;·len:·363,·SHA:·8b34bdf7d10548742e1c0411af21fd49a24a5ce816a5c6d04a80eb52b9157bd9·...·]</span><span·class="w">
 200 ··</span><span·class="p"·data-group-id="5531273807-23">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5531273807-24">[</span><span·class="p"·data-group-id="5531273807-25">{</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="5531273807-25">}</span><span·class="p"·data-group-id="5531273807-24">]</span><span·class="p"·data-group-id="5531273807-23">}</span><span·class="w">
201 ·</span><span·class="p"·data-group-id="9725263448-2">]</span><span·class="p"·data-group-id="9725263448-1">}</span><span·class="p">.</span><span·class="w">201 ·</span><span·class="p"·data-group-id="5531273807-2">]</span><span·class="p"·data-group-id="5531273807-1">}</span><span·class="p">.</span><span·class="w">
  
202 </span><span·class="p"·data-group-id="9725263448-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="5531273807-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="9725263448-27">[</span><span·class="p"·data-group-id="9725263448-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="9725263448-28">}</span><span·class="p">,</span><span·class="w">203 ·</span><span·class="p"·data-group-id="5531273807-27">[</span><span·class="p"·data-group-id="5531273807-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="5531273807-28">}</span><span·class="p">,</span><span·class="w">
204 ··</span><span·class="p"·data-group-id="9725263448-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="9725263448-29">}</span><span·class="p">,</span><span·class="w">204 ··</span><span·class="p"·data-group-id="5531273807-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="5531273807-29">}</span><span·class="p">,</span><span·class="w">
205 ··</span><span·class="p"·data-group-id="9725263448-30">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725263448-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:·d4d79f976f20372f5a2de75b1c0e521b378e5c93e5c2403b700ce178ee181d9d·...·]-30">}</span><span·class="p">,</span><span·class="w">205 ··</span><span·class="p"·data-group-id="5531273807-30">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5531273807-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:·d4042431af51222d1f23fbe856119979a74b1c85436df8f8de0bee9ae0ae21dc·...·]-30">}</span><span·class="p">,</span><span·class="w">
206 ··</span><span·class="p"·data-group-id="9725263448-32">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725263448-33">[</span><span·class="p"·data-group-id="9725263448-33">]</span><span·class="p"·data-group-id="9725263448-32">}</span><span·class="p">,</span><span·class="w">206 ··</span><span·class="p"·data-group-id="5531273807-32">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5531273807-33">[</span><span·class="p"·data-group-id="5531273807-33">]</span><span·class="p"·data-group-id="5531273807-32">}</span><span·class="p">,</span><span·class="w">
207 ··</span><span·class="p"·data-group-id="9725263448-34">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725263448-35">[</span><span·class="p"·data-group-id="9725263448-36">{</span><span·class="ss">go</span><span·class="p"[·...·truncated·by·diffoscope;·len:·266,·SHA:·4f6d107e11c76ad075448556ca5b3e10652fa3e150435e74ad7bfd83b95d9ea3·...·]-34">}</span><span·class="p">,</span><span·class="w">207 ··</span><span·class="p"·data-group-id="5531273807-34">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5531273807-35">[</span><span·class="p"·data-group-id="5531273807-36">{</span><span·class="ss">go</span><span·class="p"[·...·truncated·by·diffoscope;·len:·266,·SHA:·a6014c6a999f5fd5f600b943cbfd3e5c4f517003b408129a1ad16e594f179085·...·]-34">}</span><span·class="p">,</span><span·class="w">
208 ··</span><span·class="p"·data-group-id="9725263448-38">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725263448-39">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·184,·SHA:·320ed67720df218c98bf7f74f76965036d9ec34a8b971c3faec217f4bdf6ef51·...·]-38">}</span><span·class="p">,</span><span·class="w">208 ··</span><span·class="p"·data-group-id="5531273807-38">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5531273807-39">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·184,·SHA:·31856c95f3caa6805b517fb7809c195098211f63293952ad8adb230d22593706·...·]-38">}</span><span·class="p">,</span><span·class="w">
209 ··</span><span·class="p"·data-group-id="9725263448-40">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9725263448-41">{</span><span·class="ss">incl_app_cb</span><span·class="p">,</span><span·class="p"·data-group-id="9725263448-42"[·...·truncated·by·diffoscope;·len:·158,·SHA:·84080614978f19b315df9d2cf3f527331183a57888c72ea36e66ac4cf4f1d634·...·]-40">}</span><span·class="w">209 ··</span><span·class="p"·data-group-id="5531273807-40">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5531273807-41">{</span><span·class="ss">incl_app_cb</span><span·class="p">,</span><span·class="p"·data-group-id="5531273807-42"[·...·truncated·by·diffoscope;·len:·158,·SHA:·7cc903ea31e22369f008fde1caeddb39c0b4e78c7dbd4610777fd6074a487d80·...·]-40">}</span><span·class="w">
210 ·</span><span·class="p"·data-group-id="9725263448-27">]</span><span·class="p"·data-group-id="9725263448-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="5531273807-27">]</span><span·class="p"·data-group-id="5531273807-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="5632465781-1">(</span><span·class="ss">prim_app</span><span·class="p"·data-group-id="5632465781-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="3125177317-1">(</span><span·class="ss">prim_app</span><span·class="p"·data-group-id="3125177317-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="5632465781-2">(</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5632465781-3">[</span><span·class="p"·data-group-id="5632465781-3">]</span><span·class="p"·data-group-id="5632465781-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="3125177317-2">(</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3125177317-3">[</span><span·class="p"·data-group-id="3125177317-3">]</span><span·class="p"·data-group-id="3125177317-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="5632465781-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="5632465781-5">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·9cacfac92de36b02fcf081516b76c5c86aca04d827e3e35e38a362e47c17e331·...·]-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="3125177317-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="3125177317-5">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·606fca99db25733bde803966e8ea4d8da2b7c2c750044e8a879ad591ceb67e6d·...·]-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="5632465781-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="5632465781-7">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·0961e03d687d677f041da6e283515661eaffc16acb0bbb4bd97f00df478c9177·...·]-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="3125177317-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="3125177317-7">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·e8bbf2c40645858c703523458b777c37618ffbe5c231af600af00055ecc47119·...·]-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="5632465781-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="5632465781-9">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·7f78784021d9d4564db4bb53b80d95bcf81898664d23586690975d7dead6659d·...·]-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="3125177317-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="3125177317-9">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·1e95c7d1a162f73d49a8181d7206d59524d2fb8edd93fa4693edee9934738c2b·...·]-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="0613445814-1">(</span><span·class="ss">system_version</span><span·class="p"·data-group-id="0613445814-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="4610429490-1">(</span><span·class="ss">system_version</span><span·class="p"·data-group-id="4610429490-1">)</span><span·class="p">.</span></code></pre><p>in·the·erlang·shell.·If·the·returned·string·contains·<code·class="inline">[debug]</code>,·you
303 got·a·debug·compiled·emulator.</p><p>To·hack·the·erlang·libraries,·you·simply·do·a·<code·class="inline">make·opt</code>·in·the303 got·a·debug·compiled·emulator.</p><p>To·hack·the·erlang·libraries,·you·simply·do·a·<code·class="inline">make·opt</code>·in·the
304 specific·&quot;applications&quot;·directory,·like:</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP/lib/stdlib304 specific·&quot;applications&quot;·directory,·like:</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP/lib/stdlib
305 </span><span·class="gp·unselectable">$·</span><span·class="">make·opt305 </span><span·class="gp·unselectable">$·</span><span·class="">make·opt
306 </span></code></pre><p>or·even·in·the·source·directory...</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP/lib/stdlib/src306 </span></code></pre><p>or·even·in·the·source·directory...</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP/lib/stdlib/src
307 </span><span·class="gp·unselectable">$·</span><span·class="">make·opt307 </span><span·class="gp·unselectable">$·</span><span·class="">make·opt
308 </span></code></pre><p>Note·that·you're·expected·to·have·a·fresh·Erlang·in·your·path·when308 </span></code></pre><p>Note·that·you're·expected·to·have·a·fresh·Erlang·in·your·path·when
309 doing·this,·preferably·the·plain·28·you·have·built·in·the·previous309 doing·this,·preferably·the·plain·28·you·have·built·in·the·previous
Offset 318, 19 lines modifiedOffset 318, 19 lines modified
318 </span><span·class="">:$ERL_TOP/erts/etc/win32/wsl_tools:$ERL_TOP/bootstrap/bin:$PATH318 </span><span·class="">:$ERL_TOP/erts/etc/win32/wsl_tools:$ERL_TOP/bootstrap/bin:$PATH
319 </span></code></pre><p>That·should·make·it·possible·to·rebuild·any·library·without·hassle...</p><p>If·you·want·to·copy·a·library·(an·application)·newly·built,·to·a319 </span></code></pre><p>That·should·make·it·possible·to·rebuild·any·library·without·hassle...</p><p>If·you·want·to·copy·a·library·(an·application)·newly·built,·to·a
320 release·area,·you·do·like·with·the·emulator:</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP/lib/stdlib320 release·area,·you·do·like·with·the·emulator:</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP/lib/stdlib
321 </span><span·class="gp·unselectable">$·</span><span·class="">make·TESTROOT=/tmp/erlang_release·release321 </span><span·class="gp·unselectable">$·</span><span·class="">make·TESTROOT=/tmp/erlang_release·release
322 </span></code></pre><p>Remember·that:</p><ul><li><p>··Windows·specific·C-code·goes·in·the·<code·class="inline">$ERL_TOP/erts/emulator/sys/win32</code>,322 </span></code></pre><p>Remember·that:</p><ul><li><p>··Windows·specific·C-code·goes·in·the·<code·class="inline">$ERL_TOP/erts/emulator/sys/win32</code>,
323 <code·class="inline">$ERL_TOP/erts/emulator/drivers/win32</code>·or·<code·class="inline">$ERL_TOP/erts/etc/win32</code>.</p></li><li><p>··Windows·specific·erlang·code·should·be·used·conditionally·and·the323 <code·class="inline">$ERL_TOP/erts/emulator/drivers/win32</code>·or·<code·class="inline">$ERL_TOP/erts/etc/win32</code>.</p></li><li><p>··Windows·specific·erlang·code·should·be·used·conditionally·and·the
324 host·OS·tested·in·<em>runtime</em>,·the·exactly·same·beam·files·should·be324 host·OS·tested·in·<em>runtime</em>,·the·exactly·same·beam·files·should·be
325 distributed·for·every·platform!·So·write·code·like:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">type</span><span·class="p"·data-group-id="0056306133-1">(</span><span·class="p"·data-group-id="0056306133-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="2552712111-1">(</span><span·class="p"·data-group-id="2552712111-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
326 ····</span><span·class="p"·data-group-id="0056306133-2">{</span><span·class="ss">win32</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="0056306133-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">326 ····</span><span·class="p"·data-group-id="2552712111-2">{</span><span·class="ss">win32</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="2552712111-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="0056306133-3">(</span><span·class="p"·data-group-id="0056306133-3">)</span><span·class="p">;</span><span·class="w">327 ········</span><span·class="nf">do_windows_specific</span><span·class="p"·data-group-id="2552712111-3">(</span><span·class="p"·data-group-id="2552712111-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="0056306133-4">(</span><span·class="p"·data-group-id="0056306133-4">)</span><span·class="w">329 ········</span><span·class="nf">do_fallback_or_exit</span><span·class="p"·data-group-id="2552712111-4">(</span><span·class="p"·data-group-id="2552712111-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 661, 15 lines modifiedOffset 661, 15 lines modified
661 ······<p·class="built-using">661 ······<p·class="built-using">
662 ········Built·using662 ········Built·using
663 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the663 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
664 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>664 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
665 ······</p>665 ······</p>
666 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>666 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
667 ····</footer>667 ····</footer>
668 ··</div>668 ··</div>
669 </main>669 </main>
670 </div>670 </div>
671 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>671 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
672 ··<script>672 ··<script>
673 ··let·initialized·=·false;673 ··let·initialized·=·false;
666 B
html2text {}
Max HTML report size reached
1.7 KB
./usr/share/doc/erlang-doc/html/doc/system/installation_guide.html
    
Offset 171, 15 lines modifiedOffset 171, 15 lines modified
171 ······<p·class="built-using">171 ······<p·class="built-using">
172 ········Built·using172 ········Built·using
173 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the173 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
174 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>174 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
175 ······</p>175 ······</p>
176 <p>Copyright·©·1996-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
93.8 KB
./usr/share/doc/erlang-doc/html/doc/system/list_comprehensions.html
    
Offset 117, 36 lines modifiedOffset 117, 36 lines modified
  
117 <h2·id="simple-examples"·class="section-heading">117 <h2·id="simple-examples"·class="section-heading">
118 ··<a·href="#simple-examples"·class="hover-link">118 ··<a·href="#simple-examples"·class="hover-link">
119 ····<i·class="ri-link-m"·aria-hidden="true"></i>119 ····<i·class="ri-link-m"·aria-hidden="true"></i>
120 ··</a>120 ··</a>
121 ··<span·class="text">Simple·Examples</span>121 ··<span·class="text">Simple·Examples</span>
122 </h2>122 </h2>
123 <p>This·section·starts·with·a·simple·example,·showing·a·generator·and·a·filter:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="5487060554-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="54870[·...·truncated·by·diffoscope;·len:·651,·SHA:·6e1b428e443ca5f588693d95c1a9c7ba10a86c04f943d89d44b56cee75ec2ace·...·]-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="7242009958-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="72420[·...·truncated·by·diffoscope;·len:·651,·SHA:·c0ee14a4888b8735d228219f32fce382aaf24c9ff4bf5c894c5351991cfeb459·...·]-1">]</span><span·class="p">.</span><span·class="w">
124 </span><span·class="p"·data-group-id="5487060554-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:·d0082907a809a724515bbafb2569c975657d0ff26261432404d5009609d73c73·...·]-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="7242009958-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:·379b166037eb0ec45a88c390ad4c6db85a3a591f890d14737dba273bccea5bff·...·]-3">]</span></code></pre><p>This·is·read·as·follows:·The·list·of·X·such·that·X·is·taken·from·the·list
125 <code·class="inline">[1,2,a,...]</code>·and·X·is·greater·than·3.</p><p>The·notation·<code·class="inline">X·&lt;:-·[1,2,a,...]</code>·is·a·generator·and·the·expression·<code·class="inline">X·&gt;·3</code>·is·a125 <code·class="inline">[1,2,a,...]</code>·and·X·is·greater·than·3.</p><p>The·notation·<code·class="inline">X·&lt;:-·[1,2,a,...]</code>·is·a·generator·and·the·expression·<code·class="inline">X·&gt;·3</code>·is·a
126 filter.</p><p>An·additional·filter,·<a·href="../../erts-16.0/doc/html/erlang.html#is_integer/1"><code·class="inline">is_integer(X)</code></a>,·can·be·added·to126 filter.</p><p>An·additional·filter,·<a·href="../../erts-16.0/doc/html/erlang.html#is_integer/1"><code·class="inline">is_integer(X)</code></a>,·can·be·added·to
127 restrict·the·result·to·integers:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="4753811480-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="47538[·...·truncated·by·diffoscope;·len:·863,·SHA:·042f26373f7fa26978d7521ca8b7d19295e7e8b26ab472f79f784600bb54243d·...·]-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="3133201761-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="31332[·...·truncated·by·diffoscope;·len:·863,·SHA:·9fb599ee8bfc9f3863e0670c8fa19eeff18e38a73b782fb5cf88850c6610a12d·...·]-1">]</span><span·class="p">.</span><span·class="w">
128 </span><span·class="p"·data-group-id="4753811480-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="4753811480-4">]</span></code></pre><p>Generators·can·be·combined·in·two·ways.·For·example,·the·Cartesian·product·of128 </span><span·class="p"·data-group-id="3133201761-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="3133201761-4">]</span></code></pre><p>Generators·can·be·combined·in·two·ways.·For·example,·the·Cartesian·product·of
129 two·lists·can·be·written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="4048454266-1">[</span><span·class="p"·data-group-id="4048454266-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="4048454266-2">}</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·741,·SHA:·7fa1f1f0ff192b15351a4417de816b7d75fce80b416e12e55d7e5964d97c1a65·...·]-1">]</span><span·class="p">.</span><span·class="w">129 two·lists·can·be·written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="8806319021-1">[</span><span·class="p"·data-group-id="8806319021-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="8806319021-2">}</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·741,·SHA:·0382b3d71e1046aae687b64b3ece4dd42c5cd27570d15ebb60c94d2dd8b578fc·...·]-1">]</span><span·class="p">.</span><span·class="w">
130 </span><span·class="p"·data-group-id="4048454266-5">[</span><span·class="p"·data-group-id="4048454266-6">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="4048454266-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·1011,·SHA:·998441dba86fa64b83e3cb6f76ec391674148af04238959e0fb7e923fd211e01·...·]-5">]</span></code></pre><p>Alternatively,·two·lists·can·be·zipped·together·using·a·zip·generator·as130 </span><span·class="p"·data-group-id="8806319021-5">[</span><span·class="p"·data-group-id="8806319021-6">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="8806319021-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·1011,·SHA:·81adf26622cc5cc41013197f98945257866d1ac37e3a59710cf9cc041f4d1a61·...·]-5">]</span></code></pre><p>Alternatively,·two·lists·can·be·zipped·together·using·a·zip·generator·as
131 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="8075364312-1">[</span><span·class="p"·data-group-id="8075364312-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="8075364312-2">}</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·822,·SHA:·94104ea057de44ac53f8117d7ee64229dedce808def94f272d0210542e624ac2·...·]2-1">]</span><span·class="p">.</span><span·class="w">131 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="7156404532-1">[</span><span·class="p"·data-group-id="7156404532-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="7156404532-2">}</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·822,·SHA:·07472af524d277a21f23353622d99dbe2e43c9f420b52fd305d756d04e670ba3·...·]2-1">]</span><span·class="p">.</span><span·class="w">
132 </span><span·class="p"·data-group-id="8075364312-5">[</span><span·class="p"·data-group-id="8075364312-6">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="8075364312-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·394,·SHA:·99a7549dd55f26b8932a05bc185ef5d7cd2469234cd06c1b54b16200f00db19c·...·]2-5">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Strict·generators·are·used·by·default·in·the·examples.·More·details·and132 </span><span·class="p"·data-group-id="7156404532-5">[</span><span·class="p"·data-group-id="7156404532-6">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="7156404532-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·394,·SHA:·4b0519848bd3a072345d8a731faf69c216e8607cecbe0a76643642b0d438a5a2·...·]2-5">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Strict·generators·are·used·by·default·in·the·examples.·More·details·and
133 comparisons·can·be·found·in·<a·href="#strict-and-relaxed-generators">Strict·and·Relaxed·Generators</a>.</p></section><h2·id="quick-sort"·class="section-heading">133 comparisons·can·be·found·in·<a·href="#strict-and-relaxed-generators">Strict·and·Relaxed·Generators</a>.</p></section><h2·id="quick-sort"·class="section-heading">
134 ··<a·href="#quick-sort"·class="hover-link">134 ··<a·href="#quick-sort"·class="hover-link">
135 ····<i·class="ri-link-m"·aria-hidden="true"></i>135 ····<i·class="ri-link-m"·aria-hidden="true"></i>
136 ··</a>136 ··</a>
137 ··<span·class="text">Quick·Sort</span>137 ··<span·class="text">Quick·Sort</span>
138 </h2>138 </h2>
139 <p>The·well-known·quick·sort·routine·can·be·written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sort</span><span·class="p"·data-group-id="7621672220-1">(</span><span·class="p"·data-group-id="7621672220-2">[</span><span·class="p"·data-group-id="7621672220-2">]</span><span·class="p"·data-group-id="7621672220-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·faed8ce5cdf000d81e5d2bc8943f0875fca5022561086cc53344af4a34801d3d·...·]-3">]</span><span·class="p">;</span><span·class="w">139 <p>The·well-known·quick·sort·routine·can·be·written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sort</span><span·class="p"·data-group-id="1077916471-1">(</span><span·class="p"·data-group-id="1077916471-2">[</span><span·class="p"·data-group-id="1077916471-2">]</span><span·class="p"·data-group-id="1077916471-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·dfb2a77cc6466d9c17502aa9587dbfda823bcc662f3c709f56737b9d2c391511·...·]-3">]</span><span·class="p">;</span><span·class="w">
140 </span><span·class="nf">sort</span><span·class="p"·data-group-id="7621672220-4">(</span><span·class="p"·data-group-id="7621672220-5">[</span><span·class="p">_</span><span·class="p"·data-group-id="7621672220-5">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·a0a8feaff1d70a344f4f6090c6d8c309737ba539659f9b5fc4cb8982a157c0ae·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">L</span><span·class="p">;</span><span·class="w">140 </span><span·class="nf">sort</span><span·class="p"·data-group-id="1077916471-4">(</span><span·class="p"·data-group-id="1077916471-5">[</span><span·class="p">_</span><span·class="p"·data-group-id="1077916471-5">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·f88d42976beacb9fc3b6e17555711ae23b30d8ec9113c77e90d9122cac761ef2·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">L</span><span·class="p">;</span><span·class="w">
141 </span><span·class="nf">sort</span><span·class="p"·data-group-id="7621672220-6">(</span><span·class="p"·data-group-id="7621672220-7">[</span><span·class="n">Pivot</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="7621672220-7">]</span><span·class="p"·data-group-id="7621672220-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">141 </span><span·class="nf">sort</span><span·class="p"·data-group-id="1077916471-6">(</span><span·class="p"·data-group-id="1077916471-7">[</span><span·class="n">Pivot</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="1077916471-7">]</span><span·class="p"·data-group-id="1077916471-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
142 ····</span><span·class="nf">sort</span><span·class="p"·data-group-id="7621672220-8">(</span><span·class="p"·data-group-id="7621672220-9">[</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·334,·SHA:·6431e607e5de98ce8e265563c1dd5b166226b2664bdead433d07acfc755db990·...·]-8">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">142 ····</span><span·class="nf">sort</span><span·class="p"·data-group-id="1077916471-8">(</span><span·class="p"·data-group-id="1077916471-9">[</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·334,·SHA:·0e8d9b72c6b6f54e585b19bfb715b7329854f043307d363c4ef061368db828d6·...·]-8">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">
143 ····</span><span·class="p"·data-group-id="7621672220-10">[</span><span·class="n">Pivot</span><span·class="p"·data-group-id="7621672220-10">]</span><span·class="w">·</span><span·class="o">++</span><span·class="w">143 ····</span><span·class="p"·data-group-id="1077916471-10">[</span><span·class="n">Pivot</span><span·class="p"·data-group-id="1077916471-10">]</span><span·class="w">·</span><span·class="o">++</span><span·class="w">
144 ····</span><span·class="nf">sort</span><span·class="p"·data-group-id="7621672220-11">(</span><span·class="p"·data-group-id="7621672220-12">[</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·338,·SHA:·b1f6bd7230ebde2a240e40e511bc7514120c2f5ecef70504e5801d7304363d53·...·]-11">)</span><span·class="p">.</span></code></pre><p>The·expression·<code·class="inline">[X·||·X·&lt;:-·T,·X·&lt;·Pivot]</code>·is·the·list·of·all·elements·in·<code·class="inline">T</code>144 ····</span><span·class="nf">sort</span><span·class="p"·data-group-id="1077916471-11">(</span><span·class="p"·data-group-id="1077916471-12">[</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·338,·SHA:·5804f2cb175ecb0f5563c873df4ac05c03e77fb3a954527d397948eb62622072·...·]-11">)</span><span·class="p">.</span></code></pre><p>The·expression·<code·class="inline">[X·||·X·&lt;:-·T,·X·&lt;·Pivot]</code>·is·the·list·of·all·elements·in·<code·class="inline">T</code>
145 that·are·less·than·<code·class="inline">Pivot</code>.</p><p><code·class="inline">[X·||·X·&lt;:-·T,·X·&gt;=·Pivot]</code>·is·the·list·of·all·elements·in·<code·class="inline">T</code>·that·are·greater145 that·are·less·than·<code·class="inline">Pivot</code>.</p><p><code·class="inline">[X·||·X·&lt;:-·T,·X·&gt;=·Pivot]</code>·is·the·list·of·all·elements·in·<code·class="inline">T</code>·that·are·greater
146 than·or·equal·to·<code·class="inline">Pivot</code>.</p><p>With·the·algorithm·above,·a·list·is·sorted·as·follows:</p><ul><li>A·list·with·zero·or·one·element·is·trivially·sorted.</li><li>For·lists·with·more·than·one·element:<ol><li>The·first·element·in·the·list·is·isolated·as·the·pivot·element.</li><li>The·remaining·list·is·partitioned·into·two·sublists,·such·that:</li></ol><ul><li>The·first·sublist·contains·all·elements·that·are·smaller·than·the·pivot146 than·or·equal·to·<code·class="inline">Pivot</code>.</p><p>With·the·algorithm·above,·a·list·is·sorted·as·follows:</p><ul><li>A·list·with·zero·or·one·element·is·trivially·sorted.</li><li>For·lists·with·more·than·one·element:<ol><li>The·first·element·in·the·list·is·isolated·as·the·pivot·element.</li><li>The·remaining·list·is·partitioned·into·two·sublists,·such·that:</li></ol><ul><li>The·first·sublist·contains·all·elements·that·are·smaller·than·the·pivot
147 element.</li><li>The·second·sublist·contains·all·elements·that·are·greater·than·or·equal·to147 element.</li><li>The·second·sublist·contains·all·elements·that·are·greater·than·or·equal·to
148 the·pivot·element.</li></ul><ol><li>The·sublists·are·recursively·sorted·by·the·same·algorithm·and·the·results148 the·pivot·element.</li></ul><ol><li>The·sublists·are·recursively·sorted·by·the·same·algorithm·and·the·results
149 are·combined,·resulting·in·a·list·consisting·of:</li></ol><ul><li>All·elements·from·the·first·sublist,·that·is·all·elements·smaller·than·the149 are·combined,·resulting·in·a·list·consisting·of:</li></ol><ul><li>All·elements·from·the·first·sublist,·that·is·all·elements·smaller·than·the
150 pivot·element,·in·sorted·order.</li><li>The·pivot·element.</li><li>All·elements·from·the·second·sublist,·that·is·all·elements·greater·than·or150 pivot·element,·in·sorted·order.</li><li>The·pivot·element.</li><li>All·elements·from·the·second·sublist,·that·is·all·elements·greater·than·or
151 equal·to·the·pivot·element,·in·sorted·order.</li></ul></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>While·the·sorting·algorithm·as·shown·above·serves·as·a·nice·example·to151 equal·to·the·pivot·element,·in·sorted·order.</li></ul></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>While·the·sorting·algorithm·as·shown·above·serves·as·a·nice·example·to
Offset 154, 127 lines modifiedOffset 154, 127 lines modified
154 <a·href="../../lib/stdlib-7.0/doc/html/lists.html"><code·class="inline">lists</code></a>·module·contains·sorting·functions·that·are·implemented·in·a·more154 <a·href="../../lib/stdlib-7.0/doc/html/lists.html"><code·class="inline">lists</code></a>·module·contains·sorting·functions·that·are·implemented·in·a·more
155 efficient·way.</p></section><h2·id="permutations"·class="section-heading">155 efficient·way.</p></section><h2·id="permutations"·class="section-heading">
156 ··<a·href="#permutations"·class="hover-link">156 ··<a·href="#permutations"·class="hover-link">
157 ····<i·class="ri-link-m"·aria-hidden="true"></i>157 ····<i·class="ri-link-m"·aria-hidden="true"></i>
158 ··</a>158 ··</a>
159 ··<span·class="text">Permutations</span>159 ··<span·class="text">Permutations</span>
160 </h2>160 </h2>
161 <p>The·following·example·generates·all·permutations·of·the·elements·in·a·list:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">perms</span><span·class="p"·data-group-id="9237310297-1">(</span><span·class="p"·data-group-id="9237310297-2">[</span><span·class="p"·data-group-id="9237310297-2">]</span><span·class="p"·data-group-id="9237310297-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·201,·SHA:·79c879360f1e32d263afd34d30e84da2a4eb2fe2ed232e18225fa781fc191d24·...·]-3">]</span><span·class="p">;</span><span·class="w">161 <p>The·following·example·generates·all·permutations·of·the·elements·in·a·list:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">perms</span><span·class="p"·data-group-id="4923083384-1">(</span><span·class="p"·data-group-id="4923083384-2">[</span><span·class="p"·data-group-id="4923083384-2">]</span><span·class="p"·data-group-id="4923083384-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·201,·SHA:·57b8dd35362ef807dd920512aaa0c83e0540a7d4d52c3b2ff7d0b585a4d4c0e4·...·]-3">]</span><span·class="p">;</span><span·class="w">
162 </span><span·class="nf">perms</span><span·class="p"·data-group-id="9237310297-5">(</span><span·class="n">L</span><span·class="p"·data-group-id="9237310297-5">)</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9237310297-6">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·853,·SHA:·114c42afd594c5b446b18d5b3fbced7ae84477864517613c5dae2472aa797bf3·...·]-6">]</span><span·class="p">.</span></code></pre><p>This·takes·<code·class="inline">H</code>·from·<code·class="inline">L</code>·in·all·possible·ways.·The·result·is·the·set·of·all·lists162 </span><span·class="nf">perms</span><span·class="p"·data-group-id="4923083384-5">(</span><span·class="n">L</span><span·class="p"·data-group-id="4923083384-5">)</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4923083384-6">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·853,·SHA:·e2dc1c4de1af02e9ed56d284f72da9551ffe1e725f385178e86a6a9626328d01·...·]-6">]</span><span·class="p">.</span></code></pre><p>This·takes·<code·class="inline">H</code>·from·<code·class="inline">L</code>·in·all·possible·ways.·The·result·is·the·set·of·all·lists
163 <code·class="inline">[H|T]</code>,·where·<code·class="inline">T</code>·is·the·set·of·all·possible·permutations·of·<code·class="inline">L</code>,·with·<code·class="inline">H</code>163 <code·class="inline">[H|T]</code>,·where·<code·class="inline">T</code>·is·the·set·of·all·possible·permutations·of·<code·class="inline">L</code>,·with·<code·class="inline">H</code>
164 removed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">perms</span><span·class="p"·data-group-id="5494767700-1">(</span><span·class="p"·data-group-id="5494767700-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="5494767700-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·02a6ca5b0f062e6d4d5a368c64b5cc895e64da493545b8c2608c802faf843856·...·]-1">)</span><span·class="p">.</span><span·class="w">164 removed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">perms</span><span·class="p"·data-group-id="0692326592-1">(</span><span·class="p"·data-group-id="0692326592-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="0692326592-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·280721c2b7085c0159d177af5fce57fe37a2d717be674d29170bdd43acfde712·...·]-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="5494767700-3">[</span><span·class="p"·data-group-id="5494767700-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="5494767700-4">]</span><span[·...·truncated·by·diffoscope;·len:·1301,·SHA:·fe4395ed265d6990d52f04fb02ab987d927efc4c62c15b7570722b534983c0df·...·]-3">]</span></code></pre><h2·id="pythagorean-triplets"·class="section-heading">165 </span><span·class="p"·data-group-id="0692326592-3">[</span><span·class="p"·data-group-id="0692326592-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="0692326592-4">]</span><span[·...·truncated·by·diffoscope;·len:·1301,·SHA:·257d7953dd6716e7a7188e3b7cdc9153dc85981e2928802585fb802dee44d2b2·...·]-3">]</span></code></pre><h2·id="pythagorean-triplets"·class="section-heading">
166 ··<a·href="#pythagorean-triplets"·class="hover-link">166 ··<a·href="#pythagorean-triplets"·class="hover-link">
167 ····<i·class="ri-link-m"·aria-hidden="true"></i>167 ····<i·class="ri-link-m"·aria-hidden="true"></i>
168 ··</a>168 ··</a>
169 ··<span·class="text">Pythagorean·Triplets</span>169 ··<span·class="text">Pythagorean·Triplets</span>
170 </h2>170 </h2>
171 <p>Pythagorean·triplets·are·sets·of·integers·<code·class="inline">{A,B,C}</code>·such·that171 <p>Pythagorean·triplets·are·sets·of·integers·<code·class="inline">{A,B,C}</code>·such·that
172 <code·class="inline">A**2·+·B**2·=·C**2</code>.</p><p>The·function·<code·class="inline">pyth(N)</code>·generates·a·list·of·all·integers·<code·class="inline">{A,B,C}</code>·such·that172 <code·class="inline">A**2·+·B**2·=·C**2</code>.</p><p>The·function·<code·class="inline">pyth(N)</code>·generates·a·list·of·all·integers·<code·class="inline">{A,B,C}</code>·such·that
173 <code·class="inline">A**2·+·B**2·=·C**2</code>·and·where·the·sum·of·the·sides·is·equal·to,·or·less·than,173 <code·class="inline">A**2·+·B**2·=·C**2</code>·and·where·the·sum·of·the·sides·is·equal·to,·or·less·than,
174 <code·class="inline">N</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">pyth</span><span·class="p"·data-group-id="0278139256-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="0278139256-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">174 <code·class="inline">N</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">pyth</span><span·class="p"·data-group-id="7069327071-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="7069327071-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
175 ····</span><span·class="p"·data-group-id="0278139256-2">[</span><span·class="w">·</span><span·class="p"·data-group-id="0278139256-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="027813[·...·truncated·by·diffoscope;·len:·4,·SHA:·fb3e6fee9571ed193afbe65330beec5c0646dfcde24c58c571621f21218dc974·...·]-3">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">175 ····</span><span·class="p"·data-group-id="7069327071-2">[</span><span·class="w">·</span><span·class="p"·data-group-id="7069327071-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="706932[·...·truncated·by·diffoscope;·len:·4,·SHA:·7602fff35469bf46e2cc9d8c34ba930786bd83cbd2b53c192a47cf3bcc3404d0·...·]-3">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">
176 ········</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="0278139256-4">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="0278139256-4">)</span><span·class="p">,</span><span·class="w">176 ········</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="7069327071-4">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="7069327071-4">)</span><span·class="p">,</span><span·class="w">
177 ········</span><span·class="n">B</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="0278139256-5">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="0278139256-5">)</span><span·class="p">,</span><span·class="w">177 ········</span><span·class="n">B</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="7069327071-5">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="7069327071-5">)</span><span·class="p">,</span><span·class="w">
178 ········</span><span·class="n">C</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="0278139256-6">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="0278139256-6">)</span><span·class="p">,</span><span·class="w">178 ········</span><span·class="n">C</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="7069327071-6">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="7069327071-6">)</span><span·class="p">,</span><span·class="w">
179 ········</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">+</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">179 ········</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">+</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">
180 ········</span><span·class="n">A</span><span·class="o">*</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">*</span><span·class="n">B</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">C</span><span·class="o">*</span><span·class="n">C</span><span·class="w">180 ········</span><span·class="n">A</span><span·class="o">*</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">*</span><span·class="n">B</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">C</span><span·class="o">*</span><span·class="n">C</span><span·class="w">
181 ····</span><span·class="p"·data-group-id="0278139256-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="4769443240-1">(</span><span·class="mi">3</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·ce59f401825cbf10f2d22f1365263578961d5b98454f6078a0130c71725483d9·...·]-1">)</span><span·class="p">.</span><span·class="w">181 ····</span><span·class="p"·data-group-id="7069327071-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="8059942267-1">(</span><span·class="mi">3</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·0bb670d3d73103603280db584edf1b1574e7b3b2e285b666efd9732525e597c5·...·]-1">)</span><span·class="p">.</span><span·class="w">
182 </span><span·class="p"·data-group-id="4769443240-2">[</span><span·class="p"·data-group-id="4769443240-2">]</span><span·class="p">.</span><span·class="gp·unselectable">182 </span><span·class="p"·data-group-id="8059942267-2">[</span><span·class="p"·data-group-id="8059942267-2">]</span><span·class="p">.</span><span·class="gp·unselectable">
183 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="4769443240-3">(</span><span·class="mi">11</span><span·class="p"·data-group-id="4769443240-3">)</span><span·class="p">.</span><span·class="w">183 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="8059942267-3">(</span><span·class="mi">11</span><span·class="p"·data-group-id="8059942267-3">)</span><span·class="p">.</span><span·class="w">
184 </span><span·class="p"·data-group-id="4769443240-4">[</span><span·class="p"·data-group-id="4769443240-4">]</span><span·class="p">.</span><span·class="gp·unselectable">184 </span><span·class="p"·data-group-id="8059942267-4">[</span><span·class="p"·data-group-id="8059942267-4">]</span><span·class="p">.</span><span·class="gp·unselectable">
185 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="4769443240-5">(</span><span·class="mi">12</span><span·class="p"·data-group-id="4769443240-5">)</span><span·class="p">.</span><span·class="w">185 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="8059942267-5">(</span><span·class="mi">12</span><span·class="p"·data-group-id="8059942267-5">)</span><span·class="p">.</span><span·class="w">
186 </span><span·class="p"·data-group-id="4769443240-6">[</span><span·class="p"·data-group-id="4769443240-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="4769443240-7">}</span><span[·...·truncated·by·diffoscope;·len:·289,·SHA:·cba293f6e06c0da59892c7fee6e0ef47f9e08d1e330bb98cb5d788bcfe6d9973·...·]-6">]</span><span·class="gp·unselectable">186 </span><span·class="p"·data-group-id="8059942267-6">[</span><span·class="p"·data-group-id="8059942267-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="8059942267-7">}</span><span[·...·truncated·by·diffoscope;·len:·289,·SHA:·183b450afa2b4ee3dabc51222a7ab10d26117f0674192b39932b2478bae4f1af·...·]-6">]</span><span·class="gp·unselectable">
187 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="4769443240-9">(</span><span·class="mi">50</span><span·class="p"·data-group-id="4769443240-9">)</span><span·class="p">.</span><span·class="w">187 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="8059942267-9">(</span><span·class="mi">50</span><span·class="p"·data-group-id="8059942267-9">)</span><span·class="p">.</span><span·class="w">
188 </span><span·class="p"·data-group-id="4769443240-10">[</span><span·class="p"·data-group-id="4769443240-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="4769443240-11">}</span><span·class="p">,</span><span·class="w">188 </span><span·class="p"·data-group-id="8059942267-10">[</span><span·class="p"·data-group-id="8059942267-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="8059942267-11">}</span><span·class="p">,</span><span·class="w">
189 ·</span><span·class="p"·data-group-id="4769443240-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="4769443240-12">}</span><span·class="p">,</span><span·class="w">189 ·</span><span·class="p"·data-group-id="8059942267-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="8059942267-12">}</span><span·class="p">,</span><span·class="w">
190 ·</span><span·class="p"·data-group-id="4769443240-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="4769443240-13">}</span><span·class="p">,</span><span·class="w">190 ·</span><span·class="p"·data-group-id="8059942267-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="8059942267-13">}</span><span·class="p">,</span><span·class="w">
191 ·</span><span·class="p"·data-group-id="4769443240-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="4769443240-14">}</span><span·class="p">,</span><span·class="w">191 ·</span><span·class="p"·data-group-id="8059942267-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="8059942267-14">}</span><span·class="p">,</span><span·class="w">
192 ·</span><span·class="p"·data-group-id="4769443240-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="4769443240-15">}</span><span·class="p">,</span><span·class="w">192 ·</span><span·class="p"·data-group-id="8059942267-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="8059942267-15">}</span><span·class="p">,</span><span·class="w">
193 ·</span><span·class="p"·data-group-id="4769443240-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="4769443240-16">}</span><span·class="p">,</span><span·class="w">193 ·</span><span·class="p"·data-group-id="8059942267-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="8059942267-16">}</span><span·class="p">,</span><span·class="w">
194 ·</span><span·class="p"·data-group-id="4769443240-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="4769443240-17">}</span><span·class="p">,</span><span·class="w">194 ·</span><span·class="p"·data-group-id="8059942267-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="8059942267-17">}</span><span·class="p">,</span><span·class="w">
195 ·</span><span·class="p"·data-group-id="4769443240-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="4769443240-18">}</span><span·class="p">,</span><span·class="w">195 ·</span><span·class="p"·data-group-id="8059942267-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="8059942267-18">}</span><span·class="p">,</span><span·class="w">
196 ·</span><span·class="p"·data-group-id="4769443240-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="4769443240-19">}</span><span·class="p">,</span><span·class="w">196 ·</span><span·class="p"·data-group-id="8059942267-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="8059942267-19">}</span><span·class="p">,</span><span·class="w">
197 ·</span><span·class="p"·data-group-id="4769443240-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="4769443240-20">}</span><span·class="p">,</span><span·class="w">197 ·</span><span·class="p"·data-group-id="8059942267-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="8059942267-20">}</span><span·class="p">,</span><span·class="w">
198 ·</span><span·class="p"·data-group-id="4769443240-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="4769443240-21">}</span><span·class="p">,</span><span·class="w">198 ·</span><span·class="p"·data-group-id="8059942267-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="8059942267-21">}</span><span·class="p">,</span><span·class="w">
199 ·</span><span·class="p"·data-group-id="4769443240-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="4769443240-22">}</span><span·class="p"·data-group-id="4769443240-10">]</span[·...·truncated·by·diffoscope;·len:·280,·SHA:·cdbd314bdb3b211224feed0e627f21b73ed55bd9d94be7f603afb3300c62d557·...·]26-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">199 ·</span><span·class="p"·data-group-id="8059942267-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="8059942267-22">}</span><span·class="p"·data-group-id="8059942267-10">]</span[·...·truncated·by·diffoscope;·len:·280,·SHA:·cf4a2d6bd9be1be70462a89c4ccaf04641d5ecfd49946dbf3f9a81a9ef6f5a5d·...·]26-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
200 ···</span><span·class="p"·data-group-id="4570357026-2">[</span><span·class="p"·data-group-id="4570357026-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="4570357026-3">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">200 ···</span><span·class="p"·data-group-id="0255404126-2">[</span><span·class="p"·data-group-id="0255404126-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="0255404126-3">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">
201 ·······</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="4570357026-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="4570357026-4">)</span><span·class="p">,</span><span·class="w">201 ·······</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="0255404126-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="0255404126-4">)</span><span·class="p">,</span><span·class="w">
202 ·······</span><span·class="n">B</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="4570357026-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="4570357026-5">)</span><span·class="p">,</span><span·class="w">202 ·······</span><span·class="n">B</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="0255404126-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="0255404126-5">)</span><span·class="p">,</span><span·class="w">
203 ·······</span><span·class="n">C</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="4570357026-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="4570357026-6">)</span><span·class="p">,</span><span·class="w">203 ·······</span><span·class="n">C</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="0255404126-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="0255404126-6">)</span><span·class="p">,</span><span·class="w">
204 ·······</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">+</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">204 ·······</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">+</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">
205 ·······</span><span·class="n">A</span><span·class="o">*</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">*</span><span·class="n">B</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">C</span><span·class="o">*</span><span·class="n">C</span><span·class="w">·</span><span·class="p"·data-group-id="4570357026-2">]</span><span·class="p">.</span></code></pre><h2·id="simplifications-with-list-comprehensions"·class="section-heading">205 ·······</span><span·class="n">A</span><span·class="o">*</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">*</span><span·class="n">B</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">C</span><span·class="o">*</span><span·class="n">C</span><span·class="w">·</span><span·class="p"·data-group-id="0255404126-2">]</span><span·class="p">.</span></code></pre><h2·id="simplifications-with-list-comprehensions"·class="section-heading">
206 ··<a·href="#simplifications-with-list-comprehensions"·class="hover-link">206 ··<a·href="#simplifications-with-list-comprehensions"·class="hover-link">
207 ····<i·class="ri-link-m"·aria-hidden="true"></i>207 ····<i·class="ri-link-m"·aria-hidden="true"></i>
208 ··</a>208 ··</a>
209 ··<span·class="text">Simplifications·With·List·Comprehensions</span>209 ··<span·class="text">Simplifications·With·List·Comprehensions</span>
210 </h2>210 </h2>
211 <p>As·an·example,·list·comprehensions·can·be·used·to·simplify·some·of·the·functions211 <p>As·an·example,·list·comprehensions·can·be·used·to·simplify·some·of·the·functions
212 in·<code·class="inline">lists.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">append</span><span·class="p"·data-group-id="6968577939-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="6968577939-1">)</span><span·class="w">···</span><span·class="p">-&gt;</span><span·class="w">··</span><span·class="p"·data-group-id="6968577939-2">[</span><span·class="n">X</span><[·...·truncated·by·diffoscope;·len:·413,·SHA:·442c07f2482f0bdd5b722e671120baabf1d406d77494eb2d410b070a8c50faed·...·]-2">]</span><span·class="p">.</span><span·class="w">212 in·<code·class="inline">lists.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">append</span><span·class="p"·data-group-id="8992841147-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="8992841147-1">)</span><span·class="w">···</span><span·class="p">-&gt;</span><span·class="w">··</span><span·class="p"·data-group-id="8992841147-2">[</span><span·class="n">X</span><[·...·truncated·by·diffoscope;·len:·413,·SHA:·a1a345beaca7c0fab493f3317fd49f8382e80bdaef0ffc9dcf738310bc5c5598·...·]-2">]</span><span·class="p">.</span><span·class="w">
213 </span><span·class="nf">map</span><span·class="p"·data-group-id="6968577939-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="6968577939-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·441,·SHA:·15858c5aeb515d8985da8404b8028917a6f1e7ed7b6397d1524e99ba3f9bf677·...·]-4">]</span><span·class="p">.</span><span·class="w">213 </span><span·class="nf">map</span><span·class="p"·data-group-id="8992841147-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="8992841147-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·441,·SHA:·91e1bb6d031ca285a688a04310f5d0aad80c3406c77d5f3d2cbaa3b661b7ea27·...·]-4">]</span><span·class="p">.</span><span·class="w">
214 </span><span·class="nf">filter</span><span·class="p"·data-group-id="6968577939-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="6968577939-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·515,·SHA:·75d4565b6d1bd5d374001b50b49454795b0be64c1e4d90331d925f427ae804f3·...·]-7">]</span><span·class="p">.</span><span·class="w">214 </span><span·class="nf">filter</span><span·class="p"·data-group-id="8992841147-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="8992841147-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·515,·SHA:·f310a0fdde0b0927f46ddc77a2c11edc904b71b0b11dedfb7db2df3b3379dd67·...·]-7">]</span><span·class="p">.</span><span·class="w">
215 </span><span·class="nf">zip</span><span·class="p"·data-group-id="6968577939-9">(</span><span·class="n">L1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L2</span><span·class="p"·data-group-id="6968577939-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·674,·SHA:·b22dfb168896ab799e2a627eb34869b23d2dbc3ab42aee48089a10c49c59f87e·...·]-10">]</span><span·class="p">.</span></code></pre><h2·id="variable-bindings-in-list-comprehensions"·class="section-heading">215 </span><span·class="nf">zip</span><span·class="p"·data-group-id="8992841147-9">(</span><span·class="n">L1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L2</span><span·class="p"·data-group-id="8992841147-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·674,·SHA:·81f1b0cce3f40de7ca8237e1ea1a0f7ac6dc84c9f5dadb50ee33cca20192cf45·...·]-10">]</span><span·class="p">.</span></code></pre><h2·id="variable-bindings-in-list-comprehensions"·class="section-heading">
216 ··<a·href="#variable-bindings-in-list-comprehensions"·class="hover-link">216 ··<a·href="#variable-bindings-in-list-comprehensions"·class="hover-link">
217 ····<i·class="ri-link-m"·aria-hidden="true"></i>217 ····<i·class="ri-link-m"·aria-hidden="true"></i>
218 ··</a>218 ··</a>
219 ··<span·class="text">Variable·Bindings·in·List·Comprehensions</span>219 ··<span·class="text">Variable·Bindings·in·List·Comprehensions</span>
220 </h2>220 </h2>
221 <p>The·scope·rules·for·variables·that·occur·in·list·comprehensions·are·as·follows:</p><ul><li>All·variables·that·occur·in·a·generator·pattern·are·assumed·to·be·&quot;fresh&quot;221 <p>The·scope·rules·for·variables·that·occur·in·list·comprehensions·are·as·follows:</p><ul><li>All·variables·that·occur·in·a·generator·pattern·are·assumed·to·be·&quot;fresh&quot;
222 variables.</li><li>Any·variables·that·are·defined·before·the·list·comprehension,·and·that·are222 variables.</li><li>Any·variables·that·are·defined·before·the·list·comprehension,·and·that·are
223 used·in·filters,·have·the·values·they·had·before·the·list·comprehension.</li><li>Variables·cannot·be·exported·from·a·list·comprehension.</li><li>Within·a·zip·generator,·binding·of·all·variables·happen·at·the·same·time.</li></ul><p>As·an·example·of·these·rules,·suppose·you·want·to·write·the·function·<code·class="inline">select</code>,223 used·in·filters,·have·the·values·they·had·before·the·list·comprehension.</li><li>Variables·cannot·be·exported·from·a·list·comprehension.</li><li>Within·a·zip·generator,·binding·of·all·variables·happen·at·the·same·time.</li></ul><p>As·an·example·of·these·rules,·suppose·you·want·to·write·the·function·<code·class="inline">select</code>,
224 which·selects·certain·elements·from·a·list·of·tuples.·Suppose·you·write224 which·selects·certain·elements·from·a·list·of·tuples.·Suppose·you·write
225 <code·class="inline">select(X,·L)·-&gt;·[Y·||·{X,·Y}·&lt;-·L].</code>·with·the·intention·of·extracting·all225 <code·class="inline">select(X,·L)·-&gt;·[Y·||·{X,·Y}·&lt;-·L].</code>·with·the·intention·of·extracting·all
226 tuples·from·<code·class="inline">L</code>,·where·the·first·item·is·<code·class="inline">X</code>.</p><p>Compiling·this·gives·the·following·diagnostic:</p><pre><code·class="text">./FileName.erl:Line:·Warning:·variable·'X'·shadowed·in·generate</code></pre><p>This·diagnostic·warns·that·the·variable·<code·class="inline">X</code>·in·the·pattern·is·not·the·same·as226 tuples·from·<code·class="inline">L</code>,·where·the·first·item·is·<code·class="inline">X</code>.</p><p>Compiling·this·gives·the·following·diagnostic:</p><pre><code·class="text">./FileName.erl:Line:·Warning:·variable·'X'·shadowed·in·generate</code></pre><p>This·diagnostic·warns·that·the·variable·<code·class="inline">X</code>·in·the·pattern·is·not·the·same·as
227 the·variable·<code·class="inline">X</code>·that·occurs·in·the·function·head.</p><p>Evaluating·<code·class="inline">select</code>·gives·the·following·result:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">select</span><span·class="p"·data-group-id="6374970493-1">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="6374970493-2">[</span><span·class="p"·data-group-id="6374970493-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span[·...·truncated·by·diffoscope;·len:·752,·SHA:·29fb35eb9c0f8aca089c363096d0ec71c1c5b982e61659281a5c06915496230e·...·]93-1">)</span><span·class="p">.</span><span·class="w">227 the·variable·<code·class="inline">X</code>·that·occurs·in·the·function·head.</p><p>Evaluating·<code·class="inline">select</code>·gives·the·following·result:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">select</span><span·class="p"·data-group-id="3276638693-1">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="3276638693-2">[</span><span·class="p"·data-group-id="3276638693-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span[·...·truncated·by·diffoscope;·len:·752,·SHA:·afa06750014a7bb3455d7e10d268095354ea38d0354fa138f954731413479f94·...·]93-1">)</span><span·class="p">.</span><span·class="w">
228 </span><span·class="p"·data-group-id="6374970493-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="6374970493-7">]</span></code></pre><p>This·is·not·the·wanted·result.·To·achieve·the·desired·effect,·<code·class="inline">select</code>·must·be228 </span><span·class="p"·data-group-id="3276638693-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="3276638693-7">]</span></code></pre><p>This·is·not·the·wanted·result.·To·achieve·the·desired·effect,·<code·class="inline">select</code>·must·be
229 written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">select</span><span·class="p"·data-group-id="0941455646-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="0941455646-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">··</span><span·cl[·...·truncated·by·diffoscope;·len:·656,·SHA:·762bf0685eb9c01c4fa9681ea424bdc9018926f93ea7580cde20ecd7a697e661·...·]-2">]</span><span·class="p">.</span></code></pre><p>The·generator·now·contains·unbound·variables·and·the·test·has·been·moved·into229 written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">select</span><span·class="p"·data-group-id="3505638565-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="3505638565-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">··</span><span·cl[·...·truncated·by·diffoscope;·len:·656,·SHA:·52c18737ba8e728f96c09f2645c5d3a4e2f907b81866d195918f4bf096bb8ea1·...·]-2">]</span><span·class="p">.</span></code></pre><p>The·generator·now·contains·unbound·variables·and·the·test·has·been·moved·into
230 the·filter.</p><p>This·now·works·as·expected:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">select</span><span·class="p"·data-group-id="9115019660-1">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="9115019660-2">[</span><span·class="p"·data-group-id="9115019660-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="9115019660-3">}</span><span·class="p">,</span><span·class="p"·data-group-id="9115019660-4">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="9115019660-4">}</span><span·class="p">,</span><span·class="p"·data-group-id="9115019660-5">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="9115019660-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="9115019660-6">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="9115019660-6">}</span><span·class="p"·data-group-id="9115019660-2">]</span><span·class="p"·data-group-id="9115019660-1">)</span><span·class="p">.</span><span·class="w"> 
231 </span><span·class="p"·data-group-id="9115019660-7">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="9115019660-7">]</span></code></pre><p>Also·note·that·a·variable·in·a·generator·pattern·will·shadow·a·variable·with·the 
232 same·name·bound·in·a·previous·generator·pattern.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="7715105288-1">[</span><span·class="p"·data-group-id="7715105288-2">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p"·data-group-id="7715105288-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="7715105288-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="7715105288-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="7715105288-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="7715105288-4">]</span><span·class="p"·data-group-id="7715105288-1">]</span><span·class="p">.</span><span·class="w"> 
233 </span><span·class="p"·data-group-id="7715105288-5">[</span><span·class="p"·data-group-id="7715105288-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="7715105288-6">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·1775,·SHA:·d3ac2acbe97e86033005a413831b1a25c75d63ca91e0ea619067449b7b03b541·...·]230 the·filter.</p><p>This·now·works·as·expected:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">select</span><span·class="p"·data-group-id="4449482435-1">(</span><span·class="ss">b</span><span·cla[·...·truncated·by·diffoscope;·len:·1006,·SHA:·f9a4064f2d1b41860e1a9964d5d0cb196b7e86c81817545b83c853c69de0ec4e·...·]
 231 </span><span·class="p"·data-group-id="4449482435-7">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="4449482435-7">]</span></code></pre><p>Also·note·that·a·variable·in·a·generator·pattern·will·shadow·a·variable·with·the
 232 same·name·bound·in·a·previous·generator·pattern.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="0306614455-1">[</span><span·class="p"·data-group-id="0306614455-2">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p"·data-group-id="0306614455-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="0306614455-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="0306614455-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="0306614455-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="0306614455-4">]</span><span·class="p"·data-group-id="0306614455-1">]</span><span·class="p">.</span><span·class="w">
 233 </span><span·class="p"·data-group-id="0306614455-5">[</span><span·class="p"·data-group-id="0306614455-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="0306614455-6">}</span><span·class="p">,</span><span·class="p"·data-group-id="0306614455-7">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="0306614455-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="0306614455-8">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="0306614455-8">}</span><span·class="p">,</span><span·class="p"·data-group-id="0306614455-9">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="0306614455-9">}</span><span·class="p">,</span><span·class="p"·data-group-id="0306614455-10">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="0306614455-10">}</span><span·class="p">,</span><span·class="p"·data-group-id="0306614455-11">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="0306614455-11">}</span><span·class="p">,</span><span·class="p"·data-group-id="0306614455-12">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="0306614455-12">}</span><span·class="p">,</span><span·class="p"·data-group-id="0306614455-13">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="0306614455-13">}</span><span·class="p">,</span><span·class="p"·data-group-id="0306614455-14">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="0306614455-14">}</span><span·class="p"·data-group-id="0306614455-5">]</span></code></pre><p>A·consequence·of·the·rules·for·importing·variables·into·a·list·comprehensions·is
234 that·certain·pattern·matching·operations·must·be·moved·into·the·filters·and234 that·certain·pattern·matching·operations·must·be·moved·into·the·filters·and
235 cannot·be·written·directly·in·the·generators.</p><p>To·illustrate·this,·do·<em>not</em>·write·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="3956063199-1">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3956063199-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">235 cannot·be·written·directly·in·the·generators.</p><p>To·illustrate·this,·do·<em>not</em>·write·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="7554676369-1">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="7554676369-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
236 ····</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">236 ····</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
237 ····</span><span·class="p"·data-group-id="3956063199-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:·247,·SHA:·d09eb3497be9d0b6a69c8f51c8dafa9c0d10bf082d3de09b2d4fe4b1eb3e8559·...·]9-2">]</span><span·class="w">237 ····</span><span·class="p"·data-group-id="7554676369-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:·247,·SHA:·1bb11a032206a0afe86c11a3363e44405ea6cef136c3156cf844aa36f18bff93·...·]9-2">]</span><span·class="w">
238 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>Instead,·write·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="3907374548-1">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3907374548-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">238 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>Instead,·write·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="6695884959-1">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="6695884959-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
239 ····</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">239 ····</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
240 ····</span><span·class="p"·data-group-id="3907374548-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:·419,·SHA:·d43c128def7025bae222b03e2a1b39d096dc24c7dcf8755ce95d19c42060a793·...·]-2">]</span><span·class="w">240 ····</span><span·class="p"·data-group-id="6695884959-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:·419,·SHA:·e14672d9ee03627bb1ae523d01ea42c0d924e16008afabec5abc1f542c3583ee·...·]-2">]</span><span·class="w">
Max diff block lines reached; 9791/95180 bytes (10.29%) of diff not shown.
717 B
html2text {}
Max HTML report size reached
56.7 KB
./usr/share/doc/erlang-doc/html/doc/system/listhandling.html
    
Offset 120, 105 lines modifiedOffset 120, 105 lines modified
120 ····<i·class="ri-link-m"·aria-hidden="true"></i>120 ····<i·class="ri-link-m"·aria-hidden="true"></i>
121 ··</a>121 ··</a>
122 ··<span·class="text">Creating·a·List</span>122 ··<span·class="text">Creating·a·List</span>
123 </h2>123 </h2>
124 <p>Lists·can·only·be·built·starting·from·the·end·and·attaching·list·elements·at·the124 <p>Lists·can·only·be·built·starting·from·the·end·and·attaching·list·elements·at·the
125 beginning.·If·you·use·the·<code·class="inline">++</code>·operator·as·follows,·a·new·list·is·created·that125 beginning.·If·you·use·the·<code·class="inline">++</code>·operator·as·follows,·a·new·list·is·created·that
126 is·a·copy·of·the·elements·in·<code·class="inline">List1</code>,·followed·by·<code·class="inline">List2</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">List1</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">List2</span></code></pre><p>Looking·at·how·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#append/2"><code·class="inline">lists:append/2</code></a>·or·<code·class="inline">++</code>·would·be·implemented·in·plain·Erlang,126 is·a·copy·of·the·elements·in·<code·class="inline">List1</code>,·followed·by·<code·class="inline">List2</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">List1</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">List2</span></code></pre><p>Looking·at·how·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#append/2"><code·class="inline">lists:append/2</code></a>·or·<code·class="inline">++</code>·would·be·implemented·in·plain·Erlang,
127 clearly·the·first·list·is·copied:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">append</span><span·class="p"·data-group-id="5254199654-1">(</span><span·class="p"·data-group-id="5254199654-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="5254199654-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·60,·SHA:·5f852cc4c536eb51d8f4bac131eb890445cba2fbf2ce90a6367feb807d204b18·...·]-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="4603096418-1">(</span><span·class="p"·data-group-id="4603096418-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="4603096418-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·60,·SHA:·6c9008a6d1029b282497f2c3ee8e4abe2ee4311046291bb97305330999cff8fc·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
128 ····</span><span·class="p"·data-group-id="5254199654-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">append</span><span·class="p"·data-group-id="5254199654-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:·d98c214f6b7dbd963cb32dac2f07b8f0756425ed01bcefd005a64409bb2ff4fa·...·]-3">]</span><span·class="p">;</span><span·class="w">128 ····</span><span·class="p"·data-group-id="4603096418-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">append</span><span·class="p"·data-group-id="4603096418-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:·bd6eaabdce1b5a16c8931ec8bc6151a35679309b60b195705bdaf46efa0fafe8·...·]-3">]</span><span·class="p">;</span><span·class="w">
129 </span><span·class="nf">append</span><span·class="p"·data-group-id="5254199654-5">(</span><span·class="p"·data-group-id="5254199654-6">[</span><span·class="p"·data-group-id="5254199654-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><span·class="p"·data-group-id="5254199654-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="4603096418-5">(</span><span·class="p"·data-group-id="4603096418-6">[</span><span·class="p"·data-group-id="4603096418-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><span·class="p"·data-group-id="4603096418-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="7562787331-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="7562787331-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="5390341540-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="5390341540-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="7562787331-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:·aed8ec2897aadd03d6edcafca23b68bfdc87da8652256fc965d56e6b08d72075·...·]-2">)</span><span·class="p">.</span><span·class="w">133 ····</span><span·class="nf">bad_fib</span><span·class="p"·data-group-id="5390341540-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:·f950c68d733672709400cd1752e6fc6af60ef1a4ade51c892e653943e8eae434·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
134 </span><span·class="nf">bad_fib</span><span·class="p"·data-group-id="7562787331-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:·f1b03aaa6480705955f98191d1307f37cb3d11480456888931515582db9be615·...·]-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="5390341540-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:·f5a769cb9b40d213d049999965ec64b3de04621572aafc4df818842d52073fdb·...·]-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="7562787331-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:·cc5f41267ea0580049170ff4d0ddf3dabe1cac5a75fc2ba397aa1d361604a09b·...·]-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="5390341540-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:·f4e9ab6a562ae19dccb77af9386d45d35a13db3c637f541f8093872237b12d12·...·]-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="7562787331-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:·24600451280111edb23cc60076f7b359720107a77d7b7e7da3d75158d16fff46·...·]-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="5390341540-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:·75f0a0406ef3fc3d9b5323c7856005d4d1d4c89c6388ac9c12d822f7c05a83d4·...·]-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="6386697879-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="6386697879-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="5074600486-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="5074600486-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="6386697879-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:·0933b22fab9f606fe3c59514ec7f29e5590ac1e7233c1ff326808c017058265a·...·]-2">)</span><span·class="p">.</span><span·class="w">140 ····</span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="5074600486-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:·e199ee951befa9b661c407ee0386759848b35d9bb6bf35d6e5d36b8f86eb43d8·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
141 </span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="6386697879-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:·3a83c597be3cdb8fd7ea2b1ae99109aff347dd64406378a1f7fb90ee4efd503d·...·]-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="5074600486-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:·681ec55bd02f873a1f08f07b522768a1c5921b28d2896af6ade3cff1b0b2b6d1·...·]-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="6386697879-5">(</span><span·class="n">Fibs</span><span·class="p"·data-group-id="6386697879-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="5074600486-5">(</span><span·class="n">Fibs</span><span·class="p"·data-group-id="5074600486-5">)</span><span·class="p">;</span><span·class="w">
143 </span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="6386697879-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:·57cad980e5eae31bbb032c8a2479213ec77980ade7be6a6f8f58563ba21da8b4·...·]-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="5074600486-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:·531d21fe5b360b40585bcd2b6254477bd575462e2ae02d29fa6f232cc39031d4·...·]-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="6386697879-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:·e9a3b13e7ee199205c359b80b2b4b8fa58457cc43315c931948bfb4177d0c294·...·]-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="5074600486-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:·7f77b4ccf3c544cf2a06e83763e971d26f02bf3e83b27da86b15920f69c84701·...·]-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="3082179583-1">[</span><span·class="n">Expr</span><span·class="p"·data-group-id="3082179583-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="3082179583-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·676,·SHA:·bf96a8f7dc7e5b6c099db5434b1d10f128868da06306e316ad4290deb23344b0·...·]-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="1481659762-1">[</span><span·class="n">Expr</span><span·class="p"·data-group-id="1481659762-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="1481659762-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·676,·SHA:·7af1ad76bc2218f70b914195a61eb3a5d091700a9f213c8b83a7b2eeb89ea36b·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
151 ····</span><span·class="p"·data-group-id="5370585990-3">[</span><span·class="n">Expr</span><span·class="p"·data-group-id="5370585990-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="5370585990-4">)</span><span·class="p">|</span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·234,·SHA:·8ec34deede55c6b5b5627941c11001705b11c4bd820b13c04251cf8d49ce86ff·...·]-3">]</span><span·class="p">;</span><span·class="w">151 ····</span><span·class="p"·data-group-id="1510745602-3">[</span><span·class="n">Expr</span><span·class="p"·data-group-id="1510745602-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="1510745602-4">)</span><span·class="p">|</span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·234,·SHA:·69525444ed07038fd8898196b4d75a560f2611070d3cca5897c1ef6351bc52e8·...·]-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="5370585990-6">(</span><span·class="p"·data-group-id="5370585990-7">[</span><span·class="p"·data-group-id="5370585990-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Expr</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·194,·SHA:·c5578b6e74b5e0948dea12e4643537ade3779d6dfa6f68417913406749a11251·...·]-8">]</span><span·class="p">.</span></code></pre><p>If·the·result·of·the·list·comprehension·will·<em>obviously</em>·not·be·used,·a·list152 </span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·data-group-id="1510745602-6">(</span><span·class="p"·data-group-id="1510745602-7">[</span><span·class="p"·data-group-id="1510745602-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Expr</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·194,·SHA:·169b28b59aae47f64e7ffde37ef462061b5dd9f20996b99a72a9d49cb53ddb80·...·]-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="7664531535-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="7664531535-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="7664531535-2">)</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·220,·SHA:·c2db6ff5c69612fdf45f4f3d933d2ff02ba62da3ef9df48bc08086d20cb8f78a·...·]-1">]</span><span·class="p">,</span><span·class="w">153 will·not·be·constructed.·For·example,·in·this·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1797587109-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="1797587109-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="1797587109-2">)</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·220,·SHA:·c47ead39cd9278401e5eb7f34e115d81db9351e56fe23f5719e28430d01f4763·...·]-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="6325936882-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="6325936882-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="6325936882-2">)</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·220,·SHA:·0f83d0f0bf95c1bb7bc6169c3d35cb4c28b42d21e4e76e501863d3edcaf7e084·...·]-1">]</span><span·class="p">;</span><span·class="w">156 ········</span><span·class="p"·data-group-id="7377433658-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="7377433658-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="7377433658-2">)</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·220,·SHA:·faae3c471dbd84220d712a901921fd464be36dcd8e0f5a6a53f4036487d5ff74·...·]-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="6325936882-3">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="6325936882-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="7377433658-3">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="7377433658-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="3526303465-1">(</span><span·class="p"·data-group-id="3526303465-2">[</span><span·class="n">E</span><span·class="p">|</span><span·class="n">Tail</span><span·class="p"·data-group-id="3526303465-2">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·63,·SHA:·8b3a80d980e4eb93e31e30cbf9a47ac1885f301f3c7bb5996889307c7a35872a·...·]-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="0437773391-1">(</span><span·class="p"·data-group-id="0437773391-2">[</span><span·class="n">E</span><span·class="p">|</span><span·class="n">Tail</span><span·class="p"·data-group-id="0437773391-2">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·63,·SHA:·cb8fb0eadf9a89f10ea3a732110b19c8ab7b20ac2dc351c17d689b65c1fb4776·...·]-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="3526303465-3">(</span><span·class="n">E</span><span·class="p"·data-group-id="3526303465-3">)</span><span·class="p">,</span><span·class="w">162 ····</span><span·class="n">Expr</span><span·class="p"·data-group-id="0437773391-3">(</span><span·class="n">E</span><span·class="p"·data-group-id="0437773391-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="3526303465-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="3526303465-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="0437773391-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="0437773391-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="3526303465-5">(</span><span·class="p"·data-group-id="3526303465-6">[</span><span·class="p"·data-group-id="3526303465-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="3526303465-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3526303465-7">[</span><span·class="p"·data-group-id="3526303465-7">]</span><span·class="p">.</span></code></pre><p>The·compiler·also·understands·that·assigning·to·<code·class="inline">_</code>·means·that·the·value·will 
165 not·be·used.·Therefore,·the·code·in·the·following·example·will·also·be·optimized:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·532,·SHA:·17c4e2312a9d9c5112999375c157e423c153b75dc38b58e3e4365fd6312744e2·...·]164 </span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·data-group-id="0437773391-5">(</span><span·class="p"·data-group-id="0437773391-6">[</span><span·class="p"·data-group-id="0437773391-6">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·425,·SHA:·0bd69e1c01eb10e11b6f53f7fd89c55703f53aa47659168adbc1297ac3318cdf·...·]
 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="4196269098-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="4196269098-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="4196269098-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="4196269098-1">]</span><span·class="p">,</span><span·class="w">
166 </span><span·class="ss">ok</span><span·class="p">.</span></code></pre><h2·id="deep-and-flat-lists"·class="section-heading">166 </span><span·class="ss">ok</span><span·class="p">.</span></code></pre><h2·id="deep-and-flat-lists"·class="section-heading">
167 ··<a·href="#deep-and-flat-lists"·class="hover-link">167 ··<a·href="#deep-and-flat-lists"·class="hover-link">
168 ····<i·class="ri-link-m"·aria-hidden="true"></i>168 ····<i·class="ri-link-m"·aria-hidden="true"></i>
169 ··</a>169 ··</a>
170 ··<span·class="text">Deep·and·Flat·Lists</span>170 ··<span·class="text">Deep·and·Flat·Lists</span>
171 </h2>171 </h2>
172 <p><a·href="../../lib/stdlib-7.0/doc/html/lists.html#flatten/1"><code·class="inline">lists:flatten/1</code></a>·builds·an·entirely·new·list.·It·is·therefore·expensive,·and172 <p><a·href="../../lib/stdlib-7.0/doc/html/lists.html#flatten/1"><code·class="inline">lists:flatten/1</code></a>·builds·an·entirely·new·list.·It·is·therefore·expensive,·and
173 even·<em>more</em>·expensive·than·the·<code·class="inline">++</code>·operator·(which·copies·its·left·argument,173 even·<em>more</em>·expensive·than·the·<code·class="inline">++</code>·operator·(which·copies·its·left·argument,
174 but·not·its·right·argument).</p><p>In·the·following·situations·it·is·unnecessary·to·call·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#flatten/1"><code·class="inline">lists:flatten/1</code></a>:</p><ul><li>When·sending·data·to·a·port.·Ports·understand·deep·lists·so·there·is·no·reason174 but·not·its·right·argument).</p><p>In·the·following·situations·it·is·unnecessary·to·call·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#flatten/1"><code·class="inline">lists:flatten/1</code></a>:</p><ul><li>When·sending·data·to·a·port.·Ports·understand·deep·lists·so·there·is·no·reason
175 to·flatten·the·list·before·sending·it·to·the·port.</li><li>When·calling·BIFs·that·accept·deep·lists,·such·as175 to·flatten·the·list·before·sending·it·to·the·port.</li><li>When·calling·BIFs·that·accept·deep·lists,·such·as
176 <a·href="../../erts-16.0/doc/html/erlang.html#list_to_binary/1"><code·class="inline">list_to_binary/1</code></a>·or176 <a·href="../../erts-16.0/doc/html/erlang.html#list_to_binary/1"><code·class="inline">list_to_binary/1</code></a>·or
177 <a·href="../../erts-16.0/doc/html/erlang.html#iolist_to_binary/1"><code·class="inline">iolist_to_binary/1</code></a>.</li><li>When·you·know·that·your·list·is·only·one·level·deep.·Use·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#append/1"><code·class="inline">lists:append/1</code></a>177 <a·href="../../erts-16.0/doc/html/erlang.html#iolist_to_binary/1"><code·class="inline">iolist_to_binary/1</code></a>.</li><li>When·you·know·that·your·list·is·only·one·level·deep.·Use·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#append/1"><code·class="inline">lists:append/1</code></a>
178 instead.</li></ul><p><em>Examples:</em></p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">port_command</span><span·class="p"·data-group-id="0069329347-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="0069329347-1">)</span></code></pre><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"[·...·truncated·by·diffoscope;·len:·954,·SHA:·70c02906c9c3b641d92f1707cd1acaf84ba3a8368b00a1b990d58809b7bac743·...·]-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="5974559196-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="5974559196-1">)</span></code></pre><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"[·...·truncated·by·diffoscope;·len:·954,·SHA:·77343b346a1a15bb0851f374844b2bb4fad4211684bf20a4bf38b4afc24b9009·...·]-1">]</span><span·class="p">,</span><span·class="w">
179 </span><span·class="nf">port_command</span><span·class="p"·data-group-id="7961719122-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="7961719122-2">)</span></code></pre><p>Instead:</p><p><strong>DO</strong></p><pre><code·class[·...·truncated·by·diffoscope;·len:·336,·SHA:·bebc1bfab6618a133bae1b45d3177f500c63dc5fb2fe065a6e11a6e83926d2b4·...·]-1">]</span><span·class="p">,</span><span·class="w">179 </span><span·class="nf">port_command</span><span·class="p"·data-group-id="0481028065-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="0481028065-2">)</span></code></pre><p>Instead:</p><p><strong>DO</strong></p><pre><code·class[·...·truncated·by·diffoscope;·len:·336,·SHA:·8204a09a128909f7d39dc86f5054f81c8c0ab3f9d3cf6c1b5989cabca2d7c2c9·...·]-1">]</span><span·class="p">,</span><span·class="w">
180 </span><span·class="nf">port_command</span><span·class="p"·data-group-id="8162848024-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="8162848024-2">)</span></code></pre><p><strong>DO</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">append</span><span·class="p"·data-group-id="2340513942-1">(</span><span·class="p"·data-group-id="2340513942-2">[</span><span·class="p"·data-group-id="2340513942-3">[</span><span·class="mi">1</span><span·class="p"·data-group-id="2340513942-3">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2340513942-4">[</span><span·class="mi">2</span><span·class="p"·data-group-id="2340513942-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2340513942-5">[</span><span·class="mi">3</span><span·class="p"·data-group-id="2340513942-5">]</span><span·class="p"·data-group-id="2340513942-2">]</span><span·class="p"·data-group-id="2340513942-1">)</span><span·class="p">.</span><span·class="w"> 
181 </span><span·class="p"·data-group-id="2340513942-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="2340513942-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="5048437364-1">(</span><span·class="p"·data-group-id="5048437364-2">[</span><span·class="p"·data-group-id="5048437364-3">[</span><span·class="mi">1</span><span·class="p"·data-group-id="5048437364-3">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5048437364-4">[</span><span·class="mi">2</span><span·class="p"·data-group-id="5048437364-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5048437364-5">[</span><span·class="mi">3</span><span·class="p"·data-group-id="5048437364-5">]</span><span·class="p"·data-group-id="5048437364-2">]</span><span·class="p"·data-group-id="5048437364-1">)</span><span·class="p">.</span><span·class="w"> 
182 </span><span·class="p"·data-group-id="5048437364-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="5048437364-6">]</span></code></pre><h2·id="recursive-list-func[·...·truncated·by·diffoscope;·len:·29,·SHA:·4a97f155337d912116f87b534666017ee54bb6a09ff913e0b6272dafbe3ba7c0·...·]">180 </span><span·class="nf">port_command</span><span·class="p"·data-group-id="6937493586-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="6937493586-2">)</span></code></pre><p>[·...·truncated·by·diffoscope;·len:·936,·SHA:·7223184e82d0e52c97f56d75f96a4df0929d930fe0837baeefd5466d26af3ab4·...·]">
 181 </span><span·class="p"·data-group-id="8262068209-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="8262068209-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="9118379309-1">(</span><span·class="p"·data-group-id="9118379309-2">[</span><span·class="p"·data-group-id="9118379309-3">[</span><span·class="mi">1</span><span·class="p"·data-group-id="9118379309-3">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9118379309-4">[</span><span·class="mi">2</span><span·class="p"·data-group-id="9118379309-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9118379309-5">[</span><span·class="mi">3</span><span·class="p"·data-group-id="9118379309-5">]</span><span·class="p"·data-group-id="9118379309-2">]</span><span·class="p"·data-group-id="9118379309-1">)</span><span·class="p">.</span><span·class="w">
 182 </span><span·class="p"·data-group-id="9118379309-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="9118379309-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="7243508753-1">(</span><span·class="p"·data-group-id="7243508753-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="7243508753-2">]</span><span·class="p"·data-group-id="7243508753-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="5695812323-1">(</span><span·class="p"·data-group-id="5695812323-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="5695812323-2">]</span><span·class="p"·data-group-id="5695812323-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
191 ····</span><span·class="p"·data-group-id="7243508753-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:·3886380373d8b104cc391b771cadec0515598b3bee99536bec6514db767eb9d1·...·]3-3">]</span><span·class="p">;</span><span·class="w">191 ····</span><span·class="p"·data-group-id="5695812323-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:·adb2b82782bba6508fddae1e3b7b8416dc99ef25bc0eff46b4f5ab7e7f00ca22·...·]3-3">]</span><span·class="p">;</span><span·class="w">
192 </span><span·class="nf">add_42_body</span><span·class="p"·data-group-id="7243508753-5">(</span><span·class="p"·data-group-id="7243508753-6">[</span><span·class="p"·data-group-id="7243508753-6">]</span><span·class="p"·data-group-id="7243508753-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="5695812323-5">(</span><span·class="p"·data-group-id="5695812323-6">[</span><span·class="p"·data-group-id="5695812323-6">]</span><span·class="p"·data-group-id="5695812323-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="7243508753-7">[</span><span·class="p"·data-group-id="7243508753-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="5695812323-7">[</span><span·class="p"·data-group-id="5695812323-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="2023748981-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="2023748981-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="2627509671-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="2627509671-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="2023748981-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2023748981-3">[</span><span·class="p"·data-group-id="2023748981-3">]</span><span·class="p"·data-group-id="2023748981-2">)</span><span·class="p">.</span><span·class="w">195 ····</span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="2627509671-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2627509671-3">[</span><span·class="p"·data-group-id="2627509671-3">]</span><span·class="p"·data-group-id="2627509671-2">)</span><span·class="p">.</span><span·class="w">
  
196 </span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="2023748981-4">(</span><span·class="p"·data-group-id="2023748981-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="2023748981-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·57,·SHA:·d8f42e99d5a2923c2b831d77fa3dc29cccdd4071c336983e27bed9f1f7992efe·...·]1-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="2627509671-4">(</span><span·class="p"·data-group-id="2627509671-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="2627509671-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·57,·SHA:·461b84ac05f16a58050f273588a83be925ab4acca8a9643fa603ef2d05f576d1·...·]1-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="2023748981-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2023748981-7">[</span><span·class="n">H</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="m[·...·truncated·by·diffoscope;·len:·203,·SHA:·f48c8300cce43ad265fd2d9aedc854dbd8e697646c805bfdb91f772e2cf69c00·...·]1-6">)</span><span·class="p">;</span><span·class="w">197 ····</span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="2627509671-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2627509671-7">[</span><span·class="n">H</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="m[·...·truncated·by·diffoscope;·len:·203,·SHA:·26d9badf9ef1c56d5ef70f41074d0c612437d17cc61ecc6021307abb385449c2·...·]1-6">)</span><span·class="p">;</span><span·class="w">
198 </span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="2023748981-8">(</span><span·class="p"·data-group-id="2023748981-9">[</span><span·class="p"·data-group-id="2023748981-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="2023748981-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="2627509671-8">(</span><span·class="p"·data-group-id="2627509671-9">[</span><span·class="p"·data-group-id="2627509671-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="2627509671-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="2023748981-10">(</span><span·class="n">Acc</span><span·class="p"·data-group-id="2023748981-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="2627509671-10">(</span><span·class="n">Acc</span><span·class="p"·data-group-id="2627509671-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="0923994347-1">(</span><span·class="p"·data-group-id="0923994347-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0923994347-2">]</span><span·class="p"·data-group-id="0923994347-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">H</span><span·class="o">+</span><span·class="nf">recursive_sum</span><span·class="p"·data-group-id="0923994347-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="0923994347-3">)</span><span·class="p">;</span><span·class="w"> 
211 </span><span·class="nf">recursive_sum</span><span·class="p"·data-group-id="0923994347-4">(</span><span·class="p"·data-group-id="0923994347-5">[</span><span·class="p"·data-group-id="0923994347-5">]</span><span·class="p"·data-group-id="0923994347-4">)</span>[·...·truncated·by·diffoscope;·len:·710,·SHA:·219cd26d8182c7e207fdc633681f6e5a701d8861832f926b44a368478d93d629·...·]</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="9455344224-1">(</span><span·class="p"·data-group-id="9455344224-2">[</span><span·class="n">H</span[·...·truncated·by·diffoscope;·len:·463,·SHA:·965e6c46457313bd16bdb49adb7f48a5f6a3e59ff9fcd091417c61dccd502ea4·...·]</span><span·class="w">
 211 </span><span·class="nf">recursive_sum</span><span·class="p"·data-group-id="9455344224-4">(</span><span·class="p"·data-group-id="9455344224-5">[</span><span·class="p"·data-group-id="9455344224-5">]</span><span·class="p"·data-group-id="9455344224-4">)</span><span·class="w">····</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span></code></pre><p>Instead:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sum</span><span·class="p"·data-group-id="2409861038-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="2409861038-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="2409861038-2">(</span><span·class="n">L</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="2409861038-2">)</span><span·class="p">.</span><span·class="w">
  
212 </span><span·class="nf">sum</span><span·class="p"·data-group-id="3886073684-3">(</span><span·class="p"·data-group-id="3886073684-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="3886073684-4">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·462,·SHA:·2b006ae718b7e8edcb6ad8af8b5894b124868cf51160b30b0c670e329ef0fbc9·...·]-5">)</span><span·class="p">;</span><span·class="w">212 </span><span·class="nf">sum</span><span·class="p"·data-group-id="2409861038-3">(</span><span·class="p"·data-group-id="2409861038-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="2409861038-4">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·462,·SHA:·c73940a6ec2dea8bdeed5758dcc619aeba22d4dc6548d175d98819c00f268728·...·]-5">)</span><span·class="p">;</span><span·class="w">
213 </span><span·class="nf">sum</span><span·class="p"·data-group-id="3886073684-6">(</span><span·class="p"·data-group-id="3886073684-7">[</span><span·class="p"·data-group-id="3886073684-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="3886073684-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="2409861038-6">(</span><span·class="p"·data-group-id="2409861038-7">[</span><span·class="p"·data-group-id="2409861038-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="2409861038-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="2668248703-1">(</span><span·class="n">File</span><span·class="p"·data-group-id="2668248703-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="2668248703-2">(</span><span·class="n">File</span><span·class="p"·data-group-id="2668248703-2">)</span><span·class="p">.</span></code></pre><p><code·class="inlin[·...·truncated·by·diffoscope;·len:·88,·SHA:·eae51463b245131c3a443f27702d0623faa26c7deeeb9415aa013a52c942d16b·...·]123 <p>A·file·can·be·included·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="9773381060-1">(</span><span·class="n">File</span><span·class="p"·data-group-id="97[·...·truncated·by·diffoscope;·len:·60,·SHA:·51973ab01efedd7d2a8c834c66dc07d2ae4b8676c6c30f7c09996ba3f6230e28·...·]
 124 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="9773381060-2">(</span><span·class="n">File</span><span·class="p"·data-group-id="9773381060-2">)</span><span·class="p">.</span></code></pre><p><code·class="inline">File</code>,·a·string,·is·to·point·out·a·file.·The·contents·of·this·file·are·included
125 as·is,·at·the·position·of·the·directive.</p><p>Include·files·are·typically·used·for·record·and·macro·definitions·that·are125 as·is,·at·the·position·of·the·directive.</p><p>Include·files·are·typically·used·for·record·and·macro·definitions·that·are
126 shared·by·several·modules.·It·is·recommended·to·use·the·file·name·extension126 shared·by·several·modules.·It·is·recommended·to·use·the·file·name·extension
127 <code·class="inline">.hrl</code>·for·include·files.</p><p><code·class="inline">File</code>·can·start·with·a·path·component·<code·class="inline">$VAR</code>,·for·some·string·<code·class="inline">VAR</code>.·If·that·is127 <code·class="inline">.hrl</code>·for·include·files.</p><p><code·class="inline">File</code>·can·start·with·a·path·component·<code·class="inline">$VAR</code>,·for·some·string·<code·class="inline">VAR</code>.·If·that·is
128 the·case,·the·value·of·the·environment·variable·<code·class="inline">VAR</code>·as·returned·by128 the·case,·the·value·of·the·environment·variable·<code·class="inline">VAR</code>·as·returned·by
129 <code·class="inline">os:getenv(VAR)</code>·is·substituted·for·<code·class="inline">$VAR</code>.·If·<code·class="inline">os:getenv(VAR)</code>·returns·<code·class="inline">false</code>,129 <code·class="inline">os:getenv(VAR)</code>·is·substituted·for·<code·class="inline">$VAR</code>.·If·<code·class="inline">os:getenv(VAR)</code>·returns·<code·class="inline">false</code>,
130 <code·class="inline">$VAR</code>·is·left·as·is.</p><p>If·the·filename·<code·class="inline">File</code>·is·absolute·(possibly·after·variable·substitution),·the130 <code·class="inline">$VAR</code>·is·left·as·is.</p><p>If·the·filename·<code·class="inline">File</code>·is·absolute·(possibly·after·variable·substitution),·the
131 include·file·with·that·name·is·included.·Otherwise,·the·specified·file·is131 include·file·with·that·name·is·included.·Otherwise,·the·specified·file·is
132 searched·for·in·the·following·directories,·and·in·this·order:</p><ol><li>The·current·working·directory</li><li>The·directory·where·the·module·is·being·compiled</li><li>The·directories·given·by·the·<code·class="inline">include</code>·option</li></ol><p>For·details,·see·<a·href="../../erts-16.0/doc/html/erlc_cmd.html">erlc</a>·in·ERTS·and132 searched·for·in·the·following·directories,·and·in·this·order:</p><ol><li>The·current·working·directory</li><li>The·directory·where·the·module·is·being·compiled</li><li>The·directories·given·by·the·<code·class="inline">include</code>·option</li></ol><p>For·details,·see·<a·href="../../erts-16.0/doc/html/erlc_cmd.html">erlc</a>·in·ERTS·and
133 <a·href="../../lib/compiler-9.0/doc/html/compile.html"><code·class="inline">compile</code></a>·in·Compiler.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="1299782559-1">(</span><span·class="s">&quot;my_records.hrl&quot;</span><span·class="p"·data-group-id="1299782559-1">)</span><span·class="p">.</span><span·class="w">133 <a·href="../../lib/compiler-9.0/doc/html/compile.html"><code·class="inline">compile</code></a>·in·Compiler.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="9489303393-1">(</span><span·class="s">&quot;my_records.hrl&quot;</span><span·class="p"·data-group-id="9489303393-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="1299782559-2">(</span><span·class="s">&quot;incdir/my_records.hrl&quot;</span><span·class="p"·data-group-id="1299782559-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="9489303393-2">(</span><span·class="s">&quot;incdir/my_records.hrl&quot;</span><span·class="p"·data-group-id="9489303393-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="1299782559-3">(</span><span·class="s">&quot;/home/user/proj/my_records.hrl&quot;</span><span·class="p"·data-group-id="1299782559-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="9489303393-3">(</span><span·class="s">&quot;/home/user/proj/my_records.hrl&quot;</span><span·class="p"·data-group-id="9489303393-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="1299782559-4">(</span><span·class="s">&quot;$PROJ_ROOT/my_records.hrl&quot;</span><span·class="p"·data-group-id="1299782559-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="9489303393-4">(</span><span·class="s">&quot;$PROJ_ROOT/my_records.hrl&quot;</span><span·class="p"·data-group-id="9489303393-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="1087454022-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="1087454022-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="5245139662-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="5245139662-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="2456848198-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="2456848198-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="2456848198-2">(</span><span·class="n">Func</span><span·class="p"·data-group-id="2456848198-3">(</span><span·class="n">Var1</span><span·class="p">,</span><span·class=[·...·truncated·by·diffoscope;·len:·414,·SHA:·e182ab32963e087878b798af21b9591c759a64f9b1832e0f529acb7df252b10e·...·]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="2295251165-1">(</span><span·class="n">Const</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·138,·SHA:·2fc0bf5d35cef5b25299b36dc6a8428b2dde89412fe960a8e331dbe4c4fe2a3e·...·]
 147 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="2295251165-2">(</span><span·class="n">Func</span><span·class="p"·data-group-id="2295251165-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="2295251165-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Replacement</span><span·class="p"·data-group-id="2295251165-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="2085373007-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="2085373007-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="3816223031-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="3816223031-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="2085373007-2">(</span><span·class="n">Request</span><span·class="p"·data-group-id="2085373007-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="3816223031-2">(</span><span·class="n">Request</span><span·class="p"·data-group-id="3816223031-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="2085373007-3">(</span><span·class="ss">refserver</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Request</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">TIMEOUT</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·296,·SHA:·d7880a43014680b03cc84687233a679ac129ebf6250bc2a76b2f8e67ff73b9a8·...·]-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="3816223031-3">(</span><span·class="ss">refserver</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Request</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">TIMEOUT</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·296,·SHA:·fbf1c3d924f2acafe0009c4131a043fc12e07c5ce85f375662dc24261aafaa0f·...·]-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="2387869039-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="2387869039-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="7476874482-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="7476874482-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="6662854436-1">(</span><span·class="n">MACRO1</span><span·class="p"·data-group-id="6662854436-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="6662854436-2">)</span><span[·...·truncated·by·diffoscope;·len:·432,·SHA:·62702983973543f29d223eaca6cb7750c128d46b1d511c1c3319a2bc1c7de492·...·]-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="6696757652-1">(</span><span·class="n">MACRO1</span><span·class="p"·data-group-id="6696757652-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="6696757652-2">)</span><span[·...·truncated·by·diffoscope;·len:·432,·SHA:·b39dc85a0e9f8670089b3daf1dec0d5b21326bac2f0e070d48d1debe698412a2·...·]-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="6662854436-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="6662854436-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="6696757652-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="6696757652-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="6662854436-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="6662854436-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="6696757652-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="6696757652-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="6662854436-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="6662854436-6">)</span></code></pre><p>This·is·expanded·to:</p><pre><code·class="makeup·erlang"·translate="[·...·truncated·by·diffoscope;·len:·149,·SHA:·13c6f111ce1b7da2d400f109c241aaa747538ff7c7438d445312f1134ff6d4fe·...·]-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="6696757652-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="6696757652-6">)</span></code></pre><p>This·is·expanded·to:</p><pre><code·class="makeup·erlang"·translate="[·...·truncated·by·diffoscope;·len:·149,·SHA:·8ba7fc6a330ce7e4865a57e0cb4e9689653824460988d6848ccae8c96fe0f8ef·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
163 ····</span><span·class="p"·data-group-id="6751355624-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="6751355624-2">}</span><span·class="p">,</span><span·class="w">163 ····</span><span·class="p"·data-group-id="0787790922-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="0787790922-2">}</span><span·class="p">,</span><span·class="w">
164 ····</span><span·class="p"·data-group-id="6751355624-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="6751355624-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="0787790922-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="0787790922-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="1456103947-1">(</span><span·class="n">F0</span><span·class="p"·data-group-id="1456103947-2">(</span><span·class="p"·data-group-id="1456103947-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:·83ed68c641fdd2c5ace316c1175db0a7c32df606e51e8afbb3b7a01480d2c8c1·...·]-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="4003379241-1">(</span><span·class="n">F0</span><span·class="p"·data-group-id="4003379241-2">(</span><span·class="p"·data-group-id="4003379241-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:·790f62dfafb250d07d3eb1b5ff399ed7fd251bd23f35d2ea8931972c92964724·...·]-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="1456103947-3">(</span><span·class="n">F1</span><span·class="p"·data-group-id="1456103947-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="1456103947-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·1083595c10409f2a3ebe78a97f789cf7977789dd63a280bb7feccda2f37ae5f6·...·]-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="4003379241-3">(</span><span·class="n">F1</span><span·class="p"·data-group-id="4003379241-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="4003379241-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·f9aa94942c082a68ea6d784320ab3fa6cf1c91374cb330c2154b34f2c41d6a15·...·]-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="1456103947-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="1456103947-5">)</span><span·class="p">.</span></code></pr[·...·truncated·by·diffoscope;·len:·205,·SHA:·061a53980f3a38a7585b55ca5032729f9121b68a9b4365d130233e66b4d55666·...·]-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="4003379241-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="4003379241-5">)</span><span·class="p">.</span></code></pr[·...·truncated·by·diffoscope;·len:·205,·SHA:·e4ccbd0b63cdb98a93bc1276086519593b59a12db7c919ecb3b9404158b97ff5·...·]-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="5233784914-2">(</span><span·class="n">A</span><span·class="p"·data-group-id="5233784914-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="3770775628-2">(</span><span·class="n">A</span><span·class="p"·data-group-id="3770775628-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="5233784914-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="5233784914-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="3770775628-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="3770775628-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="1447633764-1">(</span><span·class="p"·data-group-id="1447633764-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="4198136883-1">(</span><span·class="p"·data-group-id="4198136883-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="1447633764-2">(</span><span·class="p"·data-group-id="1447633764-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="4198136883-2">(</span><span·class="p"·data-group-id="4198136883-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="4841171945-1">(</span><span·class="n">Macro</span><span·class="p"·data-group-id="4841171945-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="6815739946-1">(</span><span·class="n">Macro</span><span·class="p"·data-group-id="6815739946-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="0993148081-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="0993148081-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="4764201013-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="4764201013-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="0993148081-2">(</span><span·class="ss">debug</span><span·class="p"·data-group-id="0993148081-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="4764201013-2">(</span><span·class="ss">debug</span><span·class="p"·data-group-id="4764201013-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="0993148081-3">(</span><span·class="n">LOG</span><span·class="p"·data-group-id="0993148081-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="0993148081-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">io</span><spa[·...·truncated·by·diffoscope;·len:·740,·SHA:·3d90b30f7759f8d5859b32eccf042214590cae396e336c08539c3dd2aebf45dc·...·]-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="4764201013-3">(</span><span·class="n">LOG</span><span·class="p"·data-group-id="4764201013-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="4764201013-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">io</span><spa[·...·truncated·by·diffoscope;·len:·740,·SHA:·b6d581d226541109e3c9da79aefaf36d610a6b6f2476938c97389dfc06822094·...·]-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="0993148081-7">(</span><span·class="n">LOG</span><span·class="p"·data-group-id="0993148081-8">(</span><span·class="n">X</span><span·class="p"·data-group-id="0993148081-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·6c14df53c088013a8cca2840cbfd7006355f6b2e925a9b73ecadbc2c39ece09f·...·]-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="4764201013-7">(</span><span·class="n">LOG</span><span·class="p"·data-group-id="4764201013-8">(</span><span·class="n">X</span><span·class="p"·data-group-id="4764201013-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·d72e7540c96b8a0a488bad5937afd39ea3c45dbfc9a9bb979ba231d65fc6c18c·...·]-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="8600653112-1">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8600653112-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:·a7594e0ea3c345760b102a9311abd047c4b3c83c824c12731ff097edd0b8a795·...·]-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="6345704135-1">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6345704135-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:·f866b324fa6d9d236895c3ee9c9320ab0d9f5cd1e2c101e26b483f75282ff8e5·...·]-1">)</span><span·class="p">.</span><span·class="w">
238 </span><span·class="p"·data-group-id="8600653112-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">m</span><span·class="p"·data-group-id="8600653112-3">}</span></code></pre><p><code·class="inline">?LOG(Arg)</code>·is·then·expanded·to·a·call·to·<a·href="../../lib/stdlib-7.0/doc/html/io.html#format/2"><code·class="inline">io:format/2</code></a>·and·provide·the·user 
239 with·some·simple·trace·output.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2020453005-1">(</span><span·class="ss">m</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·51,·SHA:·74a9c4bd306325cec3384e3c0ef6c53ea56455980d333a2e4a499c461cb2e6db·...·]238 </span><span·class="p"·data-group-id="6345704135-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">m</span><span·class="p"·data-group-id="6345704135-3">}</span></code></pre><p><code·class="inline">?LOG(Arg)</code>·is·then·expand[·...·truncated·by·diffoscope;·len:·137,·SHA:·7928c52da9482161e30089eeaf9457c64b1f3de066b8dc7c37c721fb8ed2f75d·...·]
 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="9593450236-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="9593450236-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="2020453005-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="2020453005-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="9593450236-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="9593450236-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="2020453005-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="2020453005-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="9593450236-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="9593450236-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="4356047105-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="4356047105-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="8129594279-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="8129594279-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="4356047105-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:·17aeedf066ef9582923922dda6b7947908b5fabc6f1f42999a434975f087e098·...·]-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="8129594279-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:·5e08ad3cdcb51f3a2f9f7c3c8f5366fc3805447ef580836f527083d775d9da8e·...·]-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">
Max diff block lines reached; 18996/60396 bytes (31.45%) of diff not shown.
736 B
html2text {}
Max HTML report size reached
52.9 KB
./usr/share/doc/erlang-doc/html/doc/system/maps.html
    
Offset 148, 16 lines modifiedOffset 148, 16 lines modified
148 single·function·that·constructs·the·map·using·the·map·syntax·and·always·use148 single·function·that·constructs·the·map·using·the·map·syntax·and·always·use
149 it.</p></li><li><p>Always·update·the·map·using·the·<code·class="inline">:=</code>·operator·(that·is,·requiring·that·an149 it.</p></li><li><p>Always·update·the·map·using·the·<code·class="inline">:=</code>·operator·(that·is,·requiring·that·an
150 element·with·that·key·already·exists).·The·<code·class="inline">:=</code>·operator·is·slightly·more150 element·with·that·key·already·exists).·The·<code·class="inline">:=</code>·operator·is·slightly·more
151 efficient,·and·it·helps·catching·mispellings·of·keys.</p></li><li><p>Whenever·possible,·match·multiple·map·elements·at·once.</p></li><li><p>Whenever·possible,·update·multiple·map·elements·at·once.</p></li><li><p>Avoid·default·values·and·the·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·function.·If·there·are·default151 efficient,·and·it·helps·catching·mispellings·of·keys.</p></li><li><p>Whenever·possible,·match·multiple·map·elements·at·once.</p></li><li><p>Whenever·possible,·update·multiple·map·elements·at·once.</p></li><li><p>Avoid·default·values·and·the·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·function.·If·there·are·default
152 values,·sharing·of·keys·between·different·instances·of·the·map·will·be·less152 values,·sharing·of·keys·between·different·instances·of·the·map·will·be·less
153 effective,·and·it·is·not·possible·to·match·multiple·elements·having·default153 effective,·and·it·is·not·possible·to·match·multiple·elements·having·default
154 values·in·one·go.</p></li><li><p>To·avoid·having·to·deal·with·a·map·that·may·lack·some·keys,·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#merge/2"><code·class="inline">maps:merge/2</code></a>·can154 values·in·one·go.</p></li><li><p>To·avoid·having·to·deal·with·a·map·that·may·lack·some·keys,·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#merge/2"><code·class="inline">maps:merge/2</code></a>·can
155 efficiently·add·multiple·default·values.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">DefaultMap</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8352799184-1">#{</span><span·class="ss">shoe_size</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">editor</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·126,·SHA:·a812ceedfabb05b33b790ed25a9445d1e945d36baa53e5f2365c249bf52a88d7·...·]-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="5095287650-1">#{</span><span·class="ss">shoe_size</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">editor</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·126,·SHA:·090d480a5615ff24390f218cb8ca9db764a2b5c2384ac2e137d513d6f6eeaadb·...·]-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="8352799184-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="8352799184-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="5095287650-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="5095287650-2">)</span></code></pre></li></ul><h2·id="using-maps-as-dictionaries"·class="section-heading">
157 ··<a·href="#using-maps-as-dictionaries"·class="hover-link">157 ··<a·href="#using-maps-as-dictionaries"·class="hover-link">
158 ····<i·class="ri-link-m"·aria-hidden="true"></i>158 ····<i·class="ri-link-m"·aria-hidden="true"></i>
159 ··</a>159 ··</a>
160 ··<span·class="text">Using·Maps·as·Dictionaries</span>160 ··<span·class="text">Using·Maps·as·Dictionaries</span>
161 </h2>161 </h2>
162 <p>Using·a·map·as·a·dictionary·implies·the·following·usage·pattern:</p><ul><li>Keys·are·usually·variables·not·known·at·compile-time.</li><li>There·can·be·any·number·of·elements·in·the·map.</li><li>Usually,·no·more·than·one·element·is·looked·up·or·updated·at·once.</li></ul><p>Given·that·usage·pattern,·the·difference·in·performance·between·using·the·map162 <p>Using·a·map·as·a·dictionary·implies·the·following·usage·pattern:</p><ul><li>Keys·are·usually·variables·not·known·at·compile-time.</li><li>There·can·be·any·number·of·elements·in·the·map.</li><li>Usually,·no·more·than·one·element·is·looked·up·or·updated·at·once.</li></ul><p>Given·that·usage·pattern,·the·difference·in·performance·between·using·the·map
163 syntax·and·the·maps·module·is·usually·small.·Therefore,·which·one·to·use·is163 syntax·and·the·maps·module·is·usually·small.·Therefore,·which·one·to·use·is
Offset 167, 18 lines modifiedOffset 167, 18 lines modified
167 choice.</li></ul><h2·id="using-maps-as-sets"·class="section-heading">167 choice.</li></ul><h2·id="using-maps-as-sets"·class="section-heading">
168 ··<a·href="#using-maps-as-sets"·class="hover-link">168 ··<a·href="#using-maps-as-sets"·class="hover-link">
169 ····<i·class="ri-link-m"·aria-hidden="true"></i>169 ····<i·class="ri-link-m"·aria-hidden="true"></i>
170 ··</a>170 ··</a>
171 ··<span·class="text">Using·Maps·as·Sets</span>171 ··<span·class="text">Using·Maps·as·Sets</span>
172 </h2>172 </h2>
173 <p>Starting·in·OTP·24,·the·<a·href="../../lib/stdlib-7.0/doc/html/sets.html"><code·class="inline">sets</code></a>·module·has·an·option·to·represent·sets·as·maps.173 <p>Starting·in·OTP·24,·the·<a·href="../../lib/stdlib-7.0/doc/html/sets.html"><code·class="inline">sets</code></a>·module·has·an·option·to·represent·sets·as·maps.
174 Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6268013780-1">(</span><span·class="p"·data-group-id="6268013780-2">[</span><span·class="p"·data-group-id="6268013780-3">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6268013780-3">}</sp[·...·truncated·by·diffoscope;·len:·97,·SHA:·7b4484382f067f4a5636e3f95d4c14b40e123d1e26c294be9c84ac47ceace212·...·]-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="6291960917-1">(</span><span·class="p"·data-group-id="6291960917-2">[</span><span·class="p"·data-group-id="6291960917-3">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6291960917-3">}</sp[·...·truncated·by·diffoscope;·len:·97,·SHA:·c4aaf908b8285f17d473be72bcd96109a12deac77c61950933c944d8994604dd·...·]-1">)</span><span·class="p">.</span><span·class="w">
175 </span><span·class="p"·data-group-id="6268013780-4">#{</span><span·class="p"·data-group-id="6268013780-4">}</span><span·class="gp·unselectable">175 </span><span·class="p"·data-group-id="6291960917-4">#{</span><span·class="p"·data-group-id="6291960917-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="6268013780-5">(</span><span·class="p"·data-group-id="6268013780-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="6268013780-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6268013780-7">[</span><span·class="p"·data-group-id="6268013780-8">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6268013780-8">}</span><span·class="p"·data-group-id="6268013780-7">]</span><span·class="p"·data-group-id="6268013780-5">)</span><span·class="p">.</span><span·class="w"> 
177 </span><span·class="p"·data-group-id="6268013780-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="6268013780-10">[</span><span·class="p"·data-group-id="626801378[·...·truncated·by·diffoscope;·len:·655,·SHA:·5af960c938083bf17bf34d746927a1f85316bb0042811c2142f0556a4a095f81·...·]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="6291960917-5">(</span><span·class="p"·data-group-id="6291960917-6">[</span><span·class="ss">x</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·557,·SHA:·b776614fa637078cec1f232a2619fb9b52c4a6a08568b39cee120d25b1786dec·...·]
 177 </span><span·class="p"·data-group-id="6291960917-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="6291960917-10">[</span><span·class="p"·data-group-id="6291960917-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="6291960917-11">[</span><span·class="p"·data-group-id="6291960917-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="6291960917-12">[</span><span·class="p"·data-group-id="6291960917-12">]</span><span·class="p"·data-group-id="6291960917-9">}</span></code></pre><p><code·class="inline">sets</code>·backed·by·maps·is·generally·the·most·efficient·set·representation,·with·a
178 few·possible·exceptions:</p><ul><li><a·href="../../lib/stdlib-7.0/doc/html/ordsets.html#intersection/2"><code·class="inline">ordsets:intersection/2</code></a>·can·be·more·efficient·than·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#intersection/2"><code·class="inline">sets:intersection/2</code></a>.·If178 few·possible·exceptions:</p><ul><li><a·href="../../lib/stdlib-7.0/doc/html/ordsets.html#intersection/2"><code·class="inline">ordsets:intersection/2</code></a>·can·be·more·efficient·than·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#intersection/2"><code·class="inline">sets:intersection/2</code></a>.·If
179 the·intersection·operation·is·frequently·used·and·operations·that·operate·on·a179 the·intersection·operation·is·frequently·used·and·operations·that·operate·on·a
180 single·element·in·a·set·(such·as·<code·class="inline">is_element/2</code>)·are·avoided,·<a·href="../../lib/stdlib-7.0/doc/html/ordsets.html"><code·class="inline">ordsets</code></a>·can180 single·element·in·a·set·(such·as·<code·class="inline">is_element/2</code>)·are·avoided,·<a·href="../../lib/stdlib-7.0/doc/html/ordsets.html"><code·class="inline">ordsets</code></a>·can
181 be·a·better·choice·than·<a·href="../../lib/stdlib-7.0/doc/html/sets.html"><code·class="inline">sets</code></a>.</li><li>If·the·intersection·operation·is·frequently·used·and·operations·that·operate181 be·a·better·choice·than·<a·href="../../lib/stdlib-7.0/doc/html/sets.html"><code·class="inline">sets</code></a>.</li><li>If·the·intersection·operation·is·frequently·used·and·operations·that·operate
182 on·a·single·element·in·a·set·(such·as·<code·class="inline">is_element/2</code>)·must·also·be·efficient,182 on·a·single·element·in·a·set·(such·as·<code·class="inline">is_element/2</code>)·must·also·be·efficient,
183 <a·href="../../lib/stdlib-7.0/doc/html/gb_sets.html"><code·class="inline">gb_sets</code></a>·can·potentially·be·a·better·choice·than·<a·href="../../lib/stdlib-7.0/doc/html/sets.html"><code·class="inline">sets</code></a>.</li><li>If·the·elements·of·the·set·are·integers·in·a·fairly·compact·range,·the·set·can183 <a·href="../../lib/stdlib-7.0/doc/html/gb_sets.html"><code·class="inline">gb_sets</code></a>·can·potentially·be·a·better·choice·than·<a·href="../../lib/stdlib-7.0/doc/html/sets.html"><code·class="inline">sets</code></a>.</li><li>If·the·elements·of·the·set·are·integers·in·a·fairly·compact·range,·the·set·can
184 be·represented·as·an·integer·where·each·bit·represents·an·element·in·the·set.184 be·represented·as·an·integer·where·each·bit·represents·an·element·in·the·set.
Offset 203, 18 lines modifiedOffset 203, 18 lines modified
203 for·the·runtime·system).</p></li><li><p><strong>N</strong>·-·The·number·of·elements·in·the·map.</p></li><li><p><strong>Keys</strong>·-·A·tuple·with·keys·of·the·map:·<code·class="inline">{Key1,...,KeyN}</code>.·The·keys·are203 for·the·runtime·system).</p></li><li><p><strong>N</strong>·-·The·number·of·elements·in·the·map.</p></li><li><p><strong>Keys</strong>·-·A·tuple·with·keys·of·the·map:·<code·class="inline">{Key1,...,KeyN}</code>.·The·keys·are
204 sorted.</p></li><li><p><strong>Value1</strong>·-·The·value·corresponding·to·the·first·key·in·the·key·tuple.</p></li><li><p><strong>ValueN</strong>·-·The·value·corresponding·to·the·last·key·in·the·key·tuple.</p></li></ul><p>As·an·example,·let·us·look·at·how·the·map·<code·class="inline">#{a·=&gt;·foo,·z·=&gt;·bar}</code>·is204 sorted.</p></li><li><p><strong>Value1</strong>·-·The·value·corresponding·to·the·first·key·in·the·key·tuple.</p></li><li><p><strong>ValueN</strong>·-·The·value·corresponding·to·the·last·key·in·the·key·tuple.</p></li></ul><p>As·an·example,·let·us·look·at·how·the·map·<code·class="inline">#{a·=&gt;·foo,·z·=&gt;·bar}</code>·is
205 represented:</p><table><thead><tr><th·style="text-align:·center;">0</th><th·style="text-align:·left;">1</th><th·style="text-align:·center;">2</th><th·style="text-align:·center;">3</th><th·style="text-align:·left;">4</th></tr></thead><tbody><tr><td·style="text-align:·center;"><strong>FLATMAP</strong></td><td·style="text-align:·left;">2</td><td·style="text-align:·center;"><code·class="inline">{a,z}</code></td><td·style="text-align:·center;"><code·class="inline">foo</code></td><td·style="text-align:·left;"><code·class="inline">bar</code></td></tr></tbody></table><p><em>Table:·#{a·=&gt;·foo,·z·=&gt;·bar}</em></p><p>Let·us·update·the·map:·<code·class="inline">M#{q·=&gt;·baz}</code>.·The·map·now·looks·like·this:</p><table><thead><tr><th·style="text-align:·center;">0</th><th·style="text-align:·left;">1</th><th·style="text-align:·center;">2</th><th·style="text-align:·center;">3</th><th·style="text-align:·center;">4</th><th·style="text-align:·center;">5</th></tr></thead><tbody><tr><td·style="text-align:·center;"><strong>FLATMAP</strong></td><td·style="text-align:·left;">3</td><td·style="text-align:·center;"><code·class="inline">{a,q,z}</code></td><td·style="text-align:·center;"><code·class="inline">foo</code></td><td·style="text-align:·center;"><code·class="inline">baz</code></td><td·style="text-align:·center;"><code·class="inline">bar</code></td></tr></tbody></table><p><em>Table:·#{a·=&gt;·foo,·q·=&gt;·baz,·z·=&gt;·bar}</em></p><p>Finally,·change·the·value·of·one·element:·<code·class="inline">M#{z·:=·bird}</code>.·The·map·now·looks205 represented:</p><table><thead><tr><th·style="text-align:·center;">0</th><th·style="text-align:·left;">1</th><th·style="text-align:·center;">2</th><th·style="text-align:·center;">3</th><th·style="text-align:·left;">4</th></tr></thead><tbody><tr><td·style="text-align:·center;"><strong>FLATMAP</strong></td><td·style="text-align:·left;">2</td><td·style="text-align:·center;"><code·class="inline">{a,z}</code></td><td·style="text-align:·center;"><code·class="inline">foo</code></td><td·style="text-align:·left;"><code·class="inline">bar</code></td></tr></tbody></table><p><em>Table:·#{a·=&gt;·foo,·z·=&gt;·bar}</em></p><p>Let·us·update·the·map:·<code·class="inline">M#{q·=&gt;·baz}</code>.·The·map·now·looks·like·this:</p><table><thead><tr><th·style="text-align:·center;">0</th><th·style="text-align:·left;">1</th><th·style="text-align:·center;">2</th><th·style="text-align:·center;">3</th><th·style="text-align:·center;">4</th><th·style="text-align:·center;">5</th></tr></thead><tbody><tr><td·style="text-align:·center;"><strong>FLATMAP</strong></td><td·style="text-align:·left;">3</td><td·style="text-align:·center;"><code·class="inline">{a,q,z}</code></td><td·style="text-align:·center;"><code·class="inline">foo</code></td><td·style="text-align:·center;"><code·class="inline">baz</code></td><td·style="text-align:·center;"><code·class="inline">bar</code></td></tr></tbody></table><p><em>Table:·#{a·=&gt;·foo,·q·=&gt;·baz,·z·=&gt;·bar}</em></p><p>Finally,·change·the·value·of·one·element:·<code·class="inline">M#{z·:=·bird}</code>.·The·map·now·looks
206 like·this:</p><table><thead><tr><th·style="text-align:·center;">0</th><th·style="text-align:·left;">1</th><th·style="text-align:·center;">2</th><th·style="text-align:·center;">3</th><th·style="text-align:·center;">4</th><th·style="text-align:·center;">5</th></tr></thead><tbody><tr><td·style="text-align:·center;"><strong>FLATMAP</strong></td><td·style="text-align:·left;">3</td><td·style="text-align:·center;"><code·class="inline">{a,q,z}</code></td><td·style="text-align:·center;"><code·class="inline">foo</code></td><td·style="text-align:·center;"><code·class="inline">baz</code></td><td·style="text-align:·center;"><code·class="inline">bird</code></td></tr></tbody></table><p><em>Table:·#{a·=&gt;·foo,·q·=&gt;·baz,·z·=&gt;·bird}</em></p><p>When·the·value·for·an·existing·key·is·updated,·the·key·tuple·is·not·updated,206 like·this:</p><table><thead><tr><th·style="text-align:·center;">0</th><th·style="text-align:·left;">1</th><th·style="text-align:·center;">2</th><th·style="text-align:·center;">3</th><th·style="text-align:·center;">4</th><th·style="text-align:·center;">5</th></tr></thead><tbody><tr><td·style="text-align:·center;"><strong>FLATMAP</strong></td><td·style="text-align:·left;">3</td><td·style="text-align:·center;"><code·class="inline">{a,q,z}</code></td><td·style="text-align:·center;"><code·class="inline">foo</code></td><td·style="text-align:·center;"><code·class="inline">baz</code></td><td·style="text-align:·center;"><code·class="inline">bird</code></td></tr></tbody></table><p><em>Table:·#{a·=&gt;·foo,·q·=&gt;·baz,·z·=&gt;·bird}</em></p><p>When·the·value·for·an·existing·key·is·updated,·the·key·tuple·is·not·updated,
207 allowing·the·key·tuple·to·be·shared·with·other·instances·of·the·map·that·have207 allowing·the·key·tuple·to·be·shared·with·other·instances·of·the·map·that·have
208 the·same·keys.·In·fact,·the·key·tuple·can·be·shared·between·all·maps·with·the208 the·same·keys.·In·fact,·the·key·tuple·can·be·shared·between·all·maps·with·the
209 same·keys·with·some·care.·To·arrange·that,·define·a·function·that·returns·a·map.209 same·keys·with·some·care.·To·arrange·that,·define·a·function·that·returns·a·map.
210 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">new</span><span·class="p"·data-group-id="4673652402-1">(</span><span·class="p"·data-group-id="4673652402-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="2548154008-1">(</span><span·class="p"·data-group-id="2548154008-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ····</span><span·class="p"·data-group-id="4673652402-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:·9dce0b1c17a5cdb03f328b7c98729096149b5db2535e9bbd353f561d04def592·...·]-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="2548154008-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:·e1ba15df94c261d965dbe8d1ca8d9911cf646717fac911033265eedf24149cae·...·]-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="8179515596-1">(</span><span·class="n">SOME_MODULE</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="8179515596-2">(</span><span·class="p"·data-group-id="8179515596-2">)</span><span·class="p"·data-group-id="8179515596-1">)[·...·truncated·by·diffoscope;·len:·226,·SHA:·42f82b12cb01a914223bea3c357d41401731a0bc985bff703bcc4b6f66f2f0d5·...·]-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="8174867727-1">(</span><span·class="n">SOME_MODULE</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="8174867727-2">(</span><span·class="p"·data-group-id="8174867727-2">)</span><span·class="p"·data-group-id="8174867727-1">)[·...·truncated·by·diffoscope;·len:·226,·SHA:·f6bf2e03831f8ce130d66c5f0f303630e309af6077b6b2acff88d9596e1fd3f9·...·]-3">}</span><span·class="p">.</span></code></pre><p>Using·the·map·syntax·with·small·maps·is·particularly·efficient.·As·long·as·the
214 keys·are·known·at·compile-time,·the·map·is·updated·in·one·go,·making·the·time·to214 keys·are·known·at·compile-time,·the·map·is·updated·in·one·go,·making·the·time·to
215 update·a·map·essentially·constant·regardless·of·the·number·of·keys·updated.·The215 update·a·map·essentially·constant·regardless·of·the·number·of·keys·updated.·The
216 same·goes·for·matching.·(When·the·keys·are·variables,·one·or·more·of·the·keys216 same·goes·for·matching.·(When·the·keys·are·variables,·one·or·more·of·the·keys
217 could·be·identical,·so·the·operations·need·to·be·performed·sequentially·from217 could·be·identical,·so·the·operations·need·to·be·performed·sequentially·from
218 left·to·right.)</p><p>The·memory·size·for·a·small·map·is·the·size·of·all·keys·and·values·plus·5·words.218 left·to·right.)</p><p>The·memory·size·for·a·small·map·is·the·size·of·all·keys·and·values·plus·5·words.
219 See·<a·href="memory.html">Memory</a>·for·more·information·about·memory·sizes.</p><h3·id="how-large-maps-are-implemented"·class="section-heading">219 See·<a·href="memory.html">Memory</a>·for·more·information·about·memory·sizes.</p><h3·id="how-large-maps-are-implemented"·class="section-heading">
220 ··<a·href="#how-large-maps-are-implemented"·class="hover-link">220 ··<a·href="#how-large-maps-are-implemented"·class="hover-link">
Offset 241, 21 lines modifiedOffset 241, 21 lines modified
241 ··<a·href="#using-the-map-syntax"·class="hover-link">241 ··<a·href="#using-the-map-syntax"·class="hover-link">
242 ····<i·class="ri-link-m"·aria-hidden="true"></i>242 ····<i·class="ri-link-m"·aria-hidden="true"></i>
243 ··</a>243 ··</a>
244 ··<span·class="text">Using·the·Map·Syntax</span>244 ··<span·class="text">Using·the·Map·Syntax</span>
245 </h2>245 </h2>
246 <p>Using·the·map·syntax·is·usually·slightly·more·efficient·than·using·the246 <p>Using·the·map·syntax·is·usually·slightly·more·efficient·than·using·the
247 corresponding·function·in·the·<a·href="../../lib/stdlib-7.0/doc/html/maps.html"><code·class="inline">maps</code></a>·module.</p><p>The·gain·in·efficiency·for·the·map·syntax·is·more·noticeable·for·the·following247 corresponding·function·in·the·<a·href="../../lib/stdlib-7.0/doc/html/maps.html"><code·class="inline">maps</code></a>·module.</p><p>The·gain·in·efficiency·for·the·map·syntax·is·more·noticeable·for·the·following
248 operations·that·can·only·be·achieved·using·the·map·syntax:</p><ul><li>Matching·multiple·literal·keys</li><li>Updating·multiple·literal·keys</li><li>Adding·multiple·literal·keys·to·a·map</li></ul><p>For·example:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Map</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="3244039273-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:·17ad68b336086e2efbc0a0866a5330b0ce18b1edbd858403ed01f0f84d06df3a·...·]-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="8425649515-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:·003e41540715708d9b43ae6af292e4eadd27376773df8085b0bff9d16e7549a7·...·]-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="3639722488-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="3639722488-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="0141840416-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="0141840416-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="3639722488-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="3639722488-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="0141840416-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="0141840416-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="6787558352-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·class[·...·truncated·by·diffoscope;·len:·275,·SHA:·b8c76df42376722096c5b8f587772900fe3f68494c549a3d971f68377b5b3685·...·]-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="6332479163-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·class[·...·truncated·by·diffoscope;·len:·275,·SHA:·2e843cba5310d26f487b475b7355cc4e9f7d3d8f2f5e41b628cdd57a10081bf4·...·]-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="5647395644-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="5647395644-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="9581703259-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="9581703259-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="5647395644-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="5647395644-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="9581703259-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="9581703259-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="5647395644-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="5647395644-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="9581703259-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="9581703259-3">}</span></code></pre><p>If·a·key·is·known·to·exist·in·a·map,·using·the·<code·class="inline">:=</code>·operator·is·slightly·more
255 efficient·than·using·the·<code·class="inline">=&gt;</code>·operator·for·a·small·map.</p><h2·id="using-the-functions-in-the-maps-module"·class="section-heading">255 efficient·than·using·the·<code·class="inline">=&gt;</code>·operator·for·a·small·map.</p><h2·id="using-the-functions-in-the-maps-module"·class="section-heading">
256 ··<a·href="#using-the-functions-in-the-maps-module"·class="hover-link">256 ··<a·href="#using-the-functions-in-the-maps-module"·class="hover-link">
257 ····<i·class="ri-link-m"·aria-hidden="true"></i>257 ····<i·class="ri-link-m"·aria-hidden="true"></i>
258 ··</a>258 ··</a>
259 ··<span·class="text">Using·the·Functions·in·the·maps·Module</span>259 ··<span·class="text">Using·the·Functions·in·the·maps·Module</span>
260 </h2>260 </h2>
261 <p>Here·follows·some·notes·about·most·of·the·functions·in·the·<code·class="inline">maps</code>·module.·For261 <p>Here·follows·some·notes·about·most·of·the·functions·in·the·<code·class="inline">maps</code>·module.·For
Offset 306, 23 lines modifiedOffset 306, 23 lines modified
306 ··<a·href="#maps-get-3"·class="hover-link">306 ··<a·href="#maps-get-3"·class="hover-link">
307 ····<i·class="ri-link-m"·aria-hidden="true"></i>307 ····<i·class="ri-link-m"·aria-hidden="true"></i>
308 ··</a>308 ··</a>
309 ··<span·class="text">maps:get/3</span>309 ··<span·class="text">maps:get/3</span>
310 </h3>310 </h3>
311 <p>As·an·optimization,·the·compiler·will·rewrite·a·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·to·Erlang311 <p>As·an·optimization,·the·compiler·will·rewrite·a·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·to·Erlang
312 code·similar·to·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Result</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Map</span><span·class="w">·</span><span·class="k">of</span><span·class="w">312 code·similar·to·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Result</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Map</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
313 ·············</span><span·class="p"·data-group-id="7547548826-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="7547548826-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="4843689279-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="4843689279-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="7547548826-2">#{</span><span·class="p"·data-group-id="7547548826-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="4843689279-2">#{</span><span·class="p"·data-group-id="4843689279-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Default</span><span·class="w">
315 ·········</span><span·class="k">end</span></code></pre><p>This·is·reasonably·efficient,·but·if·a·small·map·is·used·as·an·alternative·to315 ·········</span><span·class="k">end</span></code></pre><p>This·is·reasonably·efficient,·but·if·a·small·map·is·used·as·an·alternative·to
316 using·a·record·it·is·often·better·not·to·rely·on·default·values·as·it·prevents316 using·a·record·it·is·often·better·not·to·rely·on·default·values·as·it·prevents
317 sharing·of·keys,·which·may·in·the·end·use·more·memory·than·what·you·save·from317 sharing·of·keys,·which·may·in·the·end·use·more·memory·than·what·you·save·from
318 not·storing·default·values·in·the·map.</p><p>If·default·values·are·nevertheless·required,·instead·of·calling·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>318 not·storing·default·values·in·the·map.</p><p>If·default·values·are·nevertheless·required,·instead·of·calling·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>
319 multiple·times,·consider·putting·the·default·values·in·a·map·and·merging·that319 multiple·times,·consider·putting·the·default·values·in·a·map·and·merging·that
320 map·with·the·other·map:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">DefaultMap</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7572170788-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:·c917efa11814abb4eb14863ec631909eb80ae17ceb5e326790159c7c4db85e8c·...·]-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="4226149205-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:·5d6af2ad3752f3ebb7d617600fca78226a445ac9780897c1585a4ef0ad87905d·...·]-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="7572170788-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="7572170788-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="4226149205-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="4226149205-2">)</span></code></pre><p>This·helps·share·keys·between·the·default·map·and·the·one·you·applied·defaults
322 to,·as·long·as·the·default·map·contains·<em>all</em>·the·keys·that·will·ever·be·used322 to,·as·long·as·the·default·map·contains·<em>all</em>·the·keys·that·will·ever·be·used
323 and·not·just·the·ones·with·default·values.·Whether·this·is·faster·than·calling323 and·not·just·the·ones·with·default·values.·Whether·this·is·faster·than·calling
324 <a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·multiple·times·depends·on·the·size·of·the·map·and·the·number·of324 <a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·multiple·times·depends·on·the·size·of·the·map·and·the·number·of
325 default·values.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·OTP·26.0·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·was·implemented·by·calling·the·function·instead325 default·values.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·OTP·26.0·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·was·implemented·by·calling·the·function·instead
326 of·rewriting·it·as·an·Erlang·expression.·It·is·now·slightly·faster·but·can·no326 of·rewriting·it·as·an·Erlang·expression.·It·is·now·slightly·faster·but·can·no
327 longer·be·traced.</p></section><h3·id="maps-intersect-2-maps-intersect_with-3"·class="section-heading">327 longer·be·traced.</p></section><h3·id="maps-intersect-2-maps-intersect_with-3"·class="section-heading">
328 ··<a·href="#maps-intersect-2-maps-intersect_with-3"·class="hover-link">328 ··<a·href="#maps-intersect-2-maps-intersect_with-3"·class="hover-link">
Offset 410, 29 lines modifiedOffset 410, 29 lines modified
410 ··<a·href="#maps-put-3"·class="hover-link">410 ··<a·href="#maps-put-3"·class="hover-link">
411 ····<i·class="ri-link-m"·aria-hidden="true"></i>411 ····<i·class="ri-link-m"·aria-hidden="true"></i>
412 ··</a>412 ··</a>
413 ··<span·class="text">maps:put/3</span>413 ··<span·class="text">maps:put/3</span>
414 </h3>414 </h3>
415 <p><a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·is·implemented·in·C.</p><p>If·the·key·is·known·to·already·exist·in·the·map,·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#update/3"><code·class="inline">maps:update/3</code></a>·is·slightly415 <p><a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·is·implemented·in·C.</p><p>If·the·key·is·known·to·already·exist·in·the·map,·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#update/3"><code·class="inline">maps:update/3</code></a>·is·slightly
416 more·efficient·than·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>.</p><p>If·the·compiler·can·determine·that·the·third·argument·is·always·a·map,·it416 more·efficient·than·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>.</p><p>If·the·compiler·can·determine·that·the·third·argument·is·always·a·map,·it
417 will·rewrite·the·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·to·use·the·map·syntax·for·updating·the·map.</p><p>For·example,·consider·the·following·function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_known_map</span><span·class="p"·data-group-id="4225102502-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·288,·SHA:·4571467d4290c8601046cc938bcae9b0c88d9f2aab944b8a5103a9136aed1a57·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">417 will·rewrite·the·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·to·use·the·map·syntax·for·updating·the·map.</p><p>For·example,·consider·the·following·function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_known_map</span><span·class="p"·data-group-id="3413749316-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·288,·SHA:·25665cff9df05dcb472bec57d1c4019d03f66cde44b62f0142e124652d0ea91b·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
418 ····</span><span·class="n">Map1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="4225102502-3">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map0</span><span·class="p"·data-group-id="4225102502-3">)</span><span·class="p">,</span><span·class="w">418 ····</span><span·class="n">Map1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="3413749316-3">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map0</span><span·class="p"·data-group-id="3413749316-3">)</span><span·class="p">,</span><span·class="w">
419 ····</span><span·class="n">Map2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="4225102502-4">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="4225102502-4">)</span><span·class="p">,</span><span·class="w">419 ····</span><span·class="n">Map2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="3413749316-4">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="3413749316-4">)</span><span·class="p">,</span><span·class="w">
420 ····</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="4225102502-5">(</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map2</span><span·class="p"·data-group-id="4225102502-5">)</span><span·class="p">.</span></code></pre><p>The·compiler·first·rewrites·each·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·to·use·the·map420 ····</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="3413749316-5">(</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map2</span><span·class="p"·data-group-id="3413749316-5">)</span><span·class="p">.</span></code></pre><p>The·compiler·first·rewrites·each·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·to·use·the·map
421 syntax,·and·subsequently·combines·the·three·update·operations·to·a421 syntax,·and·subsequently·combines·the·three·update·operations·to·a
422 single·update·operation:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_known_map</span><span·class="p"·data-group-id="4837760228-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·288,·SHA:·a578be8dbb8c11a106d4669388d1c1ec2cc8ac6189a5357a3b7c692eb9d79cdc·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">422 single·update·operation:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_known_map</span><span·class="p"·data-group-id="8307108123-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·288,·SHA:·50f0d64b1fb933356e7673adfc80c11dc6fce96bc2640e86f517753d41a89d78·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
423 ····</span><span·class="n">Map0</span><span·class="p"·data-group-id="4837760228-3">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·279,·SHA:·dc4a6ed6bf693450e4c7e29a0b678b91bd607bcc3170924ab1e7e3fc902399e2·...·]-3">}</span><span·class="p">.</span></code></pre><p>If·the·compiler·cannot·determine·that·the·third·argument·is·always·a423 ····</span><span·class="n">Map0</span><span·class="p"·data-group-id="8307108123-3">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·279,·SHA:·96e3e5f24cc44e050750c76d9da1573d20717132d604b63a2f8e69c615d58f79·...·]-3">}</span><span·class="p">.</span></code></pre><p>If·the·compiler·cannot·determine·that·the·third·argument·is·always·a
424 map,·it·retains·the·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·call.·For·example,·given·this424 map,·it·retains·the·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·call.·For·example,·given·this
425 function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_map</span><span·class="p"·data-group-id="8036016636-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n">[·...·truncated·by·diffoscope;·len:·49,·SHA:·1d7d9838edbda27316a669605e2a52313ee4eda70ec47410a6c41453610b7a39·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">425 function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_map</span><span·class="p"·data-group-id="8815666759-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n">[·...·truncated·by·diffoscope;·len:·49,·SHA:·0615e22801d6db9ce73ce6f74e39f9d9d03e222c56e6531756792765d6b3b47c·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
426 ····</span><span·class="n">Map1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="8036016636-2">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map0</span><span·class="p"·data-group-id="8036016636-2">)</span><span·class="p">,</span><span·class="w">426 ····</span><span·class="n">Map1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="8815666759-2">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map0</span><span·class="p"·data-group-id="8815666759-2">)</span><span·class="p">,</span><span·class="w">
427 ····</span><span·class="n">Map2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="8036016636-3">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="8036016636-3">)</span><span·class="p">,</span><span·class="w">427 ····</span><span·class="n">Map2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="8815666759-3">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="8815666759-3">)</span><span·class="p">,</span><span·class="w">
428 ····</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="8036016636-4">(</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map2</span><span·class="p"·data-group-id="8036016636-4">)</span><span·class="p">.</span></code></pre><p>the·compiler·keeps·the·first·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>,·but·rewrites428 ····</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="8815666759-4">(</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map2</span><span·class="p"·data-group-id="8815666759-4">)</span><span·class="p">.</span></code></pre><p>the·compiler·keeps·the·first·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>,·but·rewrites
429 and·combines·the·other·two·calls:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_map</span><span·class="p"·data-group-id="3459952024-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·49,·SHA:·0f8125bcc25643970f5be321c86150fbe3af3c2a69eac1ae21dd35d49052c91a·...·]4-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">429 and·combines·the·other·two·calls:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_map</span><span·class="p"·data-group-id="0331611964-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·49,·SHA:·0fd9996db99eb19609d7d4f43ae86ee35d872a6ccd3f6b174a675ae7336b6d5c·...·]4-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
430 ····</span><span·class="n">Map1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="3459952024-2">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map0</span><span·class="p"·data-group-id="3459952024-2">)</span><span·class="p">,</span><span·class="w">430 ····</span><span·class="n">Map1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="0331611964-2">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map0</span><span·class="p"·data-group-id="0331611964-2">)</span><span·class="p">,</span><span·class="w">
431 ····</span><span·class="n">Map1</span><span·class="p"·data-group-id="3459952024-3">#{</span><span·class="ss">b</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·105,·SHA:·e0d05cbafcd6013a60ee3e25c12536e7e0e91ccf91e64255b1f941528e3113c3·...·]4-3">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>The·rewriting·of·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·to·the·map·syntax·was·introduced·in431 ····</span><span·class="n">Map1</span><span·class="p"·data-group-id="0331611964-3">#{</span><span·class="ss">b</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·105,·SHA:·abf18dfe3c7a92850a4b8894535171ef40dfe2d6f03aaaae49debb98a628d1f0·...·]4-3">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>The·rewriting·of·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·to·the·map·syntax·was·introduced·in
432 Erlang/OTP·28.</p></section><h3·id="maps-remove-2"·class="section-heading">432 Erlang/OTP·28.</p></section><h3·id="maps-remove-2"·class="section-heading">
433 ··<a·href="#maps-remove-2"·class="hover-link">433 ··<a·href="#maps-remove-2"·class="hover-link">
434 ····<i·class="ri-link-m"·aria-hidden="true"></i>434 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Max diff block lines reached; 928/53347 bytes (1.74%) of diff not shown.
756 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/doc/system/memory.html
    
Offset 218, 15 lines modifiedOffset 218, 15 lines modified
218 ······<p·class="built-using">218 ······<p·class="built-using">
219 ········Built·using219 ········Built·using
220 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the220 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
221 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>221 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
222 ······</p>222 ······</p>
223 <p>Copyright·©·1996-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="5876104002-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="5876104002-1">)</span><span·class="p">.</span><span·class="w">··········</span><span·class="c1">%·module·attribute</span><span·class="w">125 attributes·and·function·declarations,·each·terminated·by·a·period·(<code·class="inline">.</code>).</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0513505124-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="0513505124-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="5876104002-2">(</span><span·class="p"·data-group-id="5876104002-3">[</span><span·class="ss">fact</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="5876104002-3">]</span><span·class="p"·data-group-id="5876104002-2">)</span><span·class="p">.</span><span·class="w">···</span><span·class="c1">%·module·attribute</span><span·class="w">126 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0513505124-2">(</span><span·class="p"·data-group-id="0513505124-3">[</span><span·class="ss">fact</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="0513505124-3">]</span><span·class="p"·data-group-id="0513505124-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="5876104002-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="5876104002-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="0513505124-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="0513505124-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="5876104002-5">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="5876104002-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="0513505124-5">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="0513505124-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="5876104002-6">(</span><span·class="mi">0</span><span·class="p"·data-group-id="5876104002-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="0513505124-6">(</span><span·class="mi">0</span><span·class="p"·data-group-id="0513505124-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="3641085196-1">(</span><span·class="n">Behaviour</span><span·class="p"·data-group-id="3641085196-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="1777582617-1">(</span><span·class="n">Behaviour</span><span·class="p"·data-group-id="1777582617-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="0710721672-1">(</span><span·class="ss">callbacks</span><span·class="p"·data-group-id="0710721672-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Callbacks</span><span·class="p">.</span></code></pre><p>[·...·truncated·by·diffoscope;·len:·368,·SHA:·9a64c248c4d9390c295436d1a388db32b8c0d4738967d2cb43b6ccdd0beb5229·...·]-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="4892345947-1">(</span><span·class="ss">callbacks</span><span·class="p"·data-group-id="4892345947-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Callbacks</span><span·class="p">.</span></code></pre><p>[·...·truncated·by·diffoscope;·len:·368,·SHA:·a7b070d7d5c01fcd848a747e28bf6fb664ca45a4094dcb1b4b270b5a5080a73e·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Result</span><span·class="p">.</span></code></pre><p>Here,·<code·class="inline">Arguments</code>·is·a·list·of·zero·or·more·arguments.·The·<code·class="inline">-callback</code>·attribute
186 is·to·be·preferred·since·the·extra·type·information·can·be·used·by·tools·to186 is·to·be·preferred·since·the·extra·type·information·can·be·used·by·tools·to
187 produce·documentation·or·find·discrepancies.</p><p>Read·more·about·behaviours·and·callback·modules·in187 produce·documentation·or·find·discrepancies.</p><p>Read·more·about·behaviours·and·callback·modules·in
188 <a·href="../../doc/system/design_principles.html#behaviours">OTP·Design·Principles</a>.</p><h3·id="record-definitions"·class="section-heading">188 <a·href="../../doc/system/design_principles.html#behaviours">OTP·Design·Principles</a>.</p><h3·id="record-definitions"·class="section-heading">
189 ··<a·href="#record-definitions"·class="hover-link">189 ··<a·href="#record-definitions"·class="hover-link">
190 ····<i·class="ri-link-m"·aria-hidden="true"></i>190 ····<i·class="ri-link-m"·aria-hidden="true"></i>
191 ··</a>191 ··</a>
192 ··<span·class="text">Record·Definitions</span>192 ··<span·class="text">Record·Definitions</span>
193 </h3>193 </h3>
194 <p>The·same·syntax·as·for·module·attributes·is·used·for·record·definitions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="4364830037-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="4364830037-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="8981685709-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="8981685709-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="3381922917-1">(</span><span·class="s">&quot;SomeFile.hrl&quot;</span><span·class="p"·data-group-id="3381922917-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="5055553361-1">(</span><span·class="s">&quot;SomeFile.hrl&quot;</span><span·class="p"·data-group-id="5055553361-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="3381922917-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="3381922917-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="5055553361-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="5055553361-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="7685910256-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="7685910256-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="7956588520-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="7956588520-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="6206814861-1">(</span><span·class="p"·data-group-id="6206814861-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="6206814861-2">(</span><span·class="p"·data-group-id="6206814861-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="6206814861-3">(</span><span·class="p"·data-group-id="6206814861-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="6206814861-4">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="6206814861-5">(</span><[·...·truncated·by·diffoscope;·len:·467,·SHA:·856b5b4d2864e0f05daf1f84021ac093313a1bbc357eaffd7683081154a77da0·...·]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="3412828437-1">(</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·512,·SHA:·9bdbc420ab0326cc417bc35c0716fc2f54d2a526b5699b2e6c386720fb0705fa·...·]
 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="3412828437-4">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="3412828437-5">(</span><span·class="p"·data-group-id="3412828437-5">)</span><span·class="p"·data-group-id="3412828437-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="3412828437-6">(</span><span·class="p"·data-group-id="3412828437-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="2378993501-1">(</span><span·class="s">&quot;Example·documentation&quot;</span><span·class="p"·data-group-id="2378993501-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="2046858556-1">(</span><span·class="s">&quot;Example·documentation&quot;</span><span·class="p"·data-group-id="2046858556-1">)</span><span·class="p">.</span><span·class="w">
231 </span><span·class="nf">example</span><span·class="p"·data-group-id="2378993501-2">(</span><span·class="p"·data-group-id="2378993501-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="2046858556-2">(</span><span·class="p"·data-group-id="2046858556-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="6462890949-1">(</span><span·class="s">&quot;Example·\&quot;docs\&quot;&quot;</span><span·class="p"·data-group-id="6462890949-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="1101939971-1">(</span><span·class="s">&quot;Example·\&quot;docs\&quot;&quot;</span><span·class="p"·data-group-id="1101939971-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="6462890949-2">(</span><span·class="p"·data-group-id="6462890949-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="6462890949-3">&gt;&gt;</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·f0a8b9cda5e39f0872434f8c304e3629467bebbcb67f4fde1a22c92b407b73ce·...·]-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="1101939971-2">(</span><span·class="p"·data-group-id="1101939971-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="1101939971-3">&gt;&gt;</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·aae58f8d18a397f24ec53265004fca418edcdc6645e3fcd8c4217c58824822c1·...·]-2">)</span><span·class="p">.</span><span·class="w">
240 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">~S/Example·&quot;docs&quot;/</span><span·class="p">.</span><span·class="w">240 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">~S/Example·&quot;docs&quot;/</span><span·class="p">.</span><span·class="w">
241 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="s">&quot;241 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="s">&quot;
242 ···Example·&quot;</span><span·class="ss">docs</span><span·class="s">&quot;242 ···Example·&quot;</span><span·class="ss">docs</span><span·class="s">&quot;
243 ···&quot;</span><span·class="s">&quot;&quot;</span><span·class="w">243 ···&quot;</span><span·class="s">&quot;&quot;</span><span·class="w">
244 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">~B|Example·&quot;docs&quot;|</span><span·class="p">.</span></code></pre><p>For·clarity·it·is·recommended·to·use·either·normal·<code·class="inline">&quot;strings&quot;</code>·or·triple244 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">~B|Example·&quot;docs&quot;|</span><span·class="p">.</span></code></pre><p>For·clarity·it·is·recommended·to·use·either·normal·<code·class="inline">&quot;strings&quot;</code>·or·triple
245 quoted·strings·for·documentation·attributes.</p></li><li><p><strong><code·class="inline">{file,</code>·<a·href="../../lib/kernel-10.3/doc/html/file.html#t:name/0"><code·class="inline">file:name/0</code></a>·<code·class="inline">}</code></strong>·-·Read·the·contents·of·filename·and·use245 quoted·strings·for·documentation·attributes.</p></li><li><p><strong><code·class="inline">{file,</code>·<a·href="../../lib/kernel-10.3/doc/html/file.html#t:name/0"><code·class="inline">file:name/0</code></a>·<code·class="inline">}</code></strong>·-·Read·the·contents·of·filename·and·use
246 that·as·the·documentation·string.</p></li><li><p><strong><code·class="inline">false</code></strong>·-·Set·the·current·entity·as·hidden,·that·is,·it·should·not·be246 that·as·the·documentation·string.</p></li><li><p><strong><code·class="inline">false</code></strong>·-·Set·the·current·entity·as·hidden,·that·is,·it·should·not·be
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ··<a·href="#the-feature-directive"·class="hover-link">253 ··<a·href="#the-feature-directive"·class="hover-link">
254 ····<i·class="ri-link-m"·aria-hidden="true"></i>254 ····<i·class="ri-link-m"·aria-hidden="true"></i>
255 ··</a>255 ··</a>
256 ··<span·class="text">The·feature·directive</span>256 ··<span·class="text">The·feature·directive</span>
257 </h2>257 </h2>
258 <p>While·not·a·module·attribute,·but·rather·a·directive·(since·it·might·affect258 <p>While·not·a·module·attribute,·but·rather·a·directive·(since·it·might·affect
259 syntax),·there·is·the·<code·class="inline">-feature(..)</code>·directive·used·for·enabling·and·disabling259 syntax),·there·is·the·<code·class="inline">-feature(..)</code>·directive·used·for·enabling·and·disabling
260 <a·href="../../doc/system/features.html#features">features</a>.</p><p>The·syntax·is·similar·to·that·of·an·attribute,·but·has·two·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">feature</span><span·class="p"·data-group-id="9804003798-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:·22,·SHA:·9d8965bde7eb8bedb9f45eb79247250eef216725c99ad15cdee7f03100fe91cf·...·]-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="6563278741-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:·22,·SHA:·fe503d386961287401724a89d9c188414bd0f8866b28e5206fe39f52c15ff942·...·]-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-16.0/doc/html/erlang.html#load_nif/2"><code·class="inline">erlang:load_nif/2</code></a>,·with·the·name·of·the138 native·implementations·on·some·architectures.</p><p>NIF·libraries·are·loaded·by·calling·<a·href="../../erts-16.0/doc/html/erlang.html#load_nif/2"><code·class="inline">erlang:load_nif/2</code></a>,·with·the·name·of·the
139 shared·library·as·argument.·The·second·argument·can·be·any·term·that·will·be139 shared·library·as·argument.·The·second·argument·can·be·any·term·that·will·be
140 passed·on·to·the·library·and·used·for·initialization:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5601213855-1">(</span><span·class="ss">complex6</span><span·class="p"·data-group-id="5601213855-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="6794030669-1">(</span><span·class="ss">complex6</span><span·class="p"·data-group-id="6794030669-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="5601213855-2">(</span><span·class="p"·data-group-id="5601213855-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:·204dbc2430fba19431e0a549a71b4b0a60391ce40b9e304698af6ad300557610·...·]-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="6794030669-2">(</span><span·class="p"·data-group-id="6794030669-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:·6960a207b4c1196b9429c6c3cbd1802e0fb8dcba9da0d5c51517d80dd97e7b4f·...·]-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="5601213855-4">(</span><span·class="p"·data-group-id="5601213855-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:·edced1590edd274eefd78d6367b5d30abc7b6cd9596959880a7af0c99599542f·...·]-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="6794030669-4">(</span><span·class="p"·data-group-id="6794030669-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:·e5fab487be55194f3e1cbcb8a0e38a52f67d402227723e3a46712730bc8295d9·...·]-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="5601213855-6">(</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5601213855-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="6794030669-6">(</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6794030669-6">)</span><span·class="p">.</span><span·class="w">
  
144 </span><span·class="nf">init</span><span·class="p"·data-group-id="5601213855-7">(</span><span·class="p"·data-group-id="5601213855-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="6794030669-7">(</span><span·class="p"·data-group-id="6794030669-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="5601213855-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="5601213855-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="6794030669-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="6794030669-8">)</span><span·class="p">.</span><span·class="w">
  
146 </span><span·class="nf">foo</span><span·class="p"·data-group-id="5601213855-9">(</span><span·class="p">_</span><span·class="n">X</span><span·class="p"·data-group-id="5601213855-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="6794030669-9">(</span><span·class="p">_</span><span·class="n">X</span><span·class="p"·data-group-id="6794030669-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="5601213855-10">(</span><span·class="ss">nif_library_not_loaded</span><span·class="p"·data-group-id="5601213855-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="6794030669-10">(</span><span·class="ss">nif_library_not_loaded</span><span·class="p"·data-group-id="6794030669-10">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="nf">bar</span><span·class="p"·data-group-id="5601213855-11">(</span><span·class="p">_</span><span·class="n">Y</span><span·class="p"·data-group-id="5601213855-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="6794030669-11">(</span><span·class="p">_</span><span·class="n">Y</span><span·class="p"·data-group-id="6794030669-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="5601213855-12">(</span><span·class="ss">nif_library_not_loaded</span><span·class="p"·data-group-id="5601213855-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="6794030669-12">(</span><span·class="ss">nif_library_not_loaded</span><span·class="p"·data-group-id="6794030669-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="2429402992-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="2429402992-1">)</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·1130,·SHA:·29f9593b08fd083c5ad07ecb9b368fe59dad3846975d5c464307498cd1193062·...·]-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="4532156207-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="4532156207-1">)</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·1130,·SHA:·7af96d8decd634bd2cee6014fe48bd40ff5dc1946ef6830135b020a71fc67743·...·]-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="2429402992-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="2429402992-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="4532156207-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="4532156207-7">)</span><span·class="gp·unselectable">
218 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="2429402992-8">(</span><span·class="ss">complex6</span><span·class="p"·data-group-id="2429402992-8">)</span><span·class="p">.</span><span·class="w">218 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="4532156207-8">(</span><span·class="ss">complex6</span><span·class="p"·data-group-id="4532156207-8">)</span><span·class="p">.</span><span·class="w">
219 </span><span·class="p"·data-group-id="2429402992-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex6</span><span·class="p"·data-group-id="2429402992-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:·061bcfbc3e28b219696b0b1065d4c6f7c024bfe264de7213711a4b516219e00a·...·]5-1">)</span><span·class="p">.</span><span·class="w">219 </span><span·class="p"·data-group-id="4532156207-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex6</span><span·class="p"·data-group-id="4532156207-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:·bb6c751fdce6ca0308001f85b5e7bb7f0af15acdcb77ef184132fba2f8f7a469·...·]5-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="0531541925-2">(</span><span·class="mi">5</span><span·class="p"·data-group-id="0531541925-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="2694616535-2">(</span><span·class="mi">5</span><span·class="p"·data-group-id="2694616535-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="0531541925-3">(</span><span·class="s">&quot;not·an·integer&quot;</span><span·class="p"·data-group-id="0531541925-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="2694616535-3">(</span><span·class="s">&quot;not·an·integer&quot;</span><span·class="p"·data-group-id="2694616535-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
25.1 KB
./usr/share/doc/erlang-doc/html/doc/system/nominals.html
    
Offset 123, 55 lines modifiedOffset 123, 55 lines modified
123 </h2>123 </h2>
124 <p>For·<a·href="typespec.html#type-declarations-of-user-defined-types">user-defined·types</a>124 <p>For·<a·href="typespec.html#type-declarations-of-user-defined-types">user-defined·types</a>
125 defined·with·<code·class="inline">-type</code>,·the·Erlang·compiler·will·ignore·their·type·names.·This125 defined·with·<code·class="inline">-type</code>,·the·Erlang·compiler·will·ignore·their·type·names.·This
126 means·the·Erlang·compiler·uses·a·structural·type·system.·Two·types·are·seen·as126 means·the·Erlang·compiler·uses·a·structural·type·system.·Two·types·are·seen·as
127 equivalent·if·their·structures·are·the·same.·Type·comparison·is·based·on·the127 equivalent·if·their·structures·are·the·same.·Type·comparison·is·based·on·the
128 structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·In·the128 structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·In·the
129 following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent,·and·neither·differs129 following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent,·and·neither·differs
130 from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="8824709711-1">(</span><span·class="p"·data-group-id="8824709711-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8824709711-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·9e9af8e9bb747e755dd075c6f8b655e94d9717d0f2435f7d7bd75e21293c3a86·...·]-2">)</span><span·class="p">.</span><span·class="w">130 from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="2809487387-1">(</span><span·class="p"·data-group-id="2809487387-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2809487387-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·2d4650b5fc5e97e0198d4cd1840cc21774e60327aab848b24edc404946131090·...·]-2">)</span><span·class="p">.</span><span·class="w">
131 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8824709711-3">(</span><span·class="p"·data-group-id="8824709711-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8824709711-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·9e9af8e9bb747e755dd075c6f8b655e94d9717d0f2435f7d7bd75e21293c3a86·...·]-4">)</span><span·class="p">.</span></code></pre><p>Nominal·typing·is·an·alternative·type·system.·Two·nominal·types·are·equivalent131 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2809487387-3">(</span><span·class="p"·data-group-id="2809487387-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2809487387-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·2d4650b5fc5e97e0198d4cd1840cc21774e60327aab848b24edc404946131090·...·]-4">)</span><span·class="p">.</span></code></pre><p>Nominal·typing·is·an·alternative·type·system.·Two·nominal·types·are·equivalent
132 if·and·only·if·they·are·declared·with·the·same·type·name.·The·syntax·for132 if·and·only·if·they·are·declared·with·the·same·type·name.·The·syntax·for
133 declaring·nominal·types·is·<code·class="inline">-nominal</code>.</p><p>If·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·defined·as·nominal·types,·they·will·no·longer·be133 declaring·nominal·types·is·<code·class="inline">-nominal</code>.</p><p>If·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·defined·as·nominal·types,·they·will·no·longer·be
134 compatible.·When·a·function·expects·type·<code·class="inline">meter()</code>,·passing·in·type·<code·class="inline">foot()</code>134 compatible.·When·a·function·expects·type·<code·class="inline">meter()</code>,·passing·in·type·<code·class="inline">foot()</code>
135 will·result·in·a·warning·raised·by·the·type·checker.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="9478412558-1">(</span><span·class="p"·data-group-id="9478412558-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9478412558-2">(</span><span·class="p"·data-group-id="9478412558-2">)</span><span·class="p">.</span><span·class="w"> 
136 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="9478412558-3">(</span><span·class="p"·data-group-id="9478412558-3">)</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·317,·SHA:·a368370b62f9f5d45219ca41bb419f087033953e51a9c60a758627a91e2df94d·...·]135 will·result·in·a·warning·raised·by·the·type·checker.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="8256063273-1"[·...·truncated·by·diffoscope;·len:·335,·SHA:·4466c88a2c86957e99ef80cbbb92e8465a1bcd88cc29390e2e51af9431317613·...·]
 136 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8256063273-3">(</span><span·class="p"·data-group-id="8256063273-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8256063273-4">(</span><span·class="p"·data-group-id="8256063273-4">)</span><span·class="p">.</span></code></pre><p>The·main·use·case·of·nominal·types·is·to·prevent·accidental·misuse·of·types·with
137 the·same·structure.·Within·OTP,·nominal·type-checking·is·done·in·Dialyzer.·The137 the·same·structure.·Within·OTP,·nominal·type-checking·is·done·in·Dialyzer.·The
138 Erlang·compiler·does·not·perform·nominal·type-checking.</p><h2·id="nominal-type-checking-rules"·class="section-heading">138 Erlang·compiler·does·not·perform·nominal·type-checking.</p><h2·id="nominal-type-checking-rules"·class="section-heading">
139 ··<a·href="#nominal-type-checking-rules"·class="hover-link">139 ··<a·href="#nominal-type-checking-rules"·class="hover-link">
140 ····<i·class="ri-link-m"·aria-hidden="true"></i>140 ····<i·class="ri-link-m"·aria-hidden="true"></i>
141 ··</a>141 ··</a>
142 ··<span·class="text">Nominal·Type-Checking·Rules</span>142 ··<span·class="text">Nominal·Type-Checking·Rules</span>
143 </h2>143 </h2>
144 <p>In·general,·if·two·nominal·types·have·different·names,·and·one·is·not·derived144 <p>In·general,·if·two·nominal·types·have·different·names,·and·one·is·not·derived
145 from·the·other,·they·are·not·compatible.·Dialyzer's·nominal·type-checking145 from·the·other,·they·are·not·compatible.·Dialyzer's·nominal·type-checking
146 aligns·with·the·examples'·expected·results·in·this·section.</p><p>If·we·continue·from·the·example·above:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="6664084943-1">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="6664084943-2">(</span><span·class="p"·data-group-id="6664084943-2">)</span><span·class="p"·data-group-id="6664084943-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·155,·SHA:·24d3b106599620513ed26c0c8d2284a72602e9bf991bb5be84d29e41c893a716·...·]-3">)</span><span·class="p">.</span><span·class="w">146 aligns·with·the·examples'·expected·results·in·this·section.</p><p>If·we·continue·from·the·example·above:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="5077831765-1">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="5077831765-2">(</span><span·class="p"·data-group-id="5077831765-2">)</span><span·class="p"·data-group-id="5077831765-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·155,·SHA:·b84d9af107d545ac5555fc840edcd82f2986f5c4f64b26d037362afdf761f9c2·...·]-3">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="6664084943-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="6664084943-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="p">.</span><span·class="w">147 </span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="5077831765-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="5077831765-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="p">.</span><span·class="w">
148 </span><span·class="w">148 </span><span·class="w">
149 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="6664084943-5">(</span><span·class="p"·data-group-id="6664084943-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="6664084943-6">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·bc2a15c497972952e2afa4f2069290849a35339b586f305efd9574eab5003d83·...·]-6">)</span><span·class="p">.</span><span·class="w">149 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="5077831765-5">(</span><span·class="p"·data-group-id="5077831765-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="5077831765-6">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·b0b3503a84b9b7aab344dbd7035976b9943ef4686e7cc4f163bda803c9edc3a3·...·]-6">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="nf">foo</span><span·class="p"·data-group-id="6664084943-7">(</span><span·class="p"·data-group-id="6664084943-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="6664084943-8">(</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·51,·SHA:·42d22ea4b4dbe73eb3ce060613e2cb2a8066c68eedde73a991e053f8e93a7bbd·...·]-8">)</span><span·class="p">.</span></code></pre><p>A·type·checker·that·performs·nominal·type-checking·should·raise·a·warning.150 </span><span·class="nf">foo</span><span·class="p"·data-group-id="5077831765-7">(</span><span·class="p"·data-group-id="5077831765-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="5077831765-8">(</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·51,·SHA:·35842c8ed3a3c344e5526ac3e85ab1839451dd1431d1684d31ba79dba70b14c3·...·]-8">)</span><span·class="p">.</span></code></pre><p>A·type·checker·that·performs·nominal·type-checking·should·raise·a·warning.
151 According·to·the·specification,·<code·class="inline">foo/0</code>·should·return·a·<code·class="inline">foot()</code>·type.·However,151 According·to·the·specification,·<code·class="inline">foo/0</code>·should·return·a·<code·class="inline">foot()</code>·type.·However,
152 the·function·<code·class="inline">int_to_meter/1</code>·returns·a·<code·class="inline">meter()</code>·type,·so·<code·class="inline">foo/0</code>·will·also152 the·function·<code·class="inline">int_to_meter/1</code>·returns·a·<code·class="inline">meter()</code>·type,·so·<code·class="inline">foo/0</code>·will·also
153 return·a·<code·class="inline">meter()</code>·type.·Because·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·incompatible153 return·a·<code·class="inline">meter()</code>·type.·Because·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·incompatible
154 nominal·types,·Dialyzer·raises·the·following·warning·for·<code·class="inline">foo/0</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Invalid</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span><span·class="ss">specification</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span><span·class="w">154 nominal·types,·Dialyzer·raises·the·following·warning·for·<code·class="inline">foo/0</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Invalid</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span><span·class="ss">specification</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span><span·class="w">
155 </span><span·class="n">The</span><span·class="w">·</span><span·class="ss">success</span><span·class="w">·</span><span·class="ss">typing</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="0213493494-1">(</span><span·class="p"·data-group-id="0213493494-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0213493494-2">(</span><span·class="nf">meter</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·357,·SHA:·e8c1a3dcabb70bedd0321fe2be06110d1168078ea0f6a96d05369ee2c4251fdb·...·]-2">)</span><span·class="w">155 </span><span·class="n">The</span><span·class="w">·</span><span·class="ss">success</span><span·class="w">·</span><span·class="ss">typing</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="3119474732-1">(</span><span·class="p"·data-group-id="3119474732-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3119474732-2">(</span><span·class="nf">meter</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·357,·SHA:·0d6c024ce99e0dea21b59648d278d80ef5f9994153245221a076920e5eb8ddb1·...·]-2">)</span><span·class="w">
156 </span><span·class="n">But</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">spec</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="0213493494-5">(</span><span·class="p"·data-group-id="0213493494-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="0213493494-6">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·852d93fe9cd3ff7ce2dd88ee605c294231a70ce5d77e8204bc2d9e9a7ead9ba8·...·]-6">)</span><span·class="w">156 </span><span·class="n">But</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">spec</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="3119474732-5">(</span><span·class="p"·data-group-id="3119474732-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="3119474732-6">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·4f14f1a177fd7357237288508ed8a2d812844cca9b735b513ab9a820a11b2149·...·]-6">)</span><span·class="w">
157 </span><span·class="n">The</span><span·class="w">·</span><span·class="ss">return</span><span·class="w">·</span><span·class="ss">types</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">overlap</span></code></pre><p>On·the·other·hand,·a·nominal·type·is·compatible·with·a·non-opaque,·non-nominal157 </span><span·class="n">The</span><span·class="w">·</span><span·class="ss">return</span><span·class="w">·</span><span·class="ss">types</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">overlap</span></code></pre><p>On·the·other·hand,·a·nominal·type·is·compatible·with·a·non-opaque,·non-nominal
158 type·with·the·same·structure.·This·compatibility·goes·both·ways,·meaning·that158 type·with·the·same·structure.·This·compatibility·goes·both·ways,·meaning·that
159 passing·a·structural·type·when·a·nominal·type·is·expected·is·allowed,·and159 passing·a·structural·type·when·a·nominal·type·is·expected·is·allowed,·and
160 vice·versa.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">qaz</span><span·class="p"·data-group-id="6912504765-1">(</span><span·class="p"·data-group-id="6912504765-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6912504765-2">(</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·c15a812c5be05e11fe4b565097f1846e495b638c3c2fe1d13cd34468c540d036·...·]-2">)</span><span·class="p">.</span><span·class="w">160 vice·versa.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">qaz</span><span·class="p"·data-group-id="6738800028-1">(</span><span·class="p"·data-group-id="6738800028-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6738800028-2">(</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·67727b47cc8c0217ebc1e451380da74cf2c44d4b1d7ada9f2006491e8cb2599e·...·]-2">)</span><span·class="p">.</span><span·class="w">
161 </span><span·class="nf">qaz</span><span·class="p"·data-group-id="6912504765-3">(</span><span·class="p"·data-group-id="6912504765-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="6912504765-4">(</span><span·class="mi">[·...·truncated·by·diffoscope;·len:·50,·SHA:·c95c95df25618c11b7daf56e2a8576056ffecd846e4c924cfc93e46ba85e0be7·...·]-4">)</span><span·class="p">.</span></code></pre><p>A·type·checker·that·performs·nominal·type-checking·should·not·raise·a·warning161 </span><span·class="nf">qaz</span><span·class="p"·data-group-id="6738800028-3">(</span><span·class="p"·data-group-id="6738800028-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="6738800028-4">(</span><span·class="mi">[·...·truncated·by·diffoscope;·len:·50,·SHA:·0f998180b740a71399e16d35f7d9de9c5cf1ed92b3902f26fe958d0615f4210d·...·]-4">)</span><span·class="p">.</span></code></pre><p>A·type·checker·that·performs·nominal·type-checking·should·not·raise·a·warning
162 in·this·case.·The·specification·says·that·<code·class="inline">qaz/0</code>·should·return·an·<code·class="inline">integer()</code>162 in·this·case.·The·specification·says·that·<code·class="inline">qaz/0</code>·should·return·an·<code·class="inline">integer()</code>
163 type.·However,·the·function·<code·class="inline">int_to_meter/1</code>·returns·a·<code·class="inline">meter()</code>·type,·so163 type.·However,·the·function·<code·class="inline">int_to_meter/1</code>·returns·a·<code·class="inline">meter()</code>·type,·so
164 <code·class="inline">qaz/0</code>·will·also·return·a·<code·class="inline">meter()</code>·type.·<code·class="inline">integer()</code>·is·not·a·nominal·type.164 <code·class="inline">qaz/0</code>·will·also·return·a·<code·class="inline">meter()</code>·type.·<code·class="inline">integer()</code>·is·not·a·nominal·type.
165 The·structure·of·<code·class="inline">meter()</code>·is·compatible·with·<code·class="inline">integer()</code>.·Dialyzer·can165 The·structure·of·<code·class="inline">meter()</code>·is·compatible·with·<code·class="inline">integer()</code>.·Dialyzer·can
166 analyze·the·function·above·without·raising·a·warning.</p><p>There·is·one·exception·where·two·nominal·types·with·different·names·can·be166 analyze·the·function·above·without·raising·a·warning.</p><p>There·is·one·exception·where·two·nominal·types·with·different·names·can·be
167 compatible:·when·one·is·derived·from·the·other.·For·nominal·types·<code·class="inline">s()</code>·and167 compatible:·when·one·is·derived·from·the·other.·For·nominal·types·<code·class="inline">s()</code>·and
168 <code·class="inline">t()</code>,·<code·class="inline">s()</code>·can·be·derived·from·<code·class="inline">t()</code>·in·the·two·following·ways:</p><ol><li>If·<code·class="inline">s()</code>·is·directly·derived·from·<code·class="inline">t()</code>.</li></ol><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">s</span><span·class="p"·data-group-id="2254281501-1">(</span><span·class="p"·data-group-id="2254281501-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">t</span><span·class="p"·data-group-id="2254281501-2">(</span><span·c[·...·truncated·by·diffoscope;·len:·719,·SHA:·08c883193f0115c462ac1719ca47cba08cfcf3dce937f5bcae3b0b77366b229c·...·]-2">)</span><span·class="p">.</span><span·class="w">168 <code·class="inline">t()</code>,·<code·class="inline">s()</code>·can·be·derived·from·<code·class="inline">t()</code>·in·the·two·following·ways:</p><ol><li>If·<code·class="inline">s()</code>·is·directly·derived·from·<code·class="inline">t()</code>.</li></ol><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">s</span><span·class="p"·data-group-id="9795178952-1">(</span><span·class="p"·data-group-id="9795178952-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">t</span><span·class="p"·data-group-id="9795178952-2">(</span><span·c[·...·truncated·by·diffoscope;·len:·719,·SHA:·cdd65f2408c9c4e49b46e7d38a9b3c8b90f04bad5341edab24a306ed85e5b096·...·]-2">)</span><span·class="p">.</span><span·class="w">
169 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">nominal_1</span><span·class="p"·data-group-id="4835532200-3">(</span><span·class="p"·data-group-id="4835532200-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">nominal_2</span><span·class="p"·data-group-id="4835532200-4">(</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·5336087ce394eec3cb8e71fa5eeaf93d0c60bef3d8fa2ff17e3e149d7b952bbd·...·]-4">)</span><span·class="p">.</span><span·class="w">169 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">nominal_1</span><span·class="p"·data-group-id="0863390722-3">(</span><span·class="p"·data-group-id="0863390722-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">nominal_2</span><span·class="p"·data-group-id="0863390722-4">(</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·086658948205f072299d56c138d14fbfb8a5526b7cda7a0b4d7a663bfa190ae0·...·]-4">)</span><span·class="p">.</span><span·class="w">
170 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">nominal_2</span><span·class="p"·data-group-id="4835532200-5">(</span><span·class="p"·data-group-id="4835532200-5">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">t</span><span·class="p"·data-group-id="4835532200-6">(</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·de4dfe4e90b0a2cb6def7fa9e90c48eaae7d08c1ae5e3511591aa1838067f170·...·]-6">)</span><span·class="p">.</span></code></pre><p>In·both·cases,·<code·class="inline">s()</code>·and·<code·class="inline">t()</code>·are·compatible·nominal·types·even·though·they170 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">nominal_2</span><span·class="p"·data-group-id="0863390722-5">(</span><span·class="p"·data-group-id="0863390722-5">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">t</span><span·class="p"·data-group-id="0863390722-6">(</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·42ec46acdbb2eb43e4d9fec67f9cc54d02cffeed001ade76f1b76849b8b14aaa·...·]-6">)</span><span·class="p">.</span></code></pre><p>In·both·cases,·<code·class="inline">s()</code>·and·<code·class="inline">t()</code>·are·compatible·nominal·types·even·though·they
171 have·different·names.·Defining·them·in·different·modules·does·not·affect171 have·different·names.·Defining·them·in·different·modules·does·not·affect
172 compatiblity.</p><p>In·summary,·nominal·type-checking·rules·are·as·follows:</p><p>A·function·that·has·a·<code·class="inline">-spec</code>·that·states·an·argument·or·a·return·type·to·be172 compatiblity.</p><p>In·summary,·nominal·type-checking·rules·are·as·follows:</p><p>A·function·that·has·a·<code·class="inline">-spec</code>·that·states·an·argument·or·a·return·type·to·be
173 nominal·type·<code·class="inline">a/0</code>·(or·any·other·arity),·accepts·or·may·return:</p><ul><li>Nominal·type·<code·class="inline">a/0</code></li><li>A·compatible·nominal·type·<code·class="inline">b/0</code></li><li>A·compatible·structural·type</li></ul><p>A·function·that·has·a·<code·class="inline">-spec</code>·that·states·an·argument·or·a·return·type·to·be·a173 nominal·type·<code·class="inline">a/0</code>·(or·any·other·arity),·accepts·or·may·return:</p><ul><li>Nominal·type·<code·class="inline">a/0</code></li><li>A·compatible·nominal·type·<code·class="inline">b/0</code></li><li>A·compatible·structural·type</li></ul><p>A·function·that·has·a·<code·class="inline">-spec</code>·that·states·an·argument·or·a·return·type·to·be·a
174 structural·type·<code·class="inline">b/0</code>·(or·any·other·arity),·accepts·or·may·return:</p><ul><li>A·compatible·structural·type</li><li>A·compatible·nominal·type</li></ul><p><strong>When·deciding·if·a·type·should·be·nominal,·here·are·some·suggestions:</strong></p><ul><li>If·there·are·other·types·in·the·same·module·with·the·same·structure,·and·they174 structural·type·<code·class="inline">b/0</code>·(or·any·other·arity),·accepts·or·may·return:</p><ul><li>A·compatible·structural·type</li><li>A·compatible·nominal·type</li></ul><p><strong>When·deciding·if·a·type·should·be·nominal,·here·are·some·suggestions:</strong></p><ul><li>If·there·are·other·types·in·the·same·module·with·the·same·structure,·and·they
175 should·never·be·mixed,·all·of·them·can·benefit·from·being·nominal·types.</li><li>If·a·type·represents·a·unit·like·meter,·second,·byte,·and·so·on,·defining·it175 should·never·be·mixed,·all·of·them·can·benefit·from·being·nominal·types.</li><li>If·a·type·represents·a·unit·like·meter,·second,·byte,·and·so·on,·defining·it
176 as·a·nominal·type·is·always·more·useful·than·<code·class="inline">-type</code>.·You·get·the·nice176 as·a·nominal·type·is·always·more·useful·than·<code·class="inline">-type</code>.·You·get·the·nice
177 guarantee·that·you·cannot·mix·them·up·with·other·units·defined·as·nominal177 guarantee·that·you·cannot·mix·them·up·with·other·units·defined·as·nominal
Offset 224, 15 lines modifiedOffset 224, 15 lines modified
224 ······<p·class="built-using">224 ······<p·class="built-using">
225 ········Built·using225 ········Built·using
226 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the226 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
227 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>227 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
228 ······</p>228 ······</p>
229 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>229 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
230 ····</footer>230 ····</footer>
231 ··</div>231 ··</div>
232 </main>232 </main>
233 </div>233 </div>
234 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>234 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
235 ··<script>235 ··<script>
236 ··let·initialized·=·false;236 ··let·initialized·=·false;
692 B
html2text {}
Max HTML report size reached
10.6 KB
./usr/share/doc/erlang-doc/html/doc/system/opaques.html
    
Offset 124, 24 lines modifiedOffset 124, 24 lines modified
124 <p>The·main·use·case·for·opacity·in·Erlang·is·to·hide·the·implementation·of·a·data124 <p>The·main·use·case·for·opacity·in·Erlang·is·to·hide·the·implementation·of·a·data
125 type,·enabling·evolving·the·API·while·minimizing·the·risk·of·breaking·consumers.125 type,·enabling·evolving·the·API·while·minimizing·the·risk·of·breaking·consumers.
126 The·runtime·does·not·check·opacity.·Dialyzer·provides·some·opacity-checking,·but126 The·runtime·does·not·check·opacity.·Dialyzer·provides·some·opacity-checking,·but
127 the·rest·is·up·to·convention.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Since·Erlang/OTP·28,·Dialyzer·checks·opaques·in·their·defining·module·in·the127 the·rest·is·up·to·convention.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Since·Erlang/OTP·28,·Dialyzer·checks·opaques·in·their·defining·module·in·the
128 same·way·as·nominals.·Outside·of·the·defining·module,·Dialyzer·checks128 same·way·as·nominals.·Outside·of·the·defining·module,·Dialyzer·checks
129 opaques·for·opacity·violations.</p></section><p>This·document·explains·what·Erlang·opacity·is·(and·the·trade-offs·involved)·via129 opaques·for·opacity·violations.</p></section><p>This·document·explains·what·Erlang·opacity·is·(and·the·trade-offs·involved)·via
130 the·example·of·the·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#t:set/0"><code·class="inline">sets:set()</code></a>·data·type.·This·type·<em>was</em>130 the·example·of·the·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#t:set/0"><code·class="inline">sets:set()</code></a>·data·type.·This·type·<em>was</em>
131 defined·in·the·<code·class="inline">sets</code>·module·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">set</span><span·class="p"·data-group-id="9540333285-1">(</span><span·class="n">Element</span><span·class="p"·data-group-id="9540333285-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">set</span><span·class="p"·data-group-id="9540333285-2">{</span><span·class="ss">segs</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">segs</span><span·class="p"·data-group-id="9540333285-3">(</span><span·class="n">Element</span><span·class="p"·data-group-id="9540333285-3">)</span><span·class="p"·data-group-id="9540333285-2">}</span><span·class="p">.</span></code></pre><p>OTP·24·changed·the·definition·to·the·following·in 
132 <a·href="https://github.com/erlang/otp/commit/e66941e8d7c47b973dff94c0308ea85a6be1958e">this·commit</a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">set</[·...·truncated·by·diffoscope;·len:·1135,·SHA:·254810691c71f55e5b38667fec1177ffbb0f67c3f73209bf128d19ea73726aeb·...·]131 defined·in·the·<code·class="inline">sets</code>·module·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">set</span><span·class="p"·data-group-id="153[·...·truncated·by·diffoscope;·len:·732,·SHA:·54584dfd4ab6a321ad67e9f24f5669cabe1305d2d55d5946aeb701745b87b878·...·]
 132 <a·href="https://github.com/erlang/otp/commit/e66941e8d7c47b973dff94c0308ea85a6be1958e">this·commit</a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">set</span><span·class="p"·data-group-id="7920962862-1">(</span><span·class="n">Element</span><span·class="p"·data-group-id="7920962862-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">set</span><span·class="p"·data-group-id="7920962862-2">{</span><span·class="ss">segs</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">segs</span><span·class="p"·data-group-id="7920962862-3">(</span><span·class="n">Element</span><span·class="p"·data-group-id="7920962862-3">)</span><span·class="p"·data-group-id="7920962862-2">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7920962862-4">#{</span><span·class="n">Element</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="o">?</span><span·class="n">VALUE</span><span·class="p"·data-group-id="7920962862-4">}</span><span·class="p">.</span></code></pre><p>And·this·change·was·safer·and·more·backwards-compatible·than·if·the·type·had
133 been·defined·with·<code·class="inline">-type</code>·instead·of·<code·class="inline">-opaque</code>.·Here·is·why:·when·a·module133 been·defined·with·<code·class="inline">-type</code>·instead·of·<code·class="inline">-opaque</code>.·Here·is·why:·when·a·module
134 defines·an·<code·class="inline">-opaque</code>,·the·contract·is·that·only·the·defining·module·should·rely134 defines·an·<code·class="inline">-opaque</code>,·the·contract·is·that·only·the·defining·module·should·rely
135 on·the·definition·of·the·type:·no·other·modules·should·rely·on·the·definition.</p><p>This·means·that·code·that·pattern-matched·on·<code·class="inline">set</code>·as·a·record/tuple·technically135 on·the·definition·of·the·type:·no·other·modules·should·rely·on·the·definition.</p><p>This·means·that·code·that·pattern-matched·on·<code·class="inline">set</code>·as·a·record/tuple·technically
136 broke·the·contract,·and·opted·in·to·being·potentially·broken·when·the·definition136 broke·the·contract,·and·opted·in·to·being·potentially·broken·when·the·definition
137 of·<code·class="inline">set()</code>·changed.·Before·OTP·24,·this·code·printed·<code·class="inline">ok</code>.·In·OTP·24·it·may137 of·<code·class="inline">set()</code>·changed.·Before·OTP·24,·this·code·printed·<code·class="inline">ok</code>.·In·OTP·24·it·may
138 error:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="3428646283-1">(</span><span·class="p"·data-group-id="3428646283-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">138 error:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="3524730675-1">(</span><span·class="p"·data-group-id="3524730675-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
139 ····</span><span·class="n">Set</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="3428646283-2">(</span><span·class="n">Set</span><span·class="p"·data-group-id="3428646283-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">139 ····</span><span·class="n">Set</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="3524730675-2">(</span><span·class="n">Set</span><span·class="p"·data-group-id="3524730675-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
140 ········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3428646283-3">(</span><span·class="s">&quot;ok&quot;</span><span·class="p"·data-group-id="3428646283-3">)</span><span·class="w">140 ········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3524730675-3">(</span><span·class="s">&quot;ok&quot;</span><span·class="p"·data-group-id="3524730675-3">)</span><span·class="w">
141 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p><strong>When·working·with·an·opaque·defined·in·another·module,·here·are·some141 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p><strong>When·working·with·an·opaque·defined·in·another·module,·here·are·some
142 recommendations:</strong></p><ul><li>Don't·examine·the·underlying·type·using·pattern-matching,·guards,·or·functions142 recommendations:</strong></p><ul><li>Don't·examine·the·underlying·type·using·pattern-matching,·guards,·or·functions
143 that·reveal·the·type,·such·as·<a·href="../../erts-16.0/doc/html/erlang.html#tuple_size/1"><code·class="inline">tuple_size/1</code></a>·.·One·exception143 that·reveal·the·type,·such·as·<a·href="../../erts-16.0/doc/html/erlang.html#tuple_size/1"><code·class="inline">tuple_size/1</code></a>·.·One·exception
144 is·that·<code·class="inline">=:=</code>·and·<code·class="inline">=/=</code>·can·be·used·between·two·opaques·with·the·same·name,·or144 is·that·<code·class="inline">=:=</code>·and·<code·class="inline">=/=</code>·can·be·used·between·two·opaques·with·the·same·name,·or
145 between·an·opaque·and·<code·class="inline">any()</code>,·as·those·comparisons·do·not·reveal·underlying145 between·an·opaque·and·<code·class="inline">any()</code>,·as·those·comparisons·do·not·reveal·underlying
146 types.</li><li>Use·functions·provided·by·the·module·for·working·with·the·type.·For146 types.</li><li>Use·functions·provided·by·the·module·for·working·with·the·type.·For
147 example,·<code·class="inline">sets</code>·module·provides·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#new/0"><code·class="inline">sets:new/0</code></a>,·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#add_element/2"><code·class="inline">sets:add_element/2</code></a>,147 example,·<code·class="inline">sets</code>·module·provides·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#new/0"><code·class="inline">sets:new/0</code></a>,·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#add_element/2"><code·class="inline">sets:add_element/2</code></a>,
Offset 213, 15 lines modifiedOffset 213, 15 lines modified
213 ······<p·class="built-using">213 ······<p·class="built-using">
214 ········Built·using214 ········Built·using
215 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the215 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
216 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>216 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
217 ······</p>217 ······</p>
218 <p>Copyright·©·1996-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;
823 B
html2text {}
Max HTML report size reached
3.01 KB
./usr/share/doc/erlang-doc/html/doc/system/otp-patch-apply.html
    
Offset 201, 15 lines modifiedOffset 201, 15 lines modified
201 ··</a>201 ··</a>
202 ··<span·class="text">Sanity·check</span>202 ··<span·class="text">Sanity·check</span>
203 </h2>203 </h2>
204 <p>The·application·dependencies·can·be·checked·using·the·Erlang·shell.204 <p>The·application·dependencies·can·be·checked·using·the·Erlang·shell.
205 Application·dependencies·are·verified·among·installed·applications·by205 Application·dependencies·are·verified·among·installed·applications·by
206 <code·class="inline">otp_patch_apply</code>,·but·these·are·not·necessarily·those·actually·loaded.206 <code·class="inline">otp_patch_apply</code>,·but·these·are·not·necessarily·those·actually·loaded.
207 By·calling·<code·class="inline">system_information:sanity_check()</code>·one·can·validate207 By·calling·<code·class="inline">system_information:sanity_check()</code>·one·can·validate
208 dependencies·among·applications·actually·loaded.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">system_information</span><span·class="p">:</span><span·class="nf">sanity_check</span><span·class="p"·data-group-id="8373558320-1">(</span><span·class="p"·data-group-id="8373558320-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="9101954641-1">(</span><span·class="p"·data-group-id="9101954641-1">)</span><span·class="p">.</span><span·class="w">
209 </span><span·class="ss">ok</span></code></pre><p>Please·take·a·look·at·the·reference·of·<a·href="../../lib/runtime_tools-2.2/doc/html/system_information.html#sanity_check/0"·title="">sanity_check()</a>·for·more209 </span><span·class="ss">ok</span></code></pre><p>Please·take·a·look·at·the·reference·of·<a·href="../../lib/runtime_tools-2.2/doc/html/system_information.html#sanity_check/0"·title="">sanity_check()</a>·for·more
210 information.</p>210 information.</p>
211 </div>211 </div>
  
212 <div·class="bottom-actions"·id="bottom-actions">212 <div·class="bottom-actions"·id="bottom-actions">
213 ··<div·class="bottom-actions-item">213 ··<div·class="bottom-actions-item">
  
Offset 254, 15 lines modifiedOffset 254, 15 lines modified
254 ······<p·class="built-using">254 ······<p·class="built-using">
255 ········Built·using255 ········Built·using
256 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the256 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
257 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>257 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
258 ······</p>258 ······</p>
259 <p>Copyright·©·1996-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="7322981344-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="7322981344-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p[·...·truncated·by·diffoscope;·len:·178,·SHA:·65c766fc7f47c7115d4c27f0fc64d0d2c8d123bde23f0b9bfae3e07da95be74b·...·]-2">}</span><span·class="p">.</span><span·class="w">135 4&gt;·</span><span·class="p"·data-group-id="7933871800-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="7933871800-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p[·...·truncated·by·diffoscope;·len:·178,·SHA:·1fb96c10d90e62539c94035c7641b380c8220073e5366fcb08fbf6f7561ed394·...·]-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="7322981344-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="7322981344-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p[·...·truncated·by·diffoscope;·len:·178,·SHA:·8dcd00d7a5933d63695ed33d50f86ac5ca6d62428809669a978e608b5b9509a5·...·]-4">}</span><span·class="p">.</span><span·class="w">137 5&gt;·</span><span·class="p"·data-group-id="7933871800-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="7933871800-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p[·...·truncated·by·diffoscope;·len:·178,·SHA:·16a02aa8ced5a13b818efd71c11c05170ba1c47e8013369d3b9042b0cc23818d·...·]-4">}</span><span·class="p">.</span><span·class="w">
138 </span><span·class="p"·data-group-id="7322981344-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="7322981344-5">}</span><span·class="gp·unselectable">138 </span><span·class="p"·data-group-id="7933871800-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="7933871800-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="6666753597-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="6666753597-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="0031613503-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="0031613503-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="6666753597-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="6666753597-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="0031613503-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="0031613503-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="4066943666-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4066943666-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:·c1814c20520d9adfd92583a47381eaeeace1e450abe68db10fcd40b40bb9efef·...·]-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="8784226138-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8784226138-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:·90e52e4a2b93434e85fdfba8f22468d7144fa0a0bbc68b49704399c25abf1b2f·...·]-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="8051162461-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:·2f483f40a8122ab09223ce0673ea8199c2d7c95c79ffb8210df82723e6e96b5c·...·]-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="2532809373-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:·66db01b31d422d1d7b075be748ee5572f4cf0dfe532946656f7be3f54ae9b867·...·]-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="2825303119-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2825303119-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2825303119-3">[</span><span·class="p"·data-group-id="2825303119-3">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">address</span><span·class="p"·data-group-id="2825303119-2">}</span><span·class="p"·data-group-id="2825303119-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="6291987890-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·676,·SHA:·c0c98ab707efb81d03b77b0b23e33305c427a038e4639ecd81630fe9767fab7c·...·]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="7676775239-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·732,·SHA:·f5674f76a440d20d8174877269a548e688a3297dd439c04479d4cd6be53f4bac·...·]
 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="2914903756-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2914903756-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2914903756-3">[</span><span·class="p"·data-group-id="2914903756-3">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">address</span><span·class="p"·data-group-id="2914903756-2">}</span><span·class="p"·data-group-id="2914903756-1">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="ss">person</span></code></pre><p>This·is·because·record·definitions·are·only·available·at·compile·time,·not·at151 </span><span·class="ss">person</span></code></pre><p>This·is·because·record·definitions·are·only·available·at·compile·time,·not·at
152 runtime.·For·details·on·records·in·the·shell,·see·the·<a·href="../../lib/stdlib-7.0/doc/html/shell.html"><code·class="inline">shell</code></a>·manual·page·in152 runtime.·For·details·on·records·in·the·shell,·see·the·<a·href="../../lib/stdlib-7.0/doc/html/shell.html"><code·class="inline">shell</code></a>·manual·page·in
153 STDLIB.</p><h2·id="creating-a-record"·class="section-heading">153 STDLIB.</p><h2·id="creating-a-record"·class="section-heading">
154 ··<a·href="#creating-a-record"·class="hover-link">154 ··<a·href="#creating-a-record"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Creating·a·Record</span>157 ··<span·class="text">Creating·a·Record</span>
158 </h2>158 </h2>
159 <p>A·new·<code·class="inline">person</code>·record·is·created·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="0776697639-1">{</span><span·class="ss">phone</span><span·class="o">=</span><span·class="p"·data-group-id="0776697639-2">[</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">2</span><span[·...·truncated·by·diffoscope;·len:·475,·SHA:·098b651b44714533d1cddcecde0aa532f3883962f57ff97a6c8267248ff4cc0a·...·]-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="3300297030-1">{</span><span·class="ss">phone</span><span·class="o">=</span><span·class="p"·data-group-id="3300297030-2">[</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">2</span><span[·...·truncated·by·diffoscope;·len:·475,·SHA:·2722938da6390ba041b35c601143f079034e1f40399cb67197a78f692ebe6728·...·]-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="0776697639-3">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Robert&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">[·...·truncated·by·diffoscope;·len:·707,·SHA:·19f60f085c3cc930d21958da38212eba64d71855022ad404595355fe08920997·...·]-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="3300297030-3">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Robert&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">[·...·truncated·by·diffoscope;·len:·707,·SHA:·f5a8959de577686503d7afdaebcbaae5a4bee48dffeca62e5908f4795806ec0f·...·]-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="4151634495-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:·5b330a1c1f44fed24c43cf0296ac78f60298da440dd9c152af3b1d305b6f59b5·...·]-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="0409810544-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:·0e05ff98ac537a4e592e911cbf14c5cedc7a8065ab8c6c2ff554126987c782ce·...·]-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="4151634495-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:·33a1c1a4d108b25d0e0c35810ce8b2ecf2c39cda61e62381159d97fdd08728e6·...·]-2">}</span></code></pre><p>It·is·primarily·intended·to·be·used·in·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>·and162 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="0409810544-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:·543b89fddc02d6f9cb7ca0a0b65519c5501be3854c3d78d149616a5b9eefab26·...·]-2">}</span></code></pre><p>It·is·primarily·intended·to·be·used·in·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>·and
163 <a·href="../../lib/mnesia-4.24/doc/html/mnesia.html#match_object/3"><code·class="inline">mnesia:match_object/3</code></a>,·to·set·record·fields·to·the·atom·<code·class="inline">'_'</code>.·(This·is·a163 <a·href="../../lib/mnesia-4.24/doc/html/mnesia.html#match_object/3"><code·class="inline">mnesia:match_object/3</code></a>,·to·set·record·fields·to·the·atom·<code·class="inline">'_'</code>.·(This·is·a
164 wildcard·in·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>.)</p><h2·id="accessing-a-record-field"·class="section-heading">164 wildcard·in·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>.)</p><h2·id="accessing-a-record-field"·class="section-heading">
165 ··<a·href="#accessing-a-record-field"·class="hover-link">165 ··<a·href="#accessing-a-record-field"·class="hover-link">
166 ····<i·class="ri-link-m"·aria-hidden="true"></i>166 ····<i·class="ri-link-m"·aria-hidden="true"></i>
167 ··</a>167 ··</a>
168 ··<span·class="text">Accessing·a·Record·Field</span>168 ··<span·class="text">Accessing·a·Record·Field</span>
169 </h2>169 </h2>
170 <p>The·following·example·shows·how·to·access·a·record·field:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="8136266818-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">·</s[·...·truncated·by·diffoscope;·len:·567,·SHA:·7c306920dc90727f315dd722a2d7133b73a7f5274fca4b31dcf4fc190c83713e·...·]-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="8231911335-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">·</s[·...·truncated·by·diffoscope;·len:·567,·SHA:·0aa882be3267cbf47eac8461c05b29df3e8faf6689ab1ccd43c7cdbce93e6f9a·...·]-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="8136266818-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">=</s[·...·truncated·by·diffoscope;·len:·703,·SHA:·45de6387e7864ae7a3ac7753222c8ec0c45ab86890397df9e41a22d3c5dacc82·...·]-3">}</span><span·class="gp·unselectable">171 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="8231911335-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">=</s[·...·truncated·by·diffoscope;·len:·703,·SHA:·fa0c64f42164df4d93afa106113ef49dcd4f0c86d4512decbbc21f10d554b9f5·...·]-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="8291724609-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="8291724609-2[·...·truncated·by·diffoscope;·len:·373,·SHA:·013df1694ed896965512e33e1398d593d1f481c8d2b7e2bc74a55ccb06a8889e·...·]-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="0599540517-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="0599540517-2[·...·truncated·by·diffoscope;·len:·373,·SHA:·d8d227462f690fd6b6f360119cddadbeed7e978d42b9cb5c9a8977c0a7d67d5e·...·]-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="8291724609-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:·34ae5f95d3fa528f0d055af058c1c38df5c2070dd0ecbdcaf89121c7869b779d·...·]-3">}</span><span·class="gp·unselectable">180 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="0599540517-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:·596efe7b0587f52ae2bcd51188188fea18477a907f12f3fd0e4a9df5aa163efa·...·]-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="8291724609-5">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Robert&quot;</span><span·class="p"·data-group-id="8291724609-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="0599540517-5">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Robert&quot;</span><span·class="p"·data-group-id="0599540517-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="8291724609-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:·ba978b7f49219d810761484e7fcf601caa33ab1313165f27a7d61d21d44718fa·...·]-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="0599540517-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:·188ee5d07cadd5179800ef27c600537d797ebad453367760310ad05bda7b998e·...·]-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="3604914774-1">(</span><span·class="n">P</span><span·class="p"·data-group-id="3604914774-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="3604914774-2">(</s[·...·truncated·by·diffoscope;·len:·147,·SHA:·75cbb3707f786f77dbaca93bb9ee7cf5fee7ac0815a8076226d04910af1fa153·...·]-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="9803964141-1">(</span><span·class="n">P</span><span·class="p"·data-group-id="9803964141-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="9803964141-2">(</s[·...·truncated·by·diffoscope;·len:·147,·SHA:·0943dd4de14142da20e2aa4da3473f7722a3bfd349cc8f23cec71c767bc38f0a·...·]-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="3604914774-3">(</span><span·class="p">_</span><span·class="p"·data-group-id="3604914774-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="9803964141-3">(</span><span·class="p">_</span><span·class="p"·data-group-id="9803964141-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="2578057249-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="2578057249-2[·...·truncated·by·diffoscope;·len:·372,·SHA:·9d7a1a0cade91a3dd45e28255fe26d3457ecd9c91034e14614351180cb5d240a·...·]9-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="3902217019-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="3902217019-2[·...·truncated·by·diffoscope;·len:·372,·SHA:·4ef5225348c833a7024cfe4ffe10733c9526ffe43982945647e911ec929dcadd·...·]9-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="2578057249-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:·b7f9d5ea8d05d478d01ee418c430a551fd8a541b98de9418b2f8158545819e23·...·]9-3">}</span><span·class="gp·unselectable">198 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="3902217019-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:·028dbb38bf989fb4235f14f91fb0bb2c4e65aa3598a34117ca282779c3a85f30·...·]9-3">}</span><span·class="gp·unselectable">
199 &gt;·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="2578057249-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="2578057249-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="3902217019-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="3902217019-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="5937036550-1">(</span><span·class="p"·data-group-id="5937036550-2">[</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="5937036550-3">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="n">Name</s[·...·truncated·by·diffoscope;·len:·451,·SHA:·f504e513ec42ac368ca344d4cba640e36e64c3a53973a950275446fdb4c77aa9·...·]-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="5289354982-1">(</span><span·class="p"·data-group-id="5289354982-2">[</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="5289354982-3">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="n">Name</s[·...·truncated·by·diffoscope;·len:·451,·SHA:·b36d30969c8bac38b617d34c3d944ccc8ce7b86b502efc1032c222d906509aba·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
202 ····</span><span·class="p"·data-group-id="5937036550-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="5937036550-4">}</span><span·class="p">;</span><span·class="w">202 ····</span><span·class="p"·data-group-id="5289354982-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="5289354982-4">}</span><span·class="p">;</span><span·class="w">
203 </span><span·class="nf">find_phone</span><span·class="p"·data-group-id="5937036550-5">(</span><span·class="p"·data-group-id="5937036550-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="5937036550-6">]</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·83,·SHA:·2a05297965c9743afef1693b389048826a6e0168697f9d3b416afee7cc264130·...·]-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="5289354982-5">(</span><span·class="p"·data-group-id="5289354982-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="5289354982-6">]</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·83,·SHA:·0635742bb02d138f9cb511e5920f721f7e8864989006ddfad863a5ff5b5b11cb·...·]-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="5937036550-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="5937036550-7">)</span><span·class="p">;</span><span·class="w">204 ····</span><span·class="nf">find_phone</span><span·class="p"·data-group-id="5289354982-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="5289354982-7">)</span><span·class="p">;</span><span·class="w">
205 </span><span·class="nf">find_phone</span><span·class="p"·data-group-id="5937036550-8">(</span><span·class="p"·data-group-id="5937036550-9">[</span><span·class="p"·data-group-id="5937036550-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="5937036550-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="5289354982-8">(</span><span·class="p"·data-group-id="5289354982-9">[</span><span·class="p"·data-group-id="5289354982-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="5289354982-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="6791825952-1">(</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6791825952-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:·d366783ccd90731b46d6e976fbb78000599004b772931063556f4713ea8f2be9·...·]-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="0600673666-1">(</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0600673666-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:·17216c8214413a2fcf9f79bdca4c2425e5d311c46f65d27ac902bb5b79c9f1f7·...·]-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="6791825952-3">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6791825952-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:·27080d27b0bfb57155dfa58d9d93688004c0ae719192a6552d082063e583e9ed·...·]-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="0600673666-3">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0600673666-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:·38c05f2671fd764bbe768230939a1a6441e6a52d010e92719c3e2accf7ba5f36·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
216 </span><span·class="nf">demo</span><span·class="p"·data-group-id="6791825952-6">(</span><span·class="p"·data-group-id="6791825952-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="0600673666-6">(</span><span·class="p"·data-group-id="0600673666-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="6791825952-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="6791825952-8">{</span><span·class="ss">first</span><span·class="o">=</span>[·...·truncated·by·diffoscope;·len:·381,·SHA:·cc8ea5b8e68461771e9bfb0bf043ed5e677c770028fe3aa85d500508ce1aa720·...·]-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="0600673666-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="0600673666-8">{</span><span·class="ss">first</span><span·class="o">=</span>[·...·truncated·by·diffoscope;·len:·381,·SHA:·ed160409c03080e66b7b3478a9ecffee6b92327a9c0ca6695db7addfcc094961·...·]-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="6791825952-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="6791825952-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="0600673666-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="0600673666-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="4368789051-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4368789051-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:·3bc86273607bc9115a048e375ce31450096a2f42bc440518cad3260975076e09·...·]-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="8188279601-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8188279601-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:·71c71063bc53ea95e6b520cf0fed794c922b1dacefb755620ac29efbe707b32d·...·]-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="8071194174-2">(</span><span·class="s">&quot;person.hrl&quot;</span><span·class="p"·data-group-id="8071194174-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="2201954692-2">(</span><span·class="s">&quot;person.hrl&quot;</span><span·class="p"·data-group-id="2201954692-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="8071194174-3">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="8071194174-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="2201954692-3">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="2201954692-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="8071194174-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="8071194174-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="2201954692-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="2201954692-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="8071194174-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="2201954692-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="8071194174-6">[</span><span·class="p"·data-group-id="8071194174-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="8071194174-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="2201954692-6">[</span><span·class="p"·data-group-id="2201954692-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="2201954692-7">}</span><span·class="p">,</span><span·class="w">
246 ···················</span><span·class="p"·data-group-id="8071194174-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="8071194174-8">}</span><span·class="p"·data-group-id="8071194174-6">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·96257891d9d1d32593bc73b60e7656c477077352ad902ceaef5fa961ba9926c1·...·]-5">}</span><span·class="p">.</span><span·class="w">246 ···················</span><span·class="p"·data-group-id="2201954692-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="2201954692-8">}</span><span·class="p"·data-group-id="2201954692-6">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·e41da7c62928cf842846dfabe6c8dd63a0ec93caa2737c3321afeb1f32bf0d8f·...·]-5">}</span><span·class="p">.</span><span·class="w">
  
Max diff block lines reached; 13179/72312 bytes (18.23%) 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="7675309959-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="7675309959-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="9688740907-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="9688740907-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="0283011410-1">(</span><span·class="ss">logon</span><span·class="p">,</span><span·class="p"·data-group-id="0283011410-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:·32a16a8d7a02740c70f51d1751cf24f0ed79e1e34405cd6225dbe5200508a59b·...·]-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="3684754328-1">(</span><span·class="ss">logon</span><span·class="p">,</span><span·class="p"·data-group-id="3684754328-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:·54efe132b37cd53b69c2f3275d318fcc0ec15f749b33c7fee5f9a4b1d9fc97c4·...·]-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="0283011410-3">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="0283011410-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:·26d0198229dfe4370c153ac1d101e638bfb6cf4c11d38d342f29a8d83d9e20b0·...·]-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="3684754328-3">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="3684754328-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:·f6ea3f11e9a58db674e5f1955dd89740eb0455ab2b1f586795dce08c377b893a·...·]-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="0283011410-5">(</span><span·class="ss">abort_client</span><span·class="p">,</span><span·class="p"·data-group-id="0283011410-6">{</span><span·class="ss">message</span><span·class="p"·data-group-id="0283011410-6">}</span><span·class="p"·data-group-id="028301[·...·truncated·by·diffoscope;·len:·4,·SHA:·4103f0a4e707b1c7bebbc42809ab0ace8dd3f56d844d7903bfe9f95a2ccc6972·...·]-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="3684754328-5">(</span><span·class="ss">abort_client</span><span·class="p">,</span><span·class="p"·data-group-id="3684754328-6">{</span><span·class="ss">message</span><span·class="p"·data-group-id="3684754328-6">}</span><span·class="p"·data-group-id="368475[·...·truncated·by·diffoscope;·len:·4,·SHA:·24f692ed38057c7cf08eb9ee47e79fc72d0116f77252e7b9719ba400c11170b7·...·]-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="0283011410-7">(</span><span·class="ss">server_reply</span><span·class="p">,</span><span·class="p"·data-group-id="0283011410-8">{</span><span·class="ss">message</span><span·class="p"·data-group-id="0283011410-8">}</span><span·class="p"·data-group-id="028301[·...·truncated·by·diffoscope;·len:·4,·SHA:·4103f0a4e707b1c7bebbc42809ab0ace8dd3f56d844d7903bfe9f95a2ccc6972·...·]-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="3684754328-7">(</span><span·class="ss">server_reply</span><span·class="p">,</span><span·class="p"·data-group-id="3684754328-8">{</span><span·class="ss">message</span><span·class="p"·data-group-id="3684754328-8">}</span><span·class="p"·data-group-id="368475[·...·truncated·by·diffoscope;·len:·4,·SHA:·24f692ed38057c7cf08eb9ee47e79fc72d0116f77252e7b9719ba400c11170b7·...·]-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="0283011410-9">(</span><span·class="ss">message_from</span><span·class="p">,</span><span·class="p"·data-group-id="0283011410-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:·2c376969dc5663a1c6c3529a590e83164fd3e3b551c1007ef98712dcff2ee433·...·]-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="3684754328-9">(</span><span·class="ss">message_from</span><span·class="p">,</span><span·class="p"·data-group-id="3684754328-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:·1ef13915c9ad528b0dd910b35ebb9e40d7f2cb1703fd46e25c2259962f537c80·...·]-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="0283011410-11">(</span><span·class="ss">message_to</span><span·class="p">,</span><span·class="p"·data-group-id="0283011410-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:·1c45d93bebbbe6e67c037bf4b50357e354d588ea2ba2b7ee216308e5e3107fa5·...·]-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="3684754328-11">(</span><span·class="ss">message_to</span><span·class="p">,</span><span·class="p"·data-group-id="3684754328-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:·7d3098f56a536d1235414fd910cdd546341aaa3ef4f0712610c5154161ea3f96·...·]-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="7140113106-1">(</span><span·class="ss">user_interface</span><span·class="p"·data-group-id="7140113106-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="0571140582-1">(</span><span·class="ss">user_interface</span><span·class="p"·data-group-id="0571140582-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="7140113106-2">(</span><span·class="p"·data-group-id="7140113106-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:·c2200346f023ceeabf3b30b61f3aff6e0d7c67ed89f9d7cb0ca358c9dcdee202·...·]-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="0571140582-2">(</span><span·class="p"·data-group-id="0571140582-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:·0e7b427623dbd9af28bab244fc0921354150b456a6399aa22c1b683f550702d6·...·]-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="7140113106-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="7140113106-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="0571140582-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="0571140582-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="7140113106-5">(</span><span·class="s">&quot;mess_config.hrl&quot;</span><span·class="p"·data-group-id="7140113106-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="0571140582-5">(</span><span·class="s">&quot;mess_config.hrl&quot;</span><span·class="p"·data-group-id="0571140582-5">)</span><span·class="p">.</span><span·class="w">
  
180 </span><span·class="nf">logon</span><span·class="p"·data-group-id="7140113106-6">(</span><span·class="n">Name</span><span·class="p"·data-group-id="7140113106-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="0571140582-6">(</span><span·class="n">Name</span><span·class="p"·data-group-id="0571140582-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="7140113106-7">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="7140113106-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="0571140582-7">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="0571140582-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="7140113106-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="0571140582-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="7140113106-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="7140113106-10">[</span><span·class="o">?</[·...·truncated·by·diffoscope;·len:·263,·SHA:·07935667e6b8375bc5707d2660e4c03b0976a387ab827f2ef174437e7872daa9·...·]-8">)</span><span·class="p">;</span><span·class="w">184 ·····················</span><span·class="nf">spawn</span><span·class="p"·data-group-id="0571140582-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="0571140582-10">[</span><span·class="o">?</[·...·truncated·by·diffoscope;·len:·263,·SHA:·6d42b03462d995cd71193f5980bdf070dcdce73ad583496c6359e740ce338f43·...·]-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="7140113106-11">(</span><span·class="p"·data-group-id="7140113106-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="0571140582-11">(</span><span·class="p"·data-group-id="0571140582-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="7140113106-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="7140113106-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="0571140582-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="0571140582-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="7140113106-13">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="7140113106-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="0571140582-13">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="0571140582-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="7140113106-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:·cbf833bced3fe7c5c0c9200b3b1c3b5d651d6012bc1eb5463436310a190fd308·...·]-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="0571140582-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:·dcf693c879d5fe54859b6a2b96fae03e87ca0c42cce94d62b62a79e1657d4215·...·]-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="1874990347-1">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="1874990347-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="4762407013-1">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="4762407013-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="1874990347-2">(</span><span·class="p"·data-group-id="1874990347-3">[</span><span·class="ss">client</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="1874990347-3">]</span><span·class="p"·data-group-id="1874990347-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="4762407013-2">(</span><span·class="p"·data-group-id="4762407013-3">[</span><span·class="ss">client</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="4762407013-3">]</span><span·class="p"·data-group-id="4762407013-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="1874990347-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="1874990347-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="4762407013-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="4762407013-4">)</span><span·class="p">.</span><span·class="w">
  
202 </span><span·class="nf">client</span><span·class="p"·data-group-id="1874990347-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="1874990347-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="4762407013-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="4762407013-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ····</span><span·class="p"·data-group-id="1874990347-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="1874990347-6">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·476,·SHA:·806f45b737e96b3daf8e8b7860ca48f900367e983545307151399b0e8f2981e3·...·]-7">}</span><span·class="p">,</span><span·class="w">203 ····</span><span·class="p"·data-group-id="4762407013-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="4762407013-6">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·476,·SHA:·73b5d08de535a48bb20d4582c1d64b7ca8bdab4bd2f9ab878096c8564a8cff2f·...·]-7">}</span><span·class="p">,</span><span·class="w">
204 ····</span><span·class="nf">await_result</span><span·class="p"·data-group-id="1874990347-9">(</span><span·class="p"·data-group-id="1874990347-9">)</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="nf">await_result</span><span·class="p"·data-group-id="4762407013-9">(</span><span·class="p"·data-group-id="4762407013-9">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="1874990347-10">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="1874990347-10">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="4762407013-10">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="4762407013-10">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">client</span><span·class="p"·data-group-id="1874990347-11">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="1874990347-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="4762407013-11">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="4762407013-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="1874990347-12">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="1874990347-12">)</span><span·class="p">;</span><span·class="w">209 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="4762407013-12">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="4762407013-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="1874990347-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:·e03bd652faf6f654f82125c216a706e3c705e208c75d0804ac169aaeb5dd6a63·...·]-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="4762407013-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:·23a48629d3a6d3a12aef02d3b0255b6e7765b9401aa5eb1965e7a1a580a25fbd·...·]-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ············</span><span·class="p"·data-group-id="1874990347-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="1874990347-14">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">211 ············</span><span·class="p"·data-group-id="4762407013-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="4762407013-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="1874990347-15">{</span><span·class="ss">client_pid</span><span·class="o">=</span><span·class="nf">self</span><span·class="p"·data-group-id="1874990347-16">(</span><span·class="p"·data-group-id="1874990347-16">)</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·267,·SHA:·ac1a82d0436b9ff1745a60e7c492bccf6a89582df2e1575dfb9632abec8679c3·...·]-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="4762407013-15">{</span><span·class="ss">client_pid</span><span·class="o">=</span><span·class="nf">self</span><span·class="p"·data-group-id="4762407013-16">(</span><span·class="p"·data-group-id="4762407013-16">)</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·267,·SHA:·8baa1cb4436aec87af1d9695ca9325a8cbe53bb45a256d322b92bea0466f97da·...·]-15">}</span><span·class="p">,</span><span·class="w">
213 ············</span><span·class="nf">await_result</span><span·class="p"·data-group-id="1874990347-17">(</span><span·class="p"·data-group-id="1874990347-17">)</span><span·class="p">;</span><span·class="w">213 ············</span><span·class="nf">await_result</span><span·class="p"·data-group-id="4762407013-17">(</span><span·class="p"·data-group-id="4762407013-17">)</span><span·class="p">;</span><span·class="w">
214 ········</span><span·class="p"·data-group-id="1874990347-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="187499034[·...·truncated·by·diffoscope;·len:·1,·SHA:·7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451·...·]-18">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 ········</span><span·class="p"·data-group-id="4762407013-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="476240701[·...·truncated·by·diffoscope;·len:·1,·SHA:·4e07408562bedb8b60ce05c1decfe3ad16b72230967de01f640b7e4729b49fce·...·]-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="1874990347-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:·25f801db9cbbf56462e0337cea3b50ca757215be8d0e4d720948bebabf41531b·...·]-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="4762407013-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:·710edde8743a3116bd1e8f71d60697c9fc68513acce5c75eeec189a646123ca5·...·]-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="1874990347-21">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="1874990347-21">)</span><span·class="p">.</span><span·class="w">217 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="4762407013-21">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="4762407013-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="1874990347-22">(</span><span·class="p"·data-group-id="1874990347-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="4762407013-22">(</span><span·class="p"·data-group-id="4762407013-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="1874990347-23">{</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">Why</span><span·class="p"·data-group-id="1874990347-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="4762407013-23">{</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">Why</span><span·class="p"·data-group-id="4762407013-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="1874990347-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="1874990347-25">[</span><span·class="n">Why</[·...·truncated·by·diffoscope;·len:·100,·SHA:·c85194e51c9e8eac1a042259c9b817e24a76912d662243b288734a77a9fdcf83·...·]-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="4762407013-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="4762407013-25">[</span><span·class="n">Why</[·...·truncated·by·diffoscope;·len:·100,·SHA:·3a6aa2c8dfea245b7b290080fc67ac4ee1e28842e742ab261efa2b90c0fdcd76·...·]-24">)</span><span·class="p">,</span><span·class="w">
223 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="1874990347-26">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="1874990347-26">)</span><span·class="p">;</span><span·class="w">223 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="4762407013-26">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="4762407013-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="1874990347-27">{</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">What</span><span·class="p"·data-group-id="1874990347-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="4762407013-27">{</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">What</span><span·class="p"·data-group-id="4762407013-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="1874990347-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="1874990347-29">[</span><span·class="n">What<[·...·truncated·by·diffoscope;·len:·101,·SHA:·d581ec38be340c9c33530e614278a1f47a60bf5a34ab47b091fe2b3b7d67299b·...·]-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="4762407013-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="4762407013-29">[</span><span·class="n">What<[·...·truncated·by·diffoscope;·len:·101,·SHA:·8ce6edcac53dbb6639a9f8a8e7aa70e969e49775b24e21ba99067d7fb747dd55·...·]-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="1874990347-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="1874990347-31">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·71,·SHA:·018a1537e28dbf4fab1c0ee47a9c6e0d9ce7427c47683ea9be7c4a8c74cba8c7·...·]-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="4762407013-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="4762407013-31">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·71,·SHA:·740454fb7b4a2185b7ffbc9752e82e8c915301b525188d9e1fb30a2da3b7cc60·...·]-30">)</span><span·class="p">,</span><span·class="w">
228 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="1874990347-32">(</span><span·class="ss">timeout</span><span·class="p"·data-group-id="1874990347-32">)</span><span·class="w">228 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="4762407013-32">(</span><span·class="ss">timeout</span><span·class="p"·data-group-id="4762407013-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="8133789778-1">(</span><span·class="ss">mess_server</span><span·class="p"·data-group-id="8133789778-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="0413686884-1">(</span><span·class="ss">mess_server</span><span·class="p"·data-group-id="0413686884-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="8133789778-2">(</span><span·class="p"·data-group-id="8133789778-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:·1473511a794dd74dcfa6cae427456a9c10c7ad8f4640da2ec17ac72792c0c7c9·...·]-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="0413686884-2">(</span><span·class="p"·data-group-id="0413686884-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:·613c6c8295e8af9def9db48b9958026515690c1168aab70b43023f1c32d04cae·...·]-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="8133789778-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="8133789778-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="0413686884-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="0413686884-4">)</span><span·class="p">.</span><span·class="w">
  
236 </span><span·class="nf">server</span><span·class="p"·data-group-id="8133789778-5">(</span><span·class="p"·data-group-id="8133789778-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="0413686884-5">(</span><span·class="p"·data-group-id="0413686884-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="8133789778-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="8133789778-6">)</span><span·class="p">,</span><span·class="w">237 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="0413686884-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="0413686884-6">)</span><span·class="p">,</span><span·class="w">
238 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="8133789778-7">(</span><span·class="p"·data-group-id="8133789778-8">[</span><span·class="p"·data-group-id="8133789778-8">]</span><span·class="p"·data-group-id="8133789778-7">)</span><span·class="p">.</span><span·class="w">238 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="0413686884-7">(</span><span·class="p"·data-group-id="0413686884-8">[</span><span·class="p"·data-group-id="0413686884-8">]</span><span·class="p"·data-group-id="0413686884-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="8133789778-9">(</span><span·class="n">User_List</span><span·class="p"·data-group-id="8133789778-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="0413686884-9">(</span><span·class="n">User_List</span><span·class="p"·data-group-id="0413686884-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="8133789778-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="8133789778-11">[</span><span·cla[·...·truncated·by·diffoscope;·len:·118,·SHA:·5ebfe934f4347c3ac385bee5f5142d6f4262973614985af5819e1a64356322c6·...·]-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="0413686884-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="0413686884-11">[</span><span·cla[·...·truncated·by·diffoscope;·len:·118,·SHA:·bbe00d6fd0d961fd63557eb42f908e35209353c76d1331ac7b2c29269b46bb0d·...·]-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="3155044459-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="3155044459-1">)</sp[·...·truncated·by·diffoscope;·len:·204,·SHA:·f4a29a2c375479fe5b4b2fc47962cf83f41c62d5f94b141871fffd3d8160a78f·...·]-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="6533663338-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="6533663338-1">)</sp[·...·truncated·by·diffoscope;·len:·204,·SHA:·4f9e87c7f864c6f8eb5dc3c0320b6403e32fff6a5badd5c9f840eb29234fb560·...·]-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="3155044459-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="3155044459-3">)</sp[·...·truncated·by·diffoscope;·len:·204,·SHA:·73118f578bf2549f987a31eccc9fb36098b2a24f6340c58bec04c84f6e137e14·...·]-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="6533663338-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="6533663338-3">)</sp[·...·truncated·by·diffoscope;·len:·204,·SHA:·5ccf797902d0669ba4e8d8e3d3e9532269c055bb267ae937495041167a65bc49·...·]-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="1267541353-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="1267541353-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="8668402331-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="8668402331-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="1267541353-2">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="1267541353-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="8668402331-2">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="8668402331-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="1267541353-3">(</span><span·class="mi">0</span><span·class="p"·data-group-id="1267541353-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="8668402331-3">(</span><span·class="mi">0</span><span·class="p"·data-group-id="8668402331-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="0285759360-1">(</span><span·class="ss">mod</span><span·class="p"·data-group-id="0285759360-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="6901905479-1">(</span><span·class="ss">mod</span><span·class="p"·data-group-id="6901905479-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="0285759360-2">(</span><span·class="p"·data-group-id="0285759360-3">[</span><span·class="ss">fact</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="0285759360-3">]</span><span·class="p"·data-group-id="0285759360-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="6901905479-2">(</span><span·class="p"·data-group-id="6901905479-3">[</span><span·class="ss">fact</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="6901905479-3">]</span><span·class="p"·data-group-id="6901905479-2">)</span><span·class="p">.</span><span·class="w">
  
155 </span><span·class="nf">fact</span><span·class="p"·data-group-id="0285759360-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="0285759360-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="6901905479-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="6901905479-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="0285759360-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="0285759360-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="6901905479-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="6901905479-5">)</span><span·class="p">;</span><span·class="w">
157 </span><span·class="nf">fact</span><span·class="p"·data-group-id="0285759360-6">(</span><span·class="mi">0</span><span·class="p"·data-group-id="0285759360-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="6901905479-6">(</span><span·class="mi">0</span><span·class="p"·data-group-id="6901905479-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="1498140466-1">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="1498140466-1">)</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1[·...·truncated·by·diffoscope;·len:·287,·SHA:·9be877be2cb86c974a78f82f60ab62ef1f6c29f7bb3bb690da85a5e725998005·...·]6-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="4346156906-1">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="4346156906-1">)</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4[·...·truncated·by·diffoscope;·len:·287,·SHA:·b86d119744d023723f4e1e2f6a2427c6010266b2a55759d47fdc582cd28dc5b6·...·]6-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="1498140466-3">(</span><span·class="mi">0</span><span·class="p"·data-group-id="1498140466-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="4346156906-3">(</span><span·class="mi">0</span><span·class="p"·data-group-id="4346156906-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="4558497143-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="4558497143-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="0352723000-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="0352723000-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="4558497143-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="4558497143-3">[</span><span·class="n">N</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·e2a613116d1a5de5bd3462548a0b1fce9718d963e3c3e772a1decf8d1bfca1f5·...·]-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="0352723000-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="0352723000-3">[</span><span·class="n">N</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·e1372c7945b91f916fd92989c6ac03349bf4336b947ead52351362bab1c4c025·...·]-2">)</span><span·class="p">,</span><span·class="w">
182 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="4558497143-4">(</span><span·class="n">N</span><span·class="o">+</span><span·class="mi">1</span><span·class="p"·data-group-id="4558497143-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="0352723000-4">(</span><span·class="n">N</span><span·class="o">+</span><span·class="mi">1</span><span·class="p"·data-group-id="0352723000-4">)</span><span·class="p">.</span></code></pre><p>The·earlier·factorial·example·is·a·counter-example.·It·is·not
183 tail-recursive,·since·a·multiplication·is·done·on·the·result·of·the·recursive183 tail-recursive,·since·a·multiplication·is·done·on·the·result·of·the·recursive
184 call·to·<code·class="inline">fact(N-1)</code>.</p><h2·id="built-in-functions-bifs"·class="section-heading">184 call·to·<code·class="inline">fact(N-1)</code>.</p><h2·id="built-in-functions-bifs"·class="section-heading">
185 ··<a·href="#built-in-functions-bifs"·class="hover-link">185 ··<a·href="#built-in-functions-bifs"·class="hover-link">
186 ····<i·class="ri-link-m"·aria-hidden="true"></i>186 ····<i·class="ri-link-m"·aria-hidden="true"></i>
187 ··</a>187 ··</a>
188 ··<span·class="text">Built-In·Functions·(BIFs)</span>188 ··<span·class="text">Built-In·Functions·(BIFs)</span>
189 </h2>189 </h2>
Offset 191, 17 lines modifiedOffset 191, 17 lines modified
191 system.·BIFs·do·things·that·are·difficult·or·impossible·to·implement191 system.·BIFs·do·things·that·are·difficult·or·impossible·to·implement
192 in·Erlang.·Most·of·the·BIFs·belong·to·module·<a·href="../../erts-16.0/doc/html/erlang.html"><code·class="inline">erlang</code></a>,·but·there192 in·Erlang.·Most·of·the·BIFs·belong·to·module·<a·href="../../erts-16.0/doc/html/erlang.html"><code·class="inline">erlang</code></a>,·but·there
193 are·also·BIFs·belonging·to·a·few·other·modules,·for·example·<a·href="../../lib/stdlib-7.0/doc/html/lists.html"><code·class="inline">lists</code></a>193 are·also·BIFs·belonging·to·a·few·other·modules,·for·example·<a·href="../../lib/stdlib-7.0/doc/html/lists.html"><code·class="inline">lists</code></a>
194 and·<a·href="../../lib/stdlib-7.0/doc/html/ets.html"><code·class="inline">ets</code></a>.</p><p>The·most·commonly·used·BIFs·belonging·to·<a·href="../../erts-16.0/doc/html/erlang.html"><code·class="inline">erlang</code></a>·are·<em>auto-imported</em>.·They·do194 and·<a·href="../../lib/stdlib-7.0/doc/html/ets.html"><code·class="inline">ets</code></a>.</p><p>The·most·commonly·used·BIFs·belonging·to·<a·href="../../erts-16.0/doc/html/erlang.html"><code·class="inline">erlang</code></a>·are·<em>auto-imported</em>.·They·do
195 not·need·to·be·prefixed·with·the·module·name.·Which·BIFs·that·are·auto-imported195 not·need·to·be·prefixed·with·the·module·name.·Which·BIFs·that·are·auto-imported
196 is·specified·in·the·<a·href="../../erts-16.0/doc/html/erlang.html"><code·class="inline">erlang</code></a>·module·in·ERTS.·For·example,·standard-type196 is·specified·in·the·<a·href="../../erts-16.0/doc/html/erlang.html"><code·class="inline">erlang</code></a>·module·in·ERTS.·For·example,·standard-type
197 conversion·BIFs·like·<code·class="inline">atom_to_list</code>·and·BIFs·allowed·in·guards·can·be·called197 conversion·BIFs·like·<code·class="inline">atom_to_list</code>·and·BIFs·allowed·in·guards·can·be·called
198 without·specifying·the·module·name.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="7687092090-1">(</span><span·class="p"·data-group-id="7687092090-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="7687092090-2">}</span><span[·...·truncated·by·diffoscope;·len:·35,·SHA:·7304177073eb1bfda6274a3d43b5be0a58759ad14e080fc7674b7c87eeb2379e·...·]0-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="6755628850-1">(</span><span·class="p"·data-group-id="6755628850-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="6755628850-2">}</span><span[·...·truncated·by·diffoscope;·len:·35,·SHA:·99d32170ed5aa956bb15e11889c85d538fdd2b62e9f5bec0989abae69cd00abb·...·]0-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="7687092090-3">(</span><span·class="ss">&#39;Erlang&#39;</span><span·class="p"·data-group-id="7687092090-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="6755628850-3">(</span><span·class="ss">&#39;Erlang&#39;</span><span·class="p"·data-group-id="6755628850-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.65 KB
./usr/share/doc/erlang-doc/html/doc/system/ref_man_processes.html
    
Offset 125, 18 lines modifiedOffset 125, 18 lines modified
125 (grow·and·shrink·dynamically)·with·small·memory·footprint,·fast·to·create·and125 (grow·and·shrink·dynamically)·with·small·memory·footprint,·fast·to·create·and
126 terminate,·and·the·scheduling·overhead·is·low.</p><h2·id="process-creation"·class="section-heading">126 terminate,·and·the·scheduling·overhead·is·low.</p><h2·id="process-creation"·class="section-heading">
127 ··<a·href="#process-creation"·class="hover-link">127 ··<a·href="#process-creation"·class="hover-link">
128 ····<i·class="ri-link-m"·aria-hidden="true"></i>128 ····<i·class="ri-link-m"·aria-hidden="true"></i>
129 ··</a>129 ··</a>
130 ··<span·class="text">Process·Creation</span>130 ··<span·class="text">Process·Creation</span>
131 </h2>131 </h2>
132 <p>A·process·is·created·by·calling·<a·href="../../erts-16.0/doc/html/erlang.html#spawn/3"><code·class="inline">spawn()</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">spawn</span><span·class="p"·data-group-id="2502873303-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="2502873303-1">)</span><s[·...·truncated·by·diffoscope;·len:·195,·SHA:·a7599f07b4af9939e33590220caca0388bc6c9b6c93041500ecf78f890ad593f·...·]-2">)</span><span·class="w">132 <p>A·process·is·created·by·calling·<a·href="../../erts-16.0/doc/html/erlang.html#spawn/3"><code·class="inline">spawn()</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">spawn</span><span·class="p"·data-group-id="6042248526-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="6042248526-1">)</span><s[·...·truncated·by·diffoscope;·len:·195,·SHA:·825c27578b097669de947edb4bec4ceae9d08ab37465eafdd998b4c11192e08b·...·]-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="2502873303-3">(</span><span·class="p"·data-group-id="2502873303-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="6042248526-3">(</span><span·class="p"·data-group-id="6042248526-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="2502873303-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="2502873303-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="6042248526-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="6042248526-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="2502873303-5">(</span><span·class="p"·data-group-id="2502873303-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="6042248526-5">(</span><span·class="p"·data-group-id="6042248526-5">)</span></code></pre><p><code·class="inline">spawn()</code>·creates·a·new·process·and·returns·the·pid.</p><p>The·new·process·starts·executing·in·<code·class="inline">Module:Name(Arg1,...,ArgN)</code>·where·the
136 arguments·are·the·elements·of·the·(possible·empty)·<code·class="inline">Args</code>·argument·list.</p><p>There·exist·a·number·of·different·<code·class="inline">spawn</code>·BIFs:</p><ul><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn/4"><code·class="inline">spawn/1,2,3,4</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_link/4"><code·class="inline">spawn_link/1,2,3,4</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_monitor/4"><code·class="inline">spawn_monitor/1,2,3,4</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_opt/5"><code·class="inline">spawn_opt/2,3,4,5</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_request/5"><code·class="inline">spawn_request/1,2,3,4,5</code></a></li></ul><h2·id="registered-processes"·class="section-heading">136 arguments·are·the·elements·of·the·(possible·empty)·<code·class="inline">Args</code>·argument·list.</p><p>There·exist·a·number·of·different·<code·class="inline">spawn</code>·BIFs:</p><ul><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn/4"><code·class="inline">spawn/1,2,3,4</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_link/4"><code·class="inline">spawn_link/1,2,3,4</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_monitor/4"><code·class="inline">spawn_monitor/1,2,3,4</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_opt/5"><code·class="inline">spawn_opt/2,3,4,5</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_request/5"><code·class="inline">spawn_request/1,2,3,4,5</code></a></li></ul><h2·id="registered-processes"·class="section-heading">
137 ··<a·href="#registered-processes"·class="hover-link">137 ··<a·href="#registered-processes"·class="hover-link">
138 ····<i·class="ri-link-m"·aria-hidden="true"></i>138 ····<i·class="ri-link-m"·aria-hidden="true"></i>
139 ··</a>139 ··</a>
140 ··<span·class="text">Registered·Processes</span>140 ··<span·class="text">Registered·Processes</span>
141 </h2>141 </h2>
142 <p>Besides·addressing·a·process·by·using·its·pid,·there·are·also·BIFs·for142 <p>Besides·addressing·a·process·by·using·its·pid,·there·are·also·BIFs·for
Offset 648, 15 lines modifiedOffset 648, 15 lines modified
648 ······<p·class="built-using">648 ······<p·class="built-using">
649 ········Built·using649 ········Built·using
650 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the650 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
651 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>651 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
652 ······</p>652 ······</p>
653 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>653 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
654 ····</footer>654 ····</footer>
655 ··</div>655 ··</div>
656 </main>656 </main>
657 </div>657 </div>
658 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>658 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
659 ··<script>659 ··<script>
660 ··let·initialized·=·false;660 ··let·initialized·=·false;
653 B
html2text {}
Max HTML report size reached
31.8 KB
./usr/share/doc/erlang-doc/html/doc/system/ref_man_records.html
    
Offset 123, 17 lines modifiedOffset 123, 17 lines modified
123 ····<i·class="ri-link-m"·aria-hidden="true"></i>123 ····<i·class="ri-link-m"·aria-hidden="true"></i>
124 ··</a>124 ··</a>
125 ··<span·class="text">Defining·Records</span>125 ··<span·class="text">Defining·Records</span>
126 </h2>126 </h2>
127 <p>A·record·definition·consists·of·the·name·of·the·record,·followed·by·the·field127 <p>A·record·definition·consists·of·the·name·of·the·record,·followed·by·the·field
128 names·of·the·record.·Record·and·field·names·must·be·atoms.·Each·field·can·be128 names·of·the·record.·Record·and·field·names·must·be·atoms.·Each·field·can·be
129 given·an·optional·default·value.·If·no·default·value·is·supplied,·<code·class="inline">undefined</code>·is129 given·an·optional·default·value.·If·no·default·value·is·supplied,·<code·class="inline">undefined</code>·is
130 used.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0714849372-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0714849372-2">{</span><span·class="n">Field1</span><span·class="w">·</span><span·class="p"·data-group-id="0714849372-3">[</span><[·...·truncated·by·diffoscope;·len:·116,·SHA:·09499594f651af71f60e74684c4249e9a6c2b8c5a790ca7dc1409c4ec7065804·...·]-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="0828186925-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0828186925-2">{</span><span·class="n">Field1</span><span·class="w">·</span><span·class="p"·data-group-id="0828186925-3">[</span><[·...·truncated·by·diffoscope;·len:·116,·SHA:·3e86f9816062df2f2c6ab505bc7a541240fa698162e0a524b2b49410773f3b31·...·]-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="0714849372-4">[</span><span·class="o">=</span><span·class="w">·</span><span·class="n">ExprN</span><span·class="p"·data-group-id="0714849372-4">]</span><span·class="p"·data-group-id="0714849372-2">}</span><span·class="p"·data-group-id="0714849372-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="0828186925-4">[</span><span·class="o">=</span><span·class="w">·</span><span·class="n">ExprN</span><span·class="p"·data-group-id="0828186925-4">]</span><span·class="p"·data-group-id="0828186925-2">}</span><span·class="p"·data-group-id="0828186925-1">)</span><span·class="p">.</span></code></pre><p>The·default·value·for·a·field·is·an·arbitrary·expression,·except·that·it·must
133 not·use·any·variables.</p><p>A·record·definition·can·be·placed·anywhere·among·the·attributes·and·function133 not·use·any·variables.</p><p>A·record·definition·can·be·placed·anywhere·among·the·attributes·and·function
134 declarations·of·a·module,·but·the·definition·must·come·before·any·usage·of·the134 declarations·of·a·module,·but·the·definition·must·come·before·any·usage·of·the
135 record.</p><p>If·a·record·is·used·in·several·modules,·it·is·recommended·that·the·record135 record.</p><p>If·a·record·is·used·in·several·modules,·it·is·recommended·that·the·record
136 definition·is·placed·in·an·include·file.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Starting·from·Erlang/OTP·26,·records·can·be·defined·in·the·Erlang·shell136 definition·is·placed·in·an·include·file.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Starting·from·Erlang/OTP·26,·records·can·be·defined·in·the·Erlang·shell
137 using·the·syntax·described·in·this·section.·In·earlier·releases,·it·was137 using·the·syntax·described·in·this·section.·In·earlier·releases,·it·was
138 necessary·to·use·the·<a·href="../../lib/stdlib-7.0/doc/html/shell.html"><code·class="inline">shell</code></a>·built-in·function·<code·class="inline">rd/2</code>.</p></section><h2·id="creating-records"·class="section-heading">138 necessary·to·use·the·<a·href="../../lib/stdlib-7.0/doc/html/shell.html"><code·class="inline">shell</code></a>·built-in·function·<code·class="inline">rd/2</code>.</p></section><h2·id="creating-records"·class="section-heading">
139 ··<a·href="#creating-records"·class="hover-link">139 ··<a·href="#creating-records"·class="hover-link">
Offset 143, 32 lines modifiedOffset 143, 32 lines modified
143 </h2>143 </h2>
144 <p>The·following·expression·creates·a·new·<code·class="inline">Name</code>·record·where·the·value·of·each144 <p>The·following·expression·creates·a·new·<code·class="inline">Name</code>·record·where·the·value·of·each
145 field·<code·class="inline">FieldI</code>·is·the·value·of·evaluating·the·corresponding·expression·<code·class="inline">ExprI</code>:</p><pre><code·class="text">#Name{Field1=Expr1,·...,·FieldK=ExprK}</code></pre><p>The·fields·can·be·in·any·order,·not·necessarily·the·same·order·as·in·the·record145 field·<code·class="inline">FieldI</code>·is·the·value·of·evaluating·the·corresponding·expression·<code·class="inline">ExprI</code>:</p><pre><code·class="text">#Name{Field1=Expr1,·...,·FieldK=ExprK}</code></pre><p>The·fields·can·be·in·any·order,·not·necessarily·the·same·order·as·in·the·record
146 definition,·and·fields·can·be·omitted.·Omitted·fields·get·their·respective146 definition,·and·fields·can·be·omitted.·Omitted·fields·get·their·respective
147 default·value·instead.</p><p>If·several·fields·are·to·be·assigned·the·same·value,·the·following·construction147 default·value·instead.</p><p>If·several·fields·are·to·be·assigned·the·same·value,·the·following·construction
148 can·be·used:</p><pre><code·class="text">#Name{Field1=Expr1,·...,·FieldK=ExprK,·_=ExprL}</code></pre><p>Omitted·fields·then·get·the·value·of·evaluating·<code·class="inline">ExprL</code>·instead·of·their·default148 can·be·used:</p><pre><code·class="text">#Name{Field1=Expr1,·...,·FieldK=ExprK,·_=ExprL}</code></pre><p>Omitted·fields·then·get·the·value·of·evaluating·<code·class="inline">ExprL</code>·instead·of·their·default
149 values.·This·feature·is·primarily·intended·to·be·used·to·create·patterns·for·ETS149 values.·This·feature·is·primarily·intended·to·be·used·to·create·patterns·for·ETS
150 and·Mnesia·match·functions.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="1627916778-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1627916778-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:·d4c477502e22534f478362a8fac4f48f34e1ea717694035a966700b84ae94bb6·...·]-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="3455088332-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3455088332-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:·b6b20a5fd262fc1256a33f30fbc16b474058948fec9873b37ba3e61621ab71d4·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
151 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="1627916778-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="1627916778-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="3455088332-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="3455088332-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="1627916778-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="1627916778-5">{</span><span·class="ss">name</span><span·class="o">=</span><[·...·truncated·by·diffoscope;·len:·251,·SHA:·0e193d1fe6b02fd6210d29849876e449b902c4fcfceb2bb3d3c9384c5e085e58·...·]-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="3455088332-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="3455088332-5">{</span><span·class="ss">name</span><span·class="o">=</span><[·...·truncated·by·diffoscope;·len:·251,·SHA:·45386313fb5a0b1cd404ece65740f93ab286b1d18da23a9f8324981287584d73·...·]-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="4060730515-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4060730515-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:·a09b5ca8059f4b61bed386d7e425af2c64b943129ba90679d7da4219eda2e648·...·]-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="0125870989-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0125870989-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:·fe1980589425698aeff3105121047b4cb4548ee5ff2e72ad78c9c3860e9f03eb·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
160 </span><span·class="nf">get_person_name</span><span·class="p"·data-group-id="4060730515-3">(</span><span·class="n">Person</span><span·class="p"·data-group-id="4060730515-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="0125870989-3">(</span><span·class="n">Person</span><span·class="p"·data-group-id="0125870989-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="0713731666-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0713731666-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:·83ef801f7303f9f97cb264fd365fab766223bc68c5a9347a7604180e7454c7bc·...·]-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="5592205315-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5592205315-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:·a2afc7ed8bd076cd3a9ba5c730837c66acdfeda9dc16978557fd11f772db8c19·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
163 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="0713731666-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="0713731666-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="5592205315-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="5592205315-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="0713731666-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:·08202986ec31d74fef487c8fc2387dda4290cae3f230ab2f780eeae09b66f0cb·...·]-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="5592205315-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:·b3288c36251e4e3418e2d5134f3500728809322a295bde07eb1b909dda0b0675·...·]-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="2874541816-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="2874541816-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·442,·SHA:·6386f05875edee8a72fb1d7ee144799a989b5ec564ef486918916abd7c18d13f·...·]-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="1743031502-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="1743031502-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·442,·SHA:·55448925779f29b3af8a81f0ea963215fbbe20cf92cd3e03e40744d383e88cbc·...·]-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="2874541816-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="2874541816-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="1743031502-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="1743031502-3">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">running</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
188 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>There·is·also·a·type·test·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#is_record/2"><code·class="inline">is_record(Term,·RecordTag)</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">is_person</span><span·class="p"·data-group-id="8096700643-1">(</span><span·class="n">P</span><span·class="p"·data-group-id="8096700643-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="8096700643-2">(</s[·...·truncated·by·diffoscope;·len:·147,·SHA:·28bdd70cbe46f1db4e2d91083abecf4d683828332962cdc2d4334dc8bf1e789e·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">188 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>There·is·also·a·type·test·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#is_record/2"><code·class="inline">is_record(Term,·RecordTag)</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">is_person</span><span·class="p"·data-group-id="3203860980-1">(</span><span·class="n">P</span><span·class="p"·data-group-id="3203860980-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="3203860980-2">(</s[·...·truncated·by·diffoscope;·len:·147,·SHA:·bd20ed1c85d6c468de24469ce52e3fe96ccc24b8d9394ac6024c9b10ca05d424·...·]-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="8096700643-3">(</span><span·class="p">_</span><span·class="n">P</span><span·class="p"·data-group-id="8096700643-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="3203860980-3">(</span><span·class="p">_</span><span·class="n">P</span><span·class="p"·data-group-id="3203860980-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="5980580088-1">(</span><span·class="ss">nrec0</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5980580088-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="5980580088-2">}</span><span·class="p"·data-group-id="5980580088-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="5980580088-3">(</span><span·class="ss">nrec1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5980580088-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="5980580088-5">{</span><span·class="p"·data-group-id="5980580088-5">}</span><span·class="p"·data-group-id="5980580088-4">}</span><span·class="p"·data-group-id="5980580088-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="5980580088-6">(</span><span·class="ss">nrec2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5980580088-7">{</span><span·class="[·...·truncated·by·diffoscope;·len:·485,·SHA:·5f997eb273863bd25611b773cf40ced0dd4404a5aba9c39e1f226bf3dd741e8f·...·]">)</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="0492439367-1">(</span><span·class="ss">nrec0</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·313,·SHA:·beb79671548c8e8b4932dd3e9b698cb1b3c0f270699ea1d722b7a08de2bd853d·...·]">)</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="0492439367-3">(</span><span·class="ss">nrec1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0492439367-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="0492439367-5">{</span><span·class="p"·data-group-id="0492439367-5">}</span><span·class="p"·data-group-id="0492439367-4">}</span><span·class="p"·data-group-id="0492439367-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="0492439367-6">(</span><span·class="ss">nrec2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0492439367-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="0492439367-8">{</span><span·class="p"·data-group-id="0492439367-8">}</span><span·class="p"·data-group-id="0492439367-7">}</span><span·class="p"·data-group-id="0492439367-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="5980580088-9">{</span><span·class="p"·data-group-id="5980580088-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="0492439367-9">{</span><span·class="p"·data-group-id="0492439367-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="5566573786-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5566573786-2">{</span><span·class="n">Field1</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FieldN</span><span·class="p"·data-group-id="5566573786-2">}</span><span·class="p"·data-group-id="5566573786-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="1267342350-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="1267342350-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1267342350-2">[</span><span·class="n">Field</span><span·class="p"·data-group-id="1267342350-2">]</span><span·class="w"> 
219 </span><span·class="nf">record_info</span><span·class="p"·data-group-id="1267342350-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="1267342350-3">)</span><sp[·...·truncated·by·diffoscope;·len:·216,·SHA:·dbe5cd2b032485dac7384e2d3ff22e1357da302e3c3e9f59d7f5b684c3d56890·...·]217 record·defined·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0674011309-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·721,·SHA:·203dd45e1c5e9f400693a61adcc251b1adaedb6a8c0aa4c0c3b4e232d0aaf4ea·...·]
 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="6082782133-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="6082782133-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6082782133-2">[</span><span·class="n">Field</span><span·class="p"·data-group-id="6082782133-2">]</span><span·class="w">
 219 </span><span·class="nf">record_info</span><span·class="p"·data-group-id="6082782133-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="6082782133-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-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>,·simple·code·replacement·is·not·sufficient.226 the·internal·state·of·a·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>,·simple·code·replacement·is·not·sufficient.
227 Instead,·it·is·necessary·to:</p><ul><li>Suspend·the·processes·using·the·module·(to·avoid·that·they·try·to·handle·any227 Instead,·it·is·necessary·to:</p><ul><li>Suspend·the·processes·using·the·module·(to·avoid·that·they·try·to·handle·any
228 requests·before·the·code·replacement·is·completed).</li><li>Ask·them·to·transform·the·internal·state·format·and·switch·to·the·new·version228 requests·before·the·code·replacement·is·completed).</li><li>Ask·them·to·transform·the·internal·state·format·and·switch·to·the·new·version
229 of·the·module.</li><li>Remove·the·old·version.</li><li>Resume·the·processes.</li></ul><p>This·is·called·<em>synchronized·code·replacement</em>·and·for·this·the·following229 of·the·module.</li><li>Remove·the·old·version.</li><li>Resume·the·processes.</li></ul><p>This·is·called·<em>synchronized·code·replacement</em>·and·for·this·the·following
230 instructions·are·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9609078017-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="9609078017-2">{</span><span·class="ss">advanced<[·...·truncated·by·diffoscope;·len:·176,·SHA:·1fbdbb9b53dbb940610bc4a928a4af7b573b1c4dd7e2ab9149dff1ba4dbc0518·...·]-1">}</span><span·class="w">230 instructions·are·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6277472751-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="6277472751-2">{</span><span·class="ss">advanced<[·...·truncated·by·diffoscope;·len:·176,·SHA:·fcd7606a5db005284781435d61399583eab195fd069e2400be5e530d01ff42c1·...·]-1">}</span><span·class="w">
231 </span><span·class="p"·data-group-id="9609078017-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="9609078017-3">}</span></code></pre><p><code·class="inline">update</code>·with·argument·<code·class="inline">{advanced,Extra}</code>·is·used·when·changing·the·internal231 </span><span·class="p"·data-group-id="6277472751-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="6277472751-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="6658768576-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:·2f6ff38ea56c1206caf6ddc067efe4340b32c17dfdcf91f078b8ddd1c199738f·...·]-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="2805834212-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:·01d0a3aaf640570da0dfd1be8db16264f528baa34c417c440b2985ad8403f0ed·...·]-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="9755775179-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="9755775179-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="0538074513-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="0538074513-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="1663816334-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="1663816334-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="8717402775-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="8717402775-1">}</span></code></pre><p>Any·process,·in·any·application,·with·<code·class="inline">Module</code>·as·residence·module,·is
254 killed·when·the·instruction·is·evaluated.·Therefore,·the·user·must254 killed·when·the·instruction·is·evaluated.·Therefore,·the·user·must
255 ensure·that·all·such·processes·are·terminated·before·deleting·module255 ensure·that·all·such·processes·are·terminated·before·deleting·module
256 <code·class="inline">Module</code>·to·avoid·a·situation·with·failing·supervisor·restarts.</p><h3·id="application-instructions"·class="section-heading">256 <code·class="inline">Module</code>·to·avoid·a·situation·with·failing·supervisor·restarts.</p><h3·id="application-instructions"·class="section-heading">
257 ··<a·href="#application-instructions"·class="hover-link">257 ··<a·href="#application-instructions"·class="hover-link">
258 ····<i·class="ri-link-m"·aria-hidden="true"></i>258 ····<i·class="ri-link-m"·aria-hidden="true"></i>
259 ··</a>259 ··</a>
260 ··<span·class="text">Application·Instructions</span>260 ··<span·class="text">Application·Instructions</span>
Offset 341, 60 lines modifiedOffset 341, 60 lines modified
341 <code·class="inline">.app</code>·file.</li><li>Each·<code·class="inline">UpFromVsn</code>·is·a·previous·version·of·the·application·to·upgrade·from.</li><li>Each·<code·class="inline">DownToVsn</code>·is·a·previous·version·of·the·application·to·downgrade·to.</li><li>Each·<code·class="inline">Instructions</code>·is·a·list·of·release·handling·instructions.</li></ul><p><code·class="inline">UpFromVsn</code>·and·<code·class="inline">DownToVsn</code>·can·also·be·specified·as·regular·expressions.·For341 <code·class="inline">.app</code>·file.</li><li>Each·<code·class="inline">UpFromVsn</code>·is·a·previous·version·of·the·application·to·upgrade·from.</li><li>Each·<code·class="inline">DownToVsn</code>·is·a·previous·version·of·the·application·to·downgrade·to.</li><li>Each·<code·class="inline">Instructions</code>·is·a·list·of·release·handling·instructions.</li></ul><p><code·class="inline">UpFromVsn</code>·and·<code·class="inline">DownToVsn</code>·can·also·be·specified·as·regular·expressions.·For
342 more·information·about·the·syntax·and·contents·of·the·<code·class="inline">.appup</code>·file,·see342 more·information·about·the·syntax·and·contents·of·the·<code·class="inline">.appup</code>·file,·see
343 <a·href="../../lib/sasl-4.3/doc/html/appup.html"><code·class="inline">appup</code></a>·in·SASL.</p><p><a·href="appup_cookbook.html">Appup·Cookbook</a>·includes·examples·of·<code·class="inline">.appup</code>·files·for343 <a·href="../../lib/sasl-4.3/doc/html/appup.html"><code·class="inline">appup</code></a>·in·SASL.</p><p><a·href="appup_cookbook.html">Appup·Cookbook</a>·includes·examples·of·<code·class="inline">.appup</code>·files·for
344 typical·upgrade/downgrade·cases.</p><p><em>Example:</em>·Consider·the·release·<code·class="inline">ch_rel-1</code>·from344 typical·upgrade/downgrade·cases.</p><p><em>Example:</em>·Consider·the·release·<code·class="inline">ch_rel-1</code>·from
345 <a·href="release_structure.html#ch_rel">Releases</a>.·Assume·you·want·to·add·a·function345 <a·href="release_structure.html#ch_rel">Releases</a>.·Assume·you·want·to·add·a·function
346 <code·class="inline">available/0</code>·to·server·<code·class="inline">ch3</code>,·which·returns·the·number·of·available·channels346 <code·class="inline">available/0</code>·to·server·<code·class="inline">ch3</code>,·which·returns·the·number·of·available·channels
347 (when·trying·out·the·example,·make·the·change·in·a·copy·of·the·original347 (when·trying·out·the·example,·make·the·change·in·a·copy·of·the·original
348 directory,·to·ensure·that·the·first·version·is·still·available):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3884792415-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="3884792415-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="7739390214-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="7739390214-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="3884792415-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="3884792415-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="7739390214-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="7739390214-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="3884792415-3">(</span><span·class="p"·data-group-id="3884792415-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="3884792415-4">]</span><span·class="p"·data-group-id="3884792415-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="7739390214-3">(</span><span·class="p"·data-group-id="7739390214-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7739390214-4">]</span><span·class="p"·data-group-id="7739390214-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="3884792415-5">(</span><span·class="p"·data-group-id="3884792415-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:·33176c297e74cf04b574615b68be0629193b44b4c34633a6f325583f6f7d9607·...·]-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="7739390214-5">(</span><span·class="p"·data-group-id="7739390214-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:·a3e580ac63e7a94b8e4d491ff5fab0dd7966c48472f2318aa2169be1f032a7b8·...·]-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="3884792415-7">(</span><span·class="p"·data-group-id="3884792415-8">[</span><span·class="ss">available</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="3884792415-8">]</span><span·class="p"·data-group-id="3884792415-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="7739390214-7">(</span><span·class="p"·data-group-id="7739390214-8">[</span><span·class="ss">available</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7739390214-8">]</span><span·class="p"·data-group-id="7739390214-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="3884792415-9">(</span><span·class="p"·data-group-id="3884792415-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:·7a95545673c70bb5afbf15a716d99e3767e9ee52939e4d6f9d982b208f9866f3·...·]-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="7739390214-9">(</span><span·class="p"·data-group-id="7739390214-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:·9b432244f1cea726da859f9a9efdc2f2abd326729aa63e5e7474bf483b70a013·...·]-9">)</span><span·class="p">.</span><span·class="w">
  
355 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="3884792415-11">(</span><span·class="p"·data-group-id="3884792415-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="7739390214-11">(</span><span·class="p"·data-group-id="7739390214-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="3884792415-12">(</span><span·class="p"·data-group-id="3884792415-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="3884792415-13">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·407,·SHA:·37b4dea8ff4f17a814eb215d5649f9fdbf28c20a5075de9bfe46ed76503791d3·...·]-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="7739390214-12">(</span><span·class="p"·data-group-id="7739390214-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="7739390214-13">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·407,·SHA:·cc307c90a443504d2776a6eb8795f3bf7dddda20ca534bac9b5db427f05ae213·...·]-12">)</span><span·class="p">.</span><span·class="w">
  
357 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="3884792415-16">(</span><span·class="p"·data-group-id="3884792415-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="7739390214-16">(</span><span·class="p"·data-group-id="7739390214-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="3884792415-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="3884792415-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="7739390214-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="7739390214-17">)</span><span·class="p">.</span><span·class="w">
  
359 </span><span·class="nf">free</span><span·class="p"·data-group-id="3884792415-18">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="3884792415-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="7739390214-18">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="7739390214-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="3884792415-19">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3884792415-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:·11a04205ef4a04eaef532626773b29b3b3fe0cb70eebd80814918fa3427ede40·...·]-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="7739390214-19">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7739390214-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:·0324c67d3979a26f0c1122e2b1f8d2dfbc0c59c753b9a5c09767d90b1ba6760f·...·]-19">)</span><span·class="p">.</span><span·class="w">
  
361 </span><span·class="nf">available</span><span·class="p"·data-group-id="3884792415-21">(</span><span·class="p"·data-group-id="3884792415-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="7739390214-21">(</span><span·class="p"·data-group-id="7739390214-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="3884792415-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="3884792415-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="7739390214-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="7739390214-22">)</span><span·class="p">.</span><span·class="w">
  
363 </span><span·class="nf">init</span><span·class="p"·data-group-id="3884792415-23">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="3884792415-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="7739390214-23">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="7739390214-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
364 ····</span><span·class="p"·data-group-id="3884792415-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="3884792415-25">(</span><span·class="p"·data-group-id="3884792415-25">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·fba74e9385c4a10865ed9569327a827fb64e0381c9722143249fe403b6614a33·...·]-24">}</span><span·class="p">.</span><span·class="w">364 ····</span><span·class="p"·data-group-id="7739390214-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="7739390214-25">(</span><span·class="p"·data-group-id="7739390214-25">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·9b0e2aa688b73c2172dc433e7c78951f5542bdb81740a9e620695724a8dde513·...·]-24">}</span><span·class="p">.</span><span·class="w">
  
365 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="3884792415-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:·ff28ed57e18bacc54e939b83a248a5fb555a969ba2b906ee93aaf69f2ee5a86c·...·]-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="7739390214-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:·4087343dfed4b2e7cfd3a0184829e2b033f7bc54fae0549b3bde31e3912d1d7b·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
366 ····</span><span·class="p"·data-group-id="3884792415-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="3884792415-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·143,·SHA:·46e6cd6931707442762321cfc27a2f65bec5ce71f98c85b571088b258f2fe3ae·...·]-28">)</span><span·class="p">,</span><span·class="w">366 ····</span><span·class="p"·data-group-id="7739390214-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="7739390214-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·143,·SHA:·39abeab4e8723d6ff7277fdadd3293bd3deba3bfd955af70471c77b2204847c1·...·]-28">)</span><span·class="p">,</span><span·class="w">
367 ····</span><span·class="p"·data-group-id="3884792415-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="3884792415-29">}</span><span·class="p">;</span><span·class="w">367 ····</span><span·class="p"·data-group-id="7739390214-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="7739390214-29">}</span><span·class="p">;</span><span·class="w">
368 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="3884792415-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:·cc4b73becee86c703f497486b2995482fec1e93bce4f314d385f778c93ef4072·...·]-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="7739390214-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:·4a7cc8db8152963292d7400bf2ae9be854b6ed77c324fa810eb52bb0e2cac446·...·]-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="3884792415-31">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="3884792415-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="7739390214-31">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="7739390214-31">)</span><span·class="p">,</span><span·class="w">
370 ····</span><span·class="p"·data-group-id="3884792415-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="3884792415-32">}</span><span·class="p">.</span><span·class="w">370 ····</span><span·class="p"·data-group-id="7739390214-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="7739390214-32">}</span><span·class="p">.</span><span·class="w">
  
371 </span><span·class="nf">handle_cast</span><span·class="p"·data-group-id="3884792415-33">(</span><span·class="p"·data-group-id="3884792415-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="3884792415-34">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·b29c0ae3d7cd024caafc699ccb8f12893371709e3a565139eaeef77620c1426e·...·]-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="7739390214-33">(</span><span·class="p"·data-group-id="7739390214-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="7739390214-34">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·b0f7bae284fcbbb3d2aef5e2dd24dcd6f81df75e3ae9ac2ed4e5c9601540d9ab·...·]-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="3884792415-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="3884792415-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="7739390214-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="7739390214-35">)</span><span·class="p">,</span><span·class="w">
373 ····</span><span·class="p"·data-group-id="3884792415-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="3884792415-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="7739390214-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="7739390214-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="1468523386-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="9501119769-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="1468523386-2">[</span><span·class="p"·data-group-id="1468523386-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="1468523386-3">}</span><span·class="p">,</span><span·class="w">375 ·</span><span·class="p"·data-group-id="9501119769-2">[</span><span·class="p"·data-group-id="9501119769-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="9501119769-3">}</span><span·class="p">,</span><span·class="w">
376 ··</span><span·class="p"·data-group-id="1468523386-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="1468523386-4">}</span><span·class="p">,</span><span·class="w">376 ··</span><span·class="p"·data-group-id="9501119769-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="9501119769-4">}</span><span·class="p">,</span><span·class="w">
377 ··</span><span·class="p"·data-group-id="1468523386-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1468523386-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:·5469a7e4e74c108532f81594effc8e20f753442ce298642487dfa361b29b943b·...·]-5">}</span><span·class="p">,</span><span·class="w">377 ··</span><span·class="p"·data-group-id="9501119769-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9501119769-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:·ef683da680863f721bdb9e99e09e6f7199b5f1a9d310d4ef2e3f5904d0538f13·...·]-5">}</span><span·class="p">,</span><span·class="w">
378 ··</span><span·class="p"·data-group-id="1468523386-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1468523386-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="1468523386-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·4905333083de3385fa8d6e8cad5db838ec01f225efd47f93a165a40191fab7d0·...·]-7">}</span><span·class="p">,</span><span·class="w">378 ··</span><span·class="p"·data-group-id="9501119769-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9501119769-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="9501119769-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·c4449286072859eadf0d5dc18466c517ed0eeb255834c69c0cd023013acfd7b9·...·]-7">}</span><span·class="p">,</span><span·class="w">
379 ··</span><span·class="p"·data-group-id="1468523386-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1468523386-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:·7521bcaa204405e05f292819d799cc2f894fdbd0fcc6722b0f36c1798a7dd2da·...·]-9">}</span><span·class="p">,</span><span·class="w">379 ··</span><span·class="p"·data-group-id="9501119769-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9501119769-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:·b295ee14758ae60cd156545ae23b45113a2f979b9b969572fd91a5de3c421379·...·]-9">}</span><span·class="p">,</span><span·class="w">
380 ··</span><span·class="p"·data-group-id="1468523386-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1468523386-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="1468523386-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·21ffb51c019858f3763db8a322692089d9f8061675d7519bfee1cb7ee4042e19·...·]-11">}</span><span·class="w">380 ··</span><span·class="p"·data-group-id="9501119769-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9501119769-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="9501119769-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·276e1f37ff07e75d8bcd5a4c353e8085a4c086b2f262351dfb73e1f69ae2b0aa·...·]-11">}</span><span·class="w">
381 ·</span><span·class="p"·data-group-id="1468523386-2">]</span><span·class="p"·data-group-id="1468523386-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="9501119769-2">]</span><span·class="p"·data-group-id="9501119769-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="0024414566-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="3444188126-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
384 ·</span><span·class="p"·data-group-id="0024414566-2">[</span><span·class="p"·data-group-id="0024414566-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0024414566-4">[</span><span·class="p"·data-group-id="0024414566-5"[·...·truncated·by·diffoscope;·len:·318,·SHA:·e6a88cac5f54e695c9fe181e74015fb68a534d747609197172513319df229db5·...·]6-2">]</span><span·class="p">,</span><span·class="w">384 ·</span><span·class="p"·data-group-id="3444188126-2">[</span><span·class="p"·data-group-id="3444188126-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3444188126-4">[</span><span·class="p"·data-group-id="3444188126-5"[·...·truncated·by·diffoscope;·len:·318,·SHA:·929a0a05ed260cd4bfd375fc42e9180830476056ccc3a97e83da5d7464d9e0ed·...·]6-2">]</span><span·class="p">,</span><span·class="w">
385 ·</span><span·class="p"·data-group-id="0024414566-6">[</span><span·class="p"·data-group-id="0024414566-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0024414566-8">[</span><span·class="p"·data-group-id="0024414566-9"[·...·truncated·by·diffoscope;·len:·318,·SHA:·54d68ac94b6b2ef6a8e38579a92f09f7cfa09ecee8ecde1a3d43df39d000fb5b·...·]6-6">]</span><span·class="w">385 ·</span><span·class="p"·data-group-id="3444188126-6">[</span><span·class="p"·data-group-id="3444188126-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3444188126-8">[</span><span·class="p"·data-group-id="3444188126-9"[·...·truncated·by·diffoscope;·len:·318,·SHA:·02b8a1964350292c2d4d387006fbeb4bda99b431eecf7902b0063669541c78a5·...·]6-6">]</span><span·class="w">
386 </span><span·class="p"·data-group-id="0024414566-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="3444188126-1">}</span><span·class="p">.</span></code></pre><p><a·href=""·id="relup"></a></p><h2·id="release-upgrade-file"·class="section-heading">
387 ··<a·href="#release-upgrade-file"·class="hover-link">387 ··<a·href="#release-upgrade-file"·class="hover-link">
388 ····<i·class="ri-link-m"·aria-hidden="true"></i>388 ····<i·class="ri-link-m"·aria-hidden="true"></i>
389 ··</a>389 ··</a>
390 ··<span·class="text">Release·Upgrade·File</span>390 ··<span·class="text">Release·Upgrade·File</span>
391 </h2>391 </h2>
392 <p>To·define·how·to·upgrade/downgrade·between·the·new·version·and·previous·versions392 <p>To·define·how·to·upgrade/downgrade·between·the·new·version·and·previous·versions
393 of·a·release,·a·<em>release·upgrade·file</em>,·or·in·short·<code·class="inline">.relup</code>·file,·is·to·be393 of·a·release,·a·<em>release·upgrade·file</em>,·or·in·short·<code·class="inline">.relup</code>·file,·is·to·be
Offset 405, 22 lines modifiedOffset 405, 22 lines modified
405 are·to·be·added·and·deleted,·and·which·applications·that·must·be·upgraded·and/or405 are·to·be·added·and·deleted,·and·which·applications·that·must·be·upgraded·and/or
406 downgraded.·The·instructions·for·this·are·fetched·from·the·<code·class="inline">.appup</code>·files·and406 downgraded.·The·instructions·for·this·are·fetched·from·the·<code·class="inline">.appup</code>·files·and
407 transformed·into·a·single·list·of·low-level·instructions·in·the·right·order.</p><p>If·the·<code·class="inline">relup</code>·file·is·relatively·simple,·it·can·be·created·manually.·It·is·only407 transformed·into·a·single·list·of·low-level·instructions·in·the·right·order.</p><p>If·the·<code·class="inline">relup</code>·file·is·relatively·simple,·it·can·be·created·manually.·It·is·only
408 to·contain·low-level·instructions.</p><p>For·details·about·the·syntax·and·contents·of·the·release·upgrade·file,·see408 to·contain·low-level·instructions.</p><p>For·details·about·the·syntax·and·contents·of·the·release·upgrade·file,·see
409 <a·href="../../lib/sasl-4.3/doc/html/relup.html"><code·class="inline">relup</code></a>·in·SASL.</p><p><em>Example,·continued·from·the·previous·section:</em>·You·have·a·new·version·&quot;2&quot;·of409 <a·href="../../lib/sasl-4.3/doc/html/relup.html"><code·class="inline">relup</code></a>·in·SASL.</p><p><em>Example,·continued·from·the·previous·section:</em>·You·have·a·new·version·&quot;2&quot;·of
410 <code·class="inline">ch_app</code>·and·an·<code·class="inline">.appup</code>·file.·A·new·version·of·the·<code·class="inline">.rel</code>·file·is·also·needed.410 <code·class="inline">ch_app</code>·and·an·<code·class="inline">.appup</code>·file.·A·new·version·of·the·<code·class="inline">.rel</code>·file·is·also·needed.
411 This·time·the·file·is·called·<code·class="inline">ch_rel-2.rel</code>·and·the·release·version·string·is411 This·time·the·file·is·called·<code·class="inline">ch_rel-2.rel</code>·and·the·release·version·string·is
412 changed·from·&quot;A&quot;·to·&quot;B&quot;:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9328015672-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="5642218114-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">
413 ·</span><span·class="p"·data-group-id="9328015672-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="9328015672-2">}</span><span·class="p">,</span><span·class="w">413 ·</span><span·class="p"·data-group-id="5642218114-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="5642218114-2">}</span><span·class="p">,</span><span·class="w">
414 ·</span><span·class="p"·data-group-id="9328015672-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="9328015672-3">}</span><span·class="p">,</span><span·class="w">414 ·</span><span·class="p"·data-group-id="5642218114-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="5642218114-3">}</span><span·class="p">,</span><span·class="w">
415 ·</span><span·class="p"·data-group-id="9328015672-4">[</span><span·class="p"·data-group-id="9328015672-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="9328015672-5">}</span><span·class="p">,</span><span·class="w">415 ·</span><span·class="p"·data-group-id="5642218114-4">[</span><span·class="p"·data-group-id="5642218114-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="5642218114-5">}</span><span·class="p">,</span><span·class="w">
416 ··</span><span·class="p"·data-group-id="9328015672-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="9328015672-6">}</span><span·class="p">,</span><span·class="w">416 ··</span><span·class="p"·data-group-id="5642218114-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="5642218114-6">}</span><span·class="p">,</span><span·class="w">
417 ··</span><span·class="p"·data-group-id="9328015672-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="9328015672-7">}</span><span·class="p">,</span><span·class="w">417 ··</span><span·class="p"·data-group-id="5642218114-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="5642218114-7">}</span><span·class="p">,</span><span·class="w">
418 ··</span><span·class="p"·data-group-id="9328015672-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="9328015672-8">}</span><span·class="p"·data-group-id="9328015672-4">]</span><span·class="w">418 ··</span><span·class="p"·data-group-id="5642218114-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="5642218114-8">}</span><span·class="p"·data-group-id="5642218114-4">]</span><span·class="w">
419 </span><span·class="p"·data-group-id="9328015672-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="5642218114-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,
436 which·handles·unpacking,·installation,·and·removal·of·release436 which·handles·unpacking,·installation,·and·removal·of·release
Max diff block lines reached; 22911/69654 bytes (32.89%) 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="0296503446-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0296503446-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:·a6266bf78d3227e16f29e3d627ed8bf7a99e34fd8e64ad290e03c12019155d98·...·]-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="6946578202-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6946578202-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:·d76c122c97aa07c5ef95c50292fb438207d96259994dba0859aa64443a16888b·...·]-3">}</span><span·class="p">,</span><span·class="w">
144 ·</span><span·class="p"·data-group-id="0296503446-4">[</span><span·class="p"·data-group-id="0296503446-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="0296503446-5">}</span><span·class="p">,</span><span·class="w">144 ·</span><span·class="p"·data-group-id="6946578202-4">[</span><span·class="p"·data-group-id="6946578202-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="6946578202-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="0296503446-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="0296503446-6">}</span><span·class="p"·data-group-id="0296503446-4">]</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·5c3ff67768fc24d927e2507969f1d5dfb670fe9089c0ef24a0883813418e04f2·...·]-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="6946578202-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="6946578202-6">}</span><span·class="p"·data-group-id="6946578202-4">]</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·2e9fca91fdd8ac36ab0610cf16a8df67e4f1874dbd6a70298b911e705f68291a·...·]-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="7225930689-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="6955363212-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="7225930689-2">[</span><span·class="p"·data-group-id="7225930689-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="7225930689-3">}</span><span·class="p">,</span><span·class="w">151 ·</span><span·class="p"·data-group-id="6955363212-2">[</span><span·class="p"·data-group-id="6955363212-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="6955363212-3">}</span><span·class="p">,</span><span·class="w">
152 ··</span><span·class="p"·data-group-id="7225930689-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="7225930689-4">}</span><span·class="p">,</span><span·class="w">152 ··</span><span·class="p"·data-group-id="6955363212-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="6955363212-4">}</span><span·class="p">,</span><span·class="w">
153 ··</span><span·class="p"·data-group-id="7225930689-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7225930689-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:·30f61a0d0b183f0abcd4e2cab9f79626808cda8fe0886662b9a657c74eb2ba44·...·]-5">}</span><span·class="p">,</span><span·class="w">153 ··</span><span·class="p"·data-group-id="6955363212-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6955363212-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:·458aeea038cf998ba85b9609ceadaccfc7d095950ce5cb471359cdb9a54b7d53·...·]-5">}</span><span·class="p">,</span><span·class="w">
154 ··</span><span·class="p"·data-group-id="7225930689-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7225930689-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="7225930689-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·b9a9f7bd9903b013ce3ee1ff0e803485a7d076778447a0b4353b3ce15da6b933·...·]-7">}</span><span·class="p">,</span><span·class="w">154 ··</span><span·class="p"·data-group-id="6955363212-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6955363212-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="6955363212-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·10d1f5938ffd3cebfb6bab1a11d21a0dfc3f9c0fbbbce27eb31442ecc92e045f·...·]-7">}</span><span·class="p">,</span><span·class="w">
155 ··</span><span·class="p"·data-group-id="7225930689-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7225930689-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:·6b500bbd31a4c5b76aa091c0aab1c1b10a430fa69c8682ddb16f8e3ecd301e44·...·]-9">}</span><span·class="p">,</span><span·class="w">155 ··</span><span·class="p"·data-group-id="6955363212-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6955363212-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:·d2347a8578d7a7c4ec4ec55cb6b3f0119f64a5972f80bb759776e30c6c25f9d4·...·]-9">}</span><span·class="p">,</span><span·class="w">
156 ··</span><span·class="p"·data-group-id="7225930689-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7225930689-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="7225930689-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·73b82eae57e1d4a1f6df5a3e2748886a4cb3166fc259885bb213810e69dbd0f7·...·]-11">}</span><span·class="w">156 ··</span><span·class="p"·data-group-id="6955363212-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6955363212-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="6955363212-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·04ed5e38e38540cf2ef444f3f67d866b2843cde29dfdc4bd420f9c9a38ed150d·...·]-11">}</span><span·class="w">
157 ·</span><span·class="p"·data-group-id="7225930689-2">]</span><span·class="p"·data-group-id="7225930689-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="6955363212-2">]</span><span·class="p"·data-group-id="6955363212-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="7168946962-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="0763791196-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">
159 ·</span><span·class="p"·data-group-id="7168946962-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="7168946962-2">}</span><span·class="p">,</span><span·class="w">159 ·</span><span·class="p"·data-group-id="0763791196-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="0763791196-2">}</span><span·class="p">,</span><span·class="w">
160 ·</span><span·class="p"·data-group-id="7168946962-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="7168946962-3">}</span><span·class="p">,</span><span·class="w">160 ·</span><span·class="p"·data-group-id="0763791196-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="0763791196-3">}</span><span·class="p">,</span><span·class="w">
161 ·</span><span·class="p"·data-group-id="7168946962-4">[</span><span·class="p"·data-group-id="7168946962-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="7168946962-5">}</span><span·class="p">,</span><span·class="w">161 ·</span><span·class="p"·data-group-id="0763791196-4">[</span><span·class="p"·data-group-id="0763791196-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="0763791196-5">}</span><span·class="p">,</span><span·class="w">
162 ··</span><span·class="p"·data-group-id="7168946962-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="7168946962-6">}</span><span·class="p">,</span><span·class="w">162 ··</span><span·class="p"·data-group-id="0763791196-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="0763791196-6">}</span><span·class="p">,</span><span·class="w">
163 ··</span><span·class="p"·data-group-id="7168946962-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="7168946962-7">}</span><span·class="p">,</span><span·class="w">163 ··</span><span·class="p"·data-group-id="0763791196-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="0763791196-7">}</span><span·class="p">,</span><span·class="w">
164 ··</span><span·class="p"·data-group-id="7168946962-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="7168946962-8">}</span><span·class="p"·data-group-id="7168946962-4">]</span><span·class="w">164 ··</span><span·class="p"·data-group-id="0763791196-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="0763791196-8">}</span><span·class="p"·data-group-id="0763791196-4">]</span><span·class="w">
165 </span><span·class="p"·data-group-id="7168946962-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="0763791196-1">}</span><span·class="p">.</span></code></pre><p><a·href=""·id="boot"></a></p><h2·id="generating-boot-scripts"·class="section-heading">
166 ··<a·href="#generating-boot-scripts"·class="hover-link">166 ··<a·href="#generating-boot-scripts"·class="hover-link">
167 ····<i·class="ri-link-m"·aria-hidden="true"></i>167 ····<i·class="ri-link-m"·aria-hidden="true"></i>
168 ··</a>168 ··</a>
169 ··<span·class="text">Generating·Boot·Scripts</span>169 ··<span·class="text">Generating·Boot·Scripts</span>
170 </h2>170 </h2>
171 <p><a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·in·the·SASL·application·includes·tools·to·build·and·check171 <p><a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·in·the·SASL·application·includes·tools·to·build·and·check
172 releases.·The·functions·read·the·<code·class="inline">.rel</code>·and·<code·class="inline">.app</code>·files·and·perform172 releases.·The·functions·read·the·<code·class="inline">.rel</code>·and·<code·class="inline">.app</code>·files·and·perform
Offset 190, 17 lines modifiedOffset 190, 17 lines modified
190 ··<a·href="#creating-a-release-package"·class="hover-link">190 ··<a·href="#creating-a-release-package"·class="hover-link">
191 ····<i·class="ri-link-m"·aria-hidden="true"></i>191 ····<i·class="ri-link-m"·aria-hidden="true"></i>
192 ··</a>192 ··</a>
193 ··<span·class="text">Creating·a·Release·Package</span>193 ··<span·class="text">Creating·a·Release·Package</span>
194 </h2>194 </h2>
195 <p>The·<a·href="../../lib/sasl-4.3/doc/html/systools.html#make_tar/2"><code·class="inline">systools:make_tar/1,2</code></a>·function·takes·a195 <p>The·<a·href="../../lib/sasl-4.3/doc/html/systools.html#make_tar/2"><code·class="inline">systools:make_tar/1,2</code></a>·function·takes·a
196 <code·class="inline">.rel</code>·file·as·input·and·creates·a·zipped·tar·file·with·the·code·for196 <code·class="inline">.rel</code>·file·as·input·and·creates·a·zipped·tar·file·with·the·code·for
197 the·specified·applications,·a·<em>release·package</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">systools</span><span·class="p">:</span><span·class="nf">make_script</span><span·class="p"·data-group-id="2958619117-1">(</span><span·class="s">&quot;ch_rel-1&quot;</span><span·class="p"·data-group-id="2958619117-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="0169066060-1">(</span><span·class="s">&quot;ch_rel-1&quot;</span><span·class="p"·data-group-id="0169066060-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="2958619117-2">(</span><span·class="s">&quot;ch_rel-1&quot;</span><span·class="p"·data-group-id="2958619117-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="0169066060-2">(</span><span·class="s">&quot;ch_rel-1&quot;</span><span·class="p"·data-group-id="0169066060-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="6377026318-1">(</span><span·class="ss">tut19</span><span·class="p"·data-group-id="6377026318-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="3115582643-1">(</span><span·class="ss">tut19</span><span·class="p"·data-group-id="3115582643-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="6377026318-2">(</span><span·class="p"·data-group-id="6377026318-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:·55687326ba907a4d7138dfbe58433ba0821830cc871376e479374b027d56f2d8·...·]-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="3115582643-2">(</span><span·class="p"·data-group-id="3115582643-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:·af5c77c606fd779e73969b0f3510cd0a7089e407206c419d11fa4b00f6919429·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
138 </span><span·class="nf">ping</span><span·class="p"·data-group-id="6377026318-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="6377026318-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="3115582643-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="3115582643-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="6377026318-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="6377026318-6">[</span><span·class="p"·data-group-id="63770[·...·truncated·by·diffoscope;·len:·58,·SHA:·8a932cdeafea5de259336e8c40ba992cc47a46e5fbd03d74659195e9cf450f6c·...·]-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="3115582643-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="3115582643-6">[</span><span·class="p"·data-group-id="31155[·...·truncated·by·diffoscope;·len:·58,·SHA:·bfbc4dd42c92470a7533dadc2d7f9f56509f30a40f19c818085616dfffc68125·...·]-5">)</span><span·class="p">;</span><span·class="w">
  
140 </span><span·class="nf">ping</span><span·class="p"·data-group-id="6377026318-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="6377026318-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="3115582643-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="3115582643-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
141 ····</span><span·class="p"·data-group-id="6377026318-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="6377026318-8">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·305,·SHA:·1d1b1939256e3bf2e4ba86f9b1d15346ecaa0983ca3a3d20959ab2cb79ddcc08·...·]-9">}</span><span·class="p">,</span><span·class="w">141 ····</span><span·class="p"·data-group-id="3115582643-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="3115582643-8">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·305,·SHA:·39bcf1269bc60630c6fde5f4d0bd3acb2a5031e06f3ea9b4c9a7ce415be203f0·...·]-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="6377026318-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="6377026318-12">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·895e7bd73dc60eb97813dd9db75c5446a869c08f8b76c66fc2fbb98d75e37e8d·...·]-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="3115582643-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="3115582643-12">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·edffb085107ba5ac87faf0483f1967296bbba540b6a78832d711772f32dd5e45·...·]-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="6377026318-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="6[·...·truncated·by·diffoscope;·len:·9,·SHA:·19964ae84bd4434d8e5e25cfefa232280111fdcee5fb0852da2cf4f7b062687c·...·]-13">)</span><span·class="p">.</span><span·class="w">146 ····</span><span·class="nf">ping</span><span·class="p"·data-group-id="3115582643-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="3[·...·truncated·by·diffoscope;·len:·9,·SHA:·ee43cb1ad211de330f219558f6548160b3b74707ccd9954540be6b3d9c9521b0·...·]-13">)</span><span·class="p">.</span><span·class="w">
  
147 </span><span·class="nf">pong</span><span·class="p"·data-group-id="6377026318-14">(</span><span·class="p"·data-group-id="6377026318-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="3115582643-14">(</span><span·class="p"·data-group-id="3115582643-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="6377026318-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="6377026318-15">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">149 ········</span><span·class="p"·data-group-id="3115582643-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="3115582643-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="6377026318-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="6377026318-17">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·980473c4c8c4f5e85ed6cfc75f5934f71cc96a4ebca7f6fe2fd23c59e41edd0a·...·]-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="3115582643-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="3115582643-17">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·b57a53f1f4ef9e17699f382f3167abdec7a93992854fe4e362603af4aac4e28e·...·]-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="6377026318-18">(</span><span·class="p"·data-group-id="6377026318-18">)</span><span·class="w">152 ············</span><span·class="nf">pong</span><span·class="p"·data-group-id="3115582643-18">(</span><span·class="p"·data-group-id="3115582643-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="6377026318-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="6377026318-20">[</span><span·class="p"·data-group-id="63[·...·truncated·by·diffoscope;·len:·62,·SHA:·52f7a40d70e1d35323ed0b3e836cc97352dda8584fa5653f5ee8ae2c6e4c39f3·...·]-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="3115582643-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="3115582643-20">[</span><span·class="p"·data-group-id="31[·...·truncated·by·diffoscope;·len:·62,·SHA:·4ad68dc85d2a6a54f2eb4ffe803b738a3858fe50dadaad2d3bb7ab18236d975d·...·]-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="6377026318-21">(</span><span·class="p"·data-group-id="6377026318-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="3115582643-21">(</span><span·class="p"·data-group-id="3115582643-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="6377026318-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="6377026318-23">(</span><span·class="ss">tut19</span><span·class="p">,</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·282,·SHA:·98d20f881b68d334b5eb29b64542eae5049739ef8bb29eafbeac16f1287f2827·...·]-22">)</span><span·class="p">.</span><span·class="w">157 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="3115582643-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="3115582643-23">(</span><span·class="ss">tut19</span><span·class="p">,</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·282,·SHA:·6bee2d5836c186dee33f50e1295283ce50b01a9f2e5c6e307ac5a61a56b432d3·...·]-22">)</span><span·class="p">.</span><span·class="w">
  
158 </span><span·class="nf">start_ping</span><span·class="p"·data-group-id="6377026318-25">(</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="6377026318-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="3115582643-25">(</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="3115582643-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="6377026318-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="6377026318-27">[</span><span·class="mi">3</span><[·...·truncated·by·diffoscope;·len:·174,·SHA:·6043e20cb76b3ffaa553326010ba764b50d7e2b1332eefbaa4eb84077a0e165a·...·]-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="3115582643-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="3115582643-27">[</span><span·class="mi">3</span><[·...·truncated·by·diffoscope;·len:·174,·SHA:·38cb79ffd01a18d08c5ee58c75bcdffacc187868116a6f867ef2ec6e9c1c270f·...·]-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="1556095289-1">(</span><span·class="p"·data-group-id="1556095289-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="1306723643-1">(</span><span·class="p"·data-group-id="1306723643-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="1556095289-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="1556095289-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 ········</span><span·class="p"·data-group-id="1306723643-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="1306723643-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="1556095289-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="1556095289-4">[</span><span·class="p"·data-group-id="1[·...·truncated·by·diffoscope;·len:·62,·SHA:·9d8535c0b2caf2fee79cd32ce21c466f4f1a5c0cc5e5a1df7ac271db30a8dc8f·...·]-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="1306723643-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="1306723643-4">[</span><span·class="p"·data-group-id="1[·...·truncated·by·diffoscope;·len:·62,·SHA:·893965477b8799060794d4244a0d72a517789849078e01d3814f0cc324cd1073·...·]-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="1556095289-5">(</span><span·class="p"·data-group-id="1556095289-5">)</span><span·class="w">175 ············</span><span·class="nf">pong</span><span·class="p"·data-group-id="1306723643-5">(</span><span·class="p"·data-group-id="1306723643-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="1556095289-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="1556095289-7">[</span><span·class="p"·data-group-id="15560[·...·truncated·by·diffoscope;·len:·58,·SHA:·23642b7886af6d3620b3e5bc70c53b80e563490ae066db839713497f4ed19433·...·]-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="1306723643-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="1306723643-7">[</span><span·class="p"·data-group-id="13067[·...·truncated·by·diffoscope;·len:·58,·SHA:·b5d57513d13c756715f88c1c677141fd200e60fc64174a0c263b777a759ce5db·...·]-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="0970190121-1">(</span><span·class="p"·data-group-id="0970190121-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="2720166819-1">(</span><span·class="p"·data-group-id="2720166819-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span></code></pre><p>In·general,·there·are·better·ways·than·using·time-outs·to·supervise·parts·of·a
184 distributed·Erlang·system.·Time-outs·are·usually·appropriate·to·supervise184 distributed·Erlang·system.·Time-outs·are·usually·appropriate·to·supervise
185 external·events,·for·example,·if·you·have·expected·a·message·from·some·external185 external·events,·for·example,·if·you·have·expected·a·message·from·some·external
186 system·within·a·specified·time.·For·example,·a·time-out·can·be·used·to·log·a186 system·within·a·specified·time.·For·example,·a·time-out·can·be·used·to·log·a
187 user·out·of·the·messenger·system·if·they·have·not·accessed·it·for,·say,·ten187 user·out·of·the·messenger·system·if·they·have·not·accessed·it·for,·say,·ten
188 minutes.</p><h2·id="error-handling"·class="section-heading">188 minutes.</p><h2·id="error-handling"·class="section-heading">
189 ··<a·href="#error-handling"·class="hover-link">189 ··<a·href="#error-handling"·class="hover-link">
190 ····<i·class="ri-link-m"·aria-hidden="true"></i>190 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 209, 96 lines modifiedOffset 209, 96 lines modified
209 something·called·a·<em>signal</em>·to·all·the·processes·it·has·links·to.</p><p>The·signal·carries·information·about·the·pid·it·was·sent·from·and·the·exit209 something·called·a·<em>signal</em>·to·all·the·processes·it·has·links·to.</p><p>The·signal·carries·information·about·the·pid·it·was·sent·from·and·the·exit
210 reason.</p><p>The·default·behaviour·of·a·process·that·receives·a·normal·exit·is·to·ignore·the210 reason.</p><p>The·default·behaviour·of·a·process·that·receives·a·normal·exit·is·to·ignore·the
211 signal.</p><p>The·default·behaviour·in·the·two·other·cases·(that·is,·abnormal·exit)·above·is211 signal.</p><p>The·default·behaviour·in·the·two·other·cases·(that·is,·abnormal·exit)·above·is
212 to:</p><ul><li>Bypass·all·messages·to·the·receiving·process.</li><li>Kill·the·receiving·process.</li><li>Propagate·the·same·error·signal·to·the·links·of·the·killed·process.</li></ul><p>In·this·way·you·can·connect·all·processes·in·a·transaction·together·using·links.212 to:</p><ul><li>Bypass·all·messages·to·the·receiving·process.</li><li>Kill·the·receiving·process.</li><li>Propagate·the·same·error·signal·to·the·links·of·the·killed·process.</li></ul><p>In·this·way·you·can·connect·all·processes·in·a·transaction·together·using·links.
213 If·one·of·the·processes·exits·abnormally,·all·the·processes·in·the·transaction213 If·one·of·the·processes·exits·abnormally,·all·the·processes·in·the·transaction
214 are·killed.·As·it·is·often·wanted·to·create·a·process·and·link·to·it·at·the·same214 are·killed.·As·it·is·often·wanted·to·create·a·process·and·link·to·it·at·the·same
215 time,·there·is·a·special·BIF,·<a·href="../../erts-16.0/doc/html/erlang.html#spawn_link/1">spawn_link</a>·that·does·the215 time,·there·is·a·special·BIF,·<a·href="../../erts-16.0/doc/html/erlang.html#spawn_link/1">spawn_link</a>·that·does·the
216 same·as·<code·class="inline">spawn</code>,·but·also·creates·a·link·to·the·spawned·process.</p><p>Now·an·example·of·the·ping·pong·example·using·links·to·terminate·&quot;pong&quot;:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7872916177-1">(</span><span·class="ss">tut20</span><span·class="p"·data-group-id="7872916177-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="6623324226-1">(</span><span·class="ss">tut20</span><span·class="p"·data-group-id="6623324226-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="7872916177-2">(</span><span·class="p"·data-group-id="7872916177-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:·489cb6053d13c992f930196fd271a62704b1edc5436607394fe3b5b8e9af0318·...·]-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="6623324226-2">(</span><span·class="p"·data-group-id="6623324226-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:·98ded4cf54cd9b980b2bdacea3ffd43221f4194e2dc8161608bd28db6e970ac1·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
219 </span><span·class="nf">ping</span><span·class="p"·data-group-id="7872916177-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="7872916177-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="6623324226-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="6623324226-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="7872916177-5">(</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="7872916177-5">)</span><span·class="p">,</span><span·class="w">220 ····</span><span·class="nf">link</span><span·class="p"·data-group-id="6623324226-5">(</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="6623324226-5">)</span><span·class="p">,</span><span·class="w">
221 ····</span><span·class="nf">ping1</span><span·class="p"·data-group-id="7872916177-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="7872916177-6">)</span><span·class="p">.</span><span·class="w">221 ····</span><span·class="nf">ping1</span><span·class="p"·data-group-id="6623324226-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="6623324226-6">)</span><span·class="p">.</span><span·class="w">
  
222 </span><span·class="nf">ping1</span><span·class="p"·data-group-id="7872916177-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="7872916177-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="6623324226-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="6623324226-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="7872916177-8">(</span><span·class="ss">ping</span><span·class="p"·data-group-id="7872916177-8">)</span><span·class="p">;</span><span·class="w">223 ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="6623324226-8">(</span><span·class="ss">ping</span><span·class="p"·data-group-id="6623324226-8">)</span><span·class="p">;</span><span·class="w">
  
224 </span><span·class="nf">ping1</span><span·class="p"·data-group-id="7872916177-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="7872916177-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="6623324226-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="6623324226-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="7872916177-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="7872916177-11">(</span><span·class="p"·data-group-id="7872916177-11">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·35d37ce789c019f27918400de1e817d6a5dac63baa814cc10ab6731d25df6c16·...·]-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="6623324226-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="6623324226-11">(</span><span·class="p"·data-group-id="6623324226-11">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·9d2df49954ad7b136ca15362ca85eb554cbc392982b949206a3d31bb56c8a6d1·...·]-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="7872916177-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="7872916177-13">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·20a4f5293ee271cb26323ef45c55d62d6ea3b7cb3c9b2d9a8f4c2ee69437746a·...·]-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="6623324226-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="6623324226-13">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·77ce212a2c52b38dfc12dfda7db906f0f34486cc60ccb56a91ec7b533cbc52cd·...·]-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="7872916177-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="78[·...·truncated·by·diffoscope;·len:·8,·SHA:·02cb54231970f8b86e3b3c32ff8ffad0a317b1fece6a249871a4e3bea9a8f3ff·...·]-14">)</span><span·class="p">.</span><span·class="w">230 ····</span><span·class="nf">ping1</span><span·class="p"·data-group-id="6623324226-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="66[·...·truncated·by·diffoscope;·len:·8,·SHA:·5ae788df777ce6a76a5b68b794de6403b17b8cdf7324b0e65251bcc38227348c·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
231 </span><span·class="nf">pong</span><span·class="p"·data-group-id="7872916177-15">(</span><span·class="p"·data-group-id="7872916177-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="6623324226-15">(</span><span·class="p"·data-group-id="6623324226-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="7872916177-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="7872916177-16">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">233 ········</span><span·class="p"·data-group-id="6623324226-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="6623324226-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="7872916177-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="7872916177-18">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·d73c1abe01efc71f9155fba068ca691057d2c1bb4548617f1e7bbc9df19cecfa·...·]-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="6623324226-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="6623324226-18">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·3b7e950995ee4a5dfe2afe12d1be9ec9f8097fb5d20b389c0989aec614396c2c·...·]-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="7872916177-19">(</span><span·class="p"·data-group-id="7872916177-19">)</span><span·class="w">236 ············</span><span·class="nf">pong</span><span·class="p"·data-group-id="6623324226-19">(</span><span·class="p"·data-group-id="6623324226-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="7872916177-20">(</span><span·class="n">Ping_Node</span><span·class="p"·data-group-id="7872916177-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="6623324226-20">(</span><span·class="n">Ping_Node</span><span·class="p"·data-group-id="6623324226-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="7872916177-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="7872916177-22">[</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·69,·SHA:·4aeb6a765c0b4c9ab5b87146d4c1671d9c75c59abef5c2eb783e03941a1f87b3·...·]-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="6623324226-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="6623324226-22">[</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·69,·SHA:·3d65f612719c6bb9d2c9e103cc14087d77f4efcf604dfa320a4f89e9418ea263·...·]-21">)</span><span·class="p">,</span><span·class="w">
240 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7872916177-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:·953208585e3651664de7495d858cafb7745528ac15202db9d1048a8d5d978e38·...·]-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="6623324226-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:·63a069b2daaa70c63c1653e9463568af9c2d552750e80c98d46e5eaa462e4f97·...·]-23">)</span><span·class="p">.</span></code></pre><pre><code·class="text">(s1@bill)3&gt;·tut20:start(s2@kosken).
241 Pong·received·ping241 Pong·received·ping
242 &lt;3820.41.0&gt;242 &lt;3820.41.0&gt;
243 Ping·received·pong243 Ping·received·pong
244 Pong·received·ping244 Pong·received·ping
245 Ping·received·pong245 Ping·received·pong
246 Pong·received·ping246 Pong·received·ping
247 Ping·received·pong</code></pre><p>This·is·a·slight·modification·of·the·ping·pong·program·where·both·processes·are247 Ping·received·pong</code></pre><p>This·is·a·slight·modification·of·the·ping·pong·program·where·both·processes·are
248 spawned·from·the·same·<code·class="inline">start/1</code>·function,·and·the·&quot;ping&quot;·process·can·be·spawned248 spawned·from·the·same·<code·class="inline">start/1</code>·function,·and·the·&quot;ping&quot;·process·can·be·spawned
249 on·a·separate·node.·Notice·the·use·of·the·<code·class="inline">link</code>·BIF.·&quot;Ping&quot;·calls249 on·a·separate·node.·Notice·the·use·of·the·<code·class="inline">link</code>·BIF.·&quot;Ping&quot;·calls
250 <a·href="../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit(ping)</code></a>·when·it·finishes·and·this·causes·an·exit·signal·to·be250 <a·href="../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit(ping)</code></a>·when·it·finishes·and·this·causes·an·exit·signal·to·be
251 sent·to·&quot;pong&quot;,·which·also·terminates.</p><p>It·is·possible·to·modify·the·default·behaviour·of·a·process·so·that·it·does·not251 sent·to·&quot;pong&quot;,·which·also·terminates.</p><p>It·is·possible·to·modify·the·default·behaviour·of·a·process·so·that·it·does·not
252 get·killed·when·it·receives·abnormal·exit·signals.·Instead,·all·signals·are252 get·killed·when·it·receives·abnormal·exit·signals.·Instead,·all·signals·are
253 turned·into·normal·messages·on·the·format·<code·class="inline">{'EXIT',FromPID,Reason}</code>·and·added·to253 turned·into·normal·messages·on·the·format·<code·class="inline">{'EXIT',FromPID,Reason}</code>·and·added·to
254 the·end·of·the·receiving·process'·message·queue.·This·behaviour·is·set·by:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">process_flag</span><span·class="p"·data-group-id="7880597337-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="7880597337-1">)</span></code></pre><p>There·are·several·other·process·flags,·see·<a·href="../../erts-16.0/doc/html/erlang.html#process_flag/2">erlang(3)</a>.254 the·end·of·the·receiving·process'·message·queue.·This·behaviour·is·set·by:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">process_flag</span><span·class="p"·data-group-id="7746851498-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="7746851498-1">)</span></code></pre><p>There·are·several·other·process·flags,·see·<a·href="../../erts-16.0/doc/html/erlang.html#process_flag/2">erlang(3)</a>.
255 Changing·the·default·behaviour·of·a·process·in·this·way·is·usually·not·done·in255 Changing·the·default·behaviour·of·a·process·in·this·way·is·usually·not·done·in
256 standard·user·programs,·but·is·left·to·the·supervisory·programs·in·OTP.·However,256 standard·user·programs,·but·is·left·to·the·supervisory·programs·in·OTP.·However,
257 the·ping·pong·program·is·modified·to·illustrate·exit·trapping.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6851569585-1">(</span><span·class="ss">tut21</span><span·class="p"·data-group-id="6851569585-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="9148051324-1">(</span><span·class="ss">tut21</span><span·class="p"·data-group-id="9148051324-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="6851569585-2">(</span><span·class="p"·data-group-id="6851569585-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:·2084368460c8bfbfb861e5ec12e7ebedb865ffedf81a193fa6290d3db6d34d97·...·]-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="9148051324-2">(</span><span·class="p"·data-group-id="9148051324-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:·bed41a56fee666762efe79d84aa0fb060bfcb75f0e5b3e0b960efe5d27c54eeb·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
260 </span><span·class="nf">ping</span><span·class="p"·data-group-id="6851569585-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="6851569585-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="9148051324-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="9148051324-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 73431/116479 bytes (63.04%) of diff not shown.
793 B
html2text {}
Max HTML report size reached
1.33 KB
./usr/share/doc/erlang-doc/html/doc/system/search.html
    
Offset 131, 15 lines modifiedOffset 131, 15 lines modified
131 ······<p·class="built-using">131 ······<p·class="built-using">
132 ········Built·using132 ········Built·using
133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
135 ······</p>135 ······</p>
136 <p>Copyright·©·1996-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;
551 B
html2text {}
Max HTML report size reached
428 KB
./usr/share/doc/erlang-doc/html/doc/system/seq_prog.html
Max HTML report size reached
198 KB
./usr/share/doc/erlang-doc/html/doc/system/spec_proc.html
Max HTML report size reached
370 KB
./usr/share/doc/erlang-doc/html/doc/system/statem.html
Max HTML report size reached
65.2 KB
./usr/share/doc/erlang-doc/html/doc/system/sup_princ.html
    
Offset 128, 48 lines modifiedOffset 128, 48 lines modified
128 the·order·specified·by·this·list,·and·are·terminated·in·the·reverse·order.</p><h2·id="example"·class="section-heading">128 the·order·specified·by·this·list,·and·are·terminated·in·the·reverse·order.</p><h2·id="example"·class="section-heading">
129 ··<a·href="#example"·class="hover-link">129 ··<a·href="#example"·class="hover-link">
130 ····<i·class="ri-link-m"·aria-hidden="true"></i>130 ····<i·class="ri-link-m"·aria-hidden="true"></i>
131 ··</a>131 ··</a>
132 ··<span·class="text">Example</span>132 ··<span·class="text">Example</span>
133 </h2>133 </h2>
134 <p>The·callback·module·for·a·supervisor·starting·the·server·from134 <p>The·callback·module·for·a·supervisor·starting·the·server·from
135 <a·href="gen_server_concepts.html#ex">gen_server·Behaviour</a>·can·look·as·follows:</p><p><a·href=""·id="ex"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9270524671-1">(</span><span·class="ss">ch_sup</span><span·class="p"·data-group-id="9270524671-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="8798212638-1">(</span><span·class="ss">ch_sup</span><span·class="p"·data-group-id="8798212638-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="9270524671-2">(</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="9270524671-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="8798212638-2">(</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="8798212638-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="9270524671-3">(</span><span·class="p"·data-group-id="9270524671-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9270524671-4">]</span><span·class="p"·data-group-id="9270524671-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="9270524671-5">(</span><span·class="p"·data-group-id="9270524671-6">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9270524671-6">]</span><span·class="p"·data-group-id="9270524671-5">)</span><span·class="p">.</span><span·class="w">138 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8798212638-3">(</span><span·class="p"·data-group-id="8798212638-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="8798212638-4">]</span><span·class="p"·data-group-id="8798212638-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="8798212638-5">(</span><span·class="p"·data-group-id="8798212638-6">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8798212638-6">]</span><span·class="p"·data-group-id="8798212638-5">)</span><span·class="p">.</span><span·class="w">
  
140 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="9270524671-7">(</span><span·class="p"·data-group-id="9270524671-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="8798212638-7">(</span><span·class="p"·data-group-id="8798212638-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="9270524671-8">(</span><span·class="ss">ch_sup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9270524671-9">[</span><span·class="p"·data-group-id="9270524671-9">]</span><span·class="p"·data-group-id="9270524671-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="8798212638-8">(</span><span·class="ss">ch_sup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8798212638-9">[</span><span·class="p"·data-group-id="8798212638-9">]</span><span·class="p"·data-group-id="8798212638-8">)</span><span·class="p">.</span><span·class="w">
  
142 </span><span·class="nf">init</span><span·class="p"·data-group-id="9270524671-10">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="9270524671-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="8798212638-10">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="8798212638-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="9270524671-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:·5af68ae85fd2327ebd09b3fdba5bd51ecc8ad1d62d5a44ef72eb37e46de9e445·...·]-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="8798212638-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:·373a29894e38ed81cfbecd26d046e45ce0ca3d1f49aeb7215966b95b95f8ed9d·...·]-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="9270524671-12">[</span><span·class="p"·data-group-id="9270524671-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="8798212638-12">[</span><span·class="p"·data-group-id="8798212638-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="9270524671-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="9270524671-15">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·73,·SHA:·48d5bf5a9cc09569759aed291f783585d78f592e40d6ae06cd40f2e9d001fd09·...·]-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="8798212638-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="8798212638-15">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·73,·SHA:·8ea9e1370d92ea99e7c42bc682eb9849af3a4f0ef34b63e28b61dbd4c48651cc·...·]-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="9270524671-16">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="9270524671-16">]</span><span·class="p"·data-group-id="9270524671-13">}</span><span·class="p"·data-group-id="9270524671-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="8798212638-16">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="8798212638-16">]</span><span·class="p"·data-group-id="8798212638-13">}</span><span·class="p"·data-group-id="8798212638-12">]</span><span·class="p">,</span><span·class="w">
150 ····</span><span·class="p"·data-group-id="9270524671-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9270524671-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:·3711ac7b04ff2b5dd1c0fa72f98ead98e723f10a1edc3caa8300887340838663·...·]-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="8798212638-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8798212638-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:·ed8f63de005081431b40a16cf78e3a60e56c7c720ec01468d1951c42e49229d1·...·]-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="8359113492-1">(</span><span·class="p"·data-group-id="8359113492-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8359113492-2">#{</span><span·class="ss">strategy</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·60621dd2be4e4ad3a7b568a0d1feab98b0b5af8f05c975042617bb3ad0d4a318·...·]-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="1783084175-1">(</span><span·class="p"·data-group-id="1783084175-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1783084175-2">#{</span><span·class="ss">strategy</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·3e2eca599c06877a752d1afdf948f3c62012d719927dfcf1daf051a435081f34·...·]-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="8359113492-4">(</span><span·class="p"·data-group-id="8359113492-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="1783084175-4">(</span><span·class="p"·data-group-id="1783084175-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="8359113492-5">(</span><span·class="p"·data-group-id="8359113492-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="1783084175-5">(</span><span·class="p"·data-group-id="1783084175-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="8359113492-6">(</span><span·class="p"·data-group-id="8359113492-6">)</span><span·class="p"·data-group-id="8359113492-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="1783084175-6">(</span><span·class="p"·data-group-id="1783084175-6">)</span><span·class="p"·data-group-id="1783084175-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="8359113492-7">(</span><span·class="p"·data-group-id="8359113492-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="1783084175-7">(</span><span·class="p"·data-group-id="1783084175-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="8359113492-8">(</span><span·class="p"·data-group-id="8359113492-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="1783084175-8">(</span><span·class="p"·data-group-id="1783084175-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="9174956673-1">(</span><span·class="p"·data-group-id="9174956673-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9174956673-2">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">child_id</span><span·class="p"·data-group-id="9174956673-3">(</span><span·class="p"·data-group-id="9174956673-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="9174956673-4">(</span><span·class="p"·data-group-id="9174956673-4"[·...·truncated·by·diffoscope;·len:·49,·SHA:·c1348d10958a20c35f38d142a04c14e1c06497b5a79bf818fd20ae814b33f142·...·]············</span><span·class="c1">%·mandatory</span><span·class="w">415 <p>The·type·definition·for·a·child·specification·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">child_spec</span><span·class="p"·data-group-id="0832491572-1">(</span><span·class="p"·data-group-id="0832491572-1">)</span><[·...·truncated·by·diffoscope;·len:·406,·SHA:·9b2bda4d2e691efccb35b01632d43ff3a663db6aada40428399fa469263e3287·...·]············</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="0832491572-4">(</span><span·class="p"·data-group-id="0832491572-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="9174956673-5">(</span><span·class="p"·data-group-id="9174956673-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="0832491572-5">(</span><span·class="p"·data-group-id="0832491572-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="9174956673-6">(</span><span·class="p"·data-group-id="9174956673-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="0832491572-6">(</span><span·class="p"·data-group-id="0832491572-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="9174956673-7">(</span><span·class="p"·data-group-id="9174956673-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="9174956673-8">(</span><span·class="p"·data-group-id="9174956673-8">)</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·13,·SHA:·2f77fe7b5b76225a6ae7faad7b656da3efbe9a8236b3ab6a60a681986e26e155·...·]·······</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="0832491572-7">(</span><span·class="p"·data-group-id="0832491572-7">)</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·13,·SHA:·6f3774d4f6b10f1b2d69545a7ed35aa47e9e112250561a8bc3114621f8d1a78a·...·]·······</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="0832491572-8">(</span><span·class="p"·data-group-id="0832491572-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="9174956673-9">(</span><span·class="p"·data-group-id="9174956673-9">)</span><span·class="p"·data-group-id="9174956673-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="0832491572-9">(</span><span·class="p"·data-group-id="0832491572-9">)</span><span·class="p"·data-group-id="0832491572-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="9174956673-10">(</span><span·class="p"·data-group-id="9174956673-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="9174956673-11">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·b5bd726c9c8c166b13c46b0d191d40e7f934a364e4e431dd68d31f24154f9f87·...·]-11">)</span><span·class="w">422 ····</span><span·class="nf">child_id</span><span·class="p"·data-group-id="0832491572-10">(</span><span·class="p"·data-group-id="0832491572-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="0832491572-11">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·cbd7fab81d8ce521910585f840da91166f8f95293abbaad111cb231917ff8a58·...·]-11">)</span><span·class="w">
423 ····</span><span·class="nf">mfargs</span><span·class="p"·data-group-id="9174956673-12">(</span><span·class="p"·data-group-id="9174956673-12">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9174956673-13">{</span><span·class="n">M</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·962,·SHA:·b0b0db596ee22cfa83cbffe15b7f1da9d5b01dafb7b405325b75656a74f145c0·...·]-13">}</span><span·class="w">423 ····</span><span·class="nf">mfargs</span><span·class="p"·data-group-id="0832491572-12">(</span><span·class="p"·data-group-id="0832491572-12">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0832491572-13">{</span><span·class="n">M</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·962,·SHA:·4dbf6e2506600691eb12d4d44961a835aa09b52af75d0f2e9c6537957657a73f·...·]-13">}</span><span·class="w">
424 ····</span><span·class="nf">modules</span><span·class="p"·data-group-id="9174956673-18">(</span><span·class="p"·data-group-id="9174956673-18">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9174956673-19">[</span><span·class="nf">module</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·126,·SHA:·d4fe58f37cf3719375a959ebc303e45c6c0b439b36c61e9af6abce63d47b74df·...·]-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="0832491572-18">(</span><span·class="p"·data-group-id="0832491572-18">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0832491572-19">[</span><span·class="nf">module</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·126,·SHA:·2ee5d0e6679f04d7a0427129441003dab5ebee2fd01b0b78a97c881f42112d8a·...·]-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="9174956673-21">(</span><span·class="p"·data-group-id="9174956673-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="0832491572-21">(</span><span·class="p"·data-group-id="0832491572-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="9174956673-22">(</span><span·class="p"·data-group-id="9174956673-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="9174956673-23">(</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·deae0650ed306809a449c8ccd0fb95caee1a90dafb4257ed611991bce1e5a2b7·...·]-23">)</span><span·class="w">426 ····</span><span·class="nf">significant</span><span·class="p"·data-group-id="0832491572-22">(</span><span·class="p"·data-group-id="0832491572-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="0832491572-23">(</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·67b391c39459974f9ffc31e9cc2ee850a720c74d5110eaa07eb77e16d5aa884b·...·]-23">)</span><span·class="w">
427 ····</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="9174956673-24">(</span><span·class="p"·data-group-id="9174956673-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:·29e6ace34c66bd27f4efbf0637554ac967afcc1889f5769a97239472583de341·...·]-25">)</span><span·class="w">427 ····</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="0832491572-24">(</span><span·class="p"·data-group-id="0832491572-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:·8258dfadbcc80219a585ecc89a4927a96cec073859cbe7679a1ebd1c9a200088·...·]-25">)</span><span·class="w">
428 ····</span><span·class="nf">worker</span><span·class="p"·data-group-id="9174956673-26">(</span><span·class="p"·data-group-id="9174956673-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="0832491572-26">(</span><span·class="p"·data-group-id="0832491572-26">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">worker</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">supervisor</span></code></pre><ul><li><p><code·class="inline">id</code>·is·used·to·identify·the·child·specification·internally·by·the·supervisor.</p><p>The·<code·class="inline">id</code>·key·is·mandatory.</p><p>Note·that·this·identifier·occasionally·has·been·called·&quot;name&quot;.·As·far·as
429 possible,·the·terms·&quot;identifier&quot;·or·&quot;id&quot;·are·now·used·but·in·order·to·keep429 possible,·the·terms·&quot;identifier&quot;·or·&quot;id&quot;·are·now·used·but·in·order·to·keep
430 backwards·compatibility,·some·occurrences·of·&quot;name&quot;·can·still·be·found,·for430 backwards·compatibility,·some·occurrences·of·&quot;name&quot;·can·still·be·found,·for
431 example·in·error·messages.</p></li><li><p><code·class="inline">start</code>·defines·the·function·call·used·to·start·the·child·process.·It·is·a431 example·in·error·messages.</p></li><li><p><code·class="inline">start</code>·defines·the·function·call·used·to·start·the·child·process.·It·is·a
432 module-function-arguments·tuple·used·as·<a·href="../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,·F,·A)</code></a>.</p><p>It·is·to·be·(or·result·in)·a·call·to·any·of·the·following:</p><ul><li><a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link/2,3</code></a></li><li><a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/3,4</code></a></li><li><a·href="../../lib/stdlib-7.0/doc/html/gen_statem.html#start_link/4"><code·class="inline">gen_statem:start_link/3,4</code></a></li><li><a·href="../../lib/stdlib-7.0/doc/html/gen_event.html#start_link/2"><code·class="inline">gen_event:start_link/0,1,2</code></a></li><li>A·function·compliant·with·these·functions.·For·details,·see432 module-function-arguments·tuple·used·as·<a·href="../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,·F,·A)</code></a>.</p><p>It·is·to·be·(or·result·in)·a·call·to·any·of·the·following:</p><ul><li><a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link/2,3</code></a></li><li><a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/3,4</code></a></li><li><a·href="../../lib/stdlib-7.0/doc/html/gen_statem.html#start_link/4"><code·class="inline">gen_statem:start_link/3,4</code></a></li><li><a·href="../../lib/stdlib-7.0/doc/html/gen_event.html#start_link/2"><code·class="inline">gen_event:start_link/0,1,2</code></a></li><li>A·function·compliant·with·these·functions.·For·details,·see
433 <a·href="../../lib/stdlib-7.0/doc/html/supervisor.html"><code·class="inline">supervisor</code></a>.</li></ul><p>The·<code·class="inline">start</code>·key·is·mandatory.</p></li><li><p><a·href=""·id="restart"></a>·<code·class="inline">restart</code>·defines·when·a·terminated·child·process·is·to·be433 <a·href="../../lib/stdlib-7.0/doc/html/supervisor.html"><code·class="inline">supervisor</code></a>.</li></ul><p>The·<code·class="inline">start</code>·key·is·mandatory.</p></li><li><p><a·href=""·id="restart"></a>·<code·class="inline">restart</code>·defines·when·a·terminated·child·process·is·to·be
434 restarted.</p><ul><li>A·<code·class="inline">permanent</code>·child·process·is·always·restarted.</li><li>A·<code·class="inline">temporary</code>·child·process·is·never·restarted·(not·even·when·the·supervisor434 restarted.</p><ul><li>A·<code·class="inline">permanent</code>·child·process·is·always·restarted.</li><li>A·<code·class="inline">temporary</code>·child·process·is·never·restarted·(not·even·when·the·supervisor
435 restart·strategy·is·<code·class="inline">rest_for_one</code>·or·<code·class="inline">one_for_all</code>·and·a·sibling·death435 restart·strategy·is·<code·class="inline">rest_for_one</code>·or·<code·class="inline">one_for_all</code>·and·a·sibling·death
Offset 457, 53 lines modifiedOffset 457, 53 lines modified
457 <code·class="inline">supervisor</code>,·the·default·value·<code·class="inline">infinity</code>·will·be·used.</p></li><li><p><code·class="inline">type</code>·specifies·whether·the·child·process·is·a·supervisor·or·a·worker.</p><p>The·<code·class="inline">type</code>·key·is·optional.·If·it·is·not·given,·the·default·value·<code·class="inline">worker</code>457 <code·class="inline">supervisor</code>,·the·default·value·<code·class="inline">infinity</code>·will·be·used.</p></li><li><p><code·class="inline">type</code>·specifies·whether·the·child·process·is·a·supervisor·or·a·worker.</p><p>The·<code·class="inline">type</code>·key·is·optional.·If·it·is·not·given,·the·default·value·<code·class="inline">worker</code>
458 will·be·used.</p></li><li><p><code·class="inline">modules</code>·has·to·be·a·list·consisting·of·a·single·element.·The·value458 will·be·used.</p></li><li><p><code·class="inline">modules</code>·has·to·be·a·list·consisting·of·a·single·element.·The·value
459 of·that·element·depends·on·the·behaviour·of·the·process:</p><ul><li>If·the·child·process·is·a·<code·class="inline">gen_event</code>,·the·element·has·to·be·the·atom459 of·that·element·depends·on·the·behaviour·of·the·process:</p><ul><li>If·the·child·process·is·a·<code·class="inline">gen_event</code>,·the·element·has·to·be·the·atom
460 <code·class="inline">dynamic</code>.</li><li>Otherwise,·the·element·should·be·<code·class="inline">Module</code>,·where·<code·class="inline">Module</code>·is·the460 <code·class="inline">dynamic</code>.</li><li>Otherwise,·the·element·should·be·<code·class="inline">Module</code>,·where·<code·class="inline">Module</code>·is·the
461 name·of·the·callback·module.</li></ul><p>This·information·is·used·by·the·release·handler·during·upgrades·and461 name·of·the·callback·module.</li></ul><p>This·information·is·used·by·the·release·handler·during·upgrades·and
462 downgrades;·see·<a·href="release_handling.html">Release·Handling</a>.</p><p>The·<code·class="inline">modules</code>·key·is·optional.·If·it·is·not·given,·it·defaults·to·<code·class="inline">[M]</code>,·where462 downgrades;·see·<a·href="release_handling.html">Release·Handling</a>.</p><p>The·<code·class="inline">modules</code>·key·is·optional.·If·it·is·not·given,·it·defaults·to·<code·class="inline">[M]</code>,·where
463 <code·class="inline">M</code>·comes·from·the·child's·start·<code·class="inline">{M,F,A}</code>.</p></li></ul><p><em>Example:</em>·The·child·specification·to·start·the·server·<code·class="inline">ch3</code>·in·the·previous463 <code·class="inline">M</code>·comes·from·the·child's·start·<code·class="inline">{M,F,A}</code>.</p></li></ul><p><em>Example:</em>·The·child·specification·to·start·the·server·<code·class="inline">ch3</code>·in·the·previous
464 example·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1015180136-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="7381077690-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="1015180136-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="1015180136-3">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·b3ad9d794d1da447cf9b0e553cc59493d05d4ad8da95f66f9c878cfd0605e1b7·...·]-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="7381077690-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="7381077690-3">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·3c82d9dfeeff8998a344b4da3ab737c8c3bd96c199d9147ad44bbc68685ac373·...·]-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="1015180136-4">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="1015180136-4">]</span><span·class="p"·data-group-id="1015180136-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="7381077690-4">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="7381077690-4">]</span><span·class="p"·data-group-id="7381077690-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="4400793542-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="3796174654-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="4400793542-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="4400793542-3">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·292,·SHA:·5e0fbfcfa56e15b355aa57828730b3d8964acd86bfe3b7a09b9017f0ac5178ba·...·]-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="3796174654-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="3796174654-3">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·292,·SHA:·0ec08a05e6a7645c77d34f89b1e8b4f2aebf61406751571478c534ed95ec221e·...·]-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="4400793542-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="3796174654-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="1109099283-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="6606137628-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="1109099283-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="1109099283-3">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·f8b7a12df34c0876bf8abcd5af8f2eb6c5fbfefed9006cffa316a7041a49ab21·...·]-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="6606137628-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="6606137628-3">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·9bf09445b078328c91f1bf786da322c976c2117efbc205fe16b97924a3413c9a·...·]-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="1109099283-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="6606137628-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="6017907349-1">(</span><span·class="p"·data-group-id="6017907349-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="1759903760-1">(</span><span·class="p"·data-group-id="1759903760-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="6017907349-2">(</span><span·class="ss">ch_sup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6017907349-3">[</span><span·class="p"·data-group-id="6017907349-3">]</span><span·class="p"·data-group-id="6017907349-2">)</span><span·class="p">.</span></code></pre><p><code·class="inline">ch_sup:start_link</code>·calls·function·<a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/2"><code·class="inline">supervisor:start_link/2</code></a>,·which·spawns·and489 ····</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="1759903760-2">(</span><span·class="ss">ch_sup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1759903760-3">[</span><span·class="p"·data-group-id="1759903760-3">]</span><span·class="p"·data-group-id="1759903760-2">)</span><span·class="p">.</span></code></pre><p><code·class="inline">ch_sup:start_link</code>·calls·function·<a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/2"><code·class="inline">supervisor:start_link/2</code></a>,·which·spawns·and
490 links·to·a·new·process,·a·supervisor.</p><ul><li>The·first·argument,·<code·class="inline">ch_sup</code>,·is·the·name·of·the·callback·module,·that·is,·the490 links·to·a·new·process,·a·supervisor.</p><ul><li>The·first·argument,·<code·class="inline">ch_sup</code>,·is·the·name·of·the·callback·module,·that·is,·the
491 module·where·the·<code·class="inline">init</code>·callback·function·is·located.</li><li>The·second·argument,·<code·class="inline">[]</code>,·is·a·term·that·is·passed·as·is·to·the·callback491 module·where·the·<code·class="inline">init</code>·callback·function·is·located.</li><li>The·second·argument,·<code·class="inline">[]</code>,·is·a·term·that·is·passed·as·is·to·the·callback
492 function·<code·class="inline">init</code>.·Here,·<code·class="inline">init</code>·does·not·need·any·data·and·ignores·the·argument.</li></ul><p>In·this·case,·the·supervisor·is·not·registered.·Instead·its·pid·must·be·used.·A492 function·<code·class="inline">init</code>.·Here,·<code·class="inline">init</code>·does·not·need·any·data·and·ignores·the·argument.</li></ul><p>In·this·case,·the·supervisor·is·not·registered.·Instead·its·pid·must·be·used.·A
493 name·can·be·specified·by·calling493 name·can·be·specified·by·calling
494 <a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link({local,·Name},·Module,·Args)</code></a>494 <a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link({local,·Name},·Module,·Args)</code></a>
495 or495 or
496 <a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link({global,·Name},·Module,·Args)</code></a>.</p><p>The·new·supervisor·process·calls·the·callback·function·<code·class="inline">ch_sup:init([])</code>.·<code·class="inline">init</code>496 <a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link({global,·Name},·Module,·Args)</code></a>.</p><p>The·new·supervisor·process·calls·the·callback·function·<code·class="inline">ch_sup:init([])</code>.·<code·class="inline">init</code>
497 has·to·return·<code·class="inline">{ok,·{SupFlags,·ChildSpecs}}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init</span><span·class="p"·data-group-id="5778157999-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="5778157999-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="5680946272-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="5680946272-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="5778157999-2">#{</span><span·class="p"·data-group-id="5778157999-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="5680946272-2">#{</span><span·class="p"·data-group-id="5680946272-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="5778157999-3">[</span><span·class="p"·data-group-id="5778157999-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="5680946272-3">[</span><span·class="p"·data-group-id="5680946272-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="5778157999-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="5778157999-6">[</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·0b2f3ca90d72c9835eb08a2f3028c48d96d4c4c576c60fe35f7a4a63676ed418·...·]-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="5680946272-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="5680946272-6">[</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·409a66a10757f5e04a20448c612b6b8dcd8cdaa3fedb3357902161d487f82099·...·]-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="5778157999-4">}</span><span·class="p"·data-group-id="5778157999-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="5680946272-4">}</span><span·class="p"·data-group-id="5680946272-3">]</span><span·class="p">,</span><span·class="w">
502 ····</span><span·class="p"·data-group-id="5778157999-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5778157999-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:·fd995cb3042b4e1d9d5296b7d07e282abc4b005c92ad37fc5d8bd9b7bf30d0e4·...·]-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="5680946272-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5680946272-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:·a83e7acf37a4a9df18706794d769b6515ded581982c02e0fd0986c818810af70·...·]-7">}</span><span·class="p">.</span></code></pre><p>Subsequently,·the·supervisor·starts·its·child·processes·according·to·the·child
Max diff block lines reached; 12715/65907 bytes (19.29%) of diff not shown.
759 B
html2text {}
Max HTML report size reached
1.66 KB
./usr/share/doc/erlang-doc/html/doc/system/system_limits.html
    
Offset 217, 15 lines modifiedOffset 217, 15 lines modified
217 ······<p·class="built-using">217 ······<p·class="built-using">
218 ········Built·using218 ········Built·using
219 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the219 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
220 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>220 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
221 ······</p>221 ······</p>
222 <p>Copyright·©·1996-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;
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="5829254783-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="5829254783-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="6681611383-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="6681611383-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
154 ····</span><span·class="p"·data-group-id="5829254783-2">[</span><span·class="p"·data-group-id="5829254783-2">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">154 ····</span><span·class="p"·data-group-id="6681611383-2">[</span><span·class="p"·data-group-id="6681611383-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="5829254783-3">[</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class="p"·data-group-id="5829254783-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">156 ····</span><span·class="p"·data-group-id="6681611383-3">[</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class="p"·data-group-id="6681611383-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="5829254783-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="5829254783-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="6681611383-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="6681611383-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="2741001904-1">(</span><span·class="n">PersonId</span><span·class="p"·data-group-id="2741001904-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="0485030112-1">(</span><span·class="n">PersonId</span><span·class="p"·data-group-id="0485030112-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="2741001904-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="2741001904-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="0485030112-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="0485030112-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
172 ········</span><span·class="p"·data-group-id="2741001904-3">[</span><span·class="n">Person</span><span·class="p"·data-group-id="2741001904-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 ········</span><span·class="p"·data-group-id="0485030112-3">[</span><span·class="n">Person</span><span·class="p"·data-group-id="0485030112-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="2741001904-4">(</span><span·class="n">Person</span><span·class="p"·data-group-id="2741001904-4">)</span><span·class="p">,</span><span·class="w">173 ············</span><span·class="nf">print_name</span><span·class="p"·data-group-id="0485030112-4">(</span><span·class="n">Person</span><span·class="p"·data-group-id="0485030112-4">)</span><span·class="p">,</span><span·class="w">
174 ············</span><span·class="nf">print_age</span><span·class="p"·data-group-id="2741001904-5">(</span><span·class="n">Person</span><span·class="p"·data-group-id="2741001904-5">)</span><span·class="p">,</span><span·class="w">174 ············</span><span·class="nf">print_age</span><span·class="p"·data-group-id="0485030112-5">(</span><span·class="n">Person</span><span·class="p"·data-group-id="0485030112-5">)</span><span·class="p">,</span><span·class="w">
175 ············</span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="2741001904-6">(</span><span·class="n">Person</span><span·class="p"·data-group-id="2741001904-6">)</span><span·class="p">;</span><span·class="w">175 ············</span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="0485030112-6">(</span><span·class="n">Person</span><span·class="p"·data-group-id="0485030112-6">)</span><span·class="p">;</span><span·class="w">
176 ········</span><span·class="p"·data-group-id="2741001904-7">[</span><span·class="p"·data-group-id="2741001904-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 ········</span><span·class="p"·data-group-id="0485030112-7">[</span><span·class="p"·data-group-id="0485030112-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="2741001904-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="2741001904-9">[</span><sp[·...·truncated·by·diffoscope;·len:·122,·SHA:·e9b48851b937a4631b7dd574b024f69bd3b7dfd46a870d3b691b020d86d733e1·...·]-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="0485030112-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="0485030112-9">[</span><sp[·...·truncated·by·diffoscope;·len:·122,·SHA:·edb6d28bed021f5039c9fb3f102ddcfd68ed3836b6d0cc0240ff40d23a9b9f5e·...·]-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="2741001904-10">(</span><span·class="n">Person</span><span·class="p"·data-group-id="2741001904-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="0485030112-10">(</span><span·class="n">Person</span><span·class="p"·data-group-id="0485030112-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="2741001904-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="2741001904-12">[</span><span·class[·...·truncated·by·diffoscope;·len:·219,·SHA:·f5500b465656fcd8d092e0f086ebbcdcbac6507b3ad2ea5f2615394568be8417·...·]-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="0485030112-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="0485030112-12">[</span><span·class[·...·truncated·by·diffoscope;·len:·219,·SHA:·e79c6fa133c0036292eec9147bd8345a4590468668a8d02752622225e24c5a84·...·]-11">)</span><span·class="p">.</span><span·class="w">
  
182 </span><span·class="nf">print_age</span><span·class="p"·data-group-id="2741001904-13">(</span><span·class="n">Person</span><span·class="p"·data-group-id="2741001904-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="0485030112-13">(</span><span·class="n">Person</span><span·class="p"·data-group-id="0485030112-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="2741001904-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="2741001904-15">[</span><span·class[·...·truncated·by·diffoscope;·len:·218,·SHA:·5705a5a187f953fe5056892262fe60241b70d3c6083c0580b23cbbd19fdd9883·...·]-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="0485030112-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="0485030112-15">[</span><span·class[·...·truncated·by·diffoscope;·len:·218,·SHA:·837fea71ad73f4fed30df7cc694cb010c0c80f685e217e05e19aadf3c9446726·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
184 </span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="2741001904-16">(</span><span·class="n">Person</span><span·class="p"·data-group-id="2741001904-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="0485030112-16">(</span><span·class="n">Person</span><span·class="p"·data-group-id="0485030112-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="2741001904-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="2741001904-18">[</span><span·class[·...·truncated·by·diffoscope;·len:·225,·SHA:·a3868b53361de4e4100b464e19ed49bbe37405e4cd22b455960b544989e2740e·...·]-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="0485030112-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="0485030112-18">[</span><span·class[·...·truncated·by·diffoscope;·len:·225,·SHA:·a86eced24904435f7507db585bdf0f649fa2d5d3f2bb3c77bf70dc592a6a7667·...·]-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="5397095038-1">(</span><span·class="n">PersonId</span><span·class="p"·data-group-id="5397095038-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="0835256895-1">(</span><span·class="n">PersonId</span><span·class="p"·data-group-id="0835256895-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="5397095038-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="5397095038-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="0835256895-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="0835256895-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
189 ········</span><span·class="p"·data-group-id="5397095038-3">[</span><span·class="n">Person</span><span·class="p"·data-group-id="5397095038-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">189 ········</span><span·class="p"·data-group-id="0835256895-3">[</span><span·class="n">Person</span><span·class="p"·data-group-id="0835256895-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="5397095038-4">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="5397095038-4">)</span><span·class="p">,</span><span·class="w">190 ············</span><span·class="nf">print_name</span><span·class="p"·data-group-id="0835256895-4">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="0835256895-4">)</span><span·class="p">,</span><span·class="w">
191 ············</span><span·class="nf">print_age</span><span·class="p"·data-group-id="5397095038-5">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="5397095038-5">)</span><span·class="p">,</span><span·class="w">191 ············</span><span·class="nf">print_age</span><span·class="p"·data-group-id="0835256895-5">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="0835256895-5">)</span><span·class="p">,</span><span·class="w">
192 ············</span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="5397095038-6">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="5397095038-6">)</span><span·class="p">;</span><span·class="w">192 ············</span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="0835256895-6">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="0835256895-6">)</span><span·class="p">;</span><span·class="w">
193 ········</span><span·class="p"·data-group-id="5397095038-7">[</span><span·class="p"·data-group-id="5397095038-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 ········</span><span·class="p"·data-group-id="0835256895-7">[</span><span·class="p"·data-group-id="0835256895-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="5397095038-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="5397095038-9">[</span><sp[·...·truncated·by·diffoscope;·len:·122,·SHA:·a3be9cc322b904834e8bfce5d34d40d58ba99e29383c0d19442c58132ac1f904·...·]-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="0835256895-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="0835256895-9">[</span><sp[·...·truncated·by·diffoscope;·len:·122,·SHA:·3610801c555872ca225f3a611552aee479858f2f610ed7796f78773d855ca34f·...·]-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="5397095038-10">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="5397095038-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="0835256895-10">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="0835256895-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
198 ····</span><span·class="p"·data-group-id="5397095038-11">[</span><span·class="n">Person</span><span·class="p"·data-group-id="5397095038-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:·7f634dcac61e071e1797dbbe1de67525d70620affd27a55ddc7d757c485fc911·...·]-12">)</span><span·class="p">,</span><span·class="w">198 ····</span><span·class="p"·data-group-id="0835256895-11">[</span><span·class="n">Person</span><span·class="p"·data-group-id="0835256895-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:·8b680d3bc84b3ec4169017d00da4532563446b87f4d78b48183d3e3bbefc6cc9·...·]-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="5397095038-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="5397095038-14">[</span><span·class[·...·truncated·by·diffoscope;·len:·219,·SHA:·f5178b465272e7d441947bb6bf08ce43602bed752a0d45f4068eac48583c96f7·...·]-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="0835256895-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="0835256895-14">[</span><span·class[·...·truncated·by·diffoscope;·len:·219,·SHA:·2ce4756d4e70991a15d489e1d1843f528f383e56b18cffaa2181c4bec2c1825f·...·]-13">)</span><span·class="p">.</span><span·class="w">
  
200 </span><span·class="nf">print_age</span><span·class="p"·data-group-id="5397095038-15">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="5397095038-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="0835256895-15">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="0835256895-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
201 ····</span><span·class="p"·data-group-id="5397095038-16">[</span><span·class="n">Person</span><span·class="p"·data-group-id="5397095038-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:·546c4840b79e5392c6579886e4d6e89cac1e44138aaf6b807c688d220732a23f·...·]-17">)</span><span·class="p">,</span><span·class="w">201 ····</span><span·class="p"·data-group-id="0835256895-16">[</span><span·class="n">Person</span><span·class="p"·data-group-id="0835256895-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:·547ce5c775a790353ad5d6b867ea8c6edeebde7cc9d20e9681e479ea405277b6·...·]-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="5397095038-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="5397095038-19">[</span><span·class[·...·truncated·by·diffoscope;·len:·218,·SHA:·eadc92d7259cfbeb6f66451fb76976c88d4c2d207f7ec5cbfa42ec790e8c265a·...·]-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="0835256895-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="0835256895-19">[</span><span·class[·...·truncated·by·diffoscope;·len:·218,·SHA:·76dce3d0c6ff118c4b94d4897fc421d3a77d50a5f85e1677ed224973ee73a324·...·]-18">)</span><span·class="p">.</span><span·class="w">
  
203 </span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="5397095038-20">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="5397095038-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="0835256895-20">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="0835256895-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
204 ····</span><span·class="p"·data-group-id="5397095038-21">[</span><span·class="n">Person</span><span·class="p"·data-group-id="5397095038-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:·203e94ae034ec35958871439e44e200f2c692073be5decfd276615e94b06ecc3·...·]-22">)</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="p"·data-group-id="0835256895-21">[</span><span·class="n">Person</span><span·class="p"·data-group-id="0835256895-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:·b3f1b44d6e67b7c55ad42a33ed277d3d9fd580e9eb88a46d5b9f4761cc27c611·...·]-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="5397095038-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="5397095038-24">[</span><span·class[·...·truncated·by·diffoscope;·len:·225,·SHA:·a0d973a204b56c1a14c21ef41e20a1cfd35722d2c160cd466e1140935070ca7f·...·]-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="0835256895-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="0835256895-24">[</span><span·class[·...·truncated·by·diffoscope;·len:·225,·SHA:·b2c868933d471dc6c585e437d52b040c3ae3ecf47ee1395d10e338927be8416c·...·]-23">)</span><span·class="p">.</span></code></pre><h3·id="non-persistent-database-storage"·class="section-heading">
206 ··<a·href="#non-persistent-database-storage"·class="hover-link">206 ··<a·href="#non-persistent-database-storage"·class="hover-link">
207 ····<i·class="ri-link-m"·aria-hidden="true"></i>207 ····<i·class="ri-link-m"·aria-hidden="true"></i>
208 ··</a>208 ··</a>
209 ··<span·class="text">Non-Persistent·Database·Storage</span>209 ··<span·class="text">Non-Persistent·Database·Storage</span>
210 </h3>210 </h3>
211 <p>For·non-persistent·database·storage,·prefer·Ets·tables·over·Mnesia211 <p>For·non-persistent·database·storage,·prefer·Ets·tables·over·Mnesia
212 <code·class="inline">local_content</code>·tables.·Even·the·Mnesia·<code·class="inline">dirty_write</code>·operations·carry·a·fixed212 <code·class="inline">local_content</code>·tables.·Even·the·Mnesia·<code·class="inline">dirty_write</code>·operations·carry·a·fixed
Offset 226, 38 lines modifiedOffset 226, 38 lines modified
226 </h3>226 </h3>
227 <p>Assuming·an·Ets·table·that·uses·<code·class="inline">idno</code>·as·key·and·contains·the·following:</p><pre><code·class="text">[#person{idno·=·1,·name·=·&quot;Adam&quot;,··age·=·31,·occupation·=·&quot;mailman&quot;},227 <p>Assuming·an·Ets·table·that·uses·<code·class="inline">idno</code>·as·key·and·contains·the·following:</p><pre><code·class="text">[#person{idno·=·1,·name·=·&quot;Adam&quot;,··age·=·31,·occupation·=·&quot;mailman&quot;},
228 ·#person{idno·=·2,·name·=·&quot;Bryan&quot;,·age·=·31,·occupation·=·&quot;cashier&quot;},228 ·#person{idno·=·2,·name·=·&quot;Bryan&quot;,·age·=·31,·occupation·=·&quot;cashier&quot;},
229 ·#person{idno·=·3,·name·=·&quot;Bryan&quot;,·age·=·35,·occupation·=·&quot;banker&quot;},229 ·#person{idno·=·3,·name·=·&quot;Bryan&quot;,·age·=·35,·occupation·=·&quot;banker&quot;},
230 ·#person{idno·=·4,·name·=·&quot;Carl&quot;,··age·=·25,·occupation·=·&quot;mailman&quot;}]</code></pre><p>If·you·<em>must</em>·return·all·data·stored·in·the·Ets·table,·you·can·use230 ·#person{idno·=·4,·name·=·&quot;Carl&quot;,··age·=·25,·occupation·=·&quot;mailman&quot;}]</code></pre><p>If·you·<em>must</em>·return·all·data·stored·in·the·Ets·table,·you·can·use
231 <a·href="../../lib/stdlib-7.0/doc/html/ets.html#tab2list/1"><code·class="inline">ets:tab2list/1</code></a>.·However,·usually·you·are·only·interested·in·a·subset·of·the231 <a·href="../../lib/stdlib-7.0/doc/html/ets.html#tab2list/1"><code·class="inline">ets:tab2list/1</code></a>.·However,·usually·you·are·only·interested·in·a·subset·of·the
232 information·in·which·case·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#tab2list/1"><code·class="inline">ets:tab2list/1</code></a>·is·expensive.·If·you·only·want·to232 information·in·which·case·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#tab2list/1"><code·class="inline">ets:tab2list/1</code></a>·is·expensive.·If·you·only·want·to
233 extract·one·field·from·each·record,·for·example,·the·age·of·every·person,·then:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="3684282966-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3684282966-2">[</span><span·class="p"·data-group-id="3684282966-3">{</span><span·class="o">#</span><span·class="ss">person</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·1a69c8e1b8fad64a192d4c63c4244fc7ce276e003be29f85556683196a2d5e45·...·]-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="4552103934-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4552103934-2">[</span><span·class="p"·data-group-id="4552103934-3">{</span><span·class="o">#</span><span·class="ss">person</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·810206f9e89e4205e9996ed255e3e4d7c10131fe72e8df5e4b750a1f9f482f44·...·]-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="3684282966-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="4552103934-4">}</span><span·class="p">,</span><span·class="w">
237 ················</span><span·class="p"·data-group-id="3684282966-5">[</span><span·class="p"·data-group-id="3684282966-5">]</span><span·class="p">,</span><span·class="w">237 ················</span><span·class="p"·data-group-id="4552103934-5">[</span><span·class="p"·data-group-id="4552103934-5">]</span><span·class="p">,</span><span·class="w">
238 ················</span><span·class="p"·data-group-id="3684282966-6">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="3684282966-6">]</span><span·class="p"·data-group-id="3684282966-3">}</span><span·class="p"·data-group-id="3684282966-2">]</span><span·class="p"·data-group-id="36842829[·...·truncated·by·diffoscope;·len:·434,·SHA:·6c3cebef5231953e99a9e5aa4ad9542a9ec3edfb9383952329dd181ecc629672·...·]-1">)</span><span·class="p">,</span><span·class="w">238 ················</span><span·class="p"·data-group-id="4552103934-6">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4552103934-6">]</span><span·class="p"·data-group-id="4552103934-3">}</span><span·class="p"·data-group-id="4552103934-2">]</span><span·class="p"·data-group-id="45521039[·...·truncated·by·diffoscope;·len:·434,·SHA:·31fa35898c41a586f21e6665a59a40480cedf176d22447faa1ac8179bf990bb2·...·]-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="2545430484-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2545430484-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="2545430484-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·919,·SHA:·465960c122926e13a8cac185ff48ef7ad81033a8b64b832eeaa10cb7403a409f·...·]-4">{</span><span·class="ss">idno</span><span·class="o">=</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">239 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="3530767447-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3530767447-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="3530767447-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·919,·SHA:·af5bf1628763e7da17c6eb9aad1ff5df96f8ffc139618b64af8108a8a0d2ac98·...·]-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="3529202898-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="7874440191-4">}</span><span·class="p">,</span><span·class="w">
243 ················</span><span·class="p"·data-group-id="3529202898-5">[</span><span·class="p"·data-group-id="3529202898-5">]</span><span·class="p">,</span><span·class="w">243 ················</span><span·class="p"·data-group-id="7874440191-5">[</span><span·class="p"·data-group-id="7874440191-5">]</span><span·class="p">,</span><span·class="w">
244 ················</span><span·class="p"·data-group-id="3529202898-6">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="3529202898-6">]</span><span·class="p"·data-group-id="3529202898-3">}</span><span·class="p"·data-group-id="3529202898-2">]</span><span·class="p"·data-group-id="35292028[·...·truncated·by·diffoscope;·len:·410,·SHA:·6ab8df4bf69a914dab9bc5cebe52c602c772290d9f987e7f9518595b331d0f58·...·]-1">)</span><span·class="p">,</span><span·class="w">244 ················</span><span·class="p"·data-group-id="7874440191-6">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="7874440191-6">]</span><span·class="p"·data-group-id="7874440191-3">}</span><span·class="p"·data-group-id="7874440191-2">]</span><span·class="p"·data-group-id="78744401[·...·truncated·by·diffoscope;·len:·410,·SHA:·625ad248808eb53f3fb41c575810412ec6af32e71e63559c16bb5ddc3f350614·...·]-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="8368959009-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="8368959009-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="8368959009-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="7155281302-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7155281302-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="7155281302-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="8368959009-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="8368959009-4">]</span><span·class="p">;</span><span·class="w">247 ····································</span><span·class="p"·data-group-id="7155281302-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="7155281302-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="8368959009-5">[</span><span·class="p"·data-group-id="8368959009-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabList</span><span·class="p"·data-group-id="8368959009-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="7155281302-5">[</span><span·class="p"·data-group-id="7155281302-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabList</span><span·class="p"·data-group-id="7155281302-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="3376779339-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3376779339-2">[</span><span·class="p"·data-group-id="3376779339-3">{</span><span·class="o">#</span><span·class="ss">person</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·50953fa6cf67548e20ad0bb22982addafe4fbbacc2c5e50d11e8f8d1ecbf153e·...·]-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="7247372132-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7247372132-2">[</span><span·class="p"·data-group-id="7247372132-3">{</span><span·class="o">#</span><span·class="ss">person</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·366df0ff09782d905edd6a1a957284e4af5562edf6514d79502a2a4f7fdc5436·...·]-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="3376779339-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3376779339-5">[</span><span·class="p"·data-group-id="3376779339-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3[·...·truncated·by·diffoscope;·len:·687,·SHA:·1203d7832978108d485cd6d82ede01e20700cce9d767338786b31db30c6b388b·...·]86-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="7247372132-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7247372132-5">[</span><span·class="p"·data-group-id="7247372132-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·687,·SHA:·0d5500c48661076c6be31b95716246fd8762ca18cc3e5f682266529b67eba8a4·...·]86-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="3978095286-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3978095286-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="3978095286-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·409,·SHA:·bbc44cc19ca2e6f4ab31bc1c22ea30d530b7dc0a1c5166a74a9aac2df9868ff5·...·]86-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="7549967086-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7549967086-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="7549967086-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·409,·SHA:·91d937bd2c08e915c03da3395d1df9a8de554af74f22cec34729683942a1af41·...·]86-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="1429813285-1">(</span><span·class="n">IndexTable</span><span·class="p">,</span><span·class="s">&quot;Bryan&quot;</span><span·class="p"·data-group-id="1429813285-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="1163518314-1">(</span><span·class="n">IndexTable</span><span·class="p">,</span><span·class="s">&quot;Bryan&quot;</span><span·class="p"·data-group-id="1163518314-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="1429813285-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1429813285-3">(</span><span·class="o">#</span><span·class="ss">index_entry</span><span·class="p"·data-group-id="1429813285-4">{</span><span·class="ss">idno</span><span·class="w"[·...·truncated·by·diffoscope;·len:·176,·SHA:·7aab819f1ed76241530062b8b4f22602d8c633afc09b1d66916fe348cf0ee273·...·]-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="1163518314-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1163518314-3">(</span><span·class="o">#</span><span·class="ss">index_entry</span><span·class="p"·data-group-id="1163518314-4">{</span><span·class="ss">idno</span><span·class="w"[·...·truncated·by·diffoscope;·len:·176,·SHA:·f702f3ef1f01dbc0e861137c72e5594617bdcac4efa305ee9d9d7aad46360f14·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
302 ·················</span><span·class="p"·data-group-id="1429813285-5">[</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="1429813285-6">{</span><span·class="ss">age</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Age</span><sp[·...·truncated·by·diffoscope;·len:·457,·SHA:·8db24c29b5cee27220a406cdd19d76e29d74569b04d663aec9537e636c90aa72·...·]-7">)</span><span·class="p">,</span><span·class="w">302 ·················</span><span·class="p"·data-group-id="1163518314-5">[</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="1163518314-6">{</span><span·class="ss">age</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Age</span><sp[·...·truncated·by·diffoscope;·len:·457,·SHA:·56967e92e68fa8852ac70e06d951bd72767fa673ac30f1c3d7be9ed8ab36e30a·...·]-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="1429813285-2">)</span><span·class="p">,</span></code></pre><p>Notice·that·this·code·does·not·use·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>,·but·instead·uses·the305 ··········</span><span·class="n">MatchingIDs</span><span·class="p"·data-group-id="1163518314-2">)</span><span·class="p">,</span></code></pre><p>Notice·that·this·code·does·not·use·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>,·but·instead·uses·the
306 <a·href="../../lib/stdlib-7.0/doc/html/ets.html#lookup/2"><code·class="inline">ets:lookup/2</code></a>·call.·The·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#map/2"><code·class="inline">lists:map/2</code></a>·call·is·only·used·to·traverse·the·<code·class="inline">idno</code>s306 <a·href="../../lib/stdlib-7.0/doc/html/ets.html#lookup/2"><code·class="inline">ets:lookup/2</code></a>·call.·The·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#map/2"><code·class="inline">lists:map/2</code></a>·call·is·only·used·to·traverse·the·<code·class="inline">idno</code>s
Max diff block lines reached; 16968/72356 bytes (23.45%) of diff not shown.
601 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/doc/system/tutorial.html
    
Offset 184, 15 lines modifiedOffset 184, 15 lines modified
184 ······<p·class="built-using">184 ······<p·class="built-using">
185 ········Built·using185 ········Built·using
186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
188 ······</p>188 ······</p>
189 <p>Copyright·©·1996-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
71.4 KB
./usr/share/doc/erlang-doc/html/doc/system/typespec.html
    
Offset 238, 128 lines modifiedOffset 238, 128 lines modified
238 and·optional·<code·class="inline">(=&gt;)</code>·association·types.·If·an·association·type·is·mandatory,·an238 and·optional·<code·class="inline">(=&gt;)</code>·association·types.·If·an·association·type·is·mandatory,·an
239 association·with·that·type·needs·to·be·present.·In·the·case·of·an·optional239 association·with·that·type·needs·to·be·present.·In·the·case·of·an·optional
240 association·type·it·is·not·required·for·the·key·type·to·be·present.</p><p>The·notation·<code·class="inline">#{}</code>·specifies·the·singleton·type·for·the·empty·map.·Note·that240 association·type·it·is·not·required·for·the·key·type·to·be·present.</p><p>The·notation·<code·class="inline">#{}</code>·specifies·the·singleton·type·for·the·empty·map.·Note·that
241 this·notation·is·not·a·shorthand·for·the·<a·href="../../erts-16.0/doc/html/erlang.html#t:map/0"><code·class="inline">map/0</code></a>·type.</p><p>For·convenience,·the·following·types·are·also·built-in.·They·can·be·thought·as241 this·notation·is·not·a·shorthand·for·the·<a·href="../../erts-16.0/doc/html/erlang.html#t:map/0"><code·class="inline">map/0</code></a>·type.</p><p>For·convenience,·the·following·types·are·also·built-in.·They·can·be·thought·as
242 predefined·aliases·for·the·type·unions·also·shown·in·the·table.</p><p><a·href=""·id="builtin_types"></a></p><table><thead><tr><th·style="text-align:·left;">Built-in·type</th><th·style="text-align:·left;">Defined·as</th></tr></thead><tbody><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:term/0"><code·class="inline">term/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:any/0"><code·class="inline">any/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:binary/0"><code·class="inline">binary/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:_*8&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_binary/0"><code·class="inline">nonempty_binary/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:8,·_:_*8&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:bitstring/0"><code·class="inline">bitstring/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:_*1&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_bitstring/0"><code·class="inline">nonempty_bitstring/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:1,·_:_*1&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:boolean/0"><code·class="inline">boolean/0</code></a></td><td·style="text-align:·left;"><code·class="inline">'false'</code>·|·<code·class="inline">'true'</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..255</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:char/0"><code·class="inline">char/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..16#10ffff</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nil/0"><code·class="inline">nil/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:number/0"><code·class="inline">number/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>·|·<a·href="../../erts-16.0/doc/html/erlang.html#t:float/0"><code·class="inline">float/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[any()]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:maybe_improper_list/0"><code·class="inline">maybe_improper_list/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:maybe_improper_list/2"><code·class="inline">maybe_improper_list(any(),·any())</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_list/0"><code·class="inline">nonempty_list/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_list/1"><code·class="inline">nonempty_list(any())</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:string/0"><code·class="inline">string/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[char()]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_string/0"><code·class="inline">nonempty_string/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[char(),...]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:iodata/0"><code·class="inline">iodata/0</code></a></td><td·style="text-align:·left;"><code·class="inline">iolist()</code>·|·<code·class="inline">binary()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:iolist/0"><code·class="inline">iolist/0</code></a></td><td·style="text-align:·left;"><code·class="inline">maybe_improper_list(byte()</code>·|·<code·class="inline">binary()</code>·|·<code·class="inline">iolist(),·binary()</code>·|·<code·class="inline">[])</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:map/0"><code·class="inline">map/0</code></a></td><td·style="text-align:·left;"><code·class="inline">#{any()·=&gt;·any()}</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:function/0"><code·class="inline">function/0</code></a></td><td·style="text-align:·left;"><code·class="inline">fun()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:module/0"><code·class="inline">module/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:atom/0"><code·class="inline">atom/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:mfa/0"><code·class="inline">mfa/0</code></a></td><td·style="text-align:·left;"><code·class="inline">{module(),atom(),arity()}</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:arity/0"><code·class="inline">arity/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..255</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:identifier/0"><code·class="inline">identifier/0</code></a></td><td·style="text-align:·left;"><code·class="inline">pid()</code>·|·<code·class="inline">port()</code>·|·<code·class="inline">reference()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#node/0"><code·class="inline">node/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:atom/0"><code·class="inline">atom/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:timeout/0"><code·class="inline">timeout/0</code></a></td><td·style="text-align:·left;"><code·class="inline">'infinity'</code>·|·<code·class="inline">non_neg_integer()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:no_return/0"><code·class="inline">no_return/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:none/0"><code·class="inline">none/0</code></a></td></tr></tbody></table><p><em>Table:·Built-in·types,·predefined·aliases</em></p><p>In·addition,·the·following·three·built-in·types·exist·and·can·be·thought·as242 predefined·aliases·for·the·type·unions·also·shown·in·the·table.</p><p><a·href=""·id="builtin_types"></a></p><table><thead><tr><th·style="text-align:·left;">Built-in·type</th><th·style="text-align:·left;">Defined·as</th></tr></thead><tbody><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:term/0"><code·class="inline">term/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:any/0"><code·class="inline">any/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:binary/0"><code·class="inline">binary/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:_*8&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_binary/0"><code·class="inline">nonempty_binary/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:8,·_:_*8&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:bitstring/0"><code·class="inline">bitstring/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:_*1&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_bitstring/0"><code·class="inline">nonempty_bitstring/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:1,·_:_*1&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:boolean/0"><code·class="inline">boolean/0</code></a></td><td·style="text-align:·left;"><code·class="inline">'false'</code>·|·<code·class="inline">'true'</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..255</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:char/0"><code·class="inline">char/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..16#10ffff</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nil/0"><code·class="inline">nil/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:number/0"><code·class="inline">number/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>·|·<a·href="../../erts-16.0/doc/html/erlang.html#t:float/0"><code·class="inline">float/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[any()]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:maybe_improper_list/0"><code·class="inline">maybe_improper_list/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:maybe_improper_list/2"><code·class="inline">maybe_improper_list(any(),·any())</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_list/0"><code·class="inline">nonempty_list/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_list/1"><code·class="inline">nonempty_list(any())</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:string/0"><code·class="inline">string/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[char()]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_string/0"><code·class="inline">nonempty_string/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[char(),...]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:iodata/0"><code·class="inline">iodata/0</code></a></td><td·style="text-align:·left;"><code·class="inline">iolist()</code>·|·<code·class="inline">binary()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:iolist/0"><code·class="inline">iolist/0</code></a></td><td·style="text-align:·left;"><code·class="inline">maybe_improper_list(byte()</code>·|·<code·class="inline">binary()</code>·|·<code·class="inline">iolist(),·binary()</code>·|·<code·class="inline">[])</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:map/0"><code·class="inline">map/0</code></a></td><td·style="text-align:·left;"><code·class="inline">#{any()·=&gt;·any()}</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:function/0"><code·class="inline">function/0</code></a></td><td·style="text-align:·left;"><code·class="inline">fun()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:module/0"><code·class="inline">module/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:atom/0"><code·class="inline">atom/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:mfa/0"><code·class="inline">mfa/0</code></a></td><td·style="text-align:·left;"><code·class="inline">{module(),atom(),arity()}</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:arity/0"><code·class="inline">arity/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..255</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:identifier/0"><code·class="inline">identifier/0</code></a></td><td·style="text-align:·left;"><code·class="inline">pid()</code>·|·<code·class="inline">port()</code>·|·<code·class="inline">reference()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#node/0"><code·class="inline">node/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:atom/0"><code·class="inline">atom/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:timeout/0"><code·class="inline">timeout/0</code></a></td><td·style="text-align:·left;"><code·class="inline">'infinity'</code>·|·<code·class="inline">non_neg_integer()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:no_return/0"><code·class="inline">no_return/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:none/0"><code·class="inline">none/0</code></a></td></tr></tbody></table><p><em>Table:·Built-in·types,·predefined·aliases</em></p><p>In·addition,·the·following·three·built-in·types·exist·and·can·be·thought·as
243 defined·below,·though·strictly·their·&quot;type·definition&quot;·is·not·valid·syntax243 defined·below,·though·strictly·their·&quot;type·definition&quot;·is·not·valid·syntax
244 according·to·the·type·language·defined·above.</p><table><thead><tr><th·style="text-align:·left;">Built-in·type</th><th·style="text-align:·left;">Can·be·thought·defined·by·the·syntax</th></tr></thead><tbody><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:pos_integer/0"><code·class="inline">pos_integer/0</code></a></td><td·style="text-align:·left;"><code·class="inline">1..</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:neg_integer/0"><code·class="inline">neg_integer/0</code></a></td><td·style="text-align:·left;"><code·class="inline">..-1</code></td></tr></tbody></table><p><em>Table:·Additional·built-in·types</em></p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·following·built-in·list·types·also·exist,·but·they·are·expected·to·be244 according·to·the·type·language·defined·above.</p><table><thead><tr><th·style="text-align:·left;">Built-in·type</th><th·style="text-align:·left;">Can·be·thought·defined·by·the·syntax</th></tr></thead><tbody><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:pos_integer/0"><code·class="inline">pos_integer/0</code></a></td><td·style="text-align:·left;"><code·class="inline">1..</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:neg_integer/0"><code·class="inline">neg_integer/0</code></a></td><td·style="text-align:·left;"><code·class="inline">..-1</code></td></tr></tbody></table><p><em>Table:·Additional·built-in·types</em></p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·following·built-in·list·types·also·exist,·but·they·are·expected·to·be
245 rarely·used.·Hence,·they·have·long·names:</p></section><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">nonempty_maybe_improper_list</span><span·class="p"·data-group-id="9017042368-1">(</span><span·class="p"·data-group-id="9017042368-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="90[·...·truncated·by·diffoscope;·len:·375,·SHA:·ebfe7c094925150254291d8936d0174223510891de1f8e031b0e764e0e0d77e2·...·]-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="1060729680-1">(</span><span·class="p"·data-group-id="1060729680-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="10[·...·truncated·by·diffoscope;·len:·375,·SHA:·8fda3159cc086356cad320ae3864a1fc6dbe62ba3fa0b668aff9104f110aa4d8·...·]-2">)</span><span·class="w">
246 </span><span·class="nf">nonempty_improper_list</span><span·class="p"·data-group-id="9017042368-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="9017042368-5">)</span><span·class="w">246 </span><span·class="nf">nonempty_improper_list</span><span·class="p"·data-group-id="1060729680-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="1060729680-5">)</span><span·class="w">
247 </span><span·class="nf">nonempty_maybe_improper_list</span><span·class="p"·data-group-id="9017042368-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="9017042368-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="1060729680-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="1060729680-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="8598409365-1">{</span><span·class="p"·data-group-id="8598409365-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="7745914854-1">{</span><span·class="p"·data-group-id="7745914854-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="8598409365-2">{</span><span·class="n">Fields</span><span·class="p"·data-group-id="8598409365-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="7745914854-2">{</span><span·class="n">Fields</span><span·class="p"·data-group-id="7745914854-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="3228647512-1">(</span><span·class="p"·data-group-id="3228647512-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3228647512-2">{</span><span·class="ss">&#39;gadget&#39[·...·truncated·by·diffoscope;·len:·234,·SHA:·09b0f4136b3af063aaf6461a33cc4f760886e5c162ed7a817ecf0fa953982c06·...·]12-2">}</span><span·class="p">.</span></code></pre><p>Further·imagine·that·some·code·has·its·own·(different)·definition·of·<code·class="inline">gadget()</code>,260 <code·class="inline">gadget()</code>·defined·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">gadget</span><span·class="p"·data-group-id="2806944312-1">(</span><span·class="p"·data-group-id="2806944312-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="2806944312-2">{</span><span·class="ss">&#39;gadget&#39[·...·truncated·by·diffoscope;·len:·234,·SHA:·f0f8d6a4799a053acfdd6773ae7233f5a2b7cdd447b7b54973929844cef9712e·...·]12-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="0073153281-1">(</span><span·class="p"·data-group-id="0073153281-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="0073153281-2">#{</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·25797ef3eaee85b5822417bd6b0f352ed63bed3974a67a45e0c7e639ac38f582·...·]-2">}</span><span·class="p">.</span></code></pre><p>Since·redefinitions·are·allowed,·the·code·will·still·compile·(but·with·a261 for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">gadget</span><span·class="p"·data-group-id="6990840759-1">(</span><span·class="p"·data-group-id="6990840759-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="6990840759-2">#{</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·5eec59af56cfb1cb01d8ba678aacf848900319617b5ed66bb5b7656dd379e4ad·...·]-2">}</span><span·class="p">.</span></code></pre><p>Since·redefinitions·are·allowed,·the·code·will·still·compile·(but·with·a
262 warning),·and·Dialyzer·will·not·emit·any·additional·warnings.</p><h2·id="type-declarations-of-user-defined-types"·class="section-heading">262 warning),·and·Dialyzer·will·not·emit·any·additional·warnings.</p><h2·id="type-declarations-of-user-defined-types"·class="section-heading">
263 ··<a·href="#type-declarations-of-user-defined-types"·class="hover-link">263 ··<a·href="#type-declarations-of-user-defined-types"·class="hover-link">
264 ····<i·class="ri-link-m"·aria-hidden="true"></i>264 ····<i·class="ri-link-m"·aria-hidden="true"></i>
265 ··</a>265 ··</a>
266 ··<span·class="text">Type·Declarations·of·User-Defined·Types</span>266 ··<span·class="text">Type·Declarations·of·User-Defined·Types</span>
267 </h2>267 </h2>
268 <p>As·seen,·the·basic·syntax·of·a·type·is·an·atom·followed·by·closed·parentheses.268 <p>As·seen,·the·basic·syntax·of·a·type·is·an·atom·followed·by·closed·parentheses.
269 New·types·are·declared·using·<code·class="inline">-type</code>,·<a·href="opaques.html"><code·class="inline">-opaque</code></a>,·and269 New·types·are·declared·using·<code·class="inline">-type</code>,·<a·href="opaques.html"><code·class="inline">-opaque</code></a>,·and
270 <a·href="nominals.html"><code·class="inline">-nominal</code></a>·attributes·as·in·the·following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">my_struct_type</span><span·class="p"·data-group-id="0125882635-1">(</span><span·class="p"·data-group-id="0125882635-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">.</span><span·class="w">270 <a·href="nominals.html"><code·class="inline">-nominal</code></a>·attributes·as·in·the·following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">my_struct_type</span><span·class="p"·data-group-id="7361488154-1">(</span><span·class="p"·data-group-id="7361488154-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="0125882635-2">(</span><span·class="p"·data-group-id="0125882635-2">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">.</span><span·class="w">271 </span><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">my_opaq_type</span><span·class="p"·data-group-id="7361488154-2">(</span><span·class="p"·data-group-id="7361488154-2">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">.</span><span·class="w">
272 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">my_nominal_type</span><span·class="p"·data-group-id="0125882635-3">(</span><span·class="p"·data-group-id="0125882635-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">.</span></code></pre><p>The·type·name·is·the·atom·<code·class="inline">my_struct_type</code>,·followed·by·parentheses.·<code·class="inline">Type</code>·is·a272 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">my_nominal_type</span><span·class="p"·data-group-id="7361488154-3">(</span><span·class="p"·data-group-id="7361488154-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">.</span></code></pre><p>The·type·name·is·the·atom·<code·class="inline">my_struct_type</code>,·followed·by·parentheses.·<code·class="inline">Type</code>·is·a
273 type·as·defined·in·the·previous·section.·A·current·restriction·is·that·<code·class="inline">Type</code>273 type·as·defined·in·the·previous·section.·A·current·restriction·is·that·<code·class="inline">Type</code>
274 can·contain·only·predefined·types,·or·user-defined·types·which·are·either·of·the274 can·contain·only·predefined·types,·or·user-defined·types·which·are·either·of·the
275 following:</p><ul><li>Module-local·type,·that·is,·with·a·definition·that·is·present·in·the·code·of275 following:</p><ul><li>Module-local·type,·that·is,·with·a·definition·that·is·present·in·the·code·of
276 the·module</li><li>Remote·type,·that·is,·type·defined·in,·and·exported·by,·other·modules;·more276 the·module</li><li>Remote·type,·that·is,·type·defined·in,·and·exported·by,·other·modules;·more
277 about·this·soon.</li></ul><p>For·module-local·types,·the·restriction·that·their·definition·exists·in·the277 about·this·soon.</li></ul><p>For·module-local·types,·the·restriction·that·their·definition·exists·in·the
278 module·is·enforced·by·the·compiler·and·results·in·a·compilation·error.·(A278 module·is·enforced·by·the·compiler·and·results·in·a·compilation·error.·(A
279 similar·restriction·currently·exists·for·records.)</p><p>Type·declarations·can·also·be·parameterized·by·including·type·variables·between279 similar·restriction·currently·exists·for·records.)</p><p>Type·declarations·can·also·be·parameterized·by·including·type·variables·between
280 the·parentheses.·The·syntax·of·type·variables·is·the·same·as·Erlang·variables,280 the·parentheses.·The·syntax·of·type·variables·is·the·same·as·Erlang·variables,
281 that·is,·starts·with·an·upper-case·letter.·These·variables·is·to281 that·is,·starts·with·an·upper-case·letter.·These·variables·is·to
282 appear·on·the·RHS·of·the·definition.·A·concrete·example·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">orddict</span><span·class="p"·data-group-id="5311257147-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="5311257147-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·clas[·...·truncated·by·diffoscope;·len:·314,·SHA:·e1f199597b990722a825c937fdd358e033f093c6dac70450521fe01c5216cf14·...·]-2">]</span><span·class="p">.</span></code></pre><p>A·module·can·export·some·types·to·declare·that·other·modules·are·allowed·to282 appear·on·the·RHS·of·the·definition.·A·concrete·example·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">orddict</span><span·class="p"·data-group-id="5864766711-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="5864766711-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·clas[·...·truncated·by·diffoscope;·len:·314,·SHA:·7e16df7273ba41ff855c469ae89143cd30e53012657eb3b9d4b612bbe0ae4e1a·...·]-2">]</span><span·class="p">.</span></code></pre><p>A·module·can·export·some·types·to·declare·that·other·modules·are·allowed·to
283 refer·to·them·as·<em>remote·types</em>.·This·declaration·has·the·following·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">export_type</span><span·class="p"·data-group-id="9058704026-1">(</span><span·class="p"·data-group-id="9058704026-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:·8d3be20b0d0230a07bbf947bd4d352ed94570f6c68906e96c75dd79b7ca8c97e·...·]-1">)</span><span·class="p">.</span></code></pre><p>Assuming·that·these·types·are·exported·from·module·<code·class="inline">'mod'</code>,·you·can·refer·to283 refer·to·them·as·<em>remote·types</em>.·This·declaration·has·the·following·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">export_type</span><span·class="p"·data-group-id="2212954460-1">(</span><span·class="p"·data-group-id="2212954460-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:·6f2b67e4d3bd5bc06bb11cf8bae647b65a1e345ca49bcd76e4b2fbda10d59e0a·...·]-1">)</span><span·class="p">.</span></code></pre><p>Assuming·that·these·types·are·exported·from·module·<code·class="inline">'mod'</code>,·you·can·refer·to
284 them·from·other·modules·using·remote·type·expressions·like·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mod</span><span·class="p">:</span><span·class="nf">my_struct_type</span><span·class="p"·data-group-id="9624351256-1">(</span><span·class="p"·data-group-id="9624351256-1">)</span><span·class="w">284 them·from·other·modules·using·remote·type·expressions·like·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mod</span><span·class="p">:</span><span·class="nf">my_struct_type</span><span·class="p"·data-group-id="1525528811-1">(</span><span·class="p"·data-group-id="1525528811-1">)</span><span·class="w">
285 </span><span·class="nc">mod</span><span·class="p">:</span><span·class="nf">orddict</span><span·class="p"·data-group-id="9624351256-2">(</span><span·class="nf">atom</span><span·class="p"·data-group-id="9624351256-3">(</span><span·class="p"·data-group-id="9624351256-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:·eb6eb674cd60f4d42a5f96b10433ded5355f6220c9a91a757abf2181d4da8d0d·...·]-2">)</span></code></pre><p>It·is·not·allowed·to·refer·to·types·that·are·not·declared·as·exported.</p><p>Types·declared·as·<code·class="inline">opaque</code>·represent·sets·of·terms·whose·structure·is·not285 </span><span·class="nc">mod</span><span·class="p">:</span><span·class="nf">orddict</span><span·class="p"·data-group-id="1525528811-2">(</span><span·class="nf">atom</span><span·class="p"·data-group-id="1525528811-3">(</span><span·class="p"·data-group-id="1525528811-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:·bc4945acaf098e2efd1fd6bb363849a11f0920dc2c94190bd8643e8014865281·...·]-2">)</span></code></pre><p>It·is·not·allowed·to·refer·to·types·that·are·not·declared·as·exported.</p><p>Types·declared·as·<code·class="inline">opaque</code>·represent·sets·of·terms·whose·structure·is·not
286 supposed·to·be·visible·from·outside·of·their·defining·module.·That·is,·only·the286 supposed·to·be·visible·from·outside·of·their·defining·module.·That·is,·only·the
287 module·defining·them·is·allowed·to·depend·on·their·term·structure.·Consequently,287 module·defining·them·is·allowed·to·depend·on·their·term·structure.·Consequently,
288 such·types·do·not·make·much·sense·as·module·local·-·module·local·types·are·not288 such·types·do·not·make·much·sense·as·module·local·-·module·local·types·are·not
289 accessible·by·other·modules·anyway·-·and·is·always·to·be·exported.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Nominal·types·were·introduced·in·Erlang/OTP·28.</p></section><p>Types·declared·as·<code·class="inline">nominal</code>·are·type-checked·according·to·the·user-defined289 accessible·by·other·modules·anyway·-·and·is·always·to·be·exported.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Nominal·types·were·introduced·in·Erlang/OTP·28.</p></section><p>Types·declared·as·<code·class="inline">nominal</code>·are·type-checked·according·to·the·user-defined
290 names·instead·of·their·structure.·That·is,·<code·class="inline">-nominal·feet()·::·integer()</code>·and290 names·instead·of·their·structure.·That·is,·<code·class="inline">-nominal·feet()·::·integer()</code>·and
291 <code·class="inline">-nominal·meter()·::·integer()</code>·are·not·the·same·type,·while·if·<code·class="inline">-type</code>·is291 <code·class="inline">-nominal·meter()·::·integer()</code>·are·not·the·same·type,·while·if·<code·class="inline">-type</code>·is
292 used·it·would·be.</p><p>Read·more·on·<a·href="opaques.html">Opaques</a>·and·<a·href="nominals.html">Nominals</a></p><p><a·href=""·id="typeinrecords"></a></p><h2·id="type-information-in-record-declarations"·class="section-heading">292 used·it·would·be.</p><p>Read·more·on·<a·href="opaques.html">Opaques</a>·and·<a·href="nominals.html">Nominals</a></p><p><a·href=""·id="typeinrecords"></a></p><h2·id="type-information-in-record-declarations"·class="section-heading">
293 ··<a·href="#type-information-in-record-declarations"·class="hover-link">293 ··<a·href="#type-information-in-record-declarations"·class="hover-link">
294 ····<i·class="ri-link-m"·aria-hidden="true"></i>294 ····<i·class="ri-link-m"·aria-hidden="true"></i>
295 ··</a>295 ··</a>
296 ··<span·class="text">Type·Information·in·Record·Declarations</span>296 ··<span·class="text">Type·Information·in·Record·Declarations</span>
297 </h2>297 </h2>
298 <p>The·types·of·record·fields·can·be·specified·in·the·declaration·of·the·record.298 <p>The·types·of·record·fields·can·be·specified·in·the·declaration·of·the·record.
299 The·syntax·for·this·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0053631894-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0053631894-2">{</span><span·class="ss">field1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span[·...·truncated·by·diffoscope;·len:·421,·SHA:·07090aa18eb8dd5e67158ed6fb05012699a85a2ca01ecd0f271d82e0dd441459·...·]-1">)</span><span·class="p">.</span></code></pre><p>For·fields·without·type·annotations,·their·type·defaults·to·<code·class="inline">any()</code>.·That·is,·the299 The·syntax·for·this·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0598500143-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0598500143-2">{</span><span·class="ss">field1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span[·...·truncated·by·diffoscope;·len:·421,·SHA:·35d08b246fb6c37bc173c606893374b8fb38a1a400c4bfb0095eefc6e4ea6aa4·...·]-1">)</span><span·class="p">.</span></code></pre><p>For·fields·without·type·annotations,·their·type·defaults·to·<code·class="inline">any()</code>.·That·is,·the
300 previous·example·is·a·shorthand·for·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="4263389338-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4263389338-2">{</span><span·class="ss">field1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><spa[·...·truncated·by·diffoscope;·len:·650,·SHA:·177219706cc5521dfaef4a1df3c1935f0568112a3bbeee95b8ae8905a3e70745·...·]8-1">)</span><span·class="p">.</span></code></pre><p>In·the·presence·of·initial·values·for·fields,·the·type·must·be·declared·after300 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="9807020518-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9807020518-2">{</span><span·class="ss">field1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><spa[·...·truncated·by·diffoscope;·len:·650,·SHA:·6a87534f643fe22da78a0aed0b01084b01f2239e4d3a5f8d4d38433e532ed8fb·...·]8-1">)</span><span·class="p">.</span></code></pre><p>In·the·presence·of·initial·values·for·fields,·the·type·must·be·declared·after
301 the·initialization,·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="2174164100-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2174164100-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:·1f55a88eb7f33f76a70dd1e2893701585fdaccf10f42f8c8f3a87f942c0c892d·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·initial·values·for·fields·are·to·be·compatible·with·(that·is,·a·member·of)301 the·initialization,·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="8321499874-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8321499874-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:·f8f7baf3f4ad0c08d4a9d7dea5b94e151caba40d6886d6d05202e3a5ba288477·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·initial·values·for·fields·are·to·be·compatible·with·(that·is,·a·member·of)
302 the·corresponding·types.·This·is·checked·by·the·compiler·and·results·in·a302 the·corresponding·types.·This·is·checked·by·the·compiler·and·results·in·a
303 compilation·error·if·a·violation·is·detected.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·Erlang/OTP·19,·for·fields·without·initial·values,·the·singleton·type303 compilation·error·if·a·violation·is·detected.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·Erlang/OTP·19,·for·fields·without·initial·values,·the·singleton·type
304 <code·class="inline">'undefined'</code>·was·added·to·all·declared·types.·In·other·words,·the·following304 <code·class="inline">'undefined'</code>·was·added·to·all·declared·types.·In·other·words,·the·following
305 two·record·declarations·had·identical·effects:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="4564441460-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4564441460-2">{</span><span·class="ss">f1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·239,·SHA:·c66e9f5fcb1fdeda15cf9c335f5e001ff7efe45c79d9ed1818ca109a71c2252f·...·]-3">)</span><span·class="p">,</span><span·class="w">305 two·record·declarations·had·identical·effects:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6459427495-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6459427495-2">{</span><span·class="ss">f1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·239,·SHA:·3a49dd34ba29f501952f99bfb502adac680fe097c5b3816c0fb79adcbc19d53d·...·]-3">)</span><span·class="p">,</span><span·class="w">
306 ·············</span><span·class="ss">f2</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">float</span><span·class="p"·data-group-id="4564441460-4">(</span><span·class="p"·data-group-id="4564441460-4">)</span><span·class="p">,</span><span·class="w">306 ·············</span><span·class="ss">f2</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">float</span><span·class="p"·data-group-id="6459427495-4">(</span><span·class="p"·data-group-id="6459427495-4">)</span><span·class="p">,</span><span·class="w">
307 ·············</span><span·class="ss">f3</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;a&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;b&#39;</span><span·class="p"·data-group-id="4564441460-2">}</span><span·class="p"·data-group-id="4564441460-1">)</span><span·class="p">.</span><span·class="w">307 ·············</span><span·class="ss">f3</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;a&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;b&#39;</span><span·class="p"·data-group-id="6459427495-2">}</span><span·class="p"·data-group-id="6459427495-1">)</span><span·class="p">.</span><span·class="w">
308 </span><span·class="w">308 </span><span·class="w">
309 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="4564441460-5">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4564441460-6">{</span><span·class="ss">f1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·239,·SHA:·c7863638fa2c612e8d4d30195e09693e1a8161c36fb7e3a29972b837a021f5ae·...·]-7">)</span><span·class="p">,</span><span·class="w">309 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6459427495-5">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6459427495-6">{</span><span·class="ss">f1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·239,·SHA:·37da04f55a28a0c4c6e535190bf31cdfb99046b473c19430bdd8dd35046a2b8c·...·]-7">)</span><span·class="p">,</span><span·class="w">
310 ··············</span><span·class="ss">f2</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;undefined&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">float</span><span·class="p"·data-group-id="4564441460-8">(</span><span·class="p"·data-group-id="4564441460-8">)</span><span·class="p">,</span><span·class="w">310 ··············</span><span·class="ss">f2</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;undefined&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">float</span><span·class="p"·data-group-id="6459427495-8">(</span><span·class="p"·data-group-id="6459427495-8">)</span><span·class="p">,</span><span·class="w">
311 ··············</span><span·class="ss">f3</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;undefined&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;a&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;b&#39;</span><span·class="p"·data-group-id="4564441460-6">}</span><span·class="p"·data-group-id="4564441460-5">)</span><span·class="p">.</span></code></pre><p>This·is·no·longer·the·case.·If·you·require·<code·class="inline">'undefined'</code>·in·your·record·field311 ··············</span><span·class="ss">f3</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;undefined&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;a&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;b&#39;</span><span·class="p"·data-group-id="6459427495-6">}</span><span·class="p"·data-group-id="6459427495-5">)</span><span·class="p">.</span></code></pre><p>This·is·no·longer·the·case.·If·you·require·<code·class="inline">'undefined'</code>·in·your·record·field
312 type,·you·must·explicitly·add·it·to·the·typespec,·as·in·the·2nd·example.</p></section><p>Any·record,·containing·type·information·or·not,·once·defined,·can·be·used·as·a312 type,·you·must·explicitly·add·it·to·the·typespec,·as·in·the·2nd·example.</p></section><p>Any·record,·containing·type·information·or·not,·once·defined,·can·be·used·as·a
313 type·using·the·following·syntax:</p><pre><code·class="text">#rec{}</code></pre><p>In·addition,·the·record·fields·can·be·further·specified·when·using·a·record·type313 type·using·the·following·syntax:</p><pre><code·class="text">#rec{}</code></pre><p>In·addition,·the·record·fields·can·be·further·specified·when·using·a·record·type
314 by·adding·type·information·about·the·field·as·follows:</p><pre><code·class="text">#rec{some_field·::·Type}</code></pre><p>Any·unspecified·fields·are·assumed·to·have·the·type·in·the·original·record314 by·adding·type·information·about·the·field·as·follows:</p><pre><code·class="text">#rec{some_field·::·Type}</code></pre><p>Any·unspecified·fields·are·assumed·to·have·the·type·in·the·original·record
315 declaration.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>When·records·are·used·to·create·patterns·for·ETS·and·Mnesia·match·functions,315 declaration.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>When·records·are·used·to·create·patterns·for·ETS·and·Mnesia·match·functions,
316 Dialyzer·may·need·some·help·not·to·emit·bad·warnings.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">height</span><span·class="p"·data-group-id="0664598128-1">(</span><span·class="p"·data-group-id="0664598128-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="0664598128-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·9953b8b298434976919161741fdfb94891a68c228a959248d4619af451e05a70·...·]-2">)</span><span·class="p">.</span><span·class="w">316 Dialyzer·may·need·some·help·not·to·emit·bad·warnings.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">height</span><span·class="p"·data-group-id="7929540994-1">(</span><span·class="p"·data-group-id="7929540994-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="7929540994-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·98321fe91cc708f23927ec3530c90ff407c260dbaa0d7c5545dbd477752b6b39·...·]-2">)</span><span·class="p">.</span><span·class="w">
317 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0664598128-3">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0664598128-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:·d5edb68b18ebcb8cc27dff4b0151a2a616e17190a9d8ca1feef97f34f13023e9·...·]-3">)</span><span·class="p">.</span><span·class="w">317 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7929540994-3">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7929540994-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:·4a5b41af7aba61defc8c7c0f95cf1a7e41a53bc87a0e28ef3ca9ca0abdb08627·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
318 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="0664598128-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="0664598128-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">318 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="7929540994-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="7929540994-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
319 ····</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_object</span><span·class="p"·data-group-id="0664598128-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="0664598128-9">{</span><span·class="ss">name</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·347,·SHA:·0b59f1d06ea8054237c1de572f5643c667174075e37ae3c4719df9f99164ab7c·...·]-8">)</span><span·class="p">.</span></code></pre><p>Dialyzer·will·emit·a·warning·since·<code·class="inline">'_'</code>·is·not·in·the·type·of·record·field319 ····</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_object</span><span·class="p"·data-group-id="7929540994-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="7929540994-9">{</span><span·class="ss">name</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·347,·SHA:·f756829a1b0f66b3e20e039aae272202da2184d6e53b5135eaf9f4c896a7d157·...·]-8">)</span><span·class="p">.</span></code></pre><p>Dialyzer·will·emit·a·warning·since·<code·class="inline">'_'</code>·is·not·in·the·type·of·record·field
320 <code·class="inline">height</code>.</p><p>The·recommended·way·of·dealing·with·this·is·to·declare·the·smallest·record320 <code·class="inline">height</code>.</p><p>The·recommended·way·of·dealing·with·this·is·to·declare·the·smallest·record
321 field·types·to·accommodate·all·your·needs,·and·then·create·refinements·as321 field·types·to·accommodate·all·your·needs,·and·then·create·refinements·as
322 needed.·The·modified·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="5002779837-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5002779837-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:·1443249ce16629090ad6caf0724f8657cce995caa1f9f551a24bad711722e37e·...·]-1">)</span><span·class="p">.</span><span·class="w">322 needed.·The·modified·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="4271853919-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4271853919-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:·15c6d405120f14a735c6e074655057d630c8c9504e4956bc505c494099e6a380·...·]-1">)</span><span·class="p">.</span><span·class="w">
323 </span><span·class="w">323 </span><span·class="w">
324 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">person</span><span·class="p"·data-group-id="5002779837-5">(</span><span·class="p"·data-group-id="5002779837-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:·da8de45240832ee02e082350c09ba149f29be61fd26446064ad7361a2a40c45a·...·]-6">}</span><span·class="p">.</span></code></pre><p>In·specifications·and·type·declarations·the·type·<code·class="inline">person()</code>·is·to·be·preferred324 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">person</span><span·class="p"·data-group-id="4271853919-5">(</span><span·class="p"·data-group-id="4271853919-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:·343e2bea99931d9b6425aeffd1e56c0caf605870b5fc8ed7b6030db9470e6ef7·...·]-6">}</span><span·class="p">.</span></code></pre><p>In·specifications·and·type·declarations·the·type·<code·class="inline">person()</code>·is·to·be·preferred
325 before·<code·class="inline">#person{}</code>.</p></section><h2·id="specifications-for-functions"·class="section-heading">325 before·<code·class="inline">#person{}</code>.</p></section><h2·id="specifications-for-functions"·class="section-heading">
326 ··<a·href="#specifications-for-functions"·class="hover-link">326 ··<a·href="#specifications-for-functions"·class="hover-link">
327 ····<i·class="ri-link-m"·aria-hidden="true"></i>327 ····<i·class="ri-link-m"·aria-hidden="true"></i>
328 ··</a>328 ··</a>
329 ··<span·class="text">Specifications·for·Functions</span>329 ··<span·class="text">Specifications·for·Functions</span>
330 </h2>330 </h2>
331 <p>A·specification·(or·contract)·for·a·function·is·given·using·the·<code·class="inline">-spec</code>331 <p>A·specification·(or·contract)·for·a·function·is·given·using·the·<code·class="inline">-spec</code>
332 attribute.·The·general·format·is·as·follows:</p><pre><code·class="text">-spec·Function(ArgType1,·...,·ArgTypeN)·-&gt;·ReturnType.</code></pre><p>An·implementation·of·the·function·with·the·same·name·<code·class="inline">Function</code>·must·exist·in332 attribute.·The·general·format·is·as·follows:</p><pre><code·class="text">-spec·Function(ArgType1,·...,·ArgTypeN)·-&gt;·ReturnType.</code></pre><p>An·implementation·of·the·function·with·the·same·name·<code·class="inline">Function</code>·must·exist·in
333 the·current·module,·and·the·arity·of·the·function·must·match·the·number·of333 the·current·module,·and·the·arity·of·the·function·must·match·the·number·of
334 arguments,·otherwise·the·compilation·fails.</p><p>The·following·longer·format·with·module·name·is·also·valid·as·long·as·<code·class="inline">Module</code>334 arguments,·otherwise·the·compilation·fails.</p><p>The·following·longer·format·with·module·name·is·also·valid·as·long·as·<code·class="inline">Module</code>
335 is·the·name·of·the·current·module.·This·can·be·useful·for·documentation335 is·the·name·of·the·current·module.·This·can·be·useful·for·documentation
336 purposes.</p><pre><code·class="text">-spec·Module:Function(ArgType1,·...,·ArgTypeN)·-&gt;·ReturnType.</code></pre><p>Also,·for·documentation·purposes,·argument·names·can·be·given:</p><pre><code·class="text">-spec·Function(ArgName1·::·Type1,·...,·ArgNameN·::·TypeN)·-&gt;·RT.</code></pre><p>A·function·specification·can·be·overloaded.·That·is,·it·can·have·several·types,336 purposes.</p><pre><code·class="text">-spec·Module:Function(ArgType1,·...,·ArgTypeN)·-&gt;·ReturnType.</code></pre><p>Also,·for·documentation·purposes,·argument·names·can·be·given:</p><pre><code·class="text">-spec·Function(ArgName1·::·Type1,·...,·ArgNameN·::·TypeN)·-&gt;·RT.</code></pre><p>A·function·specification·can·be·overloaded.·That·is,·it·can·have·several·types,
337 separated·by·a·semicolon·(<code·class="inline">;</code>).·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="6696067871-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="6696067871-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">T3</span><span·class="p">;</span><span·class="w">337 separated·by·a·semicolon·(<code·class="inline">;</code>).·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="4849971579-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="4849971579-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">T3</span><span·class="p">;</span><span·class="w">
338 ·········</span><span·class="p"·data-group-id="6696067871-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="6696067871-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">T6</span><span·class="p">.</span></code></pre><p>A·current·restriction,·which·currently·results·in·a·warning·by·Dialyzer,·is·that338 ·········</span><span·class="p"·data-group-id="4849971579-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="4849971579-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">T6</span><span·class="p">.</span></code></pre><p>A·current·restriction,·which·currently·results·in·a·warning·by·Dialyzer,·is·that
339 the·domains·of·the·argument·types·cannot·overlap.·For·example,·the·following339 the·domains·of·the·argument·types·cannot·overlap.·For·example,·the·following
340 specification·results·in·a·warning:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="7178181479-1">(</span><span·class="nf">pos_integer</span><span·class="p"·data-group-id="7178181479-2">(</span><span·class="p"·data-group-id="7178181479-2">)</span><span·class="p"·data-group-id="7178181479-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="7178181479-3">(</span><span·class="p"·data-group-id="7178181479-3">)</span><span·class="p">;</span><span·class="w"> 
341 ·········</span><span·class="p"·data-group-id="7178181479-4">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="7178181479-5">(</span><span·class="p"·data-group-id="7178181479-5">)</span><span·class="p"·data-group-id="7178181479-4">)</sp[·...·truncated·by·diffoscope;·len:·335,·SHA:·6d9e1f9ca0900fe24d885fd169a07ede05c8bfd8160d6eb6a5e1db9c03fae1a8·...·]340 specification·results·in·a·warning:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="9520917149-1">(</span><span·class="[·...·truncated·by·diffoscope;·len:·438,·SHA:·0047a24dc4a74fcfcdb2c1daab15925b16c324b0475bda93ccdfd4c0b4ef12a3·...·]
 341 ·········</span><span·class="p"·data-group-id="9520917149-4">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="9520917149-5">(</span><span·class="p"·data-group-id="9520917149-5">)</span><span·class="p"·data-group-id="9520917149-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="9520917149-6">(</span><span·class="p"·data-group-id="9520917149-6">)</span><span·class="p">.</span></code></pre><p>Type·variables·can·be·used·in·specifications·to·specify·relations·for·the·input
342 and·output·arguments·of·a·function.·For·example,·the·following·specification342 and·output·arguments·of·a·function.·For·example,·the·following·specification
343 defines·the·type·of·a·polymorphic·identity·function:</p><pre><code·class="text">-spec·id(X)·-&gt;·X.</code></pre><p>Notice·that·the·above·specification·does·not·restrict·the·input·and·output·type343 defines·the·type·of·a·polymorphic·identity·function:</p><pre><code·class="text">-spec·id(X)·-&gt;·X.</code></pre><p>Notice·that·the·above·specification·does·not·restrict·the·input·and·output·type
344 in·any·way.·These·types·can·be·constrained·by·guard-like·subtype·constraints·and344 in·any·way.·These·types·can·be·constrained·by·guard-like·subtype·constraints·and
345 provide·bounded·quantification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">id</span><span·class="p"·data-group-id="1489819476-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="1489819476-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="k">when</span><span·[·...·truncated·by·diffoscope;·len:·261,·SHA:·cef82ba7fba9d0822c544dba5993bbafce2c3a665acbc3379b7af7bfe31a6b9f·...·]-2">)</span><span·class="p">.</span></code></pre><p>Currently,·the·<code·class="inline">::</code>·constraint·(read·as·&quot;is·a·subtype·of&quot;)·is·the·only·guard345 provide·bounded·quantification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">id</span><span·class="p"·data-group-id="9930804904-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="9930804904-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="k">when</span><span·[·...·truncated·by·diffoscope;·len:·261,·SHA:·49f1080ff9216feced0eeb90992b80da2a7f4299ac943c10785950eca1c1533a·...·]-2">)</span><span·class="p">.</span></code></pre><p>Currently,·the·<code·class="inline">::</code>·constraint·(read·as·&quot;is·a·subtype·of&quot;)·is·the·only·guard
346 constraint·that·can·be·used·in·the·<code·class="inline">when</code>·part·of·a·<code·class="inline">-spec</code>·attribute.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·above·function·specification·uses·multiple·occurrences·of·the·same·type346 constraint·that·can·be·used·in·the·<code·class="inline">when</code>·part·of·a·<code·class="inline">-spec</code>·attribute.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·above·function·specification·uses·multiple·occurrences·of·the·same·type
347 variable.·That·provides·more·type·information·than·the·following·function347 variable.·That·provides·more·type·information·than·the·following·function
348 specification,·where·the·type·variables·are·missing:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">id</span><span·class="p"·data-group-id="4005602102-1">(</span><span·class="nf">tuple</span><span·class="p"·data-group-id="4005602102-2">(</span><span·class="p"·data-group-id="4005602102-2">)</span><span·class="p"·data-group-id="4005602102-1">)</span><span·class="w">·</span><span·class="p">-&gt;</[·...·truncated·by·diffoscope;·len:·152,·SHA:·ab153d3450de6d0241f9e6511b1c71cc1e3751fdd4c38933e035a6a76fb48f6f·...·]-3">)</span><span·class="p">.</span></code></pre><p>The·latter·specification·says·that·the·function·takes·some·tuple·and·returns348 specification,·where·the·type·variables·are·missing:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">id</span><span·class="p"·data-group-id="4729857350-1">(</span><span·class="nf">tuple</span><span·class="p"·data-group-id="4729857350-2">(</span><span·class="p"·data-group-id="4729857350-2">)</span><span·class="p"·data-group-id="4729857350-1">)</span><span·class="w">·</span><span·class="p">-&gt;</[·...·truncated·by·diffoscope;·len:·152,·SHA:·889e7274df59966e197a20dfd8bf627417fb09a4ab620c84672404a9cf933145·...·]-3">)</span><span·class="p">.</span></code></pre><p>The·latter·specification·says·that·the·function·takes·some·tuple·and·returns
349 some·tuple.·The·specification·with·the·<code·class="inline">X</code>·type·variable·specifies·that·the349 some·tuple.·The·specification·with·the·<code·class="inline">X</code>·type·variable·specifies·that·the
350 function·takes·a·tuple·and·returns·<em>the·same</em>·tuple.</p><p>However,·it·is·up·to·the·tools·that·process·the·specifications·to·choose350 function·takes·a·tuple·and·returns·<em>the·same</em>·tuple.</p><p>However,·it·is·up·to·the·tools·that·process·the·specifications·to·choose
351 whether·to·take·this·extra·information·into·account·or·not.</p></section><p>The·scope·of·a·<code·class="inline">::</code>·constraint·is·the·<code·class="inline">(...)·-&gt;·RetType</code>·specification·after351 whether·to·take·this·extra·information·into·account·or·not.</p></section><p>The·scope·of·a·<code·class="inline">::</code>·constraint·is·the·<code·class="inline">(...)·-&gt;·RetType</code>·specification·after
352 which·it·appears.·To·avoid·confusion,·it·is·suggested·that·different·variables352 which·it·appears.·To·avoid·confusion,·it·is·suggested·that·different·variables
353 are·used·in·different·constituents·of·an·overloaded·contract,·as·shown·in·the353 are·used·in·different·constituents·of·an·overloaded·contract,·as·shown·in·the
354 following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="8254706443-1">(</span><span·class="p"·data-group-id="8254706443-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="8254706443-3">(</span><span·class="p"·data-group-id="8254706443-3">)</span><span·class="p"·data-group-id="8254706443-2">}</span><span·class="p"·data-group-id="8254706443-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="8254706443-4">(</span><span·class="p"·data-group-id="8254706443-4">)</span><span·class="p">;</span><span·class="w"> 
355 ·········</span><span·class="p"·data-group-id="8254706443-5">(</span><span·class="p"·data-group-id="8254706443-6">[</span><span·class="n">Y</span><span·class="p"·data-group-id="8254706443-6">]</span><span·class="p"·data-group-id="8254706443-5">)</span><spa[·...·truncated·by·diffoscope;·len:·543,·SHA:·e826a1e5b2c7a114f27d7ee676018112c4a69fa7311e16c6f427b46db5366e9c·...·]354 following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="8696453561-1">(</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·807,·SHA:·0e2bccfe144baf7a042c6fd5360261f3e51aa9e51a37b56801c8640a26c48b6d·...·]
 355 ·········</span><span·class="p"·data-group-id="8696453561-5">(</span><span·class="p"·data-group-id="8696453561-6">[</span><span·class="n">Y</span><span·class="p"·data-group-id="8696453561-6">]</span><span·class="p"·data-group-id="8696453561-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="8696453561-7">(</span><span·class="p"·data-group-id="8696453561-7">)</span><span·class="p">.</span></code></pre><p>Some·functions·in·Erlang·are·not·meant·to·return;·either·because·they·define
356 servers·or·because·they·are·used·to·throw·exceptions,·as·in·the·following356 servers·or·because·they·are·used·to·throw·exceptions,·as·in·the·following
357 function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_error</span><span·class="p"·data-group-id="4490079222-1">(</span><span·class="n">Err</span><span·class="p"·data-group-id="4490079222-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="4490079222-2">(</sp[·...·truncated·by·diffoscope;·len:·253,·SHA:·40c918e185105f32d10d0c0eaa7e7d5d0bd79021d5ae76ea38b38d64b5b5b5a9·...·]-2">)</span><span·class="p">.</span></code></pre><p>For·such·functions,·it·is·recommended·to·use·the·special·<a·href="../../erts-16.0/doc/html/erlang.html#t:no_return/0"><code·class="inline">no_return/0</code></a>·type357 function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_error</span><span·class="p"·data-group-id="5542440629-1">(</span><span·class="n">Err</span><span·class="p"·data-group-id="5542440629-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="5542440629-2">(</sp[·...·truncated·by·diffoscope;·len:·253,·SHA:·8357f72fa122575f4a1ea2bda46a79232038a97be6dbf35a5ec92f5d15b62566·...·]-2">)</span><span·class="p">.</span></code></pre><p>For·such·functions,·it·is·recommended·to·use·the·special·<a·href="../../erts-16.0/doc/html/erlang.html#t:no_return/0"><code·class="inline">no_return/0</code></a>·type
358 for·their·&quot;return&quot;,·through·a·contract·of·the·following·form:</p><pre><code·class="text">-spec·my_error(term())·-&gt;·no_return().</code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Erlang·uses·the·shorthand·version·<code·class="inline">_</code>·as·an·anonymous·type·variable·equivalent358 for·their·&quot;return&quot;,·through·a·contract·of·the·following·form:</p><pre><code·class="text">-spec·my_error(term())·-&gt;·no_return().</code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Erlang·uses·the·shorthand·version·<code·class="inline">_</code>·as·an·anonymous·type·variable·equivalent
359 to·<a·href="../../erts-16.0/doc/html/erlang.html#t:term/0"><code·class="inline">term/0</code></a>·or·<a·href="../../erts-16.0/doc/html/erlang.html#t:any/0"><code·class="inline">any/0</code></a>.·For·example,·the·following·function</p><pre><code·class="text">-spec·Function(string(),·_)·-&gt;·string().</code></pre><p>is·equivalent·to:</p><pre><code·class="text">-spec·Function(string(),·any())·-&gt;·string().</code></pre></section>359 to·<a·href="../../erts-16.0/doc/html/erlang.html#t:term/0"><code·class="inline">term/0</code></a>·or·<a·href="../../erts-16.0/doc/html/erlang.html#t:any/0"><code·class="inline">any/0</code></a>.·For·example,·the·following·function</p><pre><code·class="text">-spec·Function(string(),·_)·-&gt;·string().</code></pre><p>is·equivalent·to:</p><pre><code·class="text">-spec·Function(string(),·any())·-&gt;·string().</code></pre></section>
360 </div>360 </div>
  
Max diff block lines reached; 738/72347 bytes (1.02%) of diff not shown.
610 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/doc/system/upgrade.html
    
Offset 215, 15 lines modifiedOffset 215, 15 lines modified
215 ······<p·class="built-using">215 ······<p·class="built-using">
216 ········Built·using216 ········Built·using
217 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the217 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
218 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>218 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
219 ······</p>219 ······</p>
220 <p>Copyright·©·1996-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="2277754387-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="2277754387-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="4830899536-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="4830899536-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="2277754387-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:·a3776a2d8af52fb301f79a9ee3e062f937b972aa14eaea6bb894cbe2881c5baf·...·]-2">&gt;&gt;</span><span·class="gp·unselectable">157 </span><span·class="p"·data-group-id="4830899536-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:·218e0e54b832a02526b2724017002ef2abe071119aef23e205e72f8c1a4a49d4·...·]-2">&gt;&gt;</span><span·class="gp·unselectable">
158 2&gt;·</span><span·class="p"·data-group-id="2277754387-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="2277754387-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">158 2&gt;·</span><span·class="p"·data-group-id="4830899536-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="4830899536-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">
159 </span><span·class="p"·data-group-id="2277754387-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:·81971407d531b16b637a346f730773596a27fa50f77ed62b582e9f5025198cc4·...·]-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="4830899536-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:·36a036980687d716271216d7d71733ea85fbae7c92136722975d99600607cfc3·...·]-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="9579320171-1">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="9579320171-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="9579320171-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·6f86ca406b42de3687939f974047a7ff0d0bc56836bb1c0499057fa4d6669fa8·...·]-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="6531781747-1">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="6531781747-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="6531781747-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·288fc9d196fcd566fd79a1fa0f1fdf6e143a71fcd27ab23287ffa11792ec68b4·...·]-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="9579320171-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="9579320171-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·196,·SHA:·6f4c313f70906cf02d069a1d4619fb1ca8ab4e21382c7fc20fc91ef5408dc4f2·...·]-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="6531781747-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="6531781747-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·196,·SHA:·0da90484c632a639970f79ab1aab63ed87792bccf492841c50529bd51663d7ee·...·]-4">}</span><span·class="p">.</span><span·class="w">
175 </span><span·class="nf">f</span><span·class="p"·data-group-id="9579320171-5">(</span><span·class="p">_</span><span·class="p"·data-group-id="9579320171-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="6531781747-5">(</span><span·class="p">_</span><span·class="p"·data-group-id="6531781747-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="9531049812-1">(</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p"·data-group-id="9531049812-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="7841332293-1">(</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p"·data-group-id="7841332293-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="0305433821-1">(</span><span·class="ss">interpret</span><span·class="p"·data-group-id="0305433821-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="8797836084-1">(</span><span·class="ss">interpret</span><span·class="p"·data-group-id="8797836084-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="1204693059-1">(</span><span·class="p"·data-group-id="1204693059-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="2330424310-1">(</span><span·class="p"·data-group-id="2330424310-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="1204693059-2">(</span><span·class="p"·data-group-id="1204693059-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="2330424310-2">(</span><span·class="p"·data-group-id="2330424310-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-16.0/doc/html/404.html
    
Offset 139, 15 lines modifiedOffset 139, 15 lines modified
139 ······<p·class="built-using">139 ······<p·class="built-using">
140 ········Built·using140 ········Built·using
141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
143 ······</p>143 ······</p>
144 <p>Copyright·©·1996-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.6 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/absform.html
    
Offset 518, 15 lines modifiedOffset 518, 15 lines modified
518 ······<p·class="built-using">518 ······<p·class="built-using">
519 ········Built·using519 ········Built·using
520 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the520 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
521 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>521 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
522 ······</p>522 ······</p>
523 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>523 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
524 ····</footer>524 ····</footer>
525 ··</div>525 ··</div>
526 </main>526 </main>
527 </div>527 </div>
528 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>528 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
529 ··<script>529 ··<script>
530 ··let·initialized·=·false;530 ··let·initialized·=·false;
818 B
html2text {}
Max HTML report size reached
1.73 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/alt_disco.html
    
Offset 202, 15 lines modifiedOffset 202, 15 lines modified
202 ······<p·class="built-using">202 ······<p·class="built-using">
203 ········Built·using203 ········Built·using
204 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the204 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
205 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>205 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
206 ······</p>206 ······</p>
207 <p>Copyright·©·1996-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.3 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/alt_dist.html
    
Offset 237, 50 lines modifiedOffset 237, 50 lines modified
237 <code·class="inline">uds_dist</code>·example·using·a·port·driver·written·in·C,·<code·class="inline">erl_uds_dist</code>·is·written237 <code·class="inline">uds_dist</code>·example·using·a·port·driver·written·in·C,·<code·class="inline">erl_uds_dist</code>·is·written
238 entirely·in·Erlang.</p><h3·id="exported-callback-functions"·class="section-heading">238 entirely·in·Erlang.</p><h3·id="exported-callback-functions"·class="section-heading">
239 ··<a·href="#exported-callback-functions"·class="hover-link">239 ··<a·href="#exported-callback-functions"·class="hover-link">
240 ····<i·class="ri-link-m"·aria-hidden="true"></i>240 ····<i·class="ri-link-m"·aria-hidden="true"></i>
241 ··</a>241 ··</a>
242 ··<span·class="text">Exported·Callback·Functions</span>242 ··<span·class="text">Exported·Callback·Functions</span>
243 </h3>243 </h3>
244 <p>The·following·functions·are·mandatory:</p><ul><li><pre·id="listen"><code·class="makeup·erlang"·translate="no"><span·class="nf">listen</span><span·class="p"·data-group-id="2729057313-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="2729057313-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="1214710898-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="1214710898-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="2729057313-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2729057313-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:·0e601b370b17cefb82dca6e317ee1f99b00b3475c0cc533158630c310d224ceb·...·]-4">}</span><span·class="w">245 </span><span·class="err"> </span><span·class="err"> </span><span·class="p"·data-group-id="1214710898-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1214710898-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:·37d0d663e1768f0fbb91e5194e65e49f86dd21c60fd0e1a5b23f952d4f4166c5·...·]-4">}</span><span·class="w">
246 </span><span·class="nf">listen</span><span·class="p"·data-group-id="2729057313-5">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">Host</span><span·class="p"·data-group-id="2729057313-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="1214710898-5">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">Host</span><span·class="p"·data-group-id="1214710898-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="2729057313-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2729057313-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:·674beda9dfef815ec086347d1aaa3d2d779e2443d3010ec0721836476d801be7·...·]-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="1214710898-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1214710898-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:·5254dabc880ee8081a6e3efd625782477dc64318f3bad040609291cc12b9c89b·...·]-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="9525859626-1">(</span><span·class="p"·data-group-id="9525859626-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="7609016969-1">(</span><span·class="p"·data-group-id="7609016969-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="6681333763-1">(</span><span·class="p"·data-group-id="6681333763-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="0357877215-1">(</span><span·class="p"·data-group-id="0357877215-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
261 ····</span><span·class="p"·data-group-id="6681333763-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="6681333763-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·173,·SHA:·18ba8a6fa0de6f837f825c088616fd3b5a1b5001872bc10d5ad4f0ae3a74e8cc·...·]-3">)</span><span·class="p">,</span><span·class="w">261 ····</span><span·class="p"·data-group-id="0357877215-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="0357877215-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·173,·SHA:·ff5736e9072d26b737e84d119a8b299cb3e0eabf44e040d130c4c89e94a0d4d2·...·]-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="6681333763-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:·d77ab646b65b091c0df0d4eacabe6205a3e6e9a2e102e16654036f52bd0fe398·...·]-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="0357877215-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:·5780803b632874536aaaddc79a7e1f53d3f9bb84eb6b3e5badea0cacbb4f4715·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
263 </span><span·class="err"> </span><span·class="err"> </span><span·class="n">AcceptorPid</span></code></pre><p><code·class="inline">accept/1</code>·should·spawn·a·process·that·accepts·connections.·This·process263 </span><span·class="err"> </span><span·class="err"> </span><span·class="n">AcceptorPid</span></code></pre><p><code·class="inline">accept/1</code>·should·spawn·a·process·that·accepts·connections.·This·process
264 should·preferably·execute·on·<code·class="inline">max</code>·priority.·The·process·identifier·of·this264 should·preferably·execute·on·<code·class="inline">max</code>·priority.·The·process·identifier·of·this
265 process·should·be·returned.</p><p>The·<code·class="inline">Listen</code>·argument·will·be·the·same·as·the·<code·class="inline">Listen</code>·handle·part·of·the265 process·should·be·returned.</p><p>The·<code·class="inline">Listen</code>·argument·will·be·the·same·as·the·<code·class="inline">Listen</code>·handle·part·of·the
266 return·value·of·the·<a·href="alt_dist.html#listen"><code·class="inline">listen/1</code></a>·callback·above.266 return·value·of·the·<a·href="alt_dist.html#listen"><code·class="inline">listen/1</code></a>·callback·above.
267 <code·class="inline">accept/1</code>·is·called·only·once·when·the·distribution·protocol·is·started.</p><p>The·caller·of·this·function·is·a·representative·for·<code·class="inline">net_kernel</code>·(this·may·or267 <code·class="inline">accept/1</code>·is·called·only·once·when·the·distribution·protocol·is·started.</p><p>The·caller·of·this·function·is·a·representative·for·<code·class="inline">net_kernel</code>·(this·may·or
268 may·not·be·the·process·registered·as·<code·class="inline">net_kernel</code>)·and·is·in·this·document268 may·not·be·the·process·registered·as·<code·class="inline">net_kernel</code>)·and·is·in·this·document
269 identified·as·<code·class="inline">Kernel</code>.·When·a·connection·has·been·accepted·by·the·acceptor269 identified·as·<code·class="inline">Kernel</code>.·When·a·connection·has·been·accepted·by·the·acceptor
270 process,·it·needs·to·inform·<code·class="inline">Kernel</code>·about·the·accepted·connection.·This·is270 process,·it·needs·to·inform·<code·class="inline">Kernel</code>·about·the·accepted·connection.·This·is
271 done·by·passing·a·message·of·the·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Kernel</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2696634929-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:·38a54159f5b57532b286ca12aec198f8f07e344ff3f998c01e8a9f623b58cc68·...·]-1">}</span></code></pre><p><code·class="inline">DistController</code>·is·either·the·process·or·port·identifier·of·the·distribution271 done·by·passing·a·message·of·the·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Kernel</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9140594815-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:·85b0bcf998fd3f148968d5de5fabc30e74e61c62c7d1715efbdded01c49fe527·...·]-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="8329582917-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:·16b5aa79e5d00d1f710391a71ccef21c0981d0a20238e088a75333481a1c8bb8·...·]-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="8440734388-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:·b7e787824cc19dcd5036051575232f8b5dfa0eb89d47ba1177c362d3e7188e84·...·]-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="3973749777-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:·152,·SHA:·f4fe9a73325db3123c849f699452a08c6717728bd92df8cb00b4850ca37fe168·...·]7-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="2257315287-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:·152,·SHA:·60d80917874e705956fd45eadba30773fe3b282ae63ef4b3dd7974b2ade60ab5·...·]7-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="3843500966-1">(</span><span·class="n">Listen</span><span·class="p"·data-group-id="3843500966-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="4454083520-1">(</span><span·class="n">Listen</span><span·class="p"·data-group-id="4454083520-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="3843500966-2">(</span><span·class="p"·data-group-id="3843500966-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="4454083520-2">(</span><span·class="p"·data-group-id="4454083520-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="1374557656-1">(</span><span·class="n">NodeName</span><span·class="p"·data-group-id="1374557656-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="4391281222-1">(</span><span·class="n">NodeName</span><span·class="p"·data-group-id="4391281222-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="1374557656-2">(</span><span·class="p"·data-group-id="1374557656-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="4391281222-2">(</span><span·class="p"·data-group-id="4391281222-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="9812513226-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="9812513226-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="9812513226-2">{</span><span·class="ss">error</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·216,·SHA:·7d6d64919f8ab7d352149e87a4c7d184e86506753cefa41bb735e389491f96e9·...·]331 this·protocol;·otherwise,·<code·class="inline">false</code>.</p></li></ul><p>There·are·also·two·optional·functions·that·may·be·exported:</p><ul><li><pre·id="setopts"><code·class="makeup·erlang"·translate="no"><span·class="nf">setopts</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·262,·SHA:·2b9d1ddba45ee7c3ec81c48cd2edc39a278b0769f33051d9787994710a26e22a·...·]
 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="5090846698-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="5090846698-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="7979517676-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="7979517676-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="7979517676-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="7979[·...·truncated·by·diffoscope;·len:·405,·SHA:·7a19610cc3b92afc3e000a0da15d8b1ba43af91f15eb9955b6922b1c30098d5b·...·]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="0355457803-1">(</span><span·class="n">Listen</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·164,·SHA:·b050bb10adb62c4be908c181ad378f15771cf0821b09e250d2c3dc737a9cb9c6·...·]
 335 </span><span·class="err"> </span><span·class="err"> </span><span·class="p"·data-group-id="0355457803-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="0355457803-2">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0355457803-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Error</span><span·class="p"·data-group-id="0355457803-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="2277314625-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="2277314625-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·299,·SHA:·3ab5b02ef57e5568e3480801eb757ce98bb67fea13e4449056fd2a201189af0f·...·]-2">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller·and·<code·class="inline">Data</code>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="0311948264-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="0311948264-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·299,·SHA:·ca81430306017087402b055bf715e45a03b9e47fab1d87c196aa3eeffe023366·...·]-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"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="4669454780-1">(</span><span·class="n">DistCtrlr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Length</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="p"·data-group-id="4669454780-1">)<[·...·truncated·by·diffoscope;·len:·563,·SHA:·0647389507e85891852e14dc22772618a4e9279518c44d83555c57fba09f2e6f·...·]-3">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller.·If358 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="1084812963-1">(</span><span·class="n">DistCtrlr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Length</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="p"·data-group-id="1084812963-1">)<[·...·truncated·by·diffoscope;·len:·563,·SHA:·983d3c6be5aff5eca5259e5e2902fc31080768e22446bcb762caf8fe3f9b76b4·...·]-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="7742220883-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="7742220883-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:·4e6d953f356cb311a68e37c9809110f5bbe066348680190d7cbcdbd566d61e39·...·]-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="9012357110-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="9012357110-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:·75136e6a7d936ecd3c91f7c86445ab702f0ecfca5102e61364fea6f37186ba07·...·]-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="4703244469-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="4703244469-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:·e3b4e58f425329d4b71982039fbf89cb83ffcd88f7a2e88e51fc340799012c0a·...·]-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="3502055824-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="3502055824-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:·e9243204d2014a88e5412f35c8291a67369bbabec2ea18b6be5b465eeeaba0f9·...·]-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="9690499559-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="9690499559-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="8911205991-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="8911205991-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="2647535213-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="2647535213-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="0257028679-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="0257028679-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="9659141689-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="9659141689-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="9659141689-2">[·...·truncated·by·diffoscope;·len:·48,·SHA:·4c0a30140c216378023e52fcf614d4435410d3e9206c6c41d3b5474dbabc2d5e·...·]9-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="6480368609-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="6480368609-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="6480368609-2">[·...·truncated·by·diffoscope;·len:·48,·SHA:·3373a4336a269eb8397d5da5366fc0d9694ced271d8c77a43203b4380aee2bff·...·]9-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="8149463385-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="8149463385-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8149463385-2">{</span><span·class="ss">ok<[·...·truncated·by·diffoscope;·len:·280,·SHA:·97103a89fcfe5612662d312dfed712af94bc2d5581a0dc3031d7f0077d182012·...·]-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="1599358127-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="1599358127-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1599358127-2">{</span><span·class="ss">ok<[·...·truncated·by·diffoscope;·len:·280,·SHA:·96d61d1ccb6b5adf087ae5669e57f9dc5acb4a0d94dd0967ddc9ab57eab6a0b2·...·]-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="0638068107-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="0638068107-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·298,·SHA:·469a273ba8ad6a16dd4ef23cd2b22a5b9cacae61671625b35555efa61bed25f9·...·]-2">}</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="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="1715048813-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="1715048813-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·298,·SHA:·74dea80c691e4df6531e807cbb8b1dbde34c23394371f2bf9880262931b07a9b·...·]-2">}</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/55733 bytes (6.39%) of diff not shown.
780 B
html2text {}
Max HTML report size reached
1.31 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/api-reference.html
    
Offset 241, 15 lines modifiedOffset 241, 15 lines modified
241 ······<p·class="built-using">241 ······<p·class="built-using">
242 ········Built·using242 ········Built·using
243 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the243 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
244 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>244 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
245 ······</p>245 ······</p>
246 <p>Copyright·©·1996-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.38 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/atomics.html
    
Offset 643, 15 lines modifiedOffset 643, 15 lines modified
643 ······<p·class="built-using">643 ······<p·class="built-using">
644 ········Built·using644 ········Built·using
645 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the645 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
646 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>646 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
647 ······</p>647 ······</p>
648 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>648 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
649 ····</footer>649 ····</footer>
650 ··</div>650 ··</div>
651 </main>651 </main>
652 </div>652 </div>
653 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>653 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
654 ··<script>654 ··<script>
655 ··let·initialized·=·false;655 ··let·initialized·=·false;
583 B
html2text {}
Max HTML report size reached
3.82 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/automaticyieldingofccode.html
    
Offset 209, 17 lines modifiedOffset 209, 17 lines modified
209 they·have·to·follow·certain·restrictions.·The·convention·for·making209 they·have·to·follow·certain·restrictions.·The·convention·for·making
210 this·clear·is·to·have·a·comment·above·the·function·that·explains·that210 this·clear·is·to·have·a·comment·above·the·function·that·explains·that
211 the·function·is·transformed·by·YCF·(see·<code·class="inline">maps_values_1_helper</code>·in211 the·function·is·transformed·by·YCF·(see·<code·class="inline">maps_values_1_helper</code>·in
212 <code·class="inline">erl_map.c</code>·for·an·example).·If·only·the·transformed·version·of·the212 <code·class="inline">erl_map.c</code>·for·an·example).·If·only·the·transformed·version·of·the
213 function·is·used,·the·convention·is·to·&quot;comment·out&quot;·the·source·for·the213 function·is·used,·the·convention·is·to·&quot;comment·out&quot;·the·source·for·the
214 function·by·surrounding·it·with·the·following·<code·class="inline">#ifdef</code>·(this·way,·one214 function·by·surrounding·it·with·the·following·<code·class="inline">#ifdef</code>·(this·way,·one
215 will·not·get·warnings·about·unused·functions):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">#</span><span·class="ss">ifdef</span><span·class="w">·</span><span·class="n">INCLUDE_YCF_TRANSFORMED_ONLY_FUNCTIONS</span><span·class="w">215 will·not·get·warnings·about·unused·functions):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">#</span><span·class="ss">ifdef</span><span·class="w">·</span><span·class="n">INCLUDE_YCF_TRANSFORMED_ONLY_FUNCTIONS</span><span·class="w">
216 </span><span·class="ss">void</span><span·class="w">·</span><span·class="nf">my_fun</span><span·class="p"·data-group-id="8168279821-1">(</span><span·class="p"·data-group-id="8168279821-1">)</span><span·class="w">·</span><span·class="p"·data-group-id="8168279821-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="2569965526-1">(</span><span·class="p"·data-group-id="2569965526-1">)</span><span·class="w">·</span><span·class="p"·data-group-id="2569965526-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="8168279821-2">}</span><span·class="w">218 </span><span·class="p"·data-group-id="2569965526-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-16.0/doc/html/beam_makeops.html
Max HTML report size reached
45.9 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/beamasm.html
    
Offset 145, 26 lines modifiedOffset 145, 26 lines modified
145 </h2>145 </h2>
146 <p>The·code·is·loaded·very·similarly·to·how·it·is·loaded·for·the·interpreter.·Each·beam146 <p>The·code·is·loaded·very·similarly·to·how·it·is·loaded·for·the·interpreter.·Each·beam
147 file·is·parsed·and·then·optimized·through·the·transformations·described·in147 file·is·parsed·and·then·optimized·through·the·transformations·described·in
148 <a·href="beam_makeops.html#defining-transformation-rules">beam_makeops</a>.·The·transformations148 <a·href="beam_makeops.html#defining-transformation-rules">beam_makeops</a>.·The·transformations
149 used·in·BeamAsm·are·much·simpler·than·the·interpreter's,·as·most·of·the149 used·in·BeamAsm·are·much·simpler·than·the·interpreter's,·as·most·of·the
150 transformations·for·the·interpreter·are·done·only·to·eliminate·the·instruction150 transformations·for·the·interpreter·are·done·only·to·eliminate·the·instruction
151 dispatch·overhead.</p><p>Then·each·instruction·is·encoded·using·the·C++·functions·in·the151 dispatch·overhead.</p><p>Then·each·instruction·is·encoded·using·the·C++·functions·in·the
152 <code·class="inline">jit/$ARCH/instr_*.cpp</code>·files.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">void</span><span·class="w">·</span><span·class="n">BeamModuleAssembler</span><span·class="p">:</span><span·class="p">:</span><span·class="nf">emit_is_nonempty_list</span><span·class="p"·data-group-id="7882166386-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:·cca8a022acb08f16a013f900fbdb948f1ae82172dbcbe2d4d26b1c3cf657a11b·...·]-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="6299708928-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:·91d231218dae224ba77de049989f4df7e158816b4f7a39e9f0f9afdb68250848·...·]-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="7882166386-3">(</span><span·class="nf">getArgRef</span><span·class="p"·data-group-id="7882166386-4">(</span><span·class="n">Src</span><span·class="p"·data-group-id="7882166386-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">imm<[·...·truncated·by·diffoscope;·len:·327,·SHA:·e096f13fdbf7078712d56df2290e810fb419c05884c58e523f14c6b0f9338eef·...·]-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="6299708928-3">(</span><span·class="nf">getArgRef</span><span·class="p"·data-group-id="6299708928-4">(</span><span·class="n">Src</span><span·class="p"·data-group-id="6299708928-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">imm<[·...·truncated·by·diffoscope;·len:·327,·SHA:·8311c9cdfc029678a920f37aa7f2948c5a0fd3bf42f07b4dfebca1a09351bae8·...·]-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="7882166386-6">(</span><span·class="ss">labels</span><span·class="p"·data-group-id="7882166386-7">[</span><span·class="n">Fail</span><span·class="p">.</span><span·class="nf">getLabel</span><span·class="p"·data-group-id="7882166386-8">(</span><span·class="p"[·...·truncated·by·diffoscope;·len:·132,·SHA:·4f32e2c63bb514259b4fb1996a09b5f7b7ebeb2fb67263dbc81023ebe02b80d3·...·]-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="6299708928-6">(</span><span·class="ss">labels</span><span·class="p"·data-group-id="6299708928-7">[</span><span·class="n">Fail</span><span·class="p">.</span><span·class="nf">getLabel</span><span·class="p"·data-group-id="6299708928-8">(</span><span·class="p"[·...·truncated·by·diffoscope;·len:·132,·SHA:·6cd3a37a3bd5884980c57eb1e187b08f00d0f08498e8fdc85513ae47a394181f·...·]-6">)</span><span·class="p">;</span><span·class="w">
155 </span><span·class="p"·data-group-id="7882166386-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="6299708928-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="0563116560-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:·d3182b02bc8df1795f670b93250ce1edcba9d26b41d8f132ed89559aef795c4c·...·]-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="1383840413-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:·5ac5b27b6ad75c525e8459418bdba1f1165258b987a1782f8b1be38c830ffb63·...·]-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="0380716958-1">(</span><span·class="p"·data-group-id="0380716958-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="8193064158-1">(</span><span·class="p"·data-group-id="8193064158-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="0380716958-2">(</span><span·class="n">FCALLS</span><span·class="p"·data-group-id="0380716958-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="8193064158-2">(</span><span·class="n">FCALLS</span><span·class="p"·data-group-id="8193064158-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="0380716958-3">(</span><span·class="nf">resolve_fragment</span><span·class="p"·data-group-id="0380716958-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="0380716958-5"[·...·truncated·by·diffoscope;·len:·154,·SHA:·3752948a53ec297a6528ccb8a1323d772224b20ffdc47f9a7cef357703215192·...·]58-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="8193064158-3">(</span><span·class="nf">resolve_fragment</span><span·class="p"·data-group-id="8193064158-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="8193064158-5"[·...·truncated·by·diffoscope;·len:·154,·SHA:·807e89554893d08696af7d13aaf277649d99bd1c2f76cd7c9579e87a178d87cb·...·]58-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="0380716958-6">(</span><span·class="p"·data-group-id="0380716958-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="8193064158-6">(</span><span·class="p"·data-group-id="8193064158-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="9159235359-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="9159235359-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="9693829085-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="9693829085-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="9159235359-2">(</span><span·class="p"·data-group-id="9159235359-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="9693829085-2">(</span><span·class="p"·data-group-id="9693829085-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="9159235359-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="9159235359-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="9693829085-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="9693829085-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="9159235359-4">(</span><span·class="n">ARG2</span><span·class="p"·data-group-id="9159235359-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="9693829085-4">(</span><span·class="n">ARG2</span><span·class="p"·data-group-id="9693829085-4">)</span><span·class="p">;</span><span·class="w">
252 </span><span·class="nf">make_move_patch</span><span·class="p"·data-group-id="9159235359-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="9159235359-6">[</span><span·class="n">Fun</span><span·class="p">.</span><span·class="nf">getValue<[·...·truncated·by·diffoscope;·len:·261,·SHA:·e820c8b7c0f8eacfb749476e3aaf40affca12fc9c7249eca62f2c4e0fb825873·...·]-5">)</span><span·class="p">;</span><span·class="w">252 </span><span·class="nf">make_move_patch</span><span·class="p"·data-group-id="9693829085-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="9693829085-6">[</span><span·class="n">Fun</span><span·class="p">.</span><span·class="nf">getValue<[·...·truncated·by·diffoscope;·len:·261,·SHA:·8bf14d00d068f2b1d2a8ec1b4170a7149bb941734b6f76800d87782f9a253419·...·]-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="9159235359-8">(</span><span·class="ss">new_fun</span><span·class="p"·data-group-id="9159235359-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="9693829085-8">(</span><span·class="ss">new_fun</span><span·class="p"·data-group-id="9693829085-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="9159235359-9">(</span><span·class="p"·data-group-id="9159235359-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="9693829085-9">(</span><span·class="p"·data-group-id="9693829085-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="9159235359-10">(</span><span·class="nf">getXRef</span><span·class="p"·data-group-id="9159235359-11">(</span><span·class="mi">0</span><span·class="p"·data-group-id="9159235359-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RET</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·3d5478e3fadc9c9afc9713081a72cc74afe3987c27313b4f5fd5309f6aa08a42·...·]-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="9693829085-10">(</span><span·class="nf">getXRef</span><span·class="p"·data-group-id="9693829085-11">(</span><span·class="mi">0</span><span·class="p"·data-group-id="9693829085-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RET</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·af4a9b23ebd3273797999cc797fb48c16acb8435448cb453a6a2d34b05edee2d·...·]-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="9825645810-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="9825645810-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="6512475735-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="6512475735-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="4809656999-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:·94d37fd16959923d4b7591161be7f86ab945508c16f949561d5ae21379862f47·...·]-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="2111882478-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:·00ea691208d9c18ba89e225cad5a00bec70410ed6105129dd5dc96fdc7923586·...·]-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="4809656999-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="4809656999-3">)</span><span·class="p">;</span><span·class="w">300 ····</span><span·class="nf">erts_unseal_module</span><span·class="p"·data-group-id="2111882478-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="2111882478-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="4809656999-4">[</span><span·class="ss">i</span><span·class="p"·data-group-id="4809656999-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="2111882478-4">[</span><span·class="ss">i</span><span·class="p"·data-group-id="2111882478-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="4809656999-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="4809656999-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="2111882478-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="2111882478-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="4809656999-6">(</span><span·class="n">ErtsCodeInfo</span><span·class="o">*</span><span·class="p"·data-group-id="4809656999-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="2111882478-6">(</span><span·class="n">ErtsCodeInfo</span><span·class="o">*</span><span·class="p"·data-group-id="2111882478-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="4809656999-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="4809656999-7">)</span><span·class="p">;</span><span·class="w">304 ····</span><span·class="nf">uninstall_breakpoint</span><span·class="p"·data-group-id="2111882478-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="2111882478-7">)</span><span·class="p">;</span><span·class="w">
305 ····</span><span·class="nf">consolidate_bp_data</span><span·class="p"·data-group-id="4809656999-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="4809656999-8">)</span><span·class="p">;</span><span·class="w">305 ····</span><span·class="nf">consolidate_bp_data</span><span·class="p"·data-group-id="2111882478-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="2111882478-8">)</span><span·class="p">;</span><span·class="w">
306 ····</span><span·class="n">ASSERT</span><span·class="p"·data-group-id="4809656999-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="4809656999-9">)</span><span·class="p">;</span><span·class="w">306 ····</span><span·class="n">ASSERT</span><span·class="p"·data-group-id="2111882478-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="2111882478-9">)</span><span·class="p">;</span><span·class="w">
  
307 ····</span><span·class="nf">erts_seal_module</span><span·class="p"·data-group-id="4809656999-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="4809656999-10">)</span><span·class="p">;</span><span·class="w">307 ····</span><span·class="nf">erts_seal_module</span><span·class="p"·data-group-id="2111882478-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="2111882478-10">)</span><span·class="p">;</span><span·class="w">
308 </span><span·class="p"·data-group-id="4809656999-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="2111882478-2">}</span></code></pre><p>Without·the·module·instance·there's·no·reliable·way·to·figure·out·the·writable
309 address·of·a·code·page,·and·we·rely·on·<em>address·space·layout·randomization</em>309 address·of·a·code·page,·and·we·rely·on·<em>address·space·layout·randomization</em>
310 (ASLR)·to·make·it·difficult·to·guess.·On·some·platforms,·security·is·further310 (ASLR)·to·make·it·difficult·to·guess.·On·some·platforms,·security·is·further
311 enhanced·by·protecting·the·writable·area·from·writes·until·the·module·has·been311 enhanced·by·protecting·the·writable·area·from·writes·until·the·module·has·been
312 unsealed·by·<code·class="inline">erts_unseal_module</code>.</p><h3·id="export-tracing"·class="section-heading">312 unsealed·by·<code·class="inline">erts_unseal_module</code>.</p><h3·id="export-tracing"·class="section-heading">
313 ··<a·href="#export-tracing"·class="hover-link">313 ··<a·href="#export-tracing"·class="hover-link">
314 ····<i·class="ri-link-m"·aria-hidden="true"></i>314 ····<i·class="ri-link-m"·aria-hidden="true"></i>
315 ··</a>315 ··</a>
Offset 393, 15 lines modifiedOffset 393, 15 lines modified
393 </span><span·class="ss">perf</span><span·class="w">·</span><span·class="ss">script</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="ss">out</span><span·class="p">.</span><span·class="ss">perf</span><span·class="w">393 </span><span·class="ss">perf</span><span·class="w">·</span><span·class="ss">script</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="ss">out</span><span·class="p">.</span><span·class="ss">perf</span><span·class="w">
394 </span><span·class="p">#</span><span·class="p">#</span><span·class="w">·</span><span·class="ss">run</span><span·class="w">·</span><span·class="ss">stackcollapse</span><span·class="w">394 </span><span·class="p">#</span><span·class="p">#</span><span·class="w">·</span><span·class="ss">run</span><span·class="w">·</span><span·class="ss">stackcollapse</span><span·class="w">
Max diff block lines reached; 5979/46118 bytes (12.96%) of diff not shown.
735 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/carriermigration.html
    
Offset 403, 15 lines modifiedOffset 403, 15 lines modified
403 ······<p·class="built-using">403 ······<p·class="built-using">
404 ········Built·using404 ········Built·using
405 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the405 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
406 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>406 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
407 ······</p>407 ······</p>
408 <p>Copyright·©·1996-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;
749 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/checkio.html
    
Offset 272, 15 lines modifiedOffset 272, 15 lines modified
272 ······<p·class="built-using">272 ······<p·class="built-using">
273 ········Built·using273 ········Built·using
274 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the274 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
275 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>275 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
276 ······</p>276 ······</p>
277 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>277 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
278 ····</footer>278 ····</footer>
279 ··</div>279 ··</div>
280 </main>280 </main>
281 </div>281 </div>
282 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>282 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
283 ··<script>283 ··<script>
284 ··let·initialized·=·false;284 ··let·initialized·=·false;
738 B
html2text {}
Max HTML report size reached
4.73 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/codeloading.html
    
Offset 163, 16 lines modifiedOffset 163, 16 lines modified
163 only·be·done·by·one·loader·process·at·a·time.·A·second·loader·process163 only·be·done·by·one·loader·process·at·a·time.·A·second·loader·process
164 trying·to·enter·finishing·phase·will·be·suspended·until·the·first164 trying·to·enter·finishing·phase·will·be·suspended·until·the·first
165 loader·is·done.·This·will·only·block·the·process,·the·scheduler·is165 loader·is·done.·This·will·only·block·the·process,·the·scheduler·is
166 free·to·schedule·other·work·while·the·second·loader·is·waiting.·(See166 free·to·schedule·other·work·while·the·second·loader·is·waiting.·(See
167 <code·class="inline">erts_try_seize_code_load_permission</code>·and167 <code·class="inline">erts_try_seize_code_load_permission</code>·and
168 <code·class="inline">erts_release_code_load_permission</code>).</p><p>The·ability·to·prepare·several·modules·in·parallel·is·not·currently168 <code·class="inline">erts_release_code_load_permission</code>).</p><p>The·ability·to·prepare·several·modules·in·parallel·is·not·currently
169 used·as·almost·all·code·loading·is·serialized·by·the·code_server169 used·as·almost·all·code·loading·is·serialized·by·the·code_server
170 process.·The·BIF·interface·is·however·prepared·for·this.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">prepare_loading</span><span·class="p"·data-group-id="8680756434-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="8680756434-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">LoaderState</span><span·class="w">170 process.·The·BIF·interface·is·however·prepared·for·this.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">prepare_loading</span><span·class="p"·data-group-id="8633248006-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="8633248006-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="8680756434-2">(</span><span·class="p"·data-group-id="8680756434-3">[</span><span·class="n">LoaderState</span><span·class="p"·data-group-id="8680756434-3">]</span><span·class="p"·data-group-id="8680756434-2">)</span></code></pre><p>The·idea·is·that·<code·class="inline">prepare_loading</code>·could·be·called·in·parallel·for171 ··</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">finish_loading</span><span·class="p"·data-group-id="8633248006-2">(</span><span·class="p"·data-group-id="8633248006-3">[</span><span·class="n">LoaderState</span><span·class="p"·data-group-id="8633248006-3">]</span><span·class="p"·data-group-id="8633248006-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;
752 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/communication.html
    
Offset 198, 15 lines modifiedOffset 198, 15 lines modified
198 ······<p·class="built-using">198 ······<p·class="built-using">
199 ········Built·using199 ········Built·using
200 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the200 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
201 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>201 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
202 ······</p>202 ······</p>
203 <p>Copyright·©·1996-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.41 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/counters.html
    
Offset 495, 15 lines modifiedOffset 495, 15 lines modified
495 ······<p·class="built-using">495 ······<p·class="built-using">
496 ········Built·using496 ········Built·using
497 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the497 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
498 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>498 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
499 ······</p>499 ······</p>
500 <p>Copyright·©·1996-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;
613 B
html2text {}
Max HTML report size reached
1.36 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/countinginstructions.html
    
Offset 216, 15 lines modifiedOffset 216, 15 lines modified
216 ······<p·class="built-using">216 ······<p·class="built-using">
217 ········Built·using217 ········Built·using
218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
220 ······</p>220 ······</p>
221 <p>Copyright·©·1996-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-16.0/doc/html/crash_dump.html
    
Offset 401, 21 lines modifiedOffset 401, 21 lines modified
401 <a·href="erlang.html#put/2"><code·class="inline">put/2</code></a>·and·<a·href="erlang.html#get/1"><code·class="inline">get/1</code></a>·thing)·is·non-empty.</p><p>The·raw·memory·information·can·be·decoded·by·the·Crashdump·Viewer·tool.·You·can401 <a·href="erlang.html#put/2"><code·class="inline">put/2</code></a>·and·<a·href="erlang.html#get/1"><code·class="inline">get/1</code></a>·thing)·is·non-empty.</p><p>The·raw·memory·information·can·be·decoded·by·the·Crashdump·Viewer·tool.·You·can
402 then·see·the·stack·dump,·the·message·queue·(if·any),·and·the·dictionary·(if402 then·see·the·stack·dump,·the·message·queue·(if·any),·and·the·dictionary·(if
403 any).</p><p>The·stack·dump·is·a·dump·of·the·Erlang·process·stack.·Most·of·the·live·data403 any).</p><p>The·stack·dump·is·a·dump·of·the·Erlang·process·stack.·Most·of·the·live·data
404 (that·is,·variables·currently·in·use)·are·placed·on·the·stack;·thus·this·can·be404 (that·is,·variables·currently·in·use)·are·placed·on·the·stack;·thus·this·can·be
405 interesting.·One·has·to·&quot;guess&quot;·what·is·what,·but·as·the·information·is405 interesting.·One·has·to·&quot;guess&quot;·what·is·what,·but·as·the·information·is
406 symbolic,·thorough·reading·of·this·information·can·be·useful.·As·an·example,·we406 symbolic,·thorough·reading·of·this·information·can·be·useful.·As·an·example,·we
407 can·find·the·state·variable·of·the·Erlang·primitive·loader·online·<code·class="inline">(5)</code>·and407 can·find·the·state·variable·of·the·Erlang·primitive·loader·online·<code·class="inline">(5)</code>·and
408 <code·class="inline">(6)</code>·in·the·following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5130020170-1">(</span><span·class="mi">1</span><span·class="p"·data-group-id="5130020170-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:·57f088c42e0273cc2558a81e6b86e5c95a9b18ed0f87a0fcd3e9486de0dff4b9·...·]-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="1421063707-1">(</span><span·class="mi">1</span><span·class="p"·data-group-id="1421063707-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:·67f12936678a8379b86eabe1beedeefbfe70bdadb9199219ba67c99b60ea3595·...·]-2">)</span><span·class="w">
409 </span><span·class="p"·data-group-id="5130020170-3">(</span><span·class="mi">2</span><span·class="p"·data-group-id="5130020170-3">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="5130020170-4">(</span><span·class="mi">0</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·94,·SHA:·187faf4d2fbb47b3f406757c239ecb605d7182839a51301770ac0e84bd8dc431·...·]-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">409 </span><span·class="p"·data-group-id="1421063707-3">(</span><span·class="mi">2</span><span·class="p"·data-group-id="1421063707-3">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="1421063707-4">(</span><span·class="mi">0</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·94,·SHA:·dc0740b88ae6e4ee89029966f56193d9bffcbab256b772d807937b213e3b074c·...·]-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="5130020170-6">(</span><span·class="mi">3</span><span·class="p"·data-group-id="5130020170-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="51[·...·truncated·by·diffoscope;·len:·8,·SHA:·d0fa374cfa8346183c0042ba0f932d9bbe5f96c368df88823119bd89436de3a1·...·]-5">]</span><span·class="w">410 </span><span·class="p"·data-group-id="1421063707-6">(</span><span·class="mi">3</span><span·class="p"·data-group-id="1421063707-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="14[·...·truncated·by·diffoscope;·len:·8,·SHA:·23dcd09d72c46effd5babdf355992d56a0eb7c75596a7915f7de6a894dadda11·...·]-5">]</span><span·class="w">
411 </span><span·class="p"·data-group-id="5130020170-7">(</span><span·class="mi">4</span><span·class="p"·data-group-id="5130020170-7">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="5130020170-8">(</span><span·class="mi">1</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·72a63ac71eae7d7d9729b3d7e23518aca95f6622dd90c7f97355f2487e2f8560·...·]-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="1421063707-7">(</span><span·class="mi">4</span><span·class="p"·data-group-id="1421063707-7">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="1421063707-8">(</span><span·class="mi">1</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·5be40415be9226ca2cd7b7e0a579c17051eccc2402a9cce6e3aca6b49c1829f5·...·]-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="5130020170-9">(</span><span·class="mi">5</span><span·class="p"·data-group-id="5130020170-9">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="5130020170-10">(</span><span·class="mi">2</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·257,·SHA:·43b7e0bf4d59d72bb054cb711b2b0b59763a0ffd6c5c363fc66a94cd022f5258·...·]-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="1421063707-9">(</span><span·class="mi">5</span><span·class="p"·data-group-id="1421063707-9">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="1421063707-10">(</span><span·class="mi">2</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·257,·SHA:·7d0314613c8fe9b1433caf7cecdca024a9145eb385bf6af2be94d1cd012e1a35·...·]-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="5130020170-13">(</span><span·class="mi">6</span><span·class="p"·data-group-id="5130020170-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:·501c2cba310ae8e039dd20292c1e18497c4457d077fc3412c31efe5dd5ecc2b7·...·]-11">}</span><span·class="w">413 </span><span·class="p"·data-group-id="1421063707-13">(</span><span·class="mi">6</span><span·class="p"·data-group-id="1421063707-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:·28c8daeb70716be61b5688bd916b4fcf9a2a3241849607aec09ba599bec4dea9·...·]-11">}</span><span·class="w">
414 </span><span·class="p"·data-group-id="5130020170-14">(</span><span·class="mi">7</span><span·class="p"·data-group-id="5130020170-14">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="5130020170-15">(</span><span·class="mi">3</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·30ecf4854616afde0eacc651d46d761933e58663700a203725d9b56cb94a5122·...·]-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="1421063707-14">(</span><span·class="mi">7</span><span·class="p"·data-group-id="1421063707-14">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="1421063707-15">(</span><span·class="mi">3</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·585507058cc7f1094b207c36b43d7303b03eea54960789e4cdbf6cbe1f1b9bc5·...·]-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.52 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/delayeddealloc.html
    
Offset 338, 15 lines modifiedOffset 338, 15 lines modified
338 ······<p·class="built-using">338 ······<p·class="built-using">
339 ········Built·using339 ········Built·using
340 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the340 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
341 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>341 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
342 ······</p>342 ······</p>
343 <p>Copyright·©·1996-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-16.0/doc/html/driver.html
    
Offset 364, 41 lines modifiedOffset 364, 41 lines modified
364 <p>Before·a·driver·can·be·called·from·Erlang,·it·must·be·loaded·and·opened.·Loading364 <p>Before·a·driver·can·be·called·from·Erlang,·it·must·be·loaded·and·opened.·Loading
365 is·done·using·the·<a·href="../../../lib/kernel-10.3/doc/html/erl_ddll.html"><code·class="inline">erl_ddll</code></a>·module·(the·<a·href="../../../lib/kernel-10.3/doc/html/erl_ddll.html"><code·class="inline">erl_ddll</code></a>·driver·that·loads·dynamic365 is·done·using·the·<a·href="../../../lib/kernel-10.3/doc/html/erl_ddll.html"><code·class="inline">erl_ddll</code></a>·module·(the·<a·href="../../../lib/kernel-10.3/doc/html/erl_ddll.html"><code·class="inline">erl_ddll</code></a>·driver·that·loads·dynamic
366 driver·is·actually·a·driver·itself).·If·loading·is·successful,·the·port·can·be366 driver·is·actually·a·driver·itself).·If·loading·is·successful,·the·port·can·be
367 opened·with·<a·href="erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>.·The·port·name·must·match·the·name·of367 opened·with·<a·href="erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>.·The·port·name·must·match·the·name·of
368 the·shared·library·and·the·name·in·the·driver·entry·structure.</p><p>When·the·port·has·been·opened,·the·driver·can·be·called.·In·the·<code·class="inline">pg_sync</code>368 the·shared·library·and·the·name·in·the·driver·entry·structure.</p><p>When·the·port·has·been·opened,·the·driver·can·be·called.·In·the·<code·class="inline">pg_sync</code>
369 example,·we·do·not·have·any·data·from·the·port,·only·the·return·value·from·the369 example,·we·do·not·have·any·data·from·the·port,·only·the·return·value·from·the
370 <a·href="erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>.</p><p>The·following·code·is·the·Erlang·part·of·the·synchronous·postgres·driver,370 <a·href="erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>.</p><p>The·following·code·is·the·Erlang·part·of·the·synchronous·postgres·driver,
371 <code·class="inline">pg_sync.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2375463010-1">(</span><span·class="ss">pg_sync</span><span·class="p"·data-group-id="2375463010-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="2954878489-1">(</span><span·class="ss">pg_sync</span><span·class="p"·data-group-id="2954878489-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="2375463010-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="2375463010-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="2954878489-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="2954878489-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="2375463010-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="2375463010-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="2954878489-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="2954878489-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="2375463010-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="2375463010-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="2954878489-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="2954878489-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="2375463010-5">(</span><span·class="p"·data-group-id="2375463010-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:·c222d94a6d900504e751de5eef01dc72d3b003944f6ada30955c2419218d6eee·...·]-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="2954878489-5">(</span><span·class="p"·data-group-id="2954878489-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:·26504f920aed868909efa408103b5d7d139ac424c52dafd9ec2f74e85fd505c1·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
378 </span><span·class="nf">connect</span><span·class="p"·data-group-id="2375463010-7">(</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="2375463010-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="2954878489-7">(</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="2954878489-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="2375463010-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="2375463010-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="2954878489-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="2954878489-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="2375463010-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="2375463010-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="2954878489-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="2954878489-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="2375463010-10">(</span><span·class="p"·data-group-id="2375463010-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="2375463010-11">}</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·0e74d923437acb558f8bb89be4ad058737c34eb905d2d2f60ce1e1fd461d1075·...·]-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="2954878489-10">(</span><span·class="p"·data-group-id="2954878489-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="2954878489-11">}</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·33c016a0915980338f4bc7d64d199ce633ddc8b53426b25b1bf925313b02a0d0·...·]-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="2375463010-12">(</span><span·class="p"·data-group-id="2375463010-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="2375463010-13">}</s[·...·truncated·by·diffoscope;·len:·201,·SHA:·cf7c136adf0e94ba60f092a082f46d3d22a5321f92931f63388656703daec1d1·...·]-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="2954878489-12">(</span><span·class="p"·data-group-id="2954878489-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="2954878489-13">}</s[·...·truncated·by·diffoscope;·len:·201,·SHA:·24c902eb049380ca6ba29b04782561493bf83df93b0260a3997a31ad0b0c0e14·...·]-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="2375463010-15">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="2375463010-16">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_CONNECT</span><span·class[·...·truncated·by·diffoscope;·len:·165,·SHA:·6f5147164b8059a7d55dda9b6b9fbd73013873d7232a34392712de8aec5171f0·...·]-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="2954878489-15">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="2954878489-16">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_CONNECT</span><span·class[·...·truncated·by·diffoscope;·len:·165,·SHA:·171f8439383676b14e1ef53fde6680218c0b6a8ae631fae52209fbd1e45a0a9e·...·]-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="2375463010-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="2375463010-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="2954878489-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="2954878489-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="2375463010-18">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2375463010-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="2954878489-18">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2954878489-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="2375463010-19">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="2375463010-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·cl[·...·truncated·by·diffoscope;·len:·170,·SHA:·fc01ace37ad03c7a1ec2d2fca97e2b0418f43fd6da3c26675e4c0ca4c8e71f9e·...·]-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="2954878489-19">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="2954878489-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·cl[·...·truncated·by·diffoscope;·len:·170,·SHA:·e0d77ef495ab7d6a5050024304ed662abc99c71164ca29fd6f54a7fbd181663b·...·]-19">)</span><span·class="p">,</span><span·class="w">
391 ····</span><span·class="nf">port_close</span><span·class="p"·data-group-id="2375463010-21">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2375463010-21">)</span><span·class="p">,</span><span·class="w">391 ····</span><span·class="nf">port_close</span><span·class="p"·data-group-id="2954878489-21">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2954878489-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="2375463010-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="2375463010-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="2954878489-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="2954878489-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="2375463010-23">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="2375463010-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:·159,·SHA:·b21c33b0ac2b01ecd23b229fc7573d9718208621b495e57eb3fb271bfe9d9e43·...·]-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="2954878489-23">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="2954878489-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:·159,·SHA:·7085435ee5d650158d33394b291e316045aabedbcc905a4141dfae18d39c349b·...·]-23">)</span><span·class="p">.</span></code></pre><p>The·API·is·simple:</p><ul><li><code·class="inline">connect/1</code>·loads·the·driver,·opens·it,·and·logs·on·to·the·database,·returning
395 the·Erlang·port·if·successful.</li><li><code·class="inline">select/2</code>·sends·a·query·to·the·driver·and·returns·the·result.</li><li><code·class="inline">disconnect/1</code>·closes·the·database·connection·and·the·driver.·(However,·it395 the·Erlang·port·if·successful.</li><li><code·class="inline">select/2</code>·sends·a·query·to·the·driver·and·returns·the·result.</li><li><code·class="inline">disconnect/1</code>·closes·the·database·connection·and·the·driver.·(However,·it
396 does·not·unload·it.)</li></ul><p>The·connection·string·is·to·be·a·connection·string·for·postgres.</p><p>The·driver·is·loaded·with·<a·href="../../../lib/kernel-10.3/doc/html/erl_ddll.html#load_driver/2"><code·class="inline">erl_ddll:load_driver/2</code></a>.·If·this·is·successful,·or·if396 does·not·unload·it.)</li></ul><p>The·connection·string·is·to·be·a·connection·string·for·postgres.</p><p>The·driver·is·loaded·with·<a·href="../../../lib/kernel-10.3/doc/html/erl_ddll.html#load_driver/2"><code·class="inline">erl_ddll:load_driver/2</code></a>.·If·this·is·successful,·or·if
397 it·is·already·loaded,·it·is·opened.·This·will·call·the·<code·class="inline">start</code>·function·in·the397 it·is·already·loaded,·it·is·opened.·This·will·call·the·<code·class="inline">start</code>·function·in·the
398 driver.</p><p>We·use·the·<a·href="erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>·function·for·all·calls·into·the398 driver.</p><p>We·use·the·<a·href="erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>·function·for·all·calls·into·the
399 driver.·The·result·from·the·driver·is·returned·immediately·and·converted·to399 driver.·The·result·from·the·driver·is·returned·immediately·and·converted·to
400 terms·by·calling·<a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>.·(We·trust·that·the400 terms·by·calling·<a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>.·(We·trust·that·the
401 terms·returned·from·the·driver·are·well-formed,·otherwise·the·<a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>401 terms·returned·from·the·driver·are·well-formed,·otherwise·the·<a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>
Offset 536, 51 lines modifiedOffset 536, 51 lines modified
536 successful,·or·error·if·it·is·not.·If·the·connection·is·not·yet·established,·we536 successful,·or·error·if·it·is·not.·If·the·connection·is·not·yet·established,·we
537 simply·return;·<code·class="inline">ready_io</code>·is·called·again.</p><p>If·we·have·a·result·from·a·connect,·indicated·by·having·data·in·the·<code·class="inline">x</code>·buffer,537 simply·return;·<code·class="inline">ready_io</code>·is·called·again.</p><p>If·we·have·a·result·from·a·connect,·indicated·by·having·data·in·the·<code·class="inline">x</code>·buffer,
538 we·no·longer·need·to·select·on·output·(<a·href="../../../erts-16.0/doc/html/driver_entry.html#ready_output"·title=""><code·class="inline">ready_output</code></a>),·so·we·remove·this·by538 we·no·longer·need·to·select·on·output·(<a·href="../../../erts-16.0/doc/html/driver_entry.html#ready_output"·title=""><code·class="inline">ready_output</code></a>),·so·we·remove·this·by
539 calling·<a·href="../../../erts-16.0/doc/html/erl_driver.html#driver_select"·title=""><code·class="inline">driver_select</code></a>.</p><p>If·we·are·not·connecting,·we·wait·for·results·from·a·<code·class="inline">PQsendQuery</code>,·so·we·get539 calling·<a·href="../../../erts-16.0/doc/html/erl_driver.html#driver_select"·title=""><code·class="inline">driver_select</code></a>.</p><p>If·we·are·not·connecting,·we·wait·for·results·from·a·<code·class="inline">PQsendQuery</code>,·so·we·get
540 the·result·and·return·it.·The·encoding·is·done·with·the·same·functions·as·in·the540 the·result·and·return·it.·The·encoding·is·done·with·the·same·functions·as·in·the
541 earlier·example.</p><p>Error·handling·is·to·be·added·here,·for·example,·checking·that·the·socket·is541 earlier·example.</p><p>Error·handling·is·to·be·added·here,·for·example,·checking·that·the·socket·is
542 still·open,·but·this·is·only·a·simple·example.</p><p>The·Erlang·part·of·the·asynchronous·driver·consists·of·the·sample·file542 still·open,·but·this·is·only·a·simple·example.</p><p>The·Erlang·part·of·the·asynchronous·driver·consists·of·the·sample·file
543 <code·class="inline">pg_async.erl</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6321339867-1">(</span><span·class="ss">pg_async</span><span·class="p"·data-group-id="6321339867-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="8954769540-1">(</span><span·class="ss">pg_async</span><span·class="p"·data-group-id="8954769540-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="6321339867-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="6321339867-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="8954769540-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="8954769540-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="6321339867-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="6321339867-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="8954769540-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="8954769540-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="6321339867-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="6321339867-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="8954769540-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="8954769540-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="6321339867-5">(</span><span·class="p"·data-group-id="6321339867-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:·c047828f27e8fbe72e8ac24a5c5b3b5d862d6d1b224e8031feb93f550ad8bc6b·...·]-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="8954769540-5">(</span><span·class="p"·data-group-id="8954769540-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:·d4413ac934005089589527175f2bef665babbf8409834cb55c377b0f0a375527·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
550 </span><span·class="nf">connect</span><span·class="p"·data-group-id="6321339867-7">(</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="6321339867-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="8954769540-7">(</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="8954769540-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="6321339867-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="6321339867-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="8954769540-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="8954769540-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="6321339867-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="6321339867-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="8954769540-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="8954769540-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="6321339867-10">(</span><span·class="p"·data-group-id="6321339867-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="6321339867-11">}</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·9fb93ad7d9baf4a1a8578a1e56c69915f87ed776686bdc873f963c36b654e097·...·]-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="8954769540-10">(</span><span·class="p"·data-group-id="8954769540-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="8954769540-11">}</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·60c58c47134db5de4a4342475b86bdb1496430fae5b0f9b414467e9b4d67dec2·...·]-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="6321339867-12">(</span><span·class="p"·data-group-id="6321339867-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="6321339867-13">}</[·...·truncated·by·diffoscope;·len:·232,·SHA:·52c3b2194d997125854d7217d657ca2f1553b1758a636a85bb00b9a7802cef82·...·]-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="8954769540-12">(</span><span·class="p"·data-group-id="8954769540-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="8954769540-13">}</[·...·truncated·by·diffoscope;·len:·232,·SHA:·b5909c5d780884a930fd6f4fc108ec35267bc2652c025206a384188f5c728651·...·]-12">)</span><span·class="p">,</span><span·class="w">
557 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="6321339867-15">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_CONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ConnectStr</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·81ada8627d03d1d3db4e93b4583198d41bdfba03577c05f614ddc8ded94e3379·...·]-15">)</span><span·class="p">,</span><span·class="w">557 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="8954769540-15">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_CONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ConnectStr</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·77d952a95a500e17e6127c930e36491c009d525a3f277d2910f4c80772bbbb1e·...·]-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="6321339867-16">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6321339867-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="8954769540-16">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8954769540-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="6321339867-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="6321339867-17">}</span><span·class="p">;</span><span·class="w">560 ············</span><span·class="p"·data-group-id="8954769540-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="8954769540-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="6321339867-18">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6321339867-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="8954769540-18">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8954769540-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="6321339867-19">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_DISCONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·eef8079c759edc3b05d249a88fbac1f117398938d8abdd47b9b62a9ce44c297f·...·]-19">)</span><span·class="p">,</span><span·class="w">565 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="8954769540-19">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_DISCONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·9c16f1b7e2d86ae3963cf9aabd42c7c450e86f35e5f395b77b607cffc21319ad·...·]-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="6321339867-20">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6321339867-20">)</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="8954769540-20">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8954769540-20">)</span><span·class="p">,</span><span·class="w">
567 ····</span><span·class="nf">port_close</span><span·class="p"·data-group-id="6321339867-21">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6321339867-21">)</span><span·class="p">,</span><span·class="w">567 ····</span><span·class="nf">port_close</span><span·class="p"·data-group-id="8954769540-21">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8954769540-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="6321339867-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="6321339867-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="8954769540-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="8954769540-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="6321339867-23">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_SELECT</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Query</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·9762f877332a9794a0d602badb9bf54b0418a088febfa80a76b8912db1a66ce3·...·]-23">)</span><span·class="p">,</span><span·class="w">570 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="8954769540-23">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_SELECT</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Query</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·a296c44fe4074f3817135bafcf88e4fe4fa96e7c51e2e6941dd38951dc1701b5·...·]-23">)</span><span·class="p">,</span><span·class="w">
571 ····</span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="6321339867-24">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6321339867-24">)</span><span·class="p">.</span><span·class="w">571 ····</span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="8954769540-24">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8954769540-24">)</span><span·class="p">.</span><span·class="w">
  
572 </span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="6321339867-25">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6321339867-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="8954769540-25">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8954769540-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="6321339867-26">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6321339867-27">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·918dccffdff4754d53abffa9e41f5aef7d57d3b737fd66dd96338b1b3cc218e4·...·]-26">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">574 ········</span><span·class="p"·data-group-id="8954769540-26">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8954769540-27">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·8f02835c65c33b30eb09c1cfa5e13ab5238ca0b11c9c0c02659d3ba6610ba32b·...·]-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="6321339867-28">(</span><span·class="n">Data</span><span·class="p"·data-group-id="6321339867-28">)</span><span·class="w">575 ············</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="8954769540-28">(</span><span·class="n">Data</span><span·class="p"·data-group-id="8954769540-28">)</span><span·class="w">
576 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·Erlang·code·is·slightly·different,·as·we·do·not·return·the·result576 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·Erlang·code·is·slightly·different,·as·we·do·not·return·the·result
577 synchronously·from·<a·href="erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>,·instead·we·get·it·from·<a·href="../../../erts-16.0/doc/html/erl_driver.html#driver_output"·title=""><code·class="inline">driver_output</code></a>·as577 synchronously·from·<a·href="erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>,·instead·we·get·it·from·<a·href="../../../erts-16.0/doc/html/erl_driver.html#driver_output"·title=""><code·class="inline">driver_output</code></a>·as
578 data·in·the·message·queue.·The·function·<code·class="inline">return_port_data</code>·above·receives·data578 data·in·the·message·queue.·The·function·<code·class="inline">return_port_data</code>·above·receives·data
579 from·the·port.·As·the·data·is·in·binary·format,·we·use579 from·the·port.·As·the·data·is·in·binary·format,·we·use
580 <a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>·to·convert·it·to·an·Erlang·term.·Notice580 <a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>·to·convert·it·to·an·Erlang·term.·Notice
581 that·the·driver·is·opened·in·binary·mode·(<a·href="erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>·is581 that·the·driver·is·opened·in·binary·mode·(<a·href="erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>·is
582 called·with·option·<code·class="inline">[binary]</code>).·This·means·that·data·sent·from·the·driver·to·the582 called·with·option·<code·class="inline">[binary]</code>).·This·means·that·data·sent·from·the·driver·to·the
Offset 677, 59 lines modifiedOffset 677, 59 lines modified
677 ····*rp++·=·ERL_DRV_LIST;677 ····*rp++·=·ERL_DRV_LIST;
678 ····*rp++·=·n+1;678 ····*rp++·=·n+1;
679 ····driver_output_term(port,·result,·result_n);679 ····driver_output_term(port,·result,·result_n);
680 ····delete[]·result;680 ····delete[]·result;
681 ····delete·d;681 ····delete·d;
682 }</code></pre><p>This·driver·is·called·like·the·others·from·Erlang.·However,·as·we·use682 }</code></pre><p>This·driver·is·called·like·the·others·from·Erlang.·However,·as·we·use
683 <a·href="../../../erts-16.0/doc/html/erl_driver.html#driver_output_term"·title=""><code·class="inline">driver_output_term</code></a>,·there·is·no·need·to·call·<a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>.·The·Erlang·code683 <a·href="../../../erts-16.0/doc/html/erl_driver.html#driver_output_term"·title=""><code·class="inline">driver_output_term</code></a>,·there·is·no·need·to·call·<a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>.·The·Erlang·code
684 is·in·the·sample·file·<code·class="inline">next_perm.erl</code>.</p><p>The·input·is·changed·into·a·list·of·integers·and·sent·to·the·driver.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1132500143-1">(</span><span·class="ss">next_perm</span><span·class="p"·data-group-id="1132500143-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="2165131035-1">(</span><span·class="ss">next_perm</span><span·class="p"·data-group-id="2165131035-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="1132500143-2">(</span><span·class="p"·data-group-id="1132500143-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:·751b582c90025a2aeda5a42908ca7393e5be65d3c68498a889b12f8fdcff6ee7·...·]-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="2165131035-2">(</span><span·class="p"·data-group-id="2165131035-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:·d59b7d658f8bb79afc7d1ee193526af77088cce3fe829a9a35956148f9334543·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
687 </span><span·class="nf">load</span><span·class="p"·data-group-id="1132500143-4">(</span><span·class="p"·data-group-id="1132500143-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="2165131035-4">(</span><span·class="p"·data-group-id="2165131035-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="1132500143-5">(</span><span·class="ss">next_perm</span><span·class="p"·data-group-id="1132500143-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="2165131035-5">(</span><span·class="ss">next_perm</span><span·class="p"·data-group-id="2165131035-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="1132500143-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="1132500143-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="2165131035-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="2165131035-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="1132500143-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="1132500143-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="2165131035-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="2165131035-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="1132500143-8">(</span><span·class="n">E</span><span·class="p"·data-group-id="1132500143-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="2165131035-8">(</span><span·class="n">E</span><span·class="p"·data-group-id="2165131035-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="1132500143-9">(</span><span·class="p"·data-group-id="1132500143-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="1132500143-10">}</span><span[·...·truncated·by·diffoscope;·len:·192,·SHA:·c21cae8f5cf2b1144b809f521d04685fddee3a7de3b5051ae247536005ccb10d·...·]-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="2165131035-9">(</span><span·class="p"·data-group-id="2165131035-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="2165131035-10">}</span><span[·...·truncated·by·diffoscope;·len:·192,·SHA:·4f8b6de3cd12a90c8eb3ee97670c0de21f177c7e62e3d7d3d9ba948fc7f85e8c·...·]-9">)</span><span·class="p">,</span><span·class="w">
696 ············</span><span·class="nf">register</span><span·class="p"·data-group-id="1132500143-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="1132500143-12">)</span><span·class="p">;</span><span·class="w">696 ············</span><span·class="nf">register</span><span·class="p"·data-group-id="2165131035-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="2165131035-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="1132500143-13">(</span><span·class="n">L</span><span·class="p"·data-group-id="1132500143-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="2165131035-13">(</span><span·class="n">L</span><span·class="p"·data-group-id="2165131035-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
701 ····</span><span·class="p"·data-group-id="1132500143-14">[</span><span·class="p"·data-group-id="1132500143-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:·250a99eedc28bf2a97f36ffdcaf4b10011730a80e9cda30cf0d74f2eae877c7c·...·]-14">]</span><span·class="p">.</span><span·class="w">701 ····</span><span·class="p"·data-group-id="2165131035-14">[</span><span·class="p"·data-group-id="2165131035-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:·fc13fb9ba702e2ff03b5cf82efcb8a166a59e61d52f6d0db8628ab776bd63bd8·...·]-14">]</span><span·class="p">.</span><span·class="w">
  
702 </span><span·class="nf">next_perm</span><span·class="p"·data-group-id="1132500143-16">(</span><span·class="n">L</span><span·class="p"·data-group-id="1132500143-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="2165131035-16">(</span><span·class="n">L</span><span·class="p"·data-group-id="2165131035-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="1132500143-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="1132500143-17">)</span><span·class="p">.</span><span·class="w">703 ····</span><span·class="nf">next_perm</span><span·class="p"·data-group-id="2165131035-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="2165131035-17">)</span><span·class="p">.</span><span·class="w">
  
704 </span><span·class="nf">prev_perm</span><span·class="p"·data-group-id="1132500143-18">(</span><span·class="n">L</span><span·class="p"·data-group-id="1132500143-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="2165131035-18">(</span><span·class="n">L</span><span·class="p"·data-group-id="2165131035-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
705 ····</span><span·class="nf">next_perm</span><span·class="p"·data-group-id="1132500143-19">(</span><span·class="n">L</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="1132500143-19">)</span><span·class="p">.</span><span·class="w">705 ····</span><span·class="nf">next_perm</span><span·class="p"·data-group-id="2165131035-19">(</span><span·class="n">L</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="2165131035-19">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 9109/58750 bytes (15.50%) of diff not shown.
626 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/driver_entry.html
    
Offset 417, 15 lines modifiedOffset 417, 15 lines modified
417 ······<p·class="built-using">417 ······<p·class="built-using">
418 ········Built·using418 ········Built·using
419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
421 ······</p>421 ······</p>
422 <p>Copyright·©·1996-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.41 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/epmd_cmd.html
    
Offset 301, 15 lines modifiedOffset 301, 15 lines modified
301 ······<p·class="built-using">301 ······<p·class="built-using">
302 ········Built·using302 ········Built·using
303 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the303 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
304 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>304 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
305 ······</p>305 ······</p>
306 <p>Copyright·©·1996-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.0 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erl_cmd.html
    
Offset 149, 26 lines modifiedOffset 149, 26 lines modified
149 runtime·system,·more·specifically·to·the·<code·class="inline">init</code>·system·process,·see·<a·href="init.html"><code·class="inline">init</code></a>.</p><p>The·<code·class="inline">init</code>·process·itself·interprets·some·of·these·flags,·the·<em>init·flags</em>.·It149 runtime·system,·more·specifically·to·the·<code·class="inline">init</code>·system·process,·see·<a·href="init.html"><code·class="inline">init</code></a>.</p><p>The·<code·class="inline">init</code>·process·itself·interprets·some·of·these·flags,·the·<em>init·flags</em>.·It
150 also·stores·any·remaining·flags,·the·<em>user·flags</em>.·The·latter·can·be·retrieved150 also·stores·any·remaining·flags,·the·<em>user·flags</em>.·The·latter·can·be·retrieved
151 by·calling·<a·href="init.html#get_argument/1"><code·class="inline">init:get_argument/1</code></a>.</p><p>A·small·number·of·&quot;-&quot;·flags·exist,·which·now·actually·are·emulator·flags,·see151 by·calling·<a·href="init.html#get_argument/1"><code·class="inline">init:get_argument/1</code></a>.</p><p>A·small·number·of·&quot;-&quot;·flags·exist,·which·now·actually·are·emulator·flags,·see
152 the·description·below.</p></li><li><p>Plain·arguments·are·not·interpreted·in·any·way.·They·are·also·stored·by·the152 the·description·below.</p></li><li><p>Plain·arguments·are·not·interpreted·in·any·way.·They·are·also·stored·by·the
153 <code·class="inline">init</code>·process·and·can·be·retrieved·by·calling·<a·href="init.html#get_plain_arguments/0"><code·class="inline">init:get_plain_arguments/0</code></a>.153 <code·class="inline">init</code>·process·and·can·be·retrieved·by·calling·<a·href="init.html#get_plain_arguments/0"><code·class="inline">init:get_plain_arguments/0</code></a>.
154 Plain·arguments·can·occur·before·the·first·flag,·or·after·a·<code·class="inline">--</code>·flag.·Also,154 Plain·arguments·can·occur·before·the·first·flag,·or·after·a·<code·class="inline">--</code>·flag.·Also,
155 the·<code·class="inline">-extra</code>·flag·causes·everything·that·follows·to·become·plain·arguments.</p></li></ul><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·+W·w·-sname·arnie·+S·2·-s·my_init·-extra·+bertie</span><span·class="gp·unselectable">155 the·<code·class="inline">-extra</code>·flag·causes·everything·that·follows·to·become·plain·arguments.</p></li></ul><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·+W·w·-sname·arnie·+S·2·-s·my_init·-extra·+bertie</span><span·class="gp·unselectable">
156 (arnie@host)1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="3914932427-1">(</span><span·class="ss">sname</span><span·class="p"·data-group-id="3914932427-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="0070934366-1">(</span><span·class="ss">sname</span><span·class="p"·data-group-id="0070934366-1">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="3914932427-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3914932427-3">[</span><span·class="p"·data-group-id="3914932427-4">[</span><span·class="s">&quot;arnie&quot;</span><span·class="p"·data-group-id="3914932[·...·truncated·by·diffoscope;·len:·109,·SHA:·d1edb2ca4f471dcf61e9de3353936368f3de1001e759c27e120b99c8cb558dea·...·]-2">}</span><span·class="gp·unselectable">157 </span><span·class="p"·data-group-id="0070934366-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0070934366-3">[</span><span·class="p"·data-group-id="0070934366-4">[</span><span·class="s">&quot;arnie&quot;</span><span·class="p"·data-group-id="0070934[·...·truncated·by·diffoscope;·len:·109,·SHA:·a8ef8f3409efde26fa4e23044783d6c1f439ed2d1dbe921e11f8f6b9faae1695·...·]-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="3914932427-5">(</span><span·class="p"·data-group-id="3914932427-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="0070934366-5">(</span><span·class="p"·data-group-id="0070934366-5">)</span><span·class="p">.</span><span·class="w">
159 </span><span·class="p"·data-group-id="3914932427-6">[</span><span·class="s">&quot;+bertie&quot;</span><span·class="p"·data-group-id="3914932427-6">]</span></code></pre><p>Here·<code·class="inline">+W·w</code>·and·<code·class="inline">+S·2</code>·are·emulator·flags.·<code·class="inline">-s·my_init</code>·is·an·init·flag,159 </span><span·class="p"·data-group-id="0070934366-6">[</span><span·class="s">&quot;+bertie&quot;</span><span·class="p"·data-group-id="0070934366-6">]</span></code></pre><p>Here·<code·class="inline">+W·w</code>·and·<code·class="inline">+S·2</code>·are·emulator·flags.·<code·class="inline">-s·my_init</code>·is·an·init·flag,
160 interpreted·by·<code·class="inline">init</code>.·<code·class="inline">-sname·arnie</code>·is·a·user·flag,·stored·by·<code·class="inline">init</code>.·It·is160 interpreted·by·<code·class="inline">init</code>.·<code·class="inline">-sname·arnie</code>·is·a·user·flag,·stored·by·<code·class="inline">init</code>.·It·is
161 read·by·Kernel·and·causes·the·Erlang·runtime·system·to·become·distributed.161 read·by·Kernel·and·causes·the·Erlang·runtime·system·to·become·distributed.
162 Finally,·everything·after·<code·class="inline">-extra</code>·(that·is,·<code·class="inline">+bertie</code>)·is·considered·as·plain162 Finally,·everything·after·<code·class="inline">-extra</code>·(that·is,·<code·class="inline">+bertie</code>)·is·considered·as·plain
163 arguments.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-myflag·1</span><span·class="gp·unselectable">163 arguments.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-myflag·1</span><span·class="gp·unselectable">
164 1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="4212919110-1">(</span><span·class="ss">myflag</span><span·class="p"·data-group-id="4212919110-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="1182258199-1">(</span><span·class="ss">myflag</span><span·class="p"·data-group-id="1182258199-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="4212919110-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4212919110-3">[</span><span·class="p"·data-group-id="4212919110-4">[</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="4212919110-[·...·truncated·by·diffoscope;·len:·105,·SHA:·2b849e01c42a80a3c343cd7515972a0df6411008cf3eb2ccfc81d74eccd5b81d·...·]-2">}</span><span·class="gp·unselectable">165 </span><span·class="p"·data-group-id="1182258199-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1182258199-3">[</span><span·class="p"·data-group-id="1182258199-4">[</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="1182258199-[·...·truncated·by·diffoscope;·len:·105,·SHA:·8e4f44cf25092fa6b750d3dec5ced203e70783a8c32fae04c9b3b7ba0fc25a25·...·]-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="4212919110-5">(</span><span·class="p"·data-group-id="4212919110-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="1182258199-5">(</span><span·class="p"·data-group-id="1182258199-5">)</span><span·class="p">.</span><span·class="w">
167 </span><span·class="p"·data-group-id="4212919110-6">[</span><span·class="p"·data-group-id="4212919110-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="1182258199-6">[</span><span·class="p"·data-group-id="1182258199-6">]</span></code></pre><p>Here·the·user·flag·<code·class="inline">-myflag·1</code>·is·passed·to·and·stored·by·the·<code·class="inline">init</code>·process.·It
168 is·a·user-defined·flag,·presumably·used·by·some·user-defined·application.</p><h2·id="flags"·class="section-heading">168 is·a·user-defined·flag,·presumably·used·by·some·user-defined·application.</p><h2·id="flags"·class="section-heading">
169 ··<a·href="#flags"·class="hover-link">169 ··<a·href="#flags"·class="hover-link">
170 ····<i·class="ri-link-m"·aria-hidden="true"></i>170 ····<i·class="ri-link-m"·aria-hidden="true"></i>
171 ··</a>171 ··</a>
172 ··<span·class="text">Flags</span>172 ··<span·class="text">Flags</span>
173 </h2>173 </h2>
174 <p>In·the·following·list,·init·flags·are·marked·&quot;(init·flag)&quot;.·Unless·otherwise174 <p>In·the·following·list,·init·flags·are·marked·&quot;(init·flag)&quot;.·Unless·otherwise
Offset 694, 15 lines modifiedOffset 694, 15 lines modified
694 processes)·into·a·smaller·set·of·schedulers·when·schedulers·frequently·run694 processes)·into·a·smaller·set·of·schedulers·when·schedulers·frequently·run
695 out·of·work.·When·disabled,·the·frequency·with·which·schedulers·run·out·of695 out·of·work.·When·disabled,·the·frequency·with·which·schedulers·run·out·of
696 work·is·not·taken·into·account·by·the·load·balancing·logic.</p><p><code·class="inline">+scl·false</code>·is·similar·to·<a·href="#%2Bsub"><code·class="inline">+sub·true</code></a>,·but·<code·class="inline">+sub·true</code>696 work·is·not·taken·into·account·by·the·load·balancing·logic.</p><p><code·class="inline">+scl·false</code>·is·similar·to·<a·href="#%2Bsub"><code·class="inline">+sub·true</code></a>,·but·<code·class="inline">+sub·true</code>
697 also·balances·scheduler·utilization·between·schedulers.</p></li><li><p><strong><code·class="inline"·id="+sct">+sct·CpuTopology</code></strong>·-·Sets·a·user-defined·CPU·topology.697 also·balances·scheduler·utilization·between·schedulers.</p></li><li><p><strong><code·class="inline"·id="+sct">+sct·CpuTopology</code></strong>·-·Sets·a·user-defined·CPU·topology.
698 The·user-defined·CPU·topology·overrides698 The·user-defined·CPU·topology·overrides
699 any·automatically·detected·CPU·topology.·The·CPU·topology·is·used·when699 any·automatically·detected·CPU·topology.·The·CPU·topology·is·used·when
700 <a·href="#%2Bsbt">binding·schedulers·to·logical·processors</a>.·This·option·must·be·before700 <a·href="#%2Bsbt">binding·schedulers·to·logical·processors</a>.·This·option·must·be·before
701 <a·href="#%2Bsbt"><code·class="inline">+sbt</code></a>·on·the·command-line.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8491303684-1">(</span><span·class="p"·data-group-id="8491303684-1">)</span><span·class="p">;</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="mi">65535</span><span·class="w">701 <a·href="#%2Bsbt"><code·class="inline">+sbt</code></a>·on·the·command-line.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2561219790-1">(</span><span·class="p"·data-group-id="2561219790-1">)</span><span·class="p">;</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="mi">65535</span><span·class="w">
702 </span><span·class="o">&lt;</span><span·class="n">IdRange</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="o">-</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">702 </span><span·class="o">&lt;</span><span·class="n">IdRange</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="o">-</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">
703 </span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">IdRange</span><span·class="o">&gt;</span><span·class="w">703 </span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">IdRange</span><span·class="o">&gt;</span><span·class="w">
704 </span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="w">704 </span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="w">
705 </span><span·class="o">&lt;</span><span·class="n">LogicalIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">705 </span><span·class="o">&lt;</span><span·class="n">LogicalIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">
706 </span><span·class="o">&lt;</span><span·class="n">ThreadIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">T</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">t</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">706 </span><span·class="o">&lt;</span><span·class="n">ThreadIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">T</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">t</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">
707 </span><span·class="o">&lt;</span><span·class="n">CoreIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">C</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">c</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">707 </span><span·class="o">&lt;</span><span·class="n">CoreIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">C</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">c</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">
708 </span><span·class="o">&lt;</span><span·class="n">ProcessorIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">p</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">708 </span><span·class="o">&lt;</span><span·class="n">ProcessorIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">p</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">
Offset 727, 30 lines modifiedOffset 727, 30 lines modified
727 node.</li><li><code·class="inline">&lt;LogicalIds&gt;&lt;ThreadIds&gt;&lt;CoreIds&gt;&lt;NodeIds&gt;&lt;ProcessorIds&gt;</code>,·that·is,·thread727 node.</li><li><code·class="inline">&lt;LogicalIds&gt;&lt;ThreadIds&gt;&lt;CoreIds&gt;&lt;NodeIds&gt;&lt;ProcessorIds&gt;</code>,·that·is,·thread
728 is·part·of·a·core·that·is·part·of·a·NUMA·node,·which·is·part·of·a728 is·part·of·a·core·that·is·part·of·a·NUMA·node,·which·is·part·of·a
729 processor.</li></ul><p>A·CPU·topology·can·consist·of·both·processor·external,·and·processor729 processor.</li></ul><p>A·CPU·topology·can·consist·of·both·processor·external,·and·processor
730 internal·NUMA·nodes·as·long·as·each·logical·processor·belongs·to·only·one730 internal·NUMA·nodes·as·long·as·each·logical·processor·belongs·to·only·one
731 NUMA·node.·If·<code·class="inline">&lt;ProcessorIds&gt;</code>·is·omitted,·its·default·position·is·before731 NUMA·node.·If·<code·class="inline">&lt;ProcessorIds&gt;</code>·is·omitted,·its·default·position·is·before
732 <code·class="inline">&lt;NodeIds&gt;</code>.·That·is,·the·default·is·processor·external·NUMA·nodes.</p><p>If·a·list·of·identifiers·is·used·in·an·<code·class="inline">&lt;IdDefs&gt;</code>:</p><ul><li><code·class="inline">&lt;LogicalIds&gt;</code>·must·be·a·list·of·identifiers.</li><li>At·least·one·other·identifier·type·besides·<code·class="inline">&lt;LogicalIds&gt;</code>·must·also·have·a732 <code·class="inline">&lt;NodeIds&gt;</code>.·That·is,·the·default·is·processor·external·NUMA·nodes.</p><p>If·a·list·of·identifiers·is·used·in·an·<code·class="inline">&lt;IdDefs&gt;</code>:</p><ul><li><code·class="inline">&lt;LogicalIds&gt;</code>·must·be·a·list·of·identifiers.</li><li>At·least·one·other·identifier·type·besides·<code·class="inline">&lt;LogicalIds&gt;</code>·must·also·have·a
733 list·of·identifiers.</li><li>All·lists·of·identifiers·must·produce·the·same·number·of·identifiers.</li></ul><p>A·simple·example.·A·single·quad·core·processor·can·be·described·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·+sct·L0-3c0-3</span><span·class="gp·unselectable">733 list·of·identifiers.</li><li>All·lists·of·identifiers·must·produce·the·same·number·of·identifiers.</li></ul><p>A·simple·example.·A·single·quad·core·processor·can·be·described·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·+sct·L0-3c0-3</span><span·class="gp·unselectable">
734 1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="5768367884-1">(</span><span·class="ss">cpu_topology</span><span·class="p"·data-group-id="5768367884-1">)</span><span·class="p">.</span><span·class="w">734 1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="2467505327-1">(</span><span·class="ss">cpu_topology</span><span·class="p"·data-group-id="2467505327-1">)</span><span·class="p">.</span><span·class="w">
735 </span><span·class="p"·data-group-id="5768367884-2">[</span><span·class="p"·data-group-id="5768367884-3">{</span><span·class="ss">processor</span><span·class="p">,</span><span·class="p"·data-group-id="5768367884-4">[</span><span·class="p"·data-group-id="5768367884-5">{</span><span·class="ss">c[·...·truncated·by·diffoscope;·len:·261,·SHA:·b785572890e3f17acc2ba4541a9e9f14d4a04f10ddbced49dda7bb9a606c6459·...·]-5">}</span><span·class="p">,</span><span·class="w">735 </span><span·class="p"·data-group-id="2467505327-2">[</span><span·class="p"·data-group-id="2467505327-3">{</span><span·class="ss">processor</span><span·class="p">,</span><span·class="p"·data-group-id="2467505327-4">[</span><span·class="p"·data-group-id="2467505327-5">{</span><span·class="ss">c[·...·truncated·by·diffoscope;·len:·261,·SHA:·43d90026dac20c33ad35b2a798a2ced1cddf0a43d907bf73a8d92f41bc69cbba·...·]-5">}</span><span·class="p">,</span><span·class="w">
736 ·············</span><span·class="p"·data-group-id="5768367884-7">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="5768367884-8">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5768367884-8">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·a0dcc7e834812244155b59ed8b92475eb2942202db9d08b0b5441e7033d1b780·...·]-7">}</span><span·class="p">,</span><span·class="w">736 ·············</span><span·class="p"·data-group-id="2467505327-7">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="2467505327-8">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2467505327-8">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·889dc83aef4a05bbe7ac53d43bd3ef6a315153ff5f8c218f3dd0ee74f07c63bf·...·]-7">}</span><span·class="p">,</span><span·class="w">
737 ·············</span><span·class="p"·data-group-id="5768367884-9">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="5768367884-10">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="5768367884-10">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·c7947b4dcea16baa193ced023944b2c468c60d38dc39e70b6172da1adb62a9b9·...·]-9">}</span><span·class="p">,</span><span·class="w">737 ·············</span><span·class="p"·data-group-id="2467505327-9">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="2467505327-10">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="2467505327-10">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·827bb58b7d02116eb023f9354ead78c7eb5452c755fafd939ff92657f434d6e5·...·]-9">}</span><span·class="p">,</span><span·class="w">
738 ·············</span><span·class="p"·data-group-id="5768367884-11">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="5768367884-12">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="5768367884-12">}[·...·truncated·by·diffoscope;·len:·208,·SHA:·119d42fcdeafb4f0ab42fe36e76359c89f268aa85d47a4eab027b7652d6f7aac·...·]-2">]</span></code></pre><p>A·more·complicated·example·with·two·quad·core·processors,·each·processor·in738 ·············</span><span·class="p"·data-group-id="2467505327-11">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="2467505327-12">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="2467505327-12">}[·...·truncated·by·diffoscope;·len:·208,·SHA:·f989ba646a770dd1f3f68c68577f56391ab38962d1974838ee307a5306ca8040·...·]-2">]</span></code></pre><p>A·more·complicated·example·with·two·quad·core·processors,·each·processor·in
739 its·own·NUMA·node.·The·ordering·of·logical·processors·is·a·bit·weird.·This739 its·own·NUMA·node.·The·ordering·of·logical·processors·is·a·bit·weird.·This
740 to·give·a·better·example·of·identifier·lists:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·+sct·L0-1,3-2c0-3p0N0:L7,4,6-5c0-3p1N1</span><span·class="gp·unselectable">740 to·give·a·better·example·of·identifier·lists:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·+sct·L0-1,3-2c0-3p0N0:L7,4,6-5c0-3p1N1</span><span·class="gp·unselectable">
741 1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="9795849288-1">(</span><span·class="ss">cpu_topology</span><span·class="p"·data-group-id="9795849288-1">)</span><span·class="p">.</span><span·class="w">741 1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="3471903760-1">(</span><span·class="ss">cpu_topology</span><span·class="p"·data-group-id="3471903760-1">)</span><span·class="p">.</span><span·class="w">
742 </span><span·class="p"·data-group-id="9795849288-2">[</span><span·class="p"·data-group-id="9795849288-3">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="9795849288-4">[</span><span·class="p"·data-group-id="9795849288-5">{</span><span·class="ss">proces[·...·truncated·by·diffoscope;·len:·419,·SHA:·7c5e3c9c3993bf72f0dfd56f7609ffc162202f9dacaabe378fa590dfa411da08·...·]-7">}</span><span·class="p">,</span><span·class="w">742 </span><span·class="p"·data-group-id="3471903760-2">[</span><span·class="p"·data-group-id="3471903760-3">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="3471903760-4">[</span><span·class="p"·data-group-id="3471903760-5">{</span><span·class="ss">proces[·...·truncated·by·diffoscope;·len:·419,·SHA:·b814cdab1c8d2c01e4e12ae9716176641bf639a2756cdc2e0892e989fd144542·...·]-7">}</span><span·class="p">,</span><span·class="w">
743 ····················</span><span·class="p"·data-group-id="9795849288-9">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="9795849288-10">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="9795849288-10">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·9da51c3bc65143ee2eb857b33e8b0632ffa219aa9cac96f49e979297d4232abe·...·]-9">}</span><span·class="p">,</span><span·class="w">743 ····················</span><span·class="p"·data-group-id="3471903760-9">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3471903760-10">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="3471903760-10">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·ac86df28a451d7ec87b04bf1174c6d900bf2bec355e5d07723345221a8f10bf8·...·]-9">}</span><span·class="p">,</span><span·class="w">
744 ····················</span><span·class="p"·data-group-id="9795849288-11">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="9795849288-12">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="9795849288-12">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·680110fb4e02718f65ec6a523df95e35757d82e7038c7d8501a952aaac0b4771·...·]-11">}</span><span·class="p">,</span><span·class="w">744 ····················</span><span·class="p"·data-group-id="3471903760-11">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3471903760-12">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="3471903760-12">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·cd77eb672cad45a0abd1a4fb8f5b3f83189552ff093a1f497ab33fce602f6a37·...·]-11">}</span><span·class="p">,</span><span·class="w">
745 ····················</span><span·class="p"·data-group-id="9795849288-13">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="9795849288-14">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="9795849288-14">}</span><span·class="p"·data-group-id="9795849288-13">}</span><span·class="p"·data-group-id="9795849288-6">]</span><span·class="p"·data-group-id="9795849288-5">}</span><span·class="p"·data-group-id="9795849288-4">]</span><span·class="p"·data-group-id="9795849288-3">}</span><span·class="p">,</span><span·class="w"> 
746 ·</span><span·class="p"·data-group-id="9795849288-15">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="9795849288-16">[</span><span·class="p"·data-group-id="9795849288-17">{</span><span·class="ss">processor</span><s[·...·truncated·by·diffoscope;·len:·414,·SHA:·1f4ab45ab981e1d6361e3a018f493ddbef2ca2ea034dcb5641488bdcdb5e29fc·...·]">}</span><span·class="p">,</span><span·class="w">745 ····················</span><span·class="p"·data-group-id="3471903760-13">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3471903760-14">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·320,·SHA:·59fb5e6cba0bb27285ff5ba0fa291a9ac9aa2e53b32c95a39ef7d3edf2395181·...·]">}</span><span·class="p">,</span><span·class="w">
 746 ·</span><span·class="p"·data-group-id="3471903760-15">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="3471903760-16">[</span><span·class="p"·data-group-id="3471903760-17">{</span><span·class="ss">processor</span><span·class="p">,</span><span·class="p"·data-group-id="3471903760-18">[</span><span·class="p"·data-group-id="3471903760-19">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3471903760-20">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="3471903760-20">}</span><span·class="p"·data-group-id="3471903760-19">}</span><span·class="p">,</span><span·class="w">
747 ····················</span><span·class="p"·data-group-id="9795849288-21">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="9795849288-22">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="9795849288-22">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·680110fb4e02718f65ec6a523df95e35757d82e7038c7d8501a952aaac0b4771·...·]-21">}</span><span·class="p">,</span><span·class="w">747 ····················</span><span·class="p"·data-group-id="3471903760-21">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3471903760-22">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="3471903760-22">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·cd77eb672cad45a0abd1a4fb8f5b3f83189552ff093a1f497ab33fce602f6a37·...·]-21">}</span><span·class="p">,</span><span·class="w">
748 ····················</span><span·class="p"·data-group-id="9795849288-23">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="9795849288-24">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="9795849288-24">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·680110fb4e02718f65ec6a523df95e35757d82e7038c7d8501a952aaac0b4771·...·]-23">}</span><span·class="p">,</span><span·class="w">748 ····················</span><span·class="p"·data-group-id="3471903760-23">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3471903760-24">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="3471903760-24">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·cd77eb672cad45a0abd1a4fb8f5b3f83189552ff093a1f497ab33fce602f6a37·...·]-23">}</span><span·class="p">,</span><span·class="w">
749 ····················</span><span·class="p"·data-group-id="9795849288-25">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="9795849288-26">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="9795849288-26">}[·...·truncated·by·diffoscope;·len:·318,·SHA:·1c61954e3fbaf2ee24cc83f9dc88b0e34c9d53f51e05367c4a8da23136ae500f·...·]-2">]</span></code></pre><p>As·long·as·real·identifiers·are·correct,·it·is·OK·to·pass·a·CPU·topology749 ····················</span><span·class="p"·data-group-id="3471903760-25">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3471903760-26">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="3471903760-26">}[·...·truncated·by·diffoscope;·len:·318,·SHA:·622c6a4593086566ad8ef212b74eb77166607400eba641ae65f062129b2103d9·...·]-2">]</span></code></pre><p>As·long·as·real·identifiers·are·correct,·it·is·OK·to·pass·a·CPU·topology
750 that·is·not·a·correct·description·of·the·CPU·topology.·When·used·with·care750 that·is·not·a·correct·description·of·the·CPU·topology.·When·used·with·care
751 this·can·be·very·useful.·This·to·trick·the·emulator·to·bind·its·schedulers751 this·can·be·very·useful.·This·to·trick·the·emulator·to·bind·its·schedulers
752 as·you·want.·For·example,·if·you·want·to·run·multiple·Erlang·runtime·systems752 as·you·want.·For·example,·if·you·want·to·run·multiple·Erlang·runtime·systems
753 on·the·same·machine,·you·want·to·reduce·the·number·of·schedulers·used·and753 on·the·same·machine,·you·want·to·reduce·the·number·of·schedulers·used·and
754 manipulate·the·CPU·topology·so·that·they·bind·to·different·logical·CPUs.·An754 manipulate·the·CPU·topology·so·that·they·bind·to·different·logical·CPUs.·An
755 example,·with·two·Erlang·runtime·systems·on·a·quad·core·machine:</p><pre><code·class="text">%·erl·+sct·L0-3c0-3·+sbt·db·+S3:2·-detached·-noinput·-noshell·-sname·one755 example,·with·two·Erlang·runtime·systems·on·a·quad·core·machine:</p><pre><code·class="text">%·erl·+sct·L0-3c0-3·+sbt·db·+S3:2·-detached·-noinput·-noshell·-sname·one
756 %·erl·+sct·L3-0c0-3·+sbt·db·+S3:2·-detached·-noinput·-noshell·-sname·two</code></pre><p>In·this·example,·each·runtime·system·have·two·schedulers·each·online,·and756 %·erl·+sct·L3-0c0-3·+sbt·db·+S3:2·-detached·-noinput·-noshell·-sname·two</code></pre><p>In·this·example,·each·runtime·system·have·two·schedulers·each·online,·and
Offset 917, 18 lines modifiedOffset 917, 18 lines modified
917 </h2>917 </h2>
918 <p>The·standard·Erlang/OTP·system·can·be·reconfigured·to·change·the·default918 <p>The·standard·Erlang/OTP·system·can·be·reconfigured·to·change·the·default
919 behavior·on·startup.</p><ul><li><p><strong>The·<code·class="inline">.erlang</code>·startup·file</strong>·-·When·Erlang/OTP·is·started,·the·system919 behavior·on·startup.</p><ul><li><p><strong>The·<code·class="inline">.erlang</code>·startup·file</strong>·-·When·Erlang/OTP·is·started,·the·system
920 searches·for·a·file·named·<code·class="inline">.erlang</code>·in·the920 searches·for·a·file·named·<code·class="inline">.erlang</code>·in·the
921 <a·href="init.html#home">user's·home·directory</a>·and·then921 <a·href="init.html#home">user's·home·directory</a>·and·then
922 <a·href="../../../lib/stdlib-7.0/doc/html/filename.html#user_config"><code·class="inline">filename:basedir(user_config,·&quot;erlang&quot;)</code></a>.</p><p>If·an·<code·class="inline">.erlang</code>·file·is·found,·it·is·assumed·to·contain·valid·Erlang922 <a·href="../../../lib/stdlib-7.0/doc/html/filename.html#user_config"><code·class="inline">filename:basedir(user_config,·&quot;erlang&quot;)</code></a>.</p><p>If·an·<code·class="inline">.erlang</code>·file·is·found,·it·is·assumed·to·contain·valid·Erlang
923 expressions.·These·expressions·are·evaluated·as·if·they·were·input·to·the923 expressions.·These·expressions·are·evaluated·as·if·they·were·input·to·the
924 shell.</p><p>A·typical·<code·class="inline">.erlang</code>·file·contains·a·set·of·search·paths,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9936860237-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="9936860237-2">[</span><span·class="p"·data-group-id="9936860237-2">]</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·164893abcceea9d0571833cb01cbaa306ce7d779f1183152afd1e0be92f95388·...·]-1">)</span><span·class="p">.</span><span·class="w">924 shell.</p><p>A·typical·<code·class="inline">.erlang</code>·file·contains·a·set·of·search·paths,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9306054818-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="9306054818-2">[</span><span·class="p"·data-group-id="9306054818-2">]</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·f83c248b78122c618a0532c45397c8f9ac80e7b5add47ca30ef17b479ec0b720·...·]-1">)</span><span·class="p">.</span><span·class="w">
925 </span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">add_path</span><span·class="p"·data-group-id="9936860237-3">(</span><span·class="s">&quot;/home/calvin/test/ebin&quot;</span><span·class="p"·data-group-id="9936860237-3">)</span><span·class="p">.</span><span·class="w">925 </span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">add_path</span><span·class="p"·data-group-id="9306054818-3">(</span><span·class="s">&quot;/home/calvin/test/ebin&quot;</span><span·class="p"·data-group-id="9306054818-3">)</span><span·class="p">.</span><span·class="w">
926 </span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">add_path</span><span·class="p"·data-group-id="9936860237-4">(</span><span·class="s">&quot;/home/hobbes/bigappl-1.2/ebin&quot;</span><span·class="p"·data-group-id="9936860237-4">)</span><span·class="p">.</span><span·class="w">926 </span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">add_path</span><span·class="p"·data-group-id="9306054818-4">(</span><span·class="s">&quot;/home/hobbes/bigappl-1.2/ebin&quot;</span><span·class="p"·data-group-id="9306054818-4">)</span><span·class="p">.</span><span·class="w">
927 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9936860237-5">(</span><span·class="s">&quot;.erlang·rc·finished\n&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="9936860237-6">[</span><span·class="p"·data-group-id="9936860237-6">]</span><span·class="p"·data-group-id="9936860237-5">)</span><span·class="p">.</span></code></pre></li><li><p><strong>user_default</strong>·and·<strong>shell_default</strong>·-·Functions·in·the·shell·that·are·not927 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9306054818-5">(</span><span·class="s">&quot;.erlang·rc·finished\n&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="9306054818-6">[</span><span·class="p"·data-group-id="9306054818-6">]</span><span·class="p"·data-group-id="9306054818-5">)</span><span·class="p">.</span></code></pre></li><li><p><strong>user_default</strong>·and·<strong>shell_default</strong>·-·Functions·in·the·shell·that·are·not
928 prefixed·by·a·module·name·are·assumed·to·be·functional·objects·(funs),928 prefixed·by·a·module·name·are·assumed·to·be·functional·objects·(funs),
929 built-in·functions·(BIFs),·or·belong·to·the·module·<code·class="inline">user_default</code>·or929 built-in·functions·(BIFs),·or·belong·to·the·module·<code·class="inline">user_default</code>·or
930 <code·class="inline">shell_default</code>.</p><p>To·include·private·shell·commands,·define·them·in·a·module·<code·class="inline">user_default</code>·and930 <code·class="inline">shell_default</code>.</p><p>To·include·private·shell·commands,·define·them·in·a·module·<code·class="inline">user_default</code>·and
931 add·the·following·argument·as·the·first·line·in·the·<code·class="inline">.erlang</code>·file:</p><pre><code·class="text">code:load_abs(&quot;..../user_default&quot;).</code></pre></li><li><p><strong>erl</strong>·-·If·the·contents·of·<code·class="inline">.erlang</code>·are·changed·and·a·private·version·of931 add·the·following·argument·as·the·first·line·in·the·<code·class="inline">.erlang</code>·file:</p><pre><code·class="text">code:load_abs(&quot;..../user_default&quot;).</code></pre></li><li><p><strong>erl</strong>·-·If·the·contents·of·<code·class="inline">.erlang</code>·are·changed·and·a·private·version·of
932 <code·class="inline">user_default</code>·is·defined,·the·Erlang/OTP·environment·can·be·customized.·More932 <code·class="inline">user_default</code>·is·defined,·the·Erlang/OTP·environment·can·be·customized.·More
933 powerful·changes·can·be·made·by·supplying·command-line·arguments·in·the933 powerful·changes·can·be·made·by·supplying·command-line·arguments·in·the
934 startup·script·<code·class="inline">erl</code>.·For·more·information,·see·<a·href="init.html"><code·class="inline">init</code></a>.</p></li></ul><h2·id="see-also"·class="section-heading">934 startup·script·<code·class="inline">erl</code>.·For·more·information,·see·<a·href="init.html"><code·class="inline">init</code></a>.</p></li></ul><h2·id="see-also"·class="section-heading">
Offset 982, 15 lines modifiedOffset 982, 15 lines modified
982 ······<p·class="built-using">982 ······<p·class="built-using">
983 ········Built·using983 ········Built·using
984 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the984 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
985 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>985 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
986 ······</p>986 ······</p>
987 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>987 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
988 ····</footer>988 ····</footer>
989 ··</div>989 ··</div>
990 </main>990 </main>
991 </div>991 </div>
992 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>992 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
993 ··<script>993 ··<script>
994 ··let·initialized·=·false;994 ··let·initialized·=·false;
740 B
html2text {}
Max HTML report size reached
28.3 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erl_dist_protocol.html
    
Offset 252, 32 lines modifiedOffset 252, 32 lines modified
252 ---252 ---
253 sequenceDiagram253 sequenceDiagram
254 ····participant·client·as·Client·(or·Node)254 ····participant·client·as·Client·(or·Node)
255 ····participant·EPMD255 ····participant·EPMD
256 ····256 ····
257 ····client·-&gt;&gt;·EPMD:·NAMES_REQ257 ····client·-&gt;&gt;·EPMD:·NAMES_REQ
258 ····EPMD·--&gt;&gt;·client:·NAMES_RESP</code></pre><table><thead><tr><th·style="text-align:·left;">1</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">110</code></td></tr></tbody></table><p><em>Table:·NAMES_REQ·(110)</em></p><p>The·response·for·a·<code·class="inline">NAMES_REQ</code>·is·as·follows:</p><table><thead><tr><th·style="text-align:·left;">4</th><th·style="text-align:·left;"></th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">EPMDPortNo</code></td><td·style="text-align:·left;"><code·class="inline">NodeInfo*</code></td></tr></tbody></table><p><em>Table:·NAMES_RESP</em></p><p><code·class="inline">NodeInfo</code>·is·a·string·written·for·each·active·node.·When·all·<code·class="inline">NodeInfo</code>·has258 ····EPMD·--&gt;&gt;·client:·NAMES_RESP</code></pre><table><thead><tr><th·style="text-align:·left;">1</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">110</code></td></tr></tbody></table><p><em>Table:·NAMES_REQ·(110)</em></p><p>The·response·for·a·<code·class="inline">NAMES_REQ</code>·is·as·follows:</p><table><thead><tr><th·style="text-align:·left;">4</th><th·style="text-align:·left;"></th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">EPMDPortNo</code></td><td·style="text-align:·left;"><code·class="inline">NodeInfo*</code></td></tr></tbody></table><p><em>Table:·NAMES_RESP</em></p><p><code·class="inline">NodeInfo</code>·is·a·string·written·for·each·active·node.·When·all·<code·class="inline">NodeInfo</code>·has
259 been·written·the·connection·is·closed·by·the·EPMD.</p><p><code·class="inline">NodeInfo</code>·is,·as·expressed·in·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8408465289-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="8408465289-2">[</span><span·[·...·truncated·by·diffoscope;·len:·194,·SHA:·9a8f74fb7d51c7c89baf853d17bab4e48aa2fab63c1d7acf9f38e6789a91dfc2·...·]-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="9034685734-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="9034685734-2">[</span><span·[·...·truncated·by·diffoscope;·len:·194,·SHA:·135fff63c19d0899dfb365a236f18c3e08108fbaff654e06edd5a643b43f4fab·...·]-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="5178430253-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="0028645525-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="5178430253-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="5178430253-2">]</span><s[·...·truncated·by·diffoscope;·len:·266,·SHA:·077e5d11db3120e09a47757dfa8e97789afdf51873a88e1db2456abe1cdb37bb·...·]-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="0028645525-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="0028645525-2">]</span><s[·...·truncated·by·diffoscope;·len:·266,·SHA:·0e45cdcb61fc689accf829cae3eb114192a689945cb3a4536b1effad67aebac4·...·]-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="8410150231-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="8410150231-2">]</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·496f81de580f406ffd23823bdde99ac72ac10bccf49ebf24ca741e9e2cadd063·...·]-1">)</span><span·class="p">.</span></code></pre><h3·id="kill-epmd"·class="section-heading">276 ··········</span><span·class="p"·data-group-id="0920304448-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="0920304448-2">]</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·bd87918e960316efcbdc95a7e87395b078850cd16ebe617b9dd0045b323fc544·...·]-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="3111648786-1">(</span><span·class="ss">initiator</span><span·class="p"·data-group-id="3111648786-1">)</span><span·class="w">······································</span><span·class="n">B</span><span·class="w">·</span><span·class="p"·data-group-id="311164878[·...·truncated·by·diffoscope;·len:·86,·SHA:·db433b4966b6f25cf1d3424f9ea52b803be82398153643c42cbd92b418327612·...·]-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="3234314218-1">(</span><span·class="ss">initiator</span><span·class="p"·data-group-id="3234314218-1">)</span><span·class="w">······································</span><span·class="n">B</span><span·class="w">·</span><span·class="p"·data-group-id="323431421[·...·truncated·by·diffoscope;·len:·86,·SHA:·a33441bd573f156da4c7408a9f6a2b967883a320681d6338ecea116f8ed4efa4·...·]-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="3111648786-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="3234314218-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="3111648786-3">)</span><span·class="w">423 ···················································</span><span·class="ss">recv_status</span><span·class="p"·data-group-id="3234314218-3">)</span><span·class="w">
  
424 ··························</span><span·class="p"·data-group-id="3111648786-4">(</span><span·class="n">ChB</span><span·class="p"·data-group-id="3111648786-4">)</span><span·class="w">······················</span><span·class="n">ChB</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·118,·SHA:·00fd5fed7d998ed61831b51c514fc39fb4727d08fc705599c453b63d2ba7c3b0·...·]-5">)</span><span·class="w">424 ··························</span><span·class="p"·data-group-id="3234314218-4">(</span><span·class="n">ChB</span><span·class="p"·data-group-id="3234314218-4">)</span><span·class="w">······················</span><span·class="n">ChB</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·118,·SHA:·ec5860bfbe83e5f72e601fdb245e39411141611f77a4972345c14d7f5b51d078·...·]-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="3111648786-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="3234314218-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="3111648786-6">)</span><span·class="w">429 ···················································</span><span·class="ss">recv_complement</span><span·class="p"·data-group-id="3234314218-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="3111648786-7">(</span><span·class="p"·data-group-id="3111648786-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="3234314218-7">(</span><span·class="p"·data-group-id="3234314218-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="3111648786-8">(</span><span·class="n">B</span><span·class="p"·data-group-id="3111648786-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="3234314218-8">(</span><span·class="n">B</span><span·class="p"·data-group-id="3234314218-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="3111648786-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="3111648786-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="3234314218-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="3234314218-9">)</span><span·class="w">
433 ··························</span><span·class="p"·data-group-id="3111648786-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="3111648786-10">)</span><span·class="w">433 ··························</span><span·class="p"·data-group-id="3234314218-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="3234314218-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="3111648786-11">(</span><span·class="n">A</span><span·class="p"·data-group-id="3111648786-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="3234314218-11">(</span><span·class="n">A</span><span·class="p"·data-group-id="3234314218-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="3111648786-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="3111648786-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="3234314218-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="3234314218-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="3111648786-13">(</span><span·class="n">A</span><span·class="p"·data-group-id="3111648786-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="3234314218-13">(</span><span·class="n">A</span><span·class="p"·data-group-id="3234314218-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="3111648786-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="3111648786-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="3234314218-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="3234314218-14">)</span><span·class="w">
442 ··························</span><span·class="p"·data-group-id="3111648786-15">(</span><span·class="n">DiB</span><span·class="p"·data-group-id="3111648786-15">)</span><span·class="w">442 ··························</span><span·class="p"·data-group-id="3234314218-15">(</span><span·class="n">DiB</span><span·class="p"·data-group-id="3234314218-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="3111648786-16">(</span><span·class="n">B</span><span·class="p"·data-group-id="3111648786-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="3234314218-16">(</span><span·class="n">B</span><span·class="p"·data-group-id="3234314218-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="3111648786-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="3111648786-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="3234314218-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="3234314218-17">)</span><span·class="o">?</span><span·class="w">
448 </span><span·class="p">-</span><span·class="w">·</span><span·class="na">if</span><span·class="w">·</span><span·class="n">OK</span><span·class="p">:</span><span·class="w">448 </span><span·class="p">-</span><span·class="w">·</span><span·class="na">if</span><span·class="w">·</span><span·class="n">OK</span><span·class="p">:</span><span·class="w">
449 ·</span><span·class="n">DONE</span><span·class="w">449 ·</span><span·class="n">DONE</span><span·class="w">
450 </span><span·class="p">-</span><span·class="w">·</span><span·class="na">else</span><span·class="p">:</span><span·class="w">450 </span><span·class="p">-</span><span·class="w">·</span><span·class="na">else</span><span·class="p">:</span><span·class="w">
451 ·</span><span·class="n">CLOSE</span></code></pre><p><a·href=""·id="dflags"></a></p><h3·id="distribution-flags"·class="section-heading">451 ·</span><span·class="n">CLOSE</span></code></pre><p><a·href=""·id="dflags"></a></p><h3·id="distribution-flags"·class="section-heading">
452 ··<a·href="#distribution-flags"·class="hover-link">452 ··<a·href="#distribution-flags"·class="hover-link">
453 ····<i·class="ri-link-m"·aria-hidden="true"></i>453 ····<i·class="ri-link-m"·aria-hidden="true"></i>
454 ··</a>454 ··</a>
Offset 787, 15 lines modifiedOffset 787, 15 lines modified
787 ······<p·class="built-using">787 ······<p·class="built-using">
788 ········Built·using788 ········Built·using
789 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the789 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
790 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>790 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
791 ······</p>791 ······</p>
792 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>792 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
793 ····</footer>793 ····</footer>
794 ··</div>794 ··</div>
795 </main>795 </main>
796 </div>796 </div>
797 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>797 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
798 ··<script>798 ··<script>
799 ··let·initialized·=·false;799 ··let·initialized·=·false;
632 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erl_driver.html
    
Offset 1773, 15 lines modifiedOffset 1773, 15 lines modified
1773 ······<p·class="built-using">1773 ······<p·class="built-using">
1774 ········Built·using1774 ········Built·using
1775 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1775 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1776 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1776 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1777 ······</p>1777 ······</p>
1778 <p>Copyright·©·1996-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-16.0/doc/html/erl_ext_dist.html
    
Offset 434, 15 lines modifiedOffset 434, 15 lines modified
434 ··</a>434 ··</a>
435 ··<span·class="text">SMALL_BIG_EXT</span>435 ··<span·class="text">SMALL_BIG_EXT</span>
436 </h2>436 </h2>
437 <table><thead><tr><th·style="text-align:·left;">1</th><th·style="text-align:·left;">1</th><th·style="text-align:·left;">1</th><th·style="text-align:·left;">n</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">110</code></td><td·style="text-align:·left;"><code·class="inline">n</code></td><td·style="text-align:·left;"><code·class="inline">Sign</code></td><td·style="text-align:·left;"><code·class="inline">d(0)</code>·...·<code·class="inline">d(n-1)</code></td></tr></tbody></table><p>Bignums·are·stored·in·unary·form·with·a·<code·class="inline">Sign</code>·byte,·that·is,·0·if·the·bignum·is437 <table><thead><tr><th·style="text-align:·left;">1</th><th·style="text-align:·left;">1</th><th·style="text-align:·left;">1</th><th·style="text-align:·left;">n</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">110</code></td><td·style="text-align:·left;"><code·class="inline">n</code></td><td·style="text-align:·left;"><code·class="inline">Sign</code></td><td·style="text-align:·left;"><code·class="inline">d(0)</code>·...·<code·class="inline">d(n-1)</code></td></tr></tbody></table><p>Bignums·are·stored·in·unary·form·with·a·<code·class="inline">Sign</code>·byte,·that·is,·0·if·the·bignum·is
438 positive·and·1·if·it·is·negative.·The·digits·are·stored·with·the·least438 positive·and·1·if·it·is·negative.·The·digits·are·stored·with·the·least
439 significant·byte·stored·first.·To·calculate·the·integer,·the·following·formula439 significant·byte·stored·first.·To·calculate·the·integer,·the·following·formula
440 can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">B</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">256</span><span·class="w">440 can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">B</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">256</span><span·class="w">
441 </span><span·class="p"·data-group-id="3488133863-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:·69f0a5f66dce1c373e088a471fbab8c1551d87b3710abd8a74496f480f3f02e6·...·]-1">)</span></code></pre><h2·id="large_big_ext"·class="section-heading">441 </span><span·class="p"·data-group-id="0326540846-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:·7e17bb7481359a39463c31d15630d691e6054f09b67ffd65f8b9ab9cff325483·...·]-1">)</span></code></pre><h2·id="large_big_ext"·class="section-heading">
442 ··<a·href="#large_big_ext"·class="hover-link">442 ··<a·href="#large_big_ext"·class="hover-link">
443 ····<i·class="ri-link-m"·aria-hidden="true"></i>443 ····<i·class="ri-link-m"·aria-hidden="true"></i>
444 ··</a>444 ··</a>
445 ··<span·class="text">LARGE_BIG_EXT</span>445 ··<span·class="text">LARGE_BIG_EXT</span>
446 </h2>446 </h2>
447 <table><thead><tr><th·style="text-align:·left;">1</th><th·style="text-align:·left;">4</th><th·style="text-align:·left;">1</th><th·style="text-align:·left;">n</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">111</code></td><td·style="text-align:·left;"><code·class="inline">n</code></td><td·style="text-align:·left;"><code·class="inline">Sign</code></td><td·style="text-align:·left;"><code·class="inline">d(0)</code>·...·<code·class="inline">d(n-1)</code></td></tr></tbody></table><p>Same·as·<a·href="erl_ext_dist.html#small_big_ext"><code·class="inline">SMALL_BIG_EXT</code></a>·except·that·the·length447 <table><thead><tr><th·style="text-align:·left;">1</th><th·style="text-align:·left;">4</th><th·style="text-align:·left;">1</th><th·style="text-align:·left;">n</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">111</code></td><td·style="text-align:·left;"><code·class="inline">n</code></td><td·style="text-align:·left;"><code·class="inline">Sign</code></td><td·style="text-align:·left;"><code·class="inline">d(0)</code>·...·<code·class="inline">d(n-1)</code></td></tr></tbody></table><p>Same·as·<a·href="erl_ext_dist.html#small_big_ext"><code·class="inline">SMALL_BIG_EXT</code></a>·except·that·the·length
448 field·is·an·unsigned·4·byte·integer.</p><h2·id="reference_ext-deprecated"·class="section-heading">448 field·is·an·unsigned·4·byte·integer.</p><h2·id="reference_ext-deprecated"·class="section-heading">
Offset 619, 15 lines modifiedOffset 619, 15 lines modified
619 ······<p·class="built-using">619 ······<p·class="built-using">
620 ········Built·using620 ········Built·using
621 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the621 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
622 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>622 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
623 ······</p>623 ······</p>
624 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>624 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
625 ····</footer>625 ····</footer>
626 ··</div>626 ··</div>
627 </main>627 </main>
628 </div>628 </div>
629 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>629 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
630 ··<script>630 ··<script>
631 ··let·initialized·=·false;631 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
7.53 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erl_nif.html
    
Offset 161, 27 lines modifiedOffset 161, 27 lines modified
161 }161 }
  
162 static·ErlNifFunc·nif_funcs[]·=162 static·ErlNifFunc·nif_funcs[]·=
163 {163 {
164 ····{&quot;hello&quot;,·0,·hello}164 ····{&quot;hello&quot;,·0,·hello}
165 };165 };
  
166 ERL_NIF_INIT(niftest,nif_funcs,NULL,NULL,NULL,NULL)</code></pre><p>The·Erlang·module·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6514522875-1">(</span><span·class="ss">niftest</span><span·class="p"·data-group-id="6514522875-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="1198857482-1">(</span><span·class="ss">niftest</span><span·class="p"·data-group-id="1198857482-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="6514522875-2">(</span><span·class="p"·data-group-id="6514522875-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:·46dbf21fc7e5bd434f3b64d5cbbc7b2974b4a896c64786e96f45f4aae907c4e7·...·]-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="1198857482-2">(</span><span·class="p"·data-group-id="1198857482-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:·c484c878c8681d341bb8651e0335fdb1547fc9166e6c33537e57ac2d9a8eb15a·...·]-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="6514522875-4">(</span><span·class="p"·data-group-id="6514522875-5">[</span><span·class="ss">hello</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6514522875-5">]</span><span·class="p"·data-group-id="6514522875-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="1198857482-4">(</span><span·class="p"·data-group-id="1198857482-5">[</span><span·class="ss">hello</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1198857482-5">]</span><span·class="p"·data-group-id="1198857482-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="6514522875-6">(</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6514522875-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="1198857482-6">(</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1198857482-6">)</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="nf">init</span><span·class="p"·data-group-id="6514522875-7">(</span><span·class="p"·data-group-id="6514522875-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="1198857482-7">(</span><span·class="p"·data-group-id="1198857482-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="6514522875-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="6514522875-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="1198857482-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="1198857482-8">)</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">hello</span><span·class="p"·data-group-id="6514522875-9">(</span><span·class="p"·data-group-id="6514522875-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="1198857482-9">(</span><span·class="p"·data-group-id="1198857482-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="6514522875-10">(</span><span·class="s">&quot;NIF·library·not·loaded&quot;</span><span·class="p"·data-group-id="6514522875-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="1198857482-10">(</span><span·class="s">&quot;NIF·library·not·loaded&quot;</span><span·class="p"·data-group-id="1198857482-10">)</span><span·class="p">.</span></code></pre><p>Compile·and·test·can·look·as·follows·(on·Linux):</p><pre><code·class="text">$&gt;·gcc·-fPIC·-shared·-o·niftest.so·niftest.c·-I·$ERL_ROOT/usr/include/
177 $&gt;·erl177 $&gt;·erl
  
178 1&gt;·c(niftest).178 1&gt;·c(niftest).
179 {ok,niftest}179 {ok,niftest}
180 2&gt;·niftest:hello().180 2&gt;·niftest:hello().
181 &quot;Hello·world!&quot;</code></pre><p>In·the·example·above·the·<a·href="../../../doc/system/code_loading.html#on_load"><em><code·class="inline">on_load</code></em></a>181 &quot;Hello·world!&quot;</code></pre><p>In·the·example·above·the·<a·href="../../../doc/system/code_loading.html#on_load"><em><code·class="inline">on_load</code></em></a>
182 directive·is·used·get·function·<code·class="inline">init</code>·called·automatically·when·the·module·is182 directive·is·used·get·function·<code·class="inline">init</code>·called·automatically·when·the·module·is
Offset 2872, 15 lines modifiedOffset 2872, 15 lines modified
2872 ······<p·class="built-using">2872 ······<p·class="built-using">
2873 ········Built·using2873 ········Built·using
2874 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2874 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2875 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2875 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2876 ······</p>2876 ······</p>
2877 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2877 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2878 ····</footer>2878 ····</footer>
2879 ··</div>2879 ··</div>
2880 </main>2880 </main>
2881 </div>2881 </div>
2882 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2882 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2883 ··<script>2883 ··<script>
2884 ··let·initialized·=·false;2884 ··let·initialized·=·false;
696 B
html2text {}
Max HTML report size reached
3.6 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erl_prim_loader.html
    
Offset 398, 15 lines modifiedOffset 398, 15 lines modified
398 ························when·Filename·::·<a·href="erlang.html#t:string/0">string</a>(),·FileInfo·::·<a·href="../../../lib/kernel-10.3/doc/html/file.html#t:file_info/0">file:file_info</a>().</pre>398 ························when·Filename·::·<a·href="erlang.html#t:string/0">string</a>(),·FileInfo·::·<a·href="../../../lib/kernel-10.3/doc/html/file.html#t:file_info/0">file:file_info</a>().</pre>
  
399 ······</div>399 ······</div>
  
400 <p>Retrieves·information·about·a·file.</p><p>Returns·<code·class="inline">{ok,·FileInfo}</code>·if·successful,·otherwise·<code·class="inline">error</code>.·<code·class="inline">FileInfo</code>·is·a400 <p>Retrieves·information·about·a·file.</p><p>Returns·<code·class="inline">{ok,·FileInfo}</code>·if·successful,·otherwise·<code·class="inline">error</code>.·<code·class="inline">FileInfo</code>·is·a
401 record·<a·href="../../../lib/kernel-10.3/doc/html/file.html#t:file_info/0"><code·class="inline">file_info</code></a>,·defined·in·the·Kernel·include·file401 record·<a·href="../../../lib/kernel-10.3/doc/html/file.html#t:file_info/0"><code·class="inline">file_info</code></a>,·defined·in·the·Kernel·include·file
402 ·<code·class="inline">file.hrl</code>.·Include·the·following·directive·in·the·module·from·which·the402 ·<code·class="inline">file.hrl</code>.·Include·the·following·directive·in·the·module·from·which·the
403 function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="4332012877-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="4332012877-1">)</span><span·class="p">.</span></code></pre><p>For·more·information·about·the·record·see·<a·href="../../../lib/kernel-10.3/doc/html/file.html#read_file_info/2"><code·class="inline">file:read_file_info/2</code></a>.</p><p><code·class="inline">Filename</code>·can·also·be·a·file·in·an·archive,·for·example,403 function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="1284462824-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="1284462824-1">)</span><span·class="p">.</span></code></pre><p>For·more·information·about·the·record·see·<a·href="../../../lib/kernel-10.3/doc/html/file.html#read_file_info/2"><code·class="inline">file:read_file_info/2</code></a>.</p><p><code·class="inline">Filename</code>·can·also·be·a·file·in·an·archive,·for·example,
404 <code·class="inline">$OTPROOT/lib/mnesia-4.4.7.ez/mnesia-4.4.7/ebin/mnesia</code>.·For·information404 <code·class="inline">$OTPROOT/lib/mnesia-4.4.7.ez/mnesia-4.4.7/ebin/mnesia</code>.·For·information
405 about·archive·files,·see·<a·href="../../../lib/kernel-10.3/doc/html/code.html"><code·class="inline">code</code></a>.</p>405 about·archive·files,·see·<a·href="../../../lib/kernel-10.3/doc/html/code.html"><code·class="inline">code</code></a>.</p>
406 ··</section>406 ··</section>
407 </section>407 </section>
408 <section·class="detail"·id="read_link_info/1">408 <section·class="detail"·id="read_link_info/1">
  
409 ··<div·class="detail-header">409 ··<div·class="detail-header">
Offset 486, 15 lines modifiedOffset 486, 15 lines modified
486 ······<p·class="built-using">486 ······<p·class="built-using">
487 ········Built·using487 ········Built·using
488 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the488 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
489 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>489 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
490 ······</p>490 ······</p>
491 <p>Copyright·©·1996-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-16.0/doc/html/erl_tracer.html
    
Offset 145, 44 lines modifiedOffset 145, 44 lines modified
145 ··<span·class="text">Erl·Tracer·Module·Example</span>145 ··<span·class="text">Erl·Tracer·Module·Example</span>
146 </h2>146 </h2>
147 <p>In·this·example,·a·tracer·module·with·a·NIF·back·end·sends·a·message·for·each147 <p>In·this·example,·a·tracer·module·with·a·NIF·back·end·sends·a·message·for·each
148 <code·class="inline">send</code>·trace·tag·containing·only·the·sender·and·receiver.·Using·this·tracer148 <code·class="inline">send</code>·trace·tag·containing·only·the·sender·and·receiver.·Using·this·tracer
149 module,·a·much·more·lightweight·message·tracer·is·used,·which·only·records·who149 module,·a·much·more·lightweight·message·tracer·is·used,·which·only·records·who
150 sent·messages·to·who.</p><p>The·following·is·an·example·session·using·it·on·Linux:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">gcc</span><span·class="w">·</span><span·class="o">-</span><span·class="n">I</span><span·class="w">·</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">8.0</span><span·class="o">/</span><span·class="ss">include</span><span·class="o">/</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">fPIC</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">shared</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">o</span><span·class="w">·</span><span·class="ss">erl_msg_tracer</span><span·class="p">.</span><span·class="ss">so</span><span·class="w">·</span><span·class="ss">erl_msg_tracer</span><span·class="p">.</span><span·class="ss">c</span><span·class="w">150 sent·messages·to·who.</p><p>The·following·is·an·example·session·using·it·on·Linux:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">gcc</span><span·class="w">·</span><span·class="o">-</span><span·class="n">I</span><span·class="w">·</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">8.0</span><span·class="o">/</span><span·class="ss">include</span><span·class="o">/</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">fPIC</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">shared</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">o</span><span·class="w">·</span><span·class="ss">erl_msg_tracer</span><span·class="p">.</span><span·class="ss">so</span><span·class="w">·</span><span·class="ss">erl_msg_tracer</span><span·class="p">.</span><span·class="ss">c</span><span·class="w">
151 </span><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">151 </span><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">
152 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">19</span><span·class="w">·</span><span·class="p"·data-group-id="1952840080-1">[</span><span·class="n">DEVELOPMENT</span><span·class="p"·data-group-id="1952840080-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="1952840080-2">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">8[·...·truncated·by·diffoscope;·len:·1414,·SHA:·67d6ef7b0f3a6b79b532a376149f4b0ec0270d2ab92b007519cba94d9002889e·...·]-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="9679184337-1">[</span><span·class="n">DEVELOPMENT</span><span·class="p"·data-group-id="9679184337-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="9679184337-2">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">8[·...·truncated·by·diffoscope;·len:·1414,·SHA:·bbd7cdbeb2a60bd082939358f834d4fb88cac19dfa8ee8182a6990577ab1a32f·...·]-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="1952840080-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="1952840080-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="9679184337-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="9679184337-9">)</span><span·class="gp·unselectable">
154 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="1952840080-10">(</span><span·class="ss">erl_msg_tracer</span><span·class="p"·data-group-id="1952840080-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:·ed6187eb37b1a8b2899de119a8d5068cce79944bb79c055f06435ed837e23cf0·...·]-11">)</span><span·class="p">.</span><span·class="w">154 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="9679184337-10">(</span><span·class="ss">erl_msg_tracer</span><span·class="p"·data-group-id="9679184337-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:·30c5120a4ec1fc22c3ec3465dad3da40f32c81ac651edc4522e92d924b07d5fc·...·]-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="1952840080-12">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="1952840080-13">(</span><span·class="p"·data-group-id="1952840080-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span[·...·truncated·by·diffoscope;·len:·954,·SHA:·5aa388a0ac022fa74bdd04741b1c8160d9291a6c0a34d2dc9026ce1dd110dbdf·...·]-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="9679184337-12">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="9679184337-13">(</span><span·class="p"·data-group-id="9679184337-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span[·...·truncated·by·diffoscope;·len:·954,·SHA:·1ec6690e67a0bdc495a0ffa27fe3fe303182cccb599d9688e01ab477a298061c·...·]-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="1952840080-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="1952840080-18">[</span><span·class="nb">send</span>[·...·truncated·by·diffoscope;·len:·420,·SHA:·951873e7db4472ac62db2fcaa426e4e675bc9f1ef871a93e3e25b41c35690673·...·]-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="9679184337-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="9679184337-18">[</span><span·class="nb">send</span>[·...·truncated·by·diffoscope;·len:·420,·SHA:·4966a5695967bab4295e116ee47a424eb5d6fd8539998d6deb7ee3e57f2563d5·...·]-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="1952840080-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:·fdd36f5068fea87280d83625e718d2f1e69e193965b57122f53a1af331718de3·...·]-20">}</span><span·class="gp·unselectable">160 </span><span·class="p"·data-group-id="9679184337-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:·16529f34f6406293d0df88265d64d141190c500d471efdc172ba93cc4089ce1c·...·]-20">}</span><span·class="gp·unselectable">
161 4&gt;·</span><span·class="p"·data-group-id="1952840080-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="1952840080-21">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·375,·SHA:·6f9301e0b65ea95365b121d023f06ba65ab4c09a3854d8d95abf97421d762f2f·...·]-22">)</span><span·class="p">.</span><span·class="w">161 4&gt;·</span><span·class="p"·data-group-id="9679184337-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="9679184337-21">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·375,·SHA:·d6d2fd90c19039b0f39fdd86d20551b8dcde89eac06551bfca8278575e033e41·...·]-22">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="p"·data-group-id="1952840080-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:·dd4fb8e6bedd5e8fc777d0886a445cab52427b2b8a85fec761a22f76e9483d71·...·]-24">}</span><span·class="w">162 </span><span·class="p"·data-group-id="9679184337-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:·7cb7f44fdfd4b1dae31909c9a82c6149daee0b2094ef7120f4ed133c74c93f7d·...·]-24">}</span><span·class="w">
163 </span><span·class="p"·data-group-id="1952840080-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:·9459c5c04b2e7c5e1830ce856e10f50de18f78d770c77354e64ba66e4d3f2b12·...·]-25">}</span><span·class="w">163 </span><span·class="p"·data-group-id="9679184337-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:·8b6b574723f1e273d7e4c29eaafef70a447f37bf1a6cfd104ee257201bf6f0ac·...·]-25">}</span><span·class="w">
164 </span><span·class="p"·data-group-id="1952840080-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:·336e9f937db43efcf9ffaa917e820e10560a8282c23196988247a1e25b165950·...·]-26">}</span><span·class="w">164 </span><span·class="p"·data-group-id="9679184337-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:·7dfb446fa595918fe4a49296970d4b14eda1ad7a00decb530f263bfbc3021441·...·]-26">}</span><span·class="w">
165 </span><span·class="p"·data-group-id="1952840080-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:·336e9f937db43efcf9ffaa917e820e10560a8282c23196988247a1e25b165950·...·]-27">}</span><span·class="w">165 </span><span·class="p"·data-group-id="9679184337-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:·7dfb446fa595918fe4a49296970d4b14eda1ad7a00decb530f263bfbc3021441·...·]-27">}</span><span·class="w">
166 </span><span·class="p"·data-group-id="1952840080-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:·336e9f937db43efcf9ffaa917e820e10560a8282c23196988247a1e25b165950·...·]-28">}</span><span·class="w">166 </span><span·class="p"·data-group-id="9679184337-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:·7dfb446fa595918fe4a49296970d4b14eda1ad7a00decb530f263bfbc3021441·...·]-28">}</span><span·class="w">
167 </span><span·class="p"·data-group-id="1952840080-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:·336e9f937db43efcf9ffaa917e820e10560a8282c23196988247a1e25b165950·...·]-29">}</span><span·class="w">167 </span><span·class="p"·data-group-id="9679184337-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:·7dfb446fa595918fe4a49296970d4b14eda1ad7a00decb530f263bfbc3021441·...·]-29">}</span><span·class="w">
168 </span><span·class="p"·data-group-id="1952840080-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="1952840080-30">}</span><span·class="w">168 </span><span·class="p"·data-group-id="9679184337-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="9679184337-30">}</span><span·class="w">
169 </span><span·class="p"·data-group-id="1952840080-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:·fdd36f5068fea87280d83625e718d2f1e69e193965b57122f53a1af331718de3·...·]-31">}</span><span·class="w">169 </span><span·class="p"·data-group-id="9679184337-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:·16529f34f6406293d0df88265d64d141190c500d471efdc172ba93cc4089ce1c·...·]-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="5198790647-1">(</span><span·class="ss">erl_msg_tracer</span><span·class="p"·data-group-id="5198790647-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="7548981300-1">(</span><span·class="ss">erl_msg_tracer</span><span·class="p"·data-group-id="7548981300-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="5198790647-2">(</span><span·class="p"·data-group-id="5198790647-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:·939ca2998240e50a2042d0640bb4203d123801485b8ec3fbc54babda6d860f74·...·]-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="7548981300-2">(</span><span·class="p"·data-group-id="7548981300-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:·487b6b1c2560df2b71925c6a466e3cdef41ce68157a54bc9fe29638d681d9fc8·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="nf">load</span><span·class="p"·data-group-id="5198790647-4">(</span><span·class="p"·data-group-id="5198790647-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="7548981300-4">(</span><span·class="p"·data-group-id="7548981300-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="5198790647-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="5198790647-6">[</span><span·class="p"·data-group-id="5198790647-6">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·5e3d991307f307c148e339d30820f7f89accf130e44be06abb1184535bbb2b54·...·]-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="7548981300-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="7548981300-6">[</span><span·class="p"·data-group-id="7548981300-6">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·468a2ab718a804332460d348cf49f8331c1304cab5ef242874c0366eb3398c40·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">enabled</span><span·class="p"·data-group-id="5198790647-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="5198790647-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="7548981300-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="7548981300-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="5198790647-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:·66f9ef6b6565a3713a5e0fad0d6b628c79ef8bdef9cbac0b1466afa43f454a7a·...·]-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="7548981300-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:·53f8a570fc58af401f27c22e598faa6f87fc876062b823dca5be48cb262e9bbb·...·]-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
735 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erlang.html
Max HTML report size reached
1.33 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erlc_cmd.html
    
Offset 296, 15 lines modifiedOffset 296, 15 lines modified
296 ······<p·class="built-using">296 ······<p·class="built-using">
297 ········Built·using297 ········Built·using
298 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the298 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
299 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>299 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
300 ······</p>300 ······</p>
301 <p>Copyright·©·1996-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;
533 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erlsrv_cmd.html
    
Offset 401, 15 lines modifiedOffset 401, 15 lines modified
401 ······<p·class="built-using">401 ······<p·class="built-using">
402 ········Built·using402 ········Built·using
403 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the403 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
404 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>404 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
405 ······</p>405 ······</p>
406 <p>Copyright·©·1996-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-16.0/doc/html/erts_alloc.html
    
Offset 534, 15 lines modifiedOffset 534, 15 lines modified
534 ······<p·class="built-using">534 ······<p·class="built-using">
535 ········Built·using535 ········Built·using
536 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the536 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
537 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>537 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
538 ······</p>538 ······</p>
539 <p>Copyright·©·1996-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-16.0/doc/html/escript_cmd.html
    
Offset 127, 57 lines modifiedOffset 127, 57 lines modified
  
127 <p>Run·a·script·written·in·Erlang.</p><h2·id="synopsis"·class="section-heading">127 <p>Run·a·script·written·in·Erlang.</p><h2·id="synopsis"·class="section-heading">
128 ··<a·href="#synopsis"·class="hover-link">128 ··<a·href="#synopsis"·class="hover-link">
129 ····<i·class="ri-link-m"·aria-hidden="true"></i>129 ····<i·class="ri-link-m"·aria-hidden="true"></i>
130 ··</a>130 ··</a>
131 ··<span·class="text">Synopsis</span>131 ··<span·class="text">Synopsis</span>
132 </h2>132 </h2>
133 <pre><code·class="makeup·erlang"·translate="no"><span·class="ss">script</span><span·class="o">-</span><span·class="ss">name</span><span·class="w">·</span><span·class="p"·data-group-id="9093910291-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="9093910291-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="0885715239-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="0885715239-1">]</span></code></pre><h2·id="description"·class="section-heading">
134 ··<a·href="#description"·class="hover-link">134 ··<a·href="#description"·class="hover-link">
135 ····<i·class="ri-link-m"·aria-hidden="true"></i>135 ····<i·class="ri-link-m"·aria-hidden="true"></i>
136 ··</a>136 ··</a>
137 ··<span·class="text">Description</span>137 ··<span·class="text">Description</span>
138 </h2>138 </h2>
139 <p><code·class="inline">escript</code>·provides·support·for·running·short·Erlang·programs·without·having·to139 <p><code·class="inline">escript</code>·provides·support·for·running·short·Erlang·programs·without·having·to
140 compile·them·first,·and·an·easy·way·to·retrieve·the·command-line·arguments.140 compile·them·first,·and·an·easy·way·to·retrieve·the·command-line·arguments.
141 <code·class="inline">escript</code>s·are·created·by·either·writing·them·by·hand·or·using·<a·href="../../../lib/stdlib-7.0/doc/html/escript.html#create/2"><code·class="inline">escript:create/2</code></a>.</p><p>escripts·are·run·by·directly·invoking·them·(does·not·work·on·Windows):</p><pre><code·class="text">script-name·[arg1·arg2...]</code></pre><p>or·by·calling·the·<code·class="inline">escript</code>·program·(works·on·all·platforms):</p><pre><code·class="text">escript·[escript-flags]·script-name.escript·[arg1·arg2...]</code></pre><p>For·example:</p><pre><code·class="text">$·chmod·u+x·factorial141 <code·class="inline">escript</code>s·are·created·by·either·writing·them·by·hand·or·using·<a·href="../../../lib/stdlib-7.0/doc/html/escript.html#create/2"><code·class="inline">escript:create/2</code></a>.</p><p>escripts·are·run·by·directly·invoking·them·(does·not·work·on·Windows):</p><pre><code·class="text">script-name·[arg1·arg2...]</code></pre><p>or·by·calling·the·<code·class="inline">escript</code>·program·(works·on·all·platforms):</p><pre><code·class="text">escript·[escript-flags]·script-name.escript·[arg1·arg2...]</code></pre><p>For·example:</p><pre><code·class="text">$·chmod·u+x·factorial
142 $·cat·factorial</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript142 $·cat·factorial</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript
143 </span><span·class="c1">%%·-*-·erlang·-*-</span><span·class="w">143 </span><span·class="c1">%%·-*-·erlang·-*-</span><span·class="w">
144 </span><span·class="c1">%%!·-sname·factorial·-mnesia·debug·verbose</span><span·class="w">144 </span><span·class="c1">%%!·-sname·factorial·-mnesia·debug·verbose</span><span·class="w">
145 </span><span·class="nf">main</span><span·class="p"·data-group-id="3019058619-1">(</span><span·class="p"·data-group-id="3019058619-2">[</span><span·class="n">String</span><span·class="p"·data-group-id="3019058619-2">]</span><span·class="p"·data-group-id="3019058619-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="7376442193-1">(</span><span·class="p"·data-group-id="7376442193-2">[</span><span·class="n">String</span><span·class="p"·data-group-id="7376442193-2">]</span><span·class="p"·data-group-id="7376442193-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="3019058619-3">(</span><span·class="n">String</span><span·class="p"·data-group-id="3019058619-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="7376442193-3">(</span><span·class="n">String</span><span·class="p"·data-group-id="7376442193-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="3019058619-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="3019058619-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="7376442193-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="7376442193-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="3019058619-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="3019058[·...·truncated·by·diffoscope;·len:·181,·SHA:·8851177d271be72bbd68ba91c1c13d5f996dff5335afe990790728ca2b0473dd·...·]-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="7376442193-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="7376442[·...·truncated·by·diffoscope;·len:·181,·SHA:·1354f062dd2fe5fb75ce219c82a822b6050b5e3e4760980e9faae46736b5d3b1·...·]-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="3019058619-7">(</span><span·class="p"·data-group-id="3019058619-7">)</span><span·class="w">152 ············</span><span·class="nf">usage</span><span·class="p"·data-group-id="7376442193-7">(</span><span·class="p"·data-group-id="7376442193-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="3019058619-8">(</span><span·class="p">_</span><span·class="p"·data-group-id="3019058619-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="7376442193-8">(</span><span·class="p">_</span><span·class="p"·data-group-id="7376442193-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="3019058619-9">(</span><span·class="p"·data-group-id="3019058619-9">)</span><span·class="p">.</span><span·class="w">155 ····</span><span·class="nf">usage</span><span·class="p"·data-group-id="7376442193-9">(</span><span·class="p"·data-group-id="7376442193-9">)</span><span·class="p">.</span><span·class="w">
  
156 </span><span·class="nf">usage</span><span·class="p"·data-group-id="3019058619-10">(</span><span·class="p"·data-group-id="3019058619-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="7376442193-10">(</span><span·class="p"·data-group-id="7376442193-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="3019058619-11">(</span><span·class="s">&quot;usage:·factorial·integer\n&quot;</span><span·class="p"·data-group-id="3019058619-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="7376442193-11">(</span><span·class="s">&quot;usage:·factorial·integer\n&quot;</span><span·class="p"·data-group-id="7376442193-11">)</span><span·class="p">,</span><span·class="w">
158 ····</span><span·class="nf">halt</span><span·class="p"·data-group-id="3019058619-12">(</span><span·class="mi">1</span><span·class="p"·data-group-id="3019058619-12">)</span><span·class="p">.</span><span·class="w">158 ····</span><span·class="nf">halt</span><span·class="p"·data-group-id="7376442193-12">(</span><span·class="mi">1</span><span·class="p"·data-group-id="7376442193-12">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">fac</span><span·class="p"·data-group-id="3019058619-13">(</span><span·class="mi">0</span><span·class="p"·data-group-id="3019058619-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="7376442193-13">(</span><span·class="mi">0</span><span·class="p"·data-group-id="7376442193-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="3019058619-14">(</span><span·class="n">N</span><span·class="p"·data-group-id="3019058619-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:·749a536809e0771890cab8529a0f5e32cf11db57d427ece14312fe298be93308·...·]-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="7376442193-14">(</span><span·class="n">N</span><span·class="p"·data-group-id="7376442193-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:·f88e536fa26467e06b9d0de7e243bbe994b564f8a02763cb74521bbb416ee85c·...·]-15">)</span><span·class="p">.</span></code></pre><pre><code·class="text">$·./factorial·5
161 factorial·5·=·120161 factorial·5·=·120
162 $·./factorial162 $·./factorial
163 usage:·factorial·integer163 usage:·factorial·integer
164 $·./factorial·five164 $·./factorial·five
165 usage:·factorial·integer</code></pre><p>The·header·of·the·Erlang·script·in·the·example·differs·from·a·normal·Erlang165 usage:·factorial·integer</code></pre><p>The·header·of·the·Erlang·script·in·the·example·differs·from·a·normal·Erlang
166 module.·The·first·line·is·intended·to·be·the·interpreter·line,·which·invokes166 module.·The·first·line·is·intended·to·be·the·interpreter·line,·which·invokes
167 <code·class="inline">escript</code>.</p><p>However,·if·you·invoke·the·<code·class="inline">escript</code>·as·follows,·the·contents·of·the·first·line167 <code·class="inline">escript</code>.</p><p>However,·if·you·invoke·the·<code·class="inline">escript</code>·as·follows,·the·contents·of·the·first·line
168 do·not·matter,·but·it·cannot·contain·Erlang·code·as·it·will·be·ignored:</p><pre><code·class="text">$·escript·factorial·5</code></pre><p>The·second·line·in·the·example·contains·an·optional·directive·to·the·<code·class="inline">Emacs</code>168 do·not·matter,·but·it·cannot·contain·Erlang·code·as·it·will·be·ignored:</p><pre><code·class="text">$·escript·factorial·5</code></pre><p>The·second·line·in·the·example·contains·an·optional·directive·to·the·<code·class="inline">Emacs</code>
169 editor,·which·causes·it·to·enter·the·major·mode·for·editing·Erlang·source·files.169 editor,·which·causes·it·to·enter·the·major·mode·for·editing·Erlang·source·files.
170 If·the·directive·is·present,·it·must·be·located·on·the·second·line.</p><p>If·a·comment·selecting·the·<a·href="../../../lib/stdlib-7.0/doc/html/epp.html#encoding">encoding</a>·exists,·it·can·be170 If·the·directive·is·present,·it·must·be·located·on·the·second·line.</p><p>If·a·comment·selecting·the·<a·href="../../../lib/stdlib-7.0/doc/html/epp.html#encoding">encoding</a>·exists,·it·can·be
171 located·on·the·second·line.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·encoding·specified·by·the·above·mentioned·comment·applies·to·the·script171 located·on·the·second·line.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·encoding·specified·by·the·above·mentioned·comment·applies·to·the·script
172 itself.·The·encoding·of·the·I/O-server,·however,·must·be·set·explicitly·as172 itself.·The·encoding·of·the·I/O-server,·however,·must·be·set·explicitly·as
173 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">setopts</span><span·class="p"·data-group-id="3719659085-1">(</span><span·class="p"·data-group-id="3719659085-2">[</span><span·class="p"·data-group-id="3719659085-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:·3a7bb97e45087c73a815fcdb0bc1e3a5bf43fc74f2a2e5490f41a3237cfdd826·...·]-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="0102156372-1">(</span><span·class="p"·data-group-id="0102156372-2">[</span><span·class="p"·data-group-id="0102156372-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:·076df41f4db3b59f281de27f1e9b6cf2d0a90e4672b2d83a9ed9eda0b70f5200·...·]-1">)</span></code></pre><p>The·default·encoding·of·the·I/O-server·for
174 <a·href="../../../lib/stdlib-7.0/doc/html/io.html#t:standard_io/0"><code·class="inline">standard_io</code></a>·is·<code·class="inline">unicode</code>·if·its·supported.·(see174 <a·href="../../../lib/stdlib-7.0/doc/html/io.html#t:standard_io/0"><code·class="inline">standard_io</code></a>·is·<code·class="inline">unicode</code>·if·its·supported.·(see
175 section175 section
176 <a·href="../../../lib/stdlib-7.0/doc/html/unicode_usage.html#unicode_options_summary">Summary·of·Options</a>)·in176 <a·href="../../../lib/stdlib-7.0/doc/html/unicode_usage.html#unicode_options_summary">Summary·of·Options</a>)·in
177 the·STDLIB·User's·Guide.</p></section><p>On·the·third·line·(or·second·line·depending·on·the·presence·of·the·Emacs177 the·STDLIB·User's·Guide.</p></section><p>On·the·third·line·(or·second·line·depending·on·the·presence·of·the·Emacs
178 directive),·arguments·can·be·specified·to·the·emulator,·for·example:</p><pre><code·class="text">%%!·-sname·factorial·-mnesia·debug·verbose</code></pre><p>Such·an·argument·line·must·start·with·<code·class="inline">%%!</code>·and·the·remaining·line·is178 directive),·arguments·can·be·specified·to·the·emulator,·for·example:</p><pre><code·class="text">%%!·-sname·factorial·-mnesia·debug·verbose</code></pre><p>Such·an·argument·line·must·start·with·<code·class="inline">%%!</code>·and·the·remaining·line·is
179 interpreted·as·arguments·to·the·emulator.</p><p>If·you·know·the·location·of·the·<code·class="inline">escript</code>·executable,·the·first·line·can179 interpreted·as·arguments·to·the·emulator.</p><p>If·you·know·the·location·of·the·<code·class="inline">escript</code>·executable,·the·first·line·can
180 directly·give·the·path·to·<code·class="inline">escript</code>,·for·example:</p><pre><code·class="text">#!/usr/local/bin/escript</code></pre><p>As·any·other·type·of·scripts,·Erlang·scripts·do·not·work·on·Unix·platforms·if180 directly·give·the·path·to·<code·class="inline">escript</code>,·for·example:</p><pre><code·class="text">#!/usr/local/bin/escript</code></pre><p>As·any·other·type·of·scripts,·Erlang·scripts·do·not·work·on·Unix·platforms·if
Offset 188, 23 lines modifiedOffset 188, 23 lines modified
188 arguments·specified·to·the·script·(not·changed·or·interpreted·in·any·way).</p><p>If·the·<code·class="inline">main/1</code>·function·in·the·script·returns·successfully,·the·exit·status·for188 arguments·specified·to·the·script·(not·changed·or·interpreted·in·any·way).</p><p>If·the·<code·class="inline">main/1</code>·function·in·the·script·returns·successfully,·the·exit·status·for
189 the·script·is·<code·class="inline">0</code>.·If·an·exception·is·generated·during·execution,·a·short189 the·script·is·<code·class="inline">0</code>.·If·an·exception·is·generated·during·execution,·a·short
190 message·is·printed·and·the·script·terminates·with·exit·status·<code·class="inline">127</code>.</p><p>To·return·your·own·non-zero·exit·code,·call·<a·href="erlang.html#halt/1"><code·class="inline">halt(ExitCode)</code></a>,·for190 message·is·printed·and·the·script·terminates·with·exit·status·<code·class="inline">127</code>.</p><p>To·return·your·own·non-zero·exit·code,·call·<a·href="erlang.html#halt/1"><code·class="inline">halt(ExitCode)</code></a>,·for
191 example:</p><pre><code·class="text">halt(1).</code></pre><p>To·retrieve·the·pathname·of·the·script,·call·<a·href="../../../lib/stdlib-7.0/doc/html/escript.html#script_name/0"><code·class="inline">escript:script_name/0</code></a>·from·your191 example:</p><pre><code·class="text">halt(1).</code></pre><p>To·retrieve·the·pathname·of·the·script,·call·<a·href="../../../lib/stdlib-7.0/doc/html/escript.html#script_name/0"><code·class="inline">escript:script_name/0</code></a>·from·your
192 script·(the·pathname·is·usually,·but·not·always,·absolute).</p><p>If·the·file·contains·source·code·(as·in·the·example·above),·it·is·processed·by192 script·(the·pathname·is·usually,·but·not·always,·absolute).</p><p>If·the·file·contains·source·code·(as·in·the·example·above),·it·is·processed·by
193 the·<a·href="../../../lib/stdlib-7.0/doc/html/epp.html"><code·class="inline">epp</code></a>·preprocessor.·This·means·that·you,·for·example,·can·use·predefined193 the·<a·href="../../../lib/stdlib-7.0/doc/html/epp.html"><code·class="inline">epp</code></a>·preprocessor.·This·means·that·you,·for·example,·can·use·predefined
194 macros·(such·as·<code·class="inline">?MODULE</code>)·and·include·directives·like·the·<code·class="inline">-include_lib</code>194 macros·(such·as·<code·class="inline">?MODULE</code>)·and·include·directives·like·the·<code·class="inline">-include_lib</code>
195 directive.·For·example,·use</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="4787843266-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="4787843266-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="5884304041-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="5884304041-1">)</span><span·class="p">.</span></code></pre><p>to·include·the·record·definitions·for·the·records·used·by·function
196 <a·href="../../../lib/kernel-10.3/doc/html/file.html#read_link_info/1"><code·class="inline">file:read_link_info/1</code></a>.·You·can·also·select·encoding·by·including·an·encoding196 <a·href="../../../lib/kernel-10.3/doc/html/file.html#read_link_info/1"><code·class="inline">file:read_link_info/1</code></a>.·You·can·also·select·encoding·by·including·an·encoding
197 comment·here,·but·if·a·valid·encoding·comment·exists·on·the·second·line,·it197 comment·here,·but·if·a·valid·encoding·comment·exists·on·the·second·line,·it
198 takes·precedence.</p><p>The·script·is·checked·for·syntactic·and·semantic·correctness·before·it·is·run.198 takes·precedence.</p><p>The·script·is·checked·for·syntactic·and·semantic·correctness·before·it·is·run.
199 If·there·are·warnings·(such·as·unused·variables),·they·are·printed·and·the199 If·there·are·warnings·(such·as·unused·variables),·they·are·printed·and·the
200 script·will·still·be·run.·If·there·are·errors,·they·are·printed·and·the·script200 script·will·still·be·run.·If·there·are·errors,·they·are·printed·and·the·script
201 will·not·be·run·and·its·exit·status·is·<code·class="inline">127</code>.</p><p>Both·the·module·declaration·and·the·export·declaration·of·the·<code·class="inline">main/1</code>·function201 will·not·be·run·and·its·exit·status·is·<code·class="inline">127</code>.</p><p>Both·the·module·declaration·and·the·export·declaration·of·the·<code·class="inline">main/1</code>·function
202 are·optional.</p><p>By·default,·the·script·will·be·compiled·by·the·Erlang·compiler.</p><p>It·is·possible·to·force·it·to·be·interpreted·by·including·the·following·line202 are·optional.</p><p>By·default,·the·script·will·be·compiled·by·the·Erlang·compiler.</p><p>It·is·possible·to·force·it·to·be·interpreted·by·including·the·following·line
203 somewhere·in·the·script·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">mode</span><span·class="p"·data-group-id="5245317181-1">(</span><span·class="ss">interpret</span><span·class="p"·data-group-id="5245317181-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="4273840305-1">(</span><span·class="ss">interpret</span><span·class="p"·data-group-id="4273840305-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-16.0/doc/html/garbagecollection.html
    
Offset 133, 33 lines modifiedOffset 133, 33 lines modified
133 </h2>133 </h2>
134 <p>Each·Erlang·process·has·its·own·stack·and·heap·which·are·allocated·in·the·same·memory·block·and·grow·towards·each·other.·When·the·stack·and·the·heap·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/beam_emu.c#L387">meet</a>,·the·garbage·collector·is·triggered·and·memory·is·reclaimed.·If·not·enough·memory·was·reclaimed,·the·heap·will·grow.</p><h3·id="creating-data"·class="section-heading">134 <p>Each·Erlang·process·has·its·own·stack·and·heap·which·are·allocated·in·the·same·memory·block·and·grow·towards·each·other.·When·the·stack·and·the·heap·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/beam_emu.c#L387">meet</a>,·the·garbage·collector·is·triggered·and·memory·is·reclaimed.·If·not·enough·memory·was·reclaimed,·the·heap·will·grow.</p><h3·id="creating-data"·class="section-heading">
135 ··<a·href="#creating-data"·class="hover-link">135 ··<a·href="#creating-data"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Creating·Data</span>138 ··<span·class="text">Creating·Data</span>
139 </h3>139 </h3>
140 <p>Terms·are·created·on·the·heap·by·evaluating·expressions.·There·are·two·major·types·of·terms:·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_term.h#L88-L97">immediate·terms</a>·which·require·no·heap·space·(small·integers,·atoms,·pids,·port·ids·etc)·and·cons·or·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_term.h#L106-L120">boxed·terms</a>·(tuple,·big·num,·binaries·etc)·that·do·require·heap·space.·Immediate·terms·do·not·need·any·heap·space·because·they·are·embedded·into·the·containing·structure.</p><p>Let's·look·at·an·example·that·returns·a·tuple·with·the·newly·created·data.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">data</span><span·class="p"·data-group-id="8913067054-1">(</span><span·class="n">Foo</span><span·class="p"·data-group-id="8913067054-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="7496433450-1">(</span><span·class="n">Foo</span><span·class="p"·data-group-id="7496433450-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="8913067054-2">[</span><span·class="mi">42</span><span·class="p">|</span><span·class="n">Foo</span><span·class="p"·data-group-id="8913067054-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="7496433450-2">[</span><span·class="mi">42</span><span·class="p">|</span><span·class="n">Foo</span><span·class="p"·data-group-id="7496433450-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="8913067054-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="8913067054-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="7496433450-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="7496433450-3">}</span><span·class="p">,</span><span·class="w">
143 ···</span><span·class="p"·data-group-id="8913067054-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="8913067054-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="7496433450-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="7496433450-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="4601211967-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="4601211967-1">}</span><span·class="p">.</span><span·class="w">144 </span><span·class="p"·data-group-id="1570101681-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="1570101681-1">}</span><span·class="p">.</span><span·class="w">
145 </span><span·class="p"·data-group-id="4601211967-2">{</span><span·class="ss">put_list</span><span·class="p">,</span><span·class="p"·data-group-id="4601211967-3">{</span><span·class="ss">integer</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="4601211967-3"[·...·truncated·by·diffoscope;·len:·458,·SHA:·d07db728f76008b1a363960f1513e5d8d3ff48f7911db2c7290155f101079663·...·]-2">}</span><span·class="p">.</span><span·class="w">145 </span><span·class="p"·data-group-id="1570101681-2">{</span><span·class="ss">put_list</span><span·class="p">,</span><span·class="p"·data-group-id="1570101681-3">{</span><span·class="ss">integer</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="1570101681-3"[·...·truncated·by·diffoscope;·len:·458,·SHA:·2f1b99ea7e538fb86eb9af0c41cc02c9fc8e07b90ed19011796f419ef09468b5·...·]-2">}</span><span·class="p">.</span><span·class="w">
146 </span><span·class="p"·data-group-id="4601211967-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="4601211967-7">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="mi">0</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·0578b607e2d534ab452b98b663a1c60519027be5c49d69f0a7496e30cbdb81df·...·]-6">}</span><span·class="p">.</span><span·class="w">146 </span><span·class="p"·data-group-id="1570101681-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="1570101681-7">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="mi">0</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·5625ea42158df4278b7af5eeb9fb7ced205e9380d25ee22d8b6afc228b8f5244·...·]-6">}</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p"·data-group-id="4601211967-8">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="4601211967-9">{</span><span·class="ss">atom</span><span·class="p">,</span><span·class="ss">tag</span><span·class="p"·data-group-id="4601211967-9">}</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·a9794ddc851888ef3ceab8030c28fad4c8f219eab449d260bfd0b80deab3d578·...·]-8">}</span><span·class="p">.</span><span·class="w">147 </span><span·class="p"·data-group-id="1570101681-8">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="1570101681-9">{</span><span·class="ss">atom</span><span·class="p">,</span><span·class="ss">tag</span><span·class="p"·data-group-id="1570101681-9">}</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·3614187fbd64171fd871f8a372cecac01f6b7053d93a3119ca167d6bb8b4173b·...·]-8">}</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p"·data-group-id="4601211967-10">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="4601211967-11">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4601211967-11">}</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·4834afb76bcf7833cfded63fced71f0a3d948a36add2a299ae2c67dce5e01fcc·...·]-10">}</span><span·class="p">.</span><span·class="w">148 </span><span·class="p"·data-group-id="1570101681-10">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="1570101681-11">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1570101681-11">}</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·f0ca24f7cbd5de97502c1ede11c8d083af82aa486422eefecf086ff8e6244f3e·...·]-10">}</span><span·class="p">.</span><span·class="w">
149 </span><span·class="p"·data-group-id="4601211967-12">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="4601211967-13">{</span><span·class="ss">literal</span><span·class="p">,</span><span·class="p"·data-group-id="4601211967-14">{</span><span·class="ss">te[·...·truncated·by·diffoscope;·len:·229,·SHA:·a492dd61bb0a90d48c4087710c808a7c5a0e097aa851d6f3d51a6f6f58a9ba2e·...·]-12">}</span><span·class="p">.</span><span·class="w">149 </span><span·class="p"·data-group-id="1570101681-12">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="1570101681-13">{</span><span·class="ss">literal</span><span·class="p">,</span><span·class="p"·data-group-id="1570101681-14">{</span><span·class="ss">te[·...·truncated·by·diffoscope;·len:·229,·SHA:·66557fc81a19dc091fe15a229987333bd6917f041fb51ccb5e1652c504050241·...·]-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="3790923062-1">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="3790923062-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="7783993666-1">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="7783993666-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="3790923062-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="3790923062-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="7783993666-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="7783993666-2">}</span><span·class="p">,</span><span·class="w">
158 ····</span><span·class="p"·data-group-id="3790923062-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:·ddb579e53a8674f25e4208a348f7b4c49d7d3d8e412d7790d5ebef396c61666b·...·]-3">}</span><span·class="p">.</span></code></pre><p>Only·one·copy·of·T·exists·on·the·heap·and·during·the·garbage·collection·only·the·first·time·T·is·encountered·will·it·be·copied.</p><p><img·src="assets/gc-rootset-scan.png"·alt="Garbage·collection:·root·set·scan"/></p><p>After·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1089">all·terms</a>·referenced·by·the·root-set·have·been·copied,·the·collector·scans·the·<em>to·space</em>·and·copies·all·terms·that·these·terms·reference.·When·scanning,·the·collector·steps·through·each·term·on·the·<em>to·space</em>·and·any·term·still·referencing·the·<em>from·space</em>·is·copied·over·to·the·<em>to·space</em>.·Some·terms·contain·non-term·data·(the·payload·of·a·on·heap·binary·for·instance).·When·encountered·by·the·collector,·these·values·are·simply·skipped.</p><p><img·src="assets/gc-heap-scan1.png"·alt="Garbage·collection:·heap·scan"/></p><p>Every·term·object·we·can·reach·is·copied·to·the·<em>to·space</em>·and·stored·on·top·of·the·<em>scan·stop</em>·line,·and·then·the·scan·stop·is·moved·to·the·end·of·the·last·object.</p><p><img·src="assets/gc-heap-stop.png"·alt="Garbage·collection:·heap·scan"/></p><p>When·<em>scan·stop</em>·marker·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1103">catches·up</a>·to·the·<em>scan·start</em>·marker,·the·garbage·collection·is·done.·At·this·point·we·can·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1206">deallocate</a>·the·entire·<em>from·space</em>·and·therefore·reclaim·the·entire·young·heap.</p><h2·id="generational-garbage-collection"·class="section-heading">158 ····</span><span·class="p"·data-group-id="7783993666-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:·c4336e75af877868360d193f193043cecb6c81104d5d8f8519e32ad66e9c3843·...·]-3">}</span><span·class="p">.</span></code></pre><p>Only·one·copy·of·T·exists·on·the·heap·and·during·the·garbage·collection·only·the·first·time·T·is·encountered·will·it·be·copied.</p><p><img·src="assets/gc-rootset-scan.png"·alt="Garbage·collection:·root·set·scan"/></p><p>After·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1089">all·terms</a>·referenced·by·the·root-set·have·been·copied,·the·collector·scans·the·<em>to·space</em>·and·copies·all·terms·that·these·terms·reference.·When·scanning,·the·collector·steps·through·each·term·on·the·<em>to·space</em>·and·any·term·still·referencing·the·<em>from·space</em>·is·copied·over·to·the·<em>to·space</em>.·Some·terms·contain·non-term·data·(the·payload·of·a·on·heap·binary·for·instance).·When·encountered·by·the·collector,·these·values·are·simply·skipped.</p><p><img·src="assets/gc-heap-scan1.png"·alt="Garbage·collection:·heap·scan"/></p><p>Every·term·object·we·can·reach·is·copied·to·the·<em>to·space</em>·and·stored·on·top·of·the·<em>scan·stop</em>·line,·and·then·the·scan·stop·is·moved·to·the·end·of·the·last·object.</p><p><img·src="assets/gc-heap-stop.png"·alt="Garbage·collection:·heap·scan"/></p><p>When·<em>scan·stop</em>·marker·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1103">catches·up</a>·to·the·<em>scan·start</em>·marker,·the·garbage·collection·is·done.·At·this·point·we·can·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1206">deallocate</a>·the·entire·<em>from·space</em>·and·therefore·reclaim·the·entire·young·heap.</p><h2·id="generational-garbage-collection"·class="section-heading">
159 ··<a·href="#generational-garbage-collection"·class="hover-link">159 ··<a·href="#generational-garbage-collection"·class="hover-link">
160 ····<i·class="ri-link-m"·aria-hidden="true"></i>160 ····<i·class="ri-link-m"·aria-hidden="true"></i>
161 ··</a>161 ··</a>
162 ··<span·class="text">Generational·Garbage·Collection</span>162 ··<span·class="text">Generational·Garbage·Collection</span>
163 </h2>163 </h2>
164 <p>In·addition·to·the·collection·algorithm·described·above,·the·Erlang·garbage·collector·also·provides·generational·garbage·collection.·An·additional·heap,·called·the·old·heap,·is·used·where·the·long·lived·data·is·stored.·The·original·heap·is·called·the·young·heap,·or·sometimes·the·allocation·heap.</p><p>With·this·in·mind·we·can·look·at·the·Erlang's·garbage·collection·again.·During·the·copy·stage·anything·that·should·be·copied·to·the·young·<em>to·space</em>·is·instead·copied·to·the·old·<em>to·space</em>·<em>if</em>·it·is·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1127">below·the·<em>high-watermark</em></a>.</p><p><img·src="assets/gc-watermark.png"·alt="Garbage·collection:·heap·scan"/></p><p>The·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_process.h#L1021"><em>high-watermark</em></a>·is·placed·where·the·previous·garbage·collection·(described·in·<a·href="#overview">Overview</a>)·ended·and·we·have·introduced·a·new·area·called·the·old·heap.·When·doing·the·normal·garbage·collection·pass,·any·term·that·is·located·below·the·high-watermark·is·copied·to·the·old·<em>to·space</em>·instead·of·the·young.</p><p><img·src="assets/gc-watermark-2.png"·alt="Garbage·collection:·heap·scan"/></p><p>In·the·next·garbage·collection,·any·pointers·to·the·old·heap·will·be·ignored·and·not·scanned.·This·way·the·garbage·collector·does·not·have·to·scan·the·long-lived·terms.</p><p>Generational·garbage·collection·aims·to·increase·performance·at·the·expense·of·memory.·This·is·achieved·because·only·the·young,·smaller,·heap·is·considered·in·most·garbage·collections.</p><p>The·generational·hypothesis·predicts·that·most·terms·tend·to·die·young·(see·D.·Ungar·in·<a·href="#references">References</a>),·and·for·an·immutable·language·such·as·Erlang,·young·terms·die·even·faster·than·in·other·languages.·So·for·most·usage·patterns·the·data·in·the·new·heap·will·die·very·soon·after·it·is·allocated.·This·is·good·because·it·limits·the·amount·of·data·copied·to·the·old·heap·and·also·because·the·garbage·collection·algorithm·used·is·proportional·to·the·amount·of·live·data·on·the·heap.</p><p>One·critical·issue·to·note·here·is·that·any·term·on·the·young·heap·can·reference·terms·on·the·old·heap·but·<em>no</em>·term·on·the·old·heap·may·refer·to·a·term·on·the·young·heap.·This·is·due·to·the·nature·of·the·copy·algorithm.·Anything·referenced·by·an·old·heap·term·is·not·included·in·the·reference·tree,·root-set·and·its·followers,·and·hence·is·not·copied.·If·it·was,·the·data·would·be·lost,·fire·and·brimstone·would·rise·to·cover·the·earth.·Fortunately,·this·comes·naturally·for·Erlang·because·the·terms·are·immutable·and·thus·there·can·be·no·pointers·modified·on·the·old·heap·to·point·to·the·young·heap.</p><p>To·reclaim·data·from·the·old·heap,·both·young·and·old·heaps·are·included·during·the·collection·and·copied·to·a·common·<em>to·space</em>.·Both·the·<em>from·space</em>·of·the·young·and·old·heap·are·then·deallocated·and·the·procedure·will·start·over·from·the·beginning.·This·type·of·garbage·collection·is·called·a·full·sweep·and·is·triggered·when·the·size·of·the·area·under·the·high-watermark·is·larger·than·the·size·of·the·free·area·of·the·old·heap.·It·can·also·be·triggered·by·doing·a·manual·call·to·<a·href="http://erlang.org/doc/man/erlang.html#garbage_collect-0">erlang:garbage_collect()</a>,·or·by·running·into·the·young·garbage·collection·limit·set·by·[spawn_opt(fun(),<a·href="http://erlang.org/doc/man/erlang.html#spawn_opt-4">{fullsweep_after,·N}])</a>·where·N·is·the·number·of·young·garbage·collections·to·do·before·forcing·a·garbage·collection·of·both·young·and·old·heap.</p><h2·id="the-young-heap"·class="section-heading">164 <p>In·addition·to·the·collection·algorithm·described·above,·the·Erlang·garbage·collector·also·provides·generational·garbage·collection.·An·additional·heap,·called·the·old·heap,·is·used·where·the·long·lived·data·is·stored.·The·original·heap·is·called·the·young·heap,·or·sometimes·the·allocation·heap.</p><p>With·this·in·mind·we·can·look·at·the·Erlang's·garbage·collection·again.·During·the·copy·stage·anything·that·should·be·copied·to·the·young·<em>to·space</em>·is·instead·copied·to·the·old·<em>to·space</em>·<em>if</em>·it·is·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1127">below·the·<em>high-watermark</em></a>.</p><p><img·src="assets/gc-watermark.png"·alt="Garbage·collection:·heap·scan"/></p><p>The·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_process.h#L1021"><em>high-watermark</em></a>·is·placed·where·the·previous·garbage·collection·(described·in·<a·href="#overview">Overview</a>)·ended·and·we·have·introduced·a·new·area·called·the·old·heap.·When·doing·the·normal·garbage·collection·pass,·any·term·that·is·located·below·the·high-watermark·is·copied·to·the·old·<em>to·space</em>·instead·of·the·young.</p><p><img·src="assets/gc-watermark-2.png"·alt="Garbage·collection:·heap·scan"/></p><p>In·the·next·garbage·collection,·any·pointers·to·the·old·heap·will·be·ignored·and·not·scanned.·This·way·the·garbage·collector·does·not·have·to·scan·the·long-lived·terms.</p><p>Generational·garbage·collection·aims·to·increase·performance·at·the·expense·of·memory.·This·is·achieved·because·only·the·young,·smaller,·heap·is·considered·in·most·garbage·collections.</p><p>The·generational·hypothesis·predicts·that·most·terms·tend·to·die·young·(see·D.·Ungar·in·<a·href="#references">References</a>),·and·for·an·immutable·language·such·as·Erlang,·young·terms·die·even·faster·than·in·other·languages.·So·for·most·usage·patterns·the·data·in·the·new·heap·will·die·very·soon·after·it·is·allocated.·This·is·good·because·it·limits·the·amount·of·data·copied·to·the·old·heap·and·also·because·the·garbage·collection·algorithm·used·is·proportional·to·the·amount·of·live·data·on·the·heap.</p><p>One·critical·issue·to·note·here·is·that·any·term·on·the·young·heap·can·reference·terms·on·the·old·heap·but·<em>no</em>·term·on·the·old·heap·may·refer·to·a·term·on·the·young·heap.·This·is·due·to·the·nature·of·the·copy·algorithm.·Anything·referenced·by·an·old·heap·term·is·not·included·in·the·reference·tree,·root-set·and·its·followers,·and·hence·is·not·copied.·If·it·was,·the·data·would·be·lost,·fire·and·brimstone·would·rise·to·cover·the·earth.·Fortunately,·this·comes·naturally·for·Erlang·because·the·terms·are·immutable·and·thus·there·can·be·no·pointers·modified·on·the·old·heap·to·point·to·the·young·heap.</p><p>To·reclaim·data·from·the·old·heap,·both·young·and·old·heaps·are·included·during·the·collection·and·copied·to·a·common·<em>to·space</em>.·Both·the·<em>from·space</em>·of·the·young·and·old·heap·are·then·deallocated·and·the·procedure·will·start·over·from·the·beginning.·This·type·of·garbage·collection·is·called·a·full·sweep·and·is·triggered·when·the·size·of·the·area·under·the·high-watermark·is·larger·than·the·size·of·the·free·area·of·the·old·heap.·It·can·also·be·triggered·by·doing·a·manual·call·to·<a·href="http://erlang.org/doc/man/erlang.html#garbage_collect-0">erlang:garbage_collect()</a>,·or·by·running·into·the·young·garbage·collection·limit·set·by·[spawn_opt(fun(),<a·href="http://erlang.org/doc/man/erlang.html#spawn_opt-4">{fullsweep_after,·N}])</a>·where·N·is·the·number·of·young·garbage·collections·to·do·before·forcing·a·garbage·collection·of·both·young·and·old·heap.</p><h2·id="the-young-heap"·class="section-heading">
165 ··<a·href="#the-young-heap"·class="hover-link">165 ··<a·href="#the-young-heap"·class="hover-link">
Offset 175, 19 lines modifiedOffset 175, 19 lines modified
175 </h2>175 </h2>
176 <p>As·mentioned·in·the·Overview·the·size·of·the·heap·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L247">grows</a>·to·accommodate·more·data.·Heaps·grow·in·two·stages,·first·a·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L199-L208">variation·of·the·Fibonacci·sequence</a>·is·used·starting·at·233·words.·Then·at·about·1·mega·words·the·heap·only·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L215-L227">grows·in·20%·increments</a>.</p><p>There·are·two·occasions·when·the·young·heap·grows:</p><ul><li>if·the·total·size·of·the·heap·+·message·and·heap·fragments·exceeds·the·current·heap·size.</li><li>if·after·a·fullsweep,·the·total·amount·of·live·objects·is·greater·than·75%.</li></ul><p>There·are·two·occasions·when·the·young·heap·is·shrunk:</p><ul><li>if·after·a·young·collection,·the·total·amount·of·live·objects·is·less·than·25%·of·the·heap·and·the·young·heap·is·&quot;big&quot;</li><li>if·after·a·fullsweep,·the·total·amount·of·live·objects·is·less·than·25%·of·the·heap.</li></ul><p>The·old·heap·is·always·one·step·ahead·in·the·heap·growth·stages·than·the·young·heap.</p><h2·id="literals"·class="section-heading">176 <p>As·mentioned·in·the·Overview·the·size·of·the·heap·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L247">grows</a>·to·accommodate·more·data.·Heaps·grow·in·two·stages,·first·a·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L199-L208">variation·of·the·Fibonacci·sequence</a>·is·used·starting·at·233·words.·Then·at·about·1·mega·words·the·heap·only·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L215-L227">grows·in·20%·increments</a>.</p><p>There·are·two·occasions·when·the·young·heap·grows:</p><ul><li>if·the·total·size·of·the·heap·+·message·and·heap·fragments·exceeds·the·current·heap·size.</li><li>if·after·a·fullsweep,·the·total·amount·of·live·objects·is·greater·than·75%.</li></ul><p>There·are·two·occasions·when·the·young·heap·is·shrunk:</p><ul><li>if·after·a·young·collection,·the·total·amount·of·live·objects·is·less·than·25%·of·the·heap·and·the·young·heap·is·&quot;big&quot;</li><li>if·after·a·fullsweep,·the·total·amount·of·live·objects·is·less·than·25%·of·the·heap.</li></ul><p>The·old·heap·is·always·one·step·ahead·in·the·heap·growth·stages·than·the·young·heap.</p><h2·id="literals"·class="section-heading">
177 ··<a·href="#literals"·class="hover-link">177 ··<a·href="#literals"·class="hover-link">
178 ····<i·class="ri-link-m"·aria-hidden="true"></i>178 ····<i·class="ri-link-m"·aria-hidden="true"></i>
179 ··</a>179 ··</a>
180 ··<span·class="text">Literals</span>180 ··<span·class="text">Literals</span>
181 </h2>181 </h2>
182 <p>When·garbage·collecting·a·heap·(young·or·old)·all·literals·are·left·in·place·and·not·copied.·To·figure·out·if·a·term·should·be·copied·or·not·when·doing·a·garbage·collection·the·following·pseudo·code·is·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">if</span><span·class="w">·</span><span·class="p"·data-group-id="7769914701-1">(</span><span·class="nf">erts_is_literal</span><span·class="p"·data-group-id="7769914701-2">(</span><span·class="ss">ptr</span><span·class="p"·data-group-id="7769914701-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="[·...·truncated·by·diffoscope;·len:·541,·SHA:·862423ea78a419c11946cb733ee6f4f10d6a5202a82697f56e82d01e20303fac·...·]-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="6915885949-1">(</span><span·class="nf">erts_is_literal</span><span·class="p"·data-group-id="6915885949-2">(</span><span·class="ss">ptr</span><span·class="p"·data-group-id="6915885949-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="[·...·truncated·by·diffoscope;·len:·541,·SHA:·79ee42b5a92d42101f960c7805cafae76e7566567eef387146b1fd45c3e8eb7a·...·]-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="7769914701-5">}</span><span·class="w">·</span><span·class="k">else</span><span·class="w">·</span><span·class="p"·data-group-id="7769914701-6">{</span><span·class="w">184 </span><span·class="p"·data-group-id="6915885949-5">}</span><span·class="w">·</span><span·class="k">else</span><span·class="w">·</span><span·class="p"·data-group-id="6915885949-6">{</span><span·class="w">
185 ··</span><span·class="nf">copy</span><span·class="p"·data-group-id="7769914701-7">(</span><span·class="ss">ptr</span><span·class="p"·data-group-id="7769914701-7">)</span><span·class="p">;</span><span·class="w">185 ··</span><span·class="nf">copy</span><span·class="p"·data-group-id="6915885949-7">(</span><span·class="ss">ptr</span><span·class="p"·data-group-id="6915885949-7">)</span><span·class="p">;</span><span·class="w">
186 </span><span·class="p"·data-group-id="7769914701-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="6915885949-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.1 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/inet_cfg.html
    
Offset 161, 108 lines modifiedOffset 161, 108 lines modified
161 configuration·files·(or·system·registry):</p><ul><li>Hostnames·and·host·addresses</li><li>Domain·name</li><li>Nameservers</li><li>Search·domains</li><li>Lookup·method</li></ul><p>This·data·can·also·be·specified·explicitly·in·the·user·configuration·file.·This161 configuration·files·(or·system·registry):</p><ul><li>Hostnames·and·host·addresses</li><li>Domain·name</li><li>Nameservers</li><li>Search·domains</li><li>Lookup·method</li></ul><p>This·data·can·also·be·specified·explicitly·in·the·user·configuration·file.·This
162 file·is·to·contain·lines·of·configuration·parameters·(each·terminated·with·a162 file·is·to·contain·lines·of·configuration·parameters·(each·terminated·with·a
163 full·stop).·Some·parameters·add·data·to·the·configuration·(such·as·host·and163 full·stop).·Some·parameters·add·data·to·the·configuration·(such·as·host·and
164 nameserver),·others·overwrite·any·previous·settings·(such·as·domain·and·lookup).164 nameserver),·others·overwrite·any·previous·settings·(such·as·domain·and·lookup).
165 The·user·configuration·file·is·always·examined·last·in·the·configuration165 The·user·configuration·file·is·always·examined·last·in·the·configuration
166 process,·making·it·possible·for·the·user·to·override·any·default·values·or166 process,·making·it·possible·for·the·user·to·override·any·default·values·or
167 previously·made·settings.·Call·<code·class="inline">inet:get_rc()</code>·to·view·the·state·of·the·<code·class="inline">inet</code>167 previously·made·settings.·Call·<code·class="inline">inet:get_rc()</code>·to·view·the·state·of·the·<code·class="inline">inet</code>
168 configuration·database.</p><p>The·valid·configuration·parameters·are·as·follows:</p><ul><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6368984985-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="6368984985-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="9976992925-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="9976992925-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="6368984985-2">(</span><span·class="p"·data-group-id="6368984985-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="9976992925-2">(</span><span·class="p"·data-group-id="9976992925-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="6368984985-3">(</span><span·class="p"·data-group-id="6368984985-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="9976992925-3">(</span><span·class="p"·data-group-id="9976992925-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="1253539645-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="1253539645-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="6537183562-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="6537183562-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="1253539645-2">(</span><span·class="p"·data-group-id="1253539645-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="6537183562-2">(</span><span·class="p"·data-group-id="6537183562-2">)</span></code></pre><p>Specify·a·system·file·that·Erlang·is·to·read·resolver·configuration·from·for
173 the·internal·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>,·and·monitor·for·changes,·even·if·it·does173 the·internal·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>,·and·monitor·for·changes,·even·if·it·does
174 not·exist.·The·path·must·be·absolute.</p><p>This·can·override·the·configuration·parameters·<code·class="inline">nameserver</code>·and·<code·class="inline">search</code>174 not·exist.·The·path·must·be·absolute.</p><p>This·can·override·the·configuration·parameters·<code·class="inline">nameserver</code>·and·<code·class="inline">search</code>
175 depending·on·the·contents·of·the·specified·file.·They·can·also·change·any·time175 depending·on·the·contents·of·the·specified·file.·They·can·also·change·any·time
176 in·the·future·reflecting·the·file·contents.</p><p>If·the·file·is·specified·as·an·empty·string·<code·class="inline">&quot;&quot;</code>,·no·file·is·read·or·monitored176 in·the·future·reflecting·the·file·contents.</p><p>If·the·file·is·specified·as·an·empty·string·<code·class="inline">&quot;&quot;</code>,·no·file·is·read·or·monitored
177 in·the·future.·This·emulates·the·old·behavior·of·not·configuring·the·DNS177 in·the·future.·This·emulates·the·old·behavior·of·not·configuring·the·DNS
178 client·when·the·node·is·started·in·short·name·distributed·mode.</p><p>If·this·parameter·is·not·specified,·it·defaults·to·<code·class="inline">/etc/resolv.conf</code>·unless178 client·when·the·node·is·started·in·short·name·distributed·mode.</p><p>If·this·parameter·is·not·specified,·it·defaults·to·<code·class="inline">/etc/resolv.conf</code>·unless
179 environment·variable·<code·class="inline">ERL_INET_ETC_DIR</code>·is·set,·which·defines·the·directory179 environment·variable·<code·class="inline">ERL_INET_ETC_DIR</code>·is·set,·which·defines·the·directory
180 for·this·file·to·some·maybe·other·than·<code·class="inline">/etc</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8974043952-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="8974043952-1">}</span><span·class="p">.</span><span·class="w">180 for·this·file·to·some·maybe·other·than·<code·class="inline">/etc</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4352427356-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="4352427356-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="8974043952-2">(</span><span·class="p"·data-group-id="8974043952-2">)</span></code></pre><p>Specify·a·system·file·that·Erlang·is·to·read·resolver·configuration·from·for181 ··</span><span·class="n">File</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="4352427356-2">(</span><span·class="p"·data-group-id="4352427356-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="3802921338-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="3802921338-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="6977015051-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="6977015051-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="3802921338-2">(</span><span·class="p"·data-group-id="3802921338-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="6977015051-2">(</span><span·class="p"·data-group-id="6977015051-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="7969086904-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="7969086904-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="8834734251-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="8834734251-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="7969086904-2">(</span><span·class="p"·data-group-id="7969086904-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"[·...·truncated·by·diffoscope;·len:·186,·SHA:·4d251d8553c89044d043661a0bdd7ddeb758f542d1b95520c07b3287a836fb42·...·]-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="8834734251-2">(</span><span·class="p"·data-group-id="8834734251-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"[·...·truncated·by·diffoscope;·len:·186,·SHA:·3aa86a554fa10415b55a370150a493986e0e9b5e448331e9bb2dd025c4c9b6f7·...·]-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="6884677247-2">(</span><span·class="p"·data-group-id="6884677247-2">)</span></code></pre><p>Set·domain·name.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6717526264-1">{</span><span·class="ss">nameserver</span><[·...·truncated·by·diffoscope;·len:·294,·SHA:·01b5be1b027b1f481177ca139253fe633b729fc1ba03e8fdc2b764bb1ffed269·...·]-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="4654451222-2">(</span><span·class="p"·data-group-id="4654451222-2">)</span></code></pre><p>Set·domain·name.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2046650193-1">{</span><span·class="ss">nameserver</span><[·...·truncated·by·diffoscope;·len:·294,·SHA:·cd11a9754ab27bfe3c73648303c8540c9db3f7fb47894dbf943cd0ff71143f66·...·]-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="6717526264-3">(</span><span·class="p"·data-group-id="6717526264-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="2046650193-3">(</span><span·class="p"·data-group-id="2046650193-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="6717526264-4">(</span><span·class="p"·data-group-id="6717526264-4">)</span></code></pre><p>Add·address·(and·port,·if·other·than·default)·of·the·primary·nameserver·to·use194 ··</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2046650193-4">(</span><span·class="p"·data-group-id="2046650193-4">)</span></code></pre><p>Add·address·(and·port,·if·other·than·default)·of·the·primary·nameserver·to·use
195 for·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0624374126-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="0624374126-2">[</span><span·class="p">,</span><span·class="n">Port</[·...·truncated·by·diffoscope;·len:·99,·SHA:·f908eeabba300a35c95e9a6d2b226ae852a33e5fb105bd5c65bf6b16d068963b·...·]-1">}</span><span·class="p">.</span><span·class="w">195 for·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4120676355-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="4120676355-2">[</span><span·class="p">,</span><span·class="n">Port</[·...·truncated·by·diffoscope;·len:·99,·SHA:·da2285198f88822133c0f4b44ce65c691b0747f108f7134da5568c05486a41e6·...·]-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="0624374126-3">(</span><span·class="p"·data-group-id="0624374126-3">)</span><span·class="w">196 ··</span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">tuple</span><span·class="p"·data-group-id="4120676355-3">(</span><span·class="p"·data-group-id="4120676355-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="0624374126-4">(</span><span·class="p"·data-group-id="0624374126-4">)</span></code></pre><p>Add·address·(and·port,·if·other·than·default)·of·the·secondary·nameserver·for197 ··</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4120676355-4">(</span><span·class="p"·data-group-id="4120676355-4">)</span></code></pre><p>Add·address·(and·port,·if·other·than·default)·of·the·secondary·nameserver·for
198 <a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2410958827-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="2410958827-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="2410958827-2">[</span><span·class="nf">string</span><span·class="p"·data-group-id="2410958827-3">(</span><span·class="p"·data-group-id="2410958827-3">)</span><span·class="p"·data-group-id="2410958827-2">]</span></code></pre><p>Add·search·domains·for·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6056893902-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="6056893902-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="6056893902-2">[</span><span·class="nf">atom</span><span·class="p"·data-group-id="6056893902-3">(</span><span·class[·...·truncated·by·diffoscope;·len:·187,·SHA:·b8a12127c9077b314ed8ec4c7e6fa9cdc8a8a30c02af7c43d0be70472236c002·...·]198 <a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7947396882-1">{</span><span·class="ss">search</span><span·class="[·...·truncated·by·diffoscope;·len:·158,·SHA:·9c7d24101e35f2be2050dc901ef35e3efc7662098134f8da4fc375511ea9fdce·...·]
 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="7947396882-2">[</span><span·class="nf">string</span><span·class="p"·data-group-id="7947396882-3">(</span><span·class="p"·data-group-id="7947396882-3">)</span><span·class="p"·data-group-id="7947396882-2">]</span></code></pre><p>Add·search·domains·for·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2254680263-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="2254680263-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="2254680263-2">[</span><span·class="nf">atom</span><span·class="p"·data-group-id="2254680263-3">(</span><span·class="p"·data-group-id="2254680263-3">)</span><span·class="p"·data-group-id="2254680263-2">]</span></code></pre><p>Specify·lookup·methods·and·in·which·order·to·try·them.·The·valid·methods·are
201 as·follows:</p><ul><li><code·class="inline">native</code>·(use·system·calls)</li><li><code·class="inline">file</code>·(use·host·data·retrieved·from·system·configuration·files·and/or·the201 as·follows:</p><ul><li><code·class="inline">native</code>·(use·system·calls)</li><li><code·class="inline">file</code>·(use·host·data·retrieved·from·system·configuration·files·and/or·the
202 user·configuration·file)</li><li><code·class="inline">dns</code>·(use·the·Erlang·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·for·nameserver·queries)</li></ul><p>The·lookup·method·<code·class="inline">string</code>·tries·to·parse·the·hostname·as·an·IPv4·or·IPv6202 user·configuration·file)</li><li><code·class="inline">dns</code>·(use·the·Erlang·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·for·nameserver·queries)</li></ul><p>The·lookup·method·<code·class="inline">string</code>·tries·to·parse·the·hostname·as·an·IPv4·or·IPv6
203 string·and·return·the·resulting·IP·address.·It·is·automatically·tried·first203 string·and·return·the·resulting·IP·address.·It·is·automatically·tried·first
204 when·<code·class="inline">native</code>·is·<em>not</em>·in·the·<code·class="inline">Methods</code>·list.·To·skip·it·in·this·case,·the204 when·<code·class="inline">native</code>·is·<em>not</em>·in·the·<code·class="inline">Methods</code>·list.·To·skip·it·in·this·case,·the
205 pseudo·lookup·method·<code·class="inline">nostring</code>·can·be·inserted·anywhere·in·the·<code·class="inline">Methods</code>205 pseudo·lookup·method·<code·class="inline">nostring</code>·can·be·inserted·anywhere·in·the·<code·class="inline">Methods</code>
206 list.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5902026426-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="5902026426-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="7423031000-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="7423031000-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="5902026426-2">(</span><span·class="p"·data-group-id="5902026426-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="7423031000-2">(</span><span·class="p"·data-group-id="7423031000-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="1448992896-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="1448992896-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="3561489307-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="3561489307-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="1448992896-2">(</span><span·class="p"·data-group-id="1448992896-2">)</span></code></pre><p>Set·how·often·(in·milliseconds)·the·resolver·cache·for·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·is209 ··</span><span·class="n">Time</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3561489307-2">(</span><span·class="p"·data-group-id="3561489307-2">)</span></code></pre><p>Set·how·often·(in·milliseconds)·the·resolver·cache·for·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·is
210 refreshed·(that·is,·expired·DNS·records·are·deleted).·Defaults·to·1·hour.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7375245964-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="7375245964-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="9725220519-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="9725220519-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="7375245964-2">(</span><span·class="p"·data-group-id="7375245964-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="9725220519-2">(</span><span·class="p"·data-group-id="9725220519-2">)</span></code></pre><p>Set·the·time·to·wait·until·retry·(in·milliseconds)·for·DNS·queries·made·by
212 <a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.·Defaults·to·2·seconds.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1092912804-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="1092912804-1">}</span><span·class="p">.</span><span·class="w">212 <a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.·Defaults·to·2·seconds.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2313985746-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="2313985746-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="1092912804-2">(</span><span·class="p"·data-group-id="1092912804-2">)</span></code></pre><p>Set·the·number·of·DNS·queries·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·will·try·before·giving·up.·Defaults213 ··</span><span·class="n">N</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2313985746-2">(</span><span·class="p"·data-group-id="2313985746-2">)</span></code></pre><p>Set·the·number·of·DNS·queries·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·will·try·before·giving·up.·Defaults
214 to·3.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6280794516-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="6280794516-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="5651649403-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="5651649403-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="6280794516-2">(</span><span·class="p"·data-group-id="6280794516-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="5651649403-2">(</span><span·class="p"·data-group-id="5651649403-2">)</span></code></pre><p>After·all·name·servers·have·been·tried,·there·is·a·timeout·before·the·name
216 servers·are·tried·again.·This·is·to·prevent·the·server·from·answering·the216 servers·are·tried·again.·This·is·to·prevent·the·server·from·answering·the
217 query·with·what's·in·the·servfail·cache,217 query·with·what's·in·the·servfail·cache,
218 <a·href="../../../lib/kernel-10.3/doc/html/inet_res.html#servfail_retry_timeout"><code·class="inline">inet_res</code></a>.·Defaults·to·1500·milli218 <a·href="../../../lib/kernel-10.3/doc/html/inet_res.html#servfail_retry_timeout"><code·class="inline">inet_res</code></a>.·Defaults·to·1500·milli
219 seconds·.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4680011909-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="4680011909-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="4350511452-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="4350511452-1">}</span><span·class="p">.</span><span·class="w">
220 ··</span><span·class="n">Bool</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">false</span></code></pre><p>Tells·the·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·to·look·up·IPv6·addresses.·Defaults·to220 ··</span><span·class="n">Bool</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">false</span></code></pre><p>Tells·the·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·to·look·up·IPv6·addresses.·Defaults·to
221 <code·class="inline">false</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6454723774-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="6454723774-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="6898787443-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="6898787443-1">}</span><span·class="p">.</span><span·class="w">
222 ··</span><span·class="n">Bool</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">false</span></code></pre><p>Tells·the·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·to·use·TCP·(Virtual·Circuit)·instead·of·UDP.222 ··</span><span·class="n">Bool</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">false</span></code></pre><p>Tells·the·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·to·use·TCP·(Virtual·Circuit)·instead·of·UDP.
223 Defaults·to·<code·class="inline">false</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1314209240-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="1314209240-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="9276622864-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="9276622864-1">}</span><span·class="p">.</span><span·class="w">
224 ··</span><span·class="n">Version</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="mi">0</span></code></pre><p>Sets·the·EDNS·version·that·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·will·use.·The·only·allowed·version·is224 ··</span><span·class="n">Version</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="mi">0</span></code></pre><p>Sets·the·EDNS·version·that·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·will·use.·The·only·allowed·version·is
225 zero.·Defaults·to·<code·class="inline">false</code>,·which·means·not·to·use·EDNS.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6720534631-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="6720534631-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="4031366392-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="4031366392-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="6720534631-2">(</span><span·class="p"·data-group-id="6720534631-2">)</span></code></pre><p>Sets·the·allowed·UDP·payload·size·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·will·advertise·in·EDNS·queries.226 ··</span><span·class="n">N</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4031366392-2">(</span><span·class="p"·data-group-id="4031366392-2">)</span></code></pre><p>Sets·the·allowed·UDP·payload·size·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·will·advertise·in·EDNS·queries.
227 Also·sets·the·limit·when·the·DNS·query·will·be·deemed·too·large·for·UDP227 Also·sets·the·limit·when·the·DNS·query·will·be·deemed·too·large·for·UDP
228 forcing·a·TCP·query·instead;·this·is·not·entirely·correct,·as·the·advertised228 forcing·a·TCP·query·instead;·this·is·not·entirely·correct,·as·the·advertised
229 UDP·payload·size·of·the·individual·nameserver·is·what·is·to·be·used,·but·this229 UDP·payload·size·of·the·individual·nameserver·is·what·is·to·be·used,·but·this
230 simple·strategy·will·do·until·a·more·intelligent·(probing,·caching)·algorithm230 simple·strategy·will·do·until·a·more·intelligent·(probing,·caching)·algorithm
231 needs·to·be·implemented.·Default·to·1280,·which·stems·from·the·standard231 needs·to·be·implemented.·Default·to·1280,·which·stems·from·the·standard
232 Ethernet·MTU·size.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9411428705-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="9411428705-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="2825355493-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="2825355493-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="9411428705-2">(</span><span·class="p"·data-group-id="9411428705-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:·9ac6412c536dcefd040a8c6d4297af168d596cd8e6d9792d0a874b0f75d23b25·...·]-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="2825355493-2">(</span><span·class="p"·data-group-id="2825355493-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:·189340b1025b2a913f48e7cd89219af96eefaff0711b7aa776d651a0a93f75fa·...·]-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="6561668710-2">(</span><span·class="p"·data-group-id="6561668710-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="6882475113-2">(</span><span·class="p"·data-group-id="6882475113-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="7392264213-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="73922[·...·truncated·by·diffoscope;·len:·3,·SHA:·68fcd1eb684859a314bbf7f7c99037cead480f5bb209ccd4725bd319423e832f·...·]13-1">}</span><span·class="p">.</span><span·class="w">249 </span><span·class="p"·data-group-id="4624304913-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="46243[·...·truncated·by·diffoscope;·len:·3,·SHA:·3c241d2674142a5f160c29ede81c822e8a834b88c254dff24c0ed4eb313970a7·...·]13-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="7392264213-2">{</span><span·class="ss">host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7392264213-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:·361,·SHA:·809ff1e63a352332d040f36fc92f5bfc5b4878576ae506f9a632848b8b4c9ae3·...·]13-2">}</span><span·class="p">.</span><span·class="w">251 </span><span·class="p"·data-group-id="4624304913-2">{</span><span·class="ss">host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4624304913-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:·361,·SHA:·e6f4e7cd566f6b106510926ee0d19d76766d3c75f2b55d590caca17d0b90db01·...·]13-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="7392264213-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="7392264213-5">}</span><span·class="p">.</span><span·class="w">253 </span><span·class="p"·data-group-id="4624304913-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="4624304913-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="7392264213-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="7392264213-6">}</span><span·class="p">.</span><span·class="w">255 </span><span·class="p"·data-group-id="4624304913-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="4624304913-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="7392264213-7">{</span><span·class="ss">edns</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="7392264213-7">}</span><span·class="p">.</span><span·class="w">257 </span><span·class="p"·data-group-id="4624304913-7">{</span><span·class="ss">edns</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="4624304913-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="7392264213-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="7392264213-8">}</span><span·class="p">.</span><span·class="w">259 </span><span·class="p"·data-group-id="4624304913-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="4624304913-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="7392264213-9">{</span><span·class="ss">lookup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7392264213-10">[</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">dns</span[·...·truncated·by·diffoscope;·len:·94,·SHA:·f31ff16b17a4ae6182561c8b3972a3a048e3a1612d0c960746ad424aa0d84ed2·...·]13-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="4624304913-9">{</span><span·class="ss">lookup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4624304913-10">[</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">dns</span[·...·truncated·by·diffoscope;·len:·94,·SHA:·52479a0882eb93489d4bc103e2410932d10984bdc9447ccac1f3ae527a67d766·...·]13-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>
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;
667 B
html2text {}
Max HTML report size reached
17.4 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/init.html
    
Offset 157, 16 lines modifiedOffset 157, 16 lines modified
157 BF</code></pre><p>If·multiple·<code·class="inline">-eval</code>·expressions·are·specified,·they·are·evaluated·sequentially157 BF</code></pre><p>If·multiple·<code·class="inline">-eval</code>·expressions·are·specified,·they·are·evaluated·sequentially
158 in·the·order·specified.·<code·class="inline">-eval</code>·expressions·are·evaluated·sequentially·with158 in·the·order·specified.·<code·class="inline">-eval</code>·expressions·are·evaluated·sequentially·with
159 <code·class="inline">-s</code>·and·<code·class="inline">-run</code>·function·calls·(this·also·in·the·order·specified).·As·with159 <code·class="inline">-s</code>·and·<code·class="inline">-run</code>·function·calls·(this·also·in·the·order·specified).·As·with
160 <code·class="inline">-s</code>·and·<code·class="inline">-run</code>,·an·evaluation·that·does·not·terminate·blocks·the·system160 <code·class="inline">-s</code>·and·<code·class="inline">-run</code>,·an·evaluation·that·does·not·terminate·blocks·the·system
161 initialization·process.</p></li><li><p><strong><code·class="inline">-extra</code></strong>·-·Everything·following·<code·class="inline">-extra</code>·is·considered·plain·arguments·and161 initialization·process.</p></li><li><p><strong><code·class="inline">-extra</code></strong>·-·Everything·following·<code·class="inline">-extra</code>·is·considered·plain·arguments·and
162 can·be·retrieved·using·<a·href="#get_plain_arguments/0"><code·class="inline">get_plain_arguments/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-extra·+A·1·--</span><span·class="w">162 can·be·retrieved·using·<a·href="#get_plain_arguments/0"><code·class="inline">get_plain_arguments/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-extra·+A·1·--</span><span·class="w">
163 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">163 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">
164 1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_plain_arguments</span><span·class="p"·data-group-id="3160534595-1">(</span><span·class="p"·data-group-id="3160534595-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="7677324146-1">(</span><span·class="p"·data-group-id="7677324146-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="3160534595-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="3160534595-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="7677324146-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="7677324146-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="5442079718-1">(</span><span·class="p"·data-group-id="5442079718-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="6098636540-1">(</span><span·class="p"·data-group-id="6098636540-1">)</span><span·class="p">.</span><span·class="w">
219 </span><span·class="p"·data-group-id="5442079718-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:·57dfdf23345f4fef19831f13db4e14fbb453440d682f65a3d86508d97872943a·...·]-2">]</span><span·class="gp·unselectable">219 </span><span·class="p"·data-group-id="6098636540-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:·79a0da67b25a0545a318927f20bf73c257a029df2ead3b9f97a2b0bc31c0fd6d·...·]-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="5442079718-3">(</span><span·class="ss">children</span><span·class="p"·data-group-id="5442079718-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="6098636540-3">(</span><span·class="ss">children</span><span·class="p"·data-group-id="6098636540-3">)</span><span·class="p">.</span><span·class="w">
221 </span><span·class="p"·data-group-id="5442079718-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5442079718-5">[</span><span·class="p"·data-group-id="5442079718-6">[</span><span·class="s">&quot;thomas&quot;</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·175,·SHA:·75fcbe3b79a4441afee5394fa8838b4e257c0d032ab6b050432587ea2fe7dd23·...·]-4">}</span><span·class="gp·unselectable">221 </span><span·class="p"·data-group-id="6098636540-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6098636540-5">[</span><span·class="p"·data-group-id="6098636540-6">[</span><span·class="s">&quot;thomas&quot;</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·175,·SHA:·3635126bfd91672e554b700289c227a9d34bd99d80e0903202a9edbf7ee253c5·...·]-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="5442079718-7">(</span><span·class="ss">ages</span><span·class="p"·data-group-id="5442079718-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="6098636540-7">(</span><span·class="ss">ages</span><span·class="p"·data-group-id="6098636540-7">)</span><span·class="p">.</span><span·class="w">
223 </span><span·class="p"·data-group-id="5442079718-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5442079718-9">[</span><span·class="p"·data-group-id="5442079718-10">[</span><span·class="s">&quot;7&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·191,·SHA:·7f57122ff7edc2b1a692dc90afeedf13a9ca89f8be38a80933cff1de75415a63·...·]-8">}</span><span·class="gp·unselectable">223 </span><span·class="p"·data-group-id="6098636540-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6098636540-9">[</span><span·class="p"·data-group-id="6098636540-10">[</span><span·class="s">&quot;7&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·191,·SHA:·f439ed6f5c88e1862e2ed04f440166feee052659859b04a6b5698e1bb8e38d27·...·]-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="5442079718-11">(</span><span·class="ss">silly</span><span·class="p"·data-group-id="5442079718-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="6098636540-11">(</span><span·class="ss">silly</span><span·class="p"·data-group-id="6098636540-11">)</span><span·class="p">.</span><span·class="w">
225 </span><span·class="ss">error</span></code></pre><h2·id="module-see-also"·class="section-heading">225 </span><span·class="ss">error</span></code></pre><h2·id="module-see-also"·class="section-heading">
226 ··<a·href="#module-see-also"·class="hover-link">226 ··<a·href="#module-see-also"·class="hover-link">
227 ····<i·class="ri-link-m"·aria-hidden="true"></i>227 ····<i·class="ri-link-m"·aria-hidden="true"></i>
228 ··</a>228 ··</a>
229 ··<span·class="text">See·Also</span>229 ··<span·class="text">See·Also</span>
230 </h2>230 </h2>
231 <p><a·href="erl_prim_loader.html"><code·class="inline">erl_prim_loader</code></a>,·<a·href="../../../lib/kernel-10.3/doc/html/heart.html"><code·class="inline">heart</code></a></p>231 <p><a·href="erl_prim_loader.html"><code·class="inline">erl_prim_loader</code></a>,·<a·href="../../../lib/kernel-10.3/doc/html/heart.html"><code·class="inline">heart</code></a></p>
Offset 512, 20 lines modifiedOffset 512, 20 lines modified
512 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_argument(Flag)·->·{ok,·Arg}·|·error·when·Flag·::·<a·href="erlang.html#t:atom/0">atom</a>(),·Arg·::·[Values·::·[<a·href="erlang.html#t:string/0">string</a>()]].</pre>512 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_argument(Flag)·->·{ok,·Arg}·|·error·when·Flag·::·<a·href="erlang.html#t:atom/0">atom</a>(),·Arg·::·[Values·::·[<a·href="erlang.html#t:string/0">string</a>()]].</pre>
  
513 ······</div>513 ······</div>
  
514 <p>Returns·all·values·associated·with·the·command-line·user·flag·<code·class="inline">Flag</code>.</p><p>If·<code·class="inline">Flag</code>·is·provided·several·times,·each·<code·class="inline">Values</code>·is·returned·in·preserved·order.514 <p>Returns·all·values·associated·with·the·command-line·user·flag·<code·class="inline">Flag</code>.</p><p>If·<code·class="inline">Flag</code>·is·provided·several·times,·each·<code·class="inline">Values</code>·is·returned·in·preserved·order.
515 Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-a·b·c·-a·d</span><span·class="w">515 Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-a·b·c·-a·d</span><span·class="w">
516 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">516 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">
517 1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="4188241687-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="4188241687-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="7377034874-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="7377034874-1">)</span><span·class="p">.</span><span·class="w">
518 </span><span·class="p"·data-group-id="4188241687-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4188241687-3">[</span><span·class="p"·data-group-id="4188241687-4">[</span><span·class="s">&quot;b&quot;</span><span·class="p">,</span><span·class="s">&q[·...·truncated·by·diffoscope;·len:·331,·SHA:·563e0253b739b3911d9b3039e052a0019f562da383915a1e540bd21cdd8dbe8a·...·]-2">}</span></code></pre><p>The·following·flags·are·defined·automatically·and·can·be·retrieved·using·this518 </span><span·class="p"·data-group-id="7377034874-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7377034874-3">[</span><span·class="p"·data-group-id="7377034874-4">[</span><span·class="s">&quot;b&quot;</span><span·class="p">,</span><span·class="s">&q[·...·truncated·by·diffoscope;·len:·331,·SHA:·dbde1720adfe80719732582f96f56bca8459e24f8415f5e015124a0901f6b72c·...·]-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="4652425889-1">(</span><span·class="ss">progname</span><span·class="p"·data-group-id="4652425889-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="9506027334-1">(</span><span·class="ss">progname</span><span·class="p"·data-group-id="9506027334-1">)</span><span·class="p">.</span><span·class="w">
521 </span><span·class="p"·data-group-id="4652425889-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4652425889-3">[</span><span·class="p"·data-group-id="4652425889-4">[</span><span·class="s">&quot;erl&quot;</span><span·class="p"·data-group-id="465242588[·...·truncated·by·diffoscope;·len:·560,·SHA:·e5b978194e4246cadb10d963b3a7f70c05710f63a2e8cd090d78d9273d5c3f5f·...·]-1">)</span><span·class="p">.</span><span·class="w">521 </span><span·class="p"·data-group-id="9506027334-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9506027334-3">[</span><span·class="p"·data-group-id="9506027334-4">[</span><span·class="s">&quot;erl&quot;</span><span·class="p"·data-group-id="950602733[·...·truncated·by·diffoscope;·len:·560,·SHA:·5e29300ac5361dd64689d3ac0a37ea5071ad4675450b6f20c2cc280d9da08c6d·...·]-1">)</span><span·class="p">.</span><span·class="w">
522 </span><span·class="p"·data-group-id="7814326227-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7814326227-3">[</span><span·class="p"·data-group-id="7814326227-4">[</span><span·class="s">&quot;/home/harry&quot;</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·115,·SHA:·33e818816036f0a64a770d39f5944f267e1a16bb22530150b2d53d89114049e1·...·]-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="6112605523-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6112605523-3">[</span><span·class="p"·data-group-id="6112605523-4">[</span><span·class="s">&quot;/home/harry&quot;</span><span·class="p"·data-group-id="6[·...·truncated·by·diffoscope;·len:·115,·SHA:·4f3b0dea40817b5f92cab6c24860dc0185de7f82532704ffae4af85d3779d241·...·]-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.46 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/introduction.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-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;
661 B
html2text {}
Max HTML report size reached
52.4 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/match_spec.html
    
Offset 367, 78 lines modifiedOffset 367, 78 lines modified
367 language,·that·is,·for·their·side·effects.·Functions·with·side·effects·are·also367 language,·that·is,·for·their·side·effects.·Functions·with·side·effects·are·also
368 allowed·when·tracing.</p><h2·id="tracing-examples"·class="section-heading">368 allowed·when·tracing.</p><h2·id="tracing-examples"·class="section-heading">
369 ··<a·href="#tracing-examples"·class="hover-link">369 ··<a·href="#tracing-examples"·class="hover-link">
370 ····<i·class="ri-link-m"·aria-hidden="true"></i>370 ····<i·class="ri-link-m"·aria-hidden="true"></i>
371 ··</a>371 ··</a>
372 ··<span·class="text">Tracing·Examples</span>372 ··<span·class="text">Tracing·Examples</span>
373 </h2>373 </h2>
374 <p>Match·an·argument·list·of·three,·where·the·first·and·third·arguments·are·equal:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9619947664-1">[</span><span·class="p"·data-group-id="9619947664-2">{</span><span·class="p"·data-group-id="9619947664-3">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·cla[·...·truncated·by·diffoscope;·len:·116,·SHA:·65bac0e6e389febae54a7d855c6ca63eca5244dd732c5a37cf953e160fc42f86·...·]-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="4613024936-1">[</span><span·class="p"·data-group-id="4613024936-2">{</span><span·class="p"·data-group-id="4613024936-3">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·cla[·...·truncated·by·diffoscope;·len:·116,·SHA:·b6c8c65046ab82333303e7c4abab5159ca7436d66fcea4fcbe6bdf2b9205cd2d·...·]-3">]</span><span·class="p">,</span><span·class="w">
375 ··</span><span·class="p"·data-group-id="9619947664-4">[</span><span·class="p"·data-group-id="9619947664-4">]</span><span·class="p">,</span><span·class="w">375 ··</span><span·class="p"·data-group-id="4613024936-4">[</span><span·class="p"·data-group-id="4613024936-4">]</span><span·class="p">,</span><span·class="w">
376 ··</span><span·class="p"·data-group-id="9619947664-5">[</span><span·class="p"·data-group-id="9619947664-5">]</span><span·class="p"·data-group-id="9619947664-2">}</span><span·class="p"·data-group-id="9619947664-1">]</span></code></pre><p>Match·an·argument·list·of·three,·where·the·second·argument·[·...·truncated·by·diffoscope;·len:·473,·SHA:·2899164080067e7f4a11e033a78d126c55e323d18f4f35449c4851324fcda8b1·...·]-3">]</span><span·class="p">,</span><span·class="w">376 ··</span><span·class="p"·data-group-id="4613024936-5">[</span><span·class="p"·data-group-id="4613024936-5">]</span><span·class="p"·data-group-id="4613024936-2">}</span><span·class="p"·data-group-id="4613024936-1">]</span></code></pre><p>Match·an·argument·list·of·three,·where·the·second·argument·[·...·truncated·by·diffoscope;·len:·473,·SHA:·52a91495ee5082e712b6ab698f200c3b8c44de0f28d3b68a369fabea2af75bc3·...·]-3">]</span><span·class="p">,</span><span·class="w">
377 ··</span><span·class="p"·data-group-id="1423904158-4">[</span><span·class="p"·data-group-id="1423904158-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:·90ab19801908c99f046b173f2314a55a7ae7a1dbdf1d738bcac32e019dec9e25·...·]-4">]</span><span·class="p">,</span><span·class="w">377 ··</span><span·class="p"·data-group-id="2052178727-4">[</span><span·class="p"·data-group-id="2052178727-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:·e5bfc12673b8a9b4c7206254d26aef031748a184b1ddfa8f23c19bd7b08b7191·...·]-4">]</span><span·class="p">,</span><span·class="w">
378 ··</span><span·class="p"·data-group-id="1423904158-6">[</span><span·class="p"·data-group-id="1423904158-6">]</span><span·class="p"·data-group-id="1423904158-2">}</span><span·class="p"·data-group-id="1423904158-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="2052178727-6">[</span><span·class="p"·data-group-id="2052178727-6">]</span><span·class="p"·data-group-id="2052178727-2">}</span><span·class="p"·data-group-id="2052178727-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="6095445632-1">[</span><span·class="p"·data-group-id="6095445632-2">{</span><span·class="p"·data-group-id="6095445632-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:·ff1aba2282bd0f7acc9031f7766275aaf2cb33c3eb4cc6dc7b37254875d96e9c·...·]-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="0763034750-1">[</span><span·class="p"·data-group-id="0763034750-2">{</span><span·class="p"·data-group-id="0763034750-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:·795b6c69d332a7cbce590402a53f595dd3644ed9dc2a686f0aeb9d9cfbbada32·...·]-3">]</span><span·class="p">,</span><span·class="w">
381 ··</span><span·class="p"·data-group-id="6095445632-4">[</span><span·class="p"·data-group-id="6095445632-5">{</span><span·class="ss">&#39;orelse&#39;</span><span·class="p">,</span><span·class="w">381 ··</span><span·class="p"·data-group-id="0763034750-4">[</span><span·class="p"·data-group-id="0763034750-5">{</span><span·class="ss">&#39;orelse&#39;</span><span·class="p">,</span><span·class="w">
382 ······</span><span·class="p"·data-group-id="6095445632-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="6095445632-7">{</span><span·class=[·...·truncated·by·diffoscope;·len:·284,·SHA:·a904731a1dfb05cde9e3b31b5a4fbb2f630228dde8f722218e22f33f06c6213d·...·]-6">}</span><span·class="p">,</span><span·class="w">382 ······</span><span·class="p"·data-group-id="0763034750-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="0763034750-7">{</span><span·class=[·...·truncated·by·diffoscope;·len:·284,·SHA:·cc0bbc9047540eb19cdd00a76040f6142deb4de5d7847ce98811f1ad59c0f752·...·]-6">}</span><span·class="p">,</span><span·class="w">
383 ······</span><span·class="p"·data-group-id="6095445632-9">{</span><span·class="ss">&#39;and&#39;</span><span·class="p">,</span><span·class="w">383 ······</span><span·class="p"·data-group-id="0763034750-9">{</span><span·class="ss">&#39;and&#39;</span><span·class="p">,</span><span·class="w">
384 ········</span><span·class="p"·data-group-id="6095445632-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="6095445632-11">{</span><span·clas[·...·truncated·by·diffoscope;·len:·195,·SHA:·3331d4a346a819f793a33f4ae4723058cec8923933e5f3eb1f710b02811695fa·...·]-10">}</span><span·class="p">,</span><span·class="w">384 ········</span><span·class="p"·data-group-id="0763034750-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="0763034750-11">{</span><span·clas[·...·truncated·by·diffoscope;·len:·195,·SHA:·eb5b20e75c531d9f130738763ce3eca8d886e329316ae52c92d52790cf98a08f·...·]-10">}</span><span·class="p">,</span><span·class="w">
385 ········</span><span·class="p"·data-group-id="6095445632-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="6095445632-13">{</span><span·clas[·...·truncated·by·diffoscope;·len:·537,·SHA:·2db954ef28476047b969627d56dcb032838ad4acd1da7eb5115047dbaff708df·...·]-4">]</span><span·class="p">,</span><span·class="w">385 ········</span><span·class="p"·data-group-id="0763034750-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="0763034750-13">{</span><span·clas[·...·truncated·by·diffoscope;·len:·537,·SHA:·05eff0544093ccaea6ef49b21fe35b9db64c838a23ae488875f9d60700f326aa·...·]-4">]</span><span·class="p">,</span><span·class="w">
386 ··</span><span·class="p"·data-group-id="6095445632-15">[</span><span·class="p"·data-group-id="6095445632-15">]</span><span·class="p"·data-group-id="6095445632-2">}</span><span·class="p"·data-group-id="6095445632-1">]</span></code></pre><p>The·above·problem·can·also·be·solved·as·follows:</p><pre>[·...·truncated·by·diffoscope;·len:·411,·SHA:·067cdfc8d435d813cbdaf721b2b6d2b4d8ed997b0c723cba5c06748ead397812·...·]-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="0763034750-15">[</span><span·class="p"·data-group-id="0763034750-15">]</span><span·class="p"·data-group-id="0763034750-2">}</span><span·class="p"·data-group-id="0763034750-1">]</span></code></pre><p>The·above·problem·can·also·be·solved·as·follows:</p><pre>[·...·truncated·by·diffoscope;·len:·411,·SHA:·3fa61453fd0e2858f55437f524bc27f1356cb2da9205727ab005ee77c63df68a·...·]-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="3405804569-5">[</span><span·class="p"·data-group-id="3405804569-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3405804569-6">[</span><span·class="p"·data-group-id="3405804569-6">]</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·f72e6288673321736248cb9a2fef3d441e950add34c993715e9f6d77fdad6830·...·]-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="2974935064-5">[</span><span·class="p"·data-group-id="2974935064-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2974935064-6">[</span><span·class="p"·data-group-id="2974935064-6">]</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·f9506eca421d84aac01a0b6ef9e4f253b57f4074898d126856157fe2d765c608·...·]-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="8288835263-1">[</span><span·class="p"·data-group-id="8288835263-2">{</span><span·class="p"·data-group-id="8288835263-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:·1174,·SHA:·7171321223d2e6cc7bac3f0d66d387c322a27f305555f6951cc0cf19a06d2834·...·]-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="6400086861-1">[</span><span·class="p"·data-group-id="6400086861-2">{</span><span·class="p"·data-group-id="6400086861-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:·1174,·SHA:·f5dabf516b6b49c9469d11a09f8367f36921f40197955340d3479d7f6b6992bc·...·]-4">]</span><span·class="p">,</span><span·class="w">
390 ··</span><span·class="p"·data-group-id="8288835263-9">[</span><span·class="p"·data-group-id="8288835263-9">]</span><span·class="p"·data-group-id="8288835263-2">}</span><span·class="p"·data-group-id="8288835263-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="6400086861-9">[</span><span·class="p"·data-group-id="6400086861-9">]</span><span·class="p"·data-group-id="6400086861-2">}</span><span·class="p"·data-group-id="6400086861-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="2324377738-1">[</span><span·class="p"·data-group-id="2324377738-2">{</span><span·class="p"·data-group-id="2324377738-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:·d8d562150d60efcde8a3bb3744beb10ac2e7cf47a73e7ef398fa3a4bd3104c0d·...·]-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="0545075911-1">[</span><span·class="p"·data-group-id="0545075911-2">{</span><span·class="p"·data-group-id="0545075911-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:·6d28fe5ed95aa1caf4c253bce82f2b9aed9cecd2347fa2d8d90873f3b3381a0e·...·]-3">]</span><span·class="p">,</span><span·class="w">
393 ··</span><span·class="p"·data-group-id="2324377738-4">[</span><span·class="p"·data-group-id="2324377738-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="2324377738-5">}</span><span·class="p"·data-group-id="2324377738-4">]</span><span·class="p">,</span><span·class="w"> 
394 ··</span><span·class="p"·data-group-id="2324377738-6">[</span><span·class="p"·data-group-id="2324377738-7">{</span><span·class="ss">message</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2324377738-8">{</span><span·class="ss">process_dump</span><span·class="p"·data-group-id="2324377738-8">}</span><span·class="p"·data-group-id="2324377738-7">}</span><span·class="p"·data-group-id="2324377738-6">]</span><span·class="p"·data-group-id="2324377738-2">}</span><span·class="p">,</span><span·class="w"> 
395 ·</span><span·class="p"·data-group-id="2324377738-9">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2324377738-10">[</span><span·class="p"·data-group-id="2324377738-10">]</span><span[·...·truncated·by·diffoscope;·len:·644,·SHA:·1cb04938d8f4c69a20a5225625ee6f6e70e6e50b4eb977da33e90c9d415e8891·...·]393 ··</span><span·class="p"·data-group-id="0545075911-4">[</span><span·class="p"·data-group-id="0545075911-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-grou[·...·truncated·by·diffoscope;·len:·121,·SHA:·e936f9720cb27b35d1eeefbc64e0dd1b982915202420af90b3168c393f544a24·...·]
 394 ··</span><span·class="p"·data-group-id="0545075911-6">[</span><span·class="p"·data-group-id="0545075911-7">{</span><span·class="ss">message</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0545075911-8">{</span><span·class="ss">process_dump</span><span·class="p"·data-group-id="0545075911-8">}</span><span·class="p"·data-group-id="0545075911-7">}</span><span·class="p"·data-group-id="0545075911-6">]</span><span·class="p"·data-group-id="0545075911-2">}</span><span·class="p">,</span><span·class="w">
 395 ·</span><span·class="p"·data-group-id="0545075911-9">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0545075911-10">[</span><span·class="p"·data-group-id="0545075911-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0545075911-11">[</span><span·class="p"·data-group-id="0545075911-12">{</span><span·class="ss">set_seq_token</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">label</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4711</span><span·class="p"·data-group-id="0545075911-12">}</span><span·class="p"·data-group-id="0545075911-11">]</span><span·class="p"·data-group-id="0545075911-9">}</span><span·class="p"·data-group-id="0545075911-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="2722189891-1">[</span><span·class="p"·data-group-id="2722189891-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="4126279408-1">[</span><span·class="p"·data-group-id="4126279408-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">
399 ··</span><span·class="p"·data-group-id="2722189891-3">[</span><span·class="p"·data-group-id="2722189891-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2722189891-5">{</span><span·class="ss">get_tcw</span><span·class="p"·data-group-id="272218[·...·truncated·by·diffoscope;·len:·342,·SHA:·7a7097dec418343eaef9379d4b55f67fed4cf22ae7c0be717cbefae5933d3565·...·]-3">]</span><span·class="p">,</span><span·class="w">399 ··</span><span·class="p"·data-group-id="4126279408-3">[</span><span·class="p"·data-group-id="4126279408-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4126279408-5">{</span><span·class="ss">get_tcw</span><span·class="p"·data-group-id="412627[·...·truncated·by·diffoscope;·len:·342,·SHA:·d73c810a1941287c45616c1bc173b9fe9329097fb361876478a90ed40712e258·...·]-3">]</span><span·class="p">,</span><span·class="w">
400 ··</span><span·class="p"·data-group-id="2722189891-7">[</span><span·class="p"·data-group-id="2722189891-7">]</span><span·class="p"·data-group-id="2722189891-2">}</span><span·class="p"·data-group-id="2722189891-1">]</span></code></pre><p>Generate·a·trace·message·only·if·there·is·a·<code·class="in[·...·truncated·by·diffoscope;·len:·174,·SHA:·ce5c2a2ec1a04e21adaf6daa064d9430d866979d56cb84ff96f274b95768d1b5·...·]3-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">400 ··</span><span·class="p"·data-group-id="4126279408-7">[</span><span·class="p"·data-group-id="4126279408-7">]</span><span·class="p"·data-group-id="4126279408-2">}</span><span·class="p"·data-group-id="4126279408-1">]</span></code></pre><p>Generate·a·trace·message·only·if·there·is·a·<code·class="in[·...·truncated·by·diffoscope;·len:·174,·SHA:·12c92cc4c2b1c3ebc6dcc0e5b8336710a03724882e6aa38a7c0bb20014cb0dff·...·]3-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">
401 ··</span><span·class="p"·data-group-id="7713290893-3">[</span><span·class="p"·data-group-id="7713290893-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="7713290893-5">{</span><span·class="ss">is_seq_trace</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·346,·SHA:·53cbc2daeb50020c1cefccba31ff7600f50d29da4490bcc56b47107579a82c9e·...·]3-3">]</span><span·class="p">,</span><span·class="w">401 ··</span><span·class="p"·data-group-id="2625981103-3">[</span><span·class="p"·data-group-id="2625981103-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2625981103-5">{</span><span·class="ss">is_seq_trace</span><span·class="p"·data-group-id="2[·...·truncated·by·diffoscope;·len:·346,·SHA:·38ceb3a23d3082298f3d6524a08d7515a7ffd159fdaab39098f201483dd0f12f·...·]3-3">]</span><span·class="p">,</span><span·class="w">
402 ··</span><span·class="p"·data-group-id="7713290893-7">[</span><span·class="p"·data-group-id="7713290893-7">]</span><span·class="p"·data-group-id="7713290893-2">}</span><span·class="p"·data-group-id="7713290893-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·add402 ··</span><span·class="p"·data-group-id="2625981103-7">[</span><span·class="p"·data-group-id="2625981103-7">]</span><span·class="p"·data-group-id="2625981103-2">}</span><span·class="p"·data-group-id="2625981103-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="2270417940-1">[</span><span·class="p"·data-group-id="2270417940-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="3870870911-1">[</span><span·class="p"·data-group-id="3870870911-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
404 ··</span><span·class="p"·data-group-id="2270417940-3">[</span><span·class="p"·data-group-id="2270417940-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2270417940-5">{</span><span·class="nb">hd</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·244,·SHA:·87482605970eae26db2c9c65f6cdf1643836a5f7497f94094f213bdc60df15a1·...·]-3">]</span><span·class="p">,</span><span·class="w">404 ··</span><span·class="p"·data-group-id="3870870911-3">[</span><span·class="p"·data-group-id="3870870911-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="3870870911-5">{</span><span·class="nb">hd</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·244,·SHA:·183f16674e861a63e1c13acd080dabd23094d2f6963628721e44777be50fd10a·...·]-3">]</span><span·class="p">,</span><span·class="w">
405 ··</span><span·class="p"·data-group-id="2270417940-6">[</span><span·class="p"·data-group-id="2270417940-7">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2270417940-8">[</span><span·class="ss">silent</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·309,·SHA:·74598506838800132a057efaac94bfc3dbebab6367b3ee2816babe44fbf2863e·...·]-2">}</span><span·class="p">,</span><span·class="w">405 ··</span><span·class="p"·data-group-id="3870870911-6">[</span><span·class="p"·data-group-id="3870870911-7">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3870870911-8">[</span><span·class="ss">silent</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·309,·SHA:·94a649d2ac8454668bc7262a8c9df81d8ff3cdb571adb8dbb99a3dc3afa5a5b9·...·]-2">}</span><span·class="p">,</span><span·class="w">
406 ·</span><span·class="p"·data-group-id="2270417940-10">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">406 ·</span><span·class="p"·data-group-id="3870870911-10">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
407 ··</span><span·class="p"·data-group-id="2270417940-11">[</span><span·class="p"·data-group-id="2270417940-12">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2270417940-13">{</span><span·class="nb">hd</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·248,·SHA:·d818fc0fe4e0854d61b5f489d02021400c9550db851894b22f9dba971e82208f·...·]-11">]</span><span·class="p">,</span><span·class="w">407 ··</span><span·class="p"·data-group-id="3870870911-11">[</span><span·class="p"·data-group-id="3870870911-12">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="3870870911-13">{</span><span·class="nb">hd</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·248,·SHA:·776597b82b435ab00c94b552d82613bebdeea4ee6a49f9b097bb2628cdc6c188·...·]-11">]</span><span·class="p">,</span><span·class="w">
408 ··</span><span·class="p"·data-group-id="2270417940-14">[</span><span·class="p"·data-group-id="2270417940-15">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2270417940-16">[</span><span·class="p"·data-group-id="2270417940-16">]<[·...·truncated·by·diffoscope;·len:·630,·SHA:·cf962e4e2e8077dfc97b1f0d86b39e4077823c95c6dd1b032f4e33a9542502ec·...·]-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">408 ··</span><span·class="p"·data-group-id="3870870911-14">[</span><span·class="p"·data-group-id="3870870911-15">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3870870911-16">[</span><span·class="p"·data-group-id="3870870911-16">]<[·...·truncated·by·diffoscope;·len:·630,·SHA:·519e5497f9e024290b15271f892a994d773eac4072be9a80d5030403c19daa48·...·]-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
409 ··</span><span·class="p"·data-group-id="6323155886-3">[</span><span·class="p"·data-group-id="6323155886-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6323155886-5">{</span><span·class="nb">length</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·242,·SHA:·704a4901d7c27a5f579dc2ff1766b70d05ec18c584197b23840fa4f05be9f027·...·]-3">]</span><span·class="p">,</span><span·class="w">409 ··</span><span·class="p"·data-group-id="2332362861-3">[</span><span·class="p"·data-group-id="2332362861-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2332362861-5">{</span><span·class="nb">length</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·242,·SHA:·3c3d521f49cad6c6749399a4364c9c8ff437b8e82cfb3ab4a14b0d14faa39ebc·...·]-3">]</span><span·class="p">,</span><span·class="w">
410 ··</span><span·class="p"·data-group-id="6323155886-6">[</span><span·class="p"·data-group-id="6323155886-7">{</span><span·class="ss">return_trace</span><span·class="p"·data-group-id="6323155886-7">}</span><span·class="p"·data-group-id="6323155886-6">]</span><span·class="p"·data-group-id="63231558[·...·truncated·by·diffoscope;·len:·2,·SHA:·434c9b5ae514646bbd91b50032ca579efec8f22bf0b4aac12e65997c418e0dd6·...·]-2">}</span><span·class="p">,</span><span·class="w">410 ··</span><span·class="p"·data-group-id="2332362861-6">[</span><span·class="p"·data-group-id="2332362861-7">{</span><span·class="ss">return_trace</span><span·class="p"·data-group-id="2332362861-7">}</span><span·class="p"·data-group-id="2332362861-6">]</span><span·class="p"·data-group-id="23323628[·...·truncated·by·diffoscope;·len:·2,·SHA:·d029fa3a95e174a19934857f535eb9427d967218a36ea014b70ad704bc6c8d1c·...·]-2">}</span><span·class="p">,</span><span·class="w">
411 ·</span><span·class="p"·data-group-id="6323155886-8">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6323155886-9">[</span><span·class="p"·data-group-id="6323155886-9">]</span><span·class="p">,</span><span·class="p"·data-group-id="6323155886-10"[·...·truncated·by·diffoscope;·len:·157,·SHA:·5df5a0fc8c96a45a92939fc406f1eee0bfcabada46ffa11084a39cf8bd250e03·...·]-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="2332362861-8">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2332362861-9">[</span><span·class="p"·data-group-id="2332362861-9">]</span><span·class="p">,</span><span·class="p"·data-group-id="2332362861-10"[·...·truncated·by·diffoscope;·len:·157,·SHA:·9200a428b1ec814f397a9ad7a6ce49c5d5ad0ae6e0e60c388c08acaf33c19690·...·]-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="7520052614-1">[</span><span·class="p"·data-group-id="7520052614-2">{</span><span·class="p"·data-group-id="7520052614-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:·119e0e77720824b45844e5654ce1e5ca16c4e866700996493a75e68ebd6cd8eb·...·]-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="0448593475-1">[</span><span·class="p"·data-group-id="0448593475-2">{</span><span·class="p"·data-group-id="0448593475-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:·00f5b0b742554a285ba2a63b2989b40409a48b03893975417db554902ba1443e·...·]-3">]</span><span·class="p">,</span><span·class="w">
413 ··</span><span·class="p"·data-group-id="7520052614-4">[</span><span·class="p"·data-group-id="7520052614-4">]</span><span·class="p">,</span><span·class="w">413 ··</span><span·class="p"·data-group-id="0448593475-4">[</span><span·class="p"·data-group-id="0448593475-4">]</span><span·class="p">,</span><span·class="w">
414 ··</span><span·class="p"·data-group-id="7520052614-5">[</span><span·class="p"·data-group-id="7520052614-5">]</span><span·class="p"·data-group-id="7520052614-2">}</span><span·class="p">,</span><span·class="w">414 ··</span><span·class="p"·data-group-id="0448593475-5">[</span><span·class="p"·data-group-id="0448593475-5">]</span><span·class="p"·data-group-id="0448593475-2">}</span><span·class="p">,</span><span·class="w">
415 ·</span><span·class="p"·data-group-id="7520052614-6">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="7520052614-7">[</span><span·class="p"·data-group-id="7520052614-7">]</span><span·class="p">,</span><span·class="p"·data-group-id="7520052614-8">[·...·truncated·by·diffoscope;·len:·155,·SHA:·d53290bf905d379adaa1db22db7ee8d3e5aa9a150ed8b14469081b81d9c916f9·...·]-1">]</span></code></pre><h2·id="ets-examples"·class="section-heading">415 ·</span><span·class="p"·data-group-id="0448593475-6">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="0448593475-7">[</span><span·class="p"·data-group-id="0448593475-7">]</span><span·class="p">,</span><span·class="p"·data-group-id="0448593475-8">[·...·truncated·by·diffoscope;·len:·155,·SHA:·47880e11b32f2037fa72551fc099eccc38c500c25257c8a3df1de9be8b72294e·...·]-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="6580891225-1">[</span><span·class="p"·data-group-id="6580891225-2">{</span><span·class="p"·data-group-id="6580891225-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:·61,·SHA:·4f4f54a739c16ac648b6e3428140304d1b98bb9d03c7259e75f1e373dc904c53·...·]5-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="7534351075-1">[</span><span·class="p"·data-group-id="7534351075-2">{</span><span·class="p"·data-group-id="7534351075-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:·61,·SHA:·92fa9d585cedfa54dcf12764b36900ebadd919fc0355bf1d5c49ff1b1dc94c78·...·]5-3">}</span><span·class="p">,</span><span·class="w">
423 ··</span><span·class="p"·data-group-id="6580891225-4">[</span><span·class="p"·data-group-id="6580891225-4">]</span><span·class="p">,</span><span·class="w">423 ··</span><span·class="p"·data-group-id="7534351075-4">[</span><span·class="p"·data-group-id="7534351075-4">]</span><span·class="p">,</span><span·class="w">
424 ··</span><span·class="p"·data-group-id="6580891225-5">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="6580891225-5">]</span><span·class="p"·data-group-id="6580891225-2">}</span><span·class="p"·data-group-id="6580891225-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="7534351075-5">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="7534351075-5">]</span><span·class="p"·data-group-id="7534351075-2">}</span><span·class="p"·data-group-id="7534351075-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="9645367861-1">[</span><span·class="p"·data-group-id="9645367861-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="7561769703-1">[</span><span·class="p"·data-group-id="7561769703-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
426 ··</span><span·class="p"·data-group-id="9645367861-3">[</span><span·class="p"·data-group-id="9645367861-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:·830,·SHA:·f4b1629139e3c0d57e8047bca7aa9cb01bd7bb069666e1bfd8fbc8ea4b107577·...·]-3">]</span><span·class="p">,</span><span·class="w">426 ··</span><span·class="p"·data-group-id="7561769703-3">[</span><span·class="p"·data-group-id="7561769703-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:·830,·SHA:·cb94573f56636925130fa37607d15a6ebdbc22ba925f163d7cb7f3986887afb1·...·]-3">]</span><span·class="p">,</span><span·class="w">
427 ··</span><span·class="p"·data-group-id="9645367861-8">[</span><span·class="p"·data-group-id="9645367861-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="9645367861[·...·truncated·by·diffoscope;·len:·159,·SHA:·6e7e818c0fb4187472575d3a18f690049afa38482c4aa13b25db4e98c6f4b682·...·]-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="7561769703-8">[</span><span·class="p"·data-group-id="7561769703-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="7561769703[·...·truncated·by·diffoscope;·len:·159,·SHA:·7c6fe06e4265f6c5f8a733c6d46d7604b4cc3b4f2b3e4ca8fe521f1728ae7ddd·...·]-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="2770886121-1">[</span><span·class="p"·data-group-id="2770886121-2">{</span><span·class="p"·data-group-id="2770886121-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:·fdb2d97509e9d455c5c94d2e27f6122701da2c51ff8bbe00c2941f2eb8aab137·...·]-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="5591748575-1">[</span><span·class="p"·data-group-id="5591748575-2">{</span><span·class="p"·data-group-id="5591748575-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:·e615077b6e5c90c7e0014eff1cbf0c9cc2a03860a60d0db9979aaed2d986ca51·...·]-3">}</span><span·class="p">,</span><span·class="w">
433 ··</span><span·class="p"·data-group-id="2770886121-4">[</span><span·class="p"·data-group-id="2770886121-4">]</span><span·class="p">,</span><span·class="w">433 ··</span><span·class="p"·data-group-id="5591748575-4">[</span><span·class="p"·data-group-id="5591748575-4">]</span><span·class="p">,</span><span·class="w">
434 ··</span><span·class="p"·data-group-id="2770886121-5">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="2770886121-5">]</span><span·class="p"·data-group-id="2770886121-2">}</span><span·class="p">,</span><span·class="w">434 ··</span><span·class="p"·data-group-id="5591748575-5">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="5591748575-5">]</span><span·class="p"·data-group-id="5591748575-2">}</span><span·class="p">,</span><span·class="w">
435 ·</span><span·class="p"·data-group-id="2770886121-6">{</span><span·class="p"·data-group-id="2770886121-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="27[·...·truncated·by·diffoscope;·len:·8,·SHA:·47985aa7c8e7ea8fc508f9116eda394042ddfab70baeabedca249135fed45382·...·]-7">}</span><span·class="p">,</span><span·class="w">435 ·</span><span·class="p"·data-group-id="5591748575-6">{</span><span·class="p"·data-group-id="5591748575-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="55[·...·truncated·by·diffoscope;·len:·8,·SHA:·52ca85c4fff99c3b91257f71577cf9bb45d1d28e2fa6f305b395f4fe1a0827d4·...·]-7">}</span><span·class="p">,</span><span·class="w">
436 ··</span><span·class="p"·data-group-id="2770886121-8">[</span><span·class="p"·data-group-id="2770886121-8">]</span><span·class="p">,</span><span·class="w">436 ··</span><span·class="p"·data-group-id="5591748575-8">[</span><span·class="p"·data-group-id="5591748575-8">]</span><span·class="p">,</span><span·class="w">
437 ··</span><span·class="p"·data-group-id="2770886121-9">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="2770886121-9">]</span><span·class="p"·data-group-id="2770886121-6">}</span><span·class="p"·data-group-id="2770886121-1">]</span></code></pre><p>Function·<a·href="../../../lib/stdlib-7.0/doc/html/ets.html#test_ms/2"><code·class="inline">ets:test_ms/2</code></a>·can·be·useful·for·testing·complicated·ETS·matches.</p>437 ··</span><span·class="p"·data-group-id="5591748575-9">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="5591748575-9">]</span><span·class="p"·data-group-id="5591748575-6">}</span><span·class="p"·data-group-id="5591748575-1">]</span></code></pre><p>Function·<a·href="../../../lib/stdlib-7.0/doc/html/ets.html#test_ms/2"><code·class="inline">ets:test_ms/2</code></a>·can·be·useful·for·testing·complicated·ETS·matches.</p>
438 </div>438 </div>
  
439 <div·class="bottom-actions"·id="bottom-actions">439 <div·class="bottom-actions"·id="bottom-actions">
440 ··<div·class="bottom-actions-item">440 ··<div·class="bottom-actions-item">
  
441 ······<a·href="time_correction.html"·class="bottom-actions-button"·rel="prev">441 ······<a·href="time_correction.html"·class="bottom-actions-button"·rel="prev">
442 ········<span·class="subheader">442 ········<span·class="subheader">
Offset 477, 15 lines modifiedOffset 477, 15 lines modified
477 ······<p·class="built-using">477 ······<p·class="built-using">
478 ········Built·using478 ········Built·using
479 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the479 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
480 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>480 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
481 ······</p>481 ······</p>
482 <p>Copyright·©·1996-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
94.2 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/notes.html
    
Offset 139, 17 lines modifiedOffset 139, 17 lines modified
139 </h3>139 </h3>
140 <ul><li><p>ETS·tables·with·more·than·2·billion·keys·are·now·supported.</p><p>Own·Id:·OTP-19144·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8589"·title="">PR-8589</a></p></li><li><p>The·zlib·library·included·in·Erlang/OTP·has·been·updated·to·version·1.3.1.</p><p>Own·Id:·OTP-19259·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8862"·title="">PR-8862</a></p></li><li><p><a·href="../../../doc/system/embedded.html#to_erl"><code·class="inline">to_erl</code></a>·no·longer·clears·the·screen·when·attaching·to·a·<a·href="run_erl_cmd.html"><code·class="inline">run_erl</code></a>·session.</p><p>Own·Id:·OTP-19263·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8943"·title="">PR-8943</a></p></li><li><p>The·size·of·an·atom·in·the·Erlang·source·code·was·limited·to·255·bytes·in·previous·releases,·meaning·that·an·atom·containing·only·emojis·could·contain·only·63·emojis.</p><p>While·atoms·are·still·only·allowed·to·contain·255·characters,·the·number·of·bytes·is·no·longer·limited.</p><p>External·tools·that·parse·the·<code·class="inline">AtU8</code>·chunk·of·a·BEAM·file·directly·need·to·be·updated.·Tools·that·use·<a·href="../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[atoms])</code></a>·to·read·the·atom·table·will·continue·to·work.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19285·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8913"·title="">PR-8913</a></p></li><li><p>Fixed·a·bug·where·<a·href="erlc_cmd.html"><code·class="inline">erlc</code></a>·would·crash·if·its·path·contained·spaces.</p><p>Own·Id:·OTP-19295·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8937"·title="">PR-8937</a></p></li><li><p>The·<a·href="erl_cmd.html#noshell"><code·class="inline">-noshell</code></a>·mode·has·been·updated·to·read·data·lazily·from·standard·input.·Before·this·fix·any·data·would·be·read·greedily·which·meant·that·Erlang·could·consume·data·not·meant·for·it.·It·also·meant·that·in·order·for·<a·href="../../../lib/stdlib-7.0/doc/html/shell.html#start_interactive/0"><code·class="inline">shell:start_interactive/0</code></a>·to·work·on·Windows·an·API·that·did·not·support·reading·of·Unicode·characters·had·to·be·used.</p><p>Own·Id:·OTP-19313·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8113"·title="">GH-8113</a></p></li><li><p>The·literals·chunk·in·BEAM·is·no·longer·compressed,·resulting·in·slightly·smaller·BEAM·files·when·a·BEAM·file·is·stripped·using·<a·href="../../../lib/stdlib-7.0/doc/html/beam_lib.html#strip_files/1"><code·class="inline">beam_lib:strip_files/1</code></a>.</p><p>This·is·a·potential·incompatibility·for·tools·that·read·and·interpret·the·contents·of·the·literal·chunk.·One·way·to·update·such·tools·to·work·with·the·new·format·is·to·retrieve·the·chunk·using·<a·href="../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[literals])</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19323·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8967"·title="">GH-8967</a>,·<a·href="https://github.com/erlang/otp/pull/8988"·title="">PR-8988</a></p></li><li><p>Fixed·<a·href="erlang.html#localtime_to_universaltime/2"><code·class="inline">erlang:localtime_to_universaltime/2</code></a>·with·<code·class="inline">IsDST</code>·set·to·<code·class="inline">true</code>·and·a·timezone·without·daylight·saving·(for·example·<code·class="inline">UTC</code>)·to·assume·that·the·provided·localtime·does·not·have·DST.·This·has·always·been·the·behaviour,·but·glibc·versions·after·2.37·changed·it·so·that·the·behavior·in·Erlang·also·changed.</p><p>Own·Id:·OTP-19453·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9207"·title="">PR-9207</a></p></li><li><p>Support·for·the·<code·class="inline">TZ</code>·environment·variable·has·been·added·on·Windows.·Before·this·change·only·the·time·zone·configured·in·the·OS·was·ever·used.</p><p>Own·Id:·OTP-19454·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9207"·title="">PR-9207</a></p></li><li><p>Suppressed·various·warnings·when·building·the·emulator·with·recent·versions·of·GCC</p><p>Own·Id:·OTP-19488·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9413"·title="">GH-9413</a>,·<a·href="https://github.com/erlang/otp/pull/9417"·title="">PR-9417</a></p></li><li><p>Fixed·a·bug·in·re:run·and·re:compile·where·the·pattern·parameter·would·be·read·incorrectly·if·it·was·a·sub-binary.</p><p>Own·Id:·OTP-19507·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9478"·title="">PR-9478</a>,·<a·href="https://github.com/erlang/otp/issues/9438"·title="">GH-9438</a></p></li><li><p>Fixed·a·broken·makefile·rule·that·made·it·so·that··<code·class="inline">O2</code>·and·<code·class="inline">-O2</code>·could·not·be·part·of·the·directory·path·when·building·Erlang/OTP.·Bug·has·been·present·since·R11B·released·2006.</p><p>Own·Id:·OTP-19518·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9488"·title="">PR-9488</a>,·<a·href="https://github.com/erlang/otp/issues/9487"·title="">GH-9487</a></p></li><li><p>Fixed·the·index·types·of·modules·<code·class="inline">atomics</code>·and·<code·class="inline">counters</code>·from·<code·class="inline">integer()</code>·to·<code·class="inline">pos_integer()</code>,·which·is·more·correct.</p><p>Own·Id:·OTP-19532·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9538"·title="">PR-9538</a></p></li><li><p>Fix·<a·href="erl_cmd.html"><code·class="inline">erl</code></a>·flags·<code·class="inline">+Q</code>,·<code·class="inline">+P</code>·and·<code·class="inline">+t</code>·to·not·allow·values·greater·than·4294975487.·Before·this·fix,·the·runtime·would·either·truncate·the·value·or·crash·depending·on·which·value·was·given.</p><p>Own·Id:·OTP-19594·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9671"·title="">PR-9671</a>,·<a·href="https://github.com/erlang/otp/issues/9668"·title="">GH-9668</a></p></li><li><p>The·socket·option·names·for·built-in·socket·options·in·the·module·<code·class="inline">socket</code>·has·been·cleaned·up.</p><p>Now,·for·known·socket·options,·it·is·only·the·canonical·protocol·names·that·are·allowed·such·as·<code·class="inline">ip</code>·for·the·socket·option·<code·class="inline">{ip,recvtos}</code>.··Previously,·due·to·being·a·protocol·alias;·<code·class="inline">{'IP',recvtos}</code>·was·also·allowed,·as·was·the·incorrect·<code·class="inline">{hopopt,recvtos}</code>·because·the·protocol·<code·class="inline">hopopt</code>·on·Linux·has·the·same·protocol·number·as·<code·class="inline">ip</code>.</p><p>So,·to·reduce·confusion,·all·enumerated·protocol·names·with·the·same·number,·are·not·allowed·for·the·known·protocol·options,·only·the·canonical·name.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19615·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9718"·title="">PR-9718</a></p></li><li><p>On·windows,·socket:sendv·could·incorrectly·return·{ok,·integer()}·on·Windows.</p><p>Own·Id:·OTP-19617·Aux·Id:·OTP-19482</p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>ETS·tables·with·more·than·2·billion·keys·are·now·supported.</p><p>Own·Id:·OTP-19144·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8589"·title="">PR-8589</a></p></li><li><p>The·zlib·library·included·in·Erlang/OTP·has·been·updated·to·version·1.3.1.</p><p>Own·Id:·OTP-19259·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8862"·title="">PR-8862</a></p></li><li><p><a·href="../../../doc/system/embedded.html#to_erl"><code·class="inline">to_erl</code></a>·no·longer·clears·the·screen·when·attaching·to·a·<a·href="run_erl_cmd.html"><code·class="inline">run_erl</code></a>·session.</p><p>Own·Id:·OTP-19263·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8943"·title="">PR-8943</a></p></li><li><p>The·size·of·an·atom·in·the·Erlang·source·code·was·limited·to·255·bytes·in·previous·releases,·meaning·that·an·atom·containing·only·emojis·could·contain·only·63·emojis.</p><p>While·atoms·are·still·only·allowed·to·contain·255·characters,·the·number·of·bytes·is·no·longer·limited.</p><p>External·tools·that·parse·the·<code·class="inline">AtU8</code>·chunk·of·a·BEAM·file·directly·need·to·be·updated.·Tools·that·use·<a·href="../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[atoms])</code></a>·to·read·the·atom·table·will·continue·to·work.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19285·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8913"·title="">PR-8913</a></p></li><li><p>Fixed·a·bug·where·<a·href="erlc_cmd.html"><code·class="inline">erlc</code></a>·would·crash·if·its·path·contained·spaces.</p><p>Own·Id:·OTP-19295·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8937"·title="">PR-8937</a></p></li><li><p>The·<a·href="erl_cmd.html#noshell"><code·class="inline">-noshell</code></a>·mode·has·been·updated·to·read·data·lazily·from·standard·input.·Before·this·fix·any·data·would·be·read·greedily·which·meant·that·Erlang·could·consume·data·not·meant·for·it.·It·also·meant·that·in·order·for·<a·href="../../../lib/stdlib-7.0/doc/html/shell.html#start_interactive/0"><code·class="inline">shell:start_interactive/0</code></a>·to·work·on·Windows·an·API·that·did·not·support·reading·of·Unicode·characters·had·to·be·used.</p><p>Own·Id:·OTP-19313·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8113"·title="">GH-8113</a></p></li><li><p>The·literals·chunk·in·BEAM·is·no·longer·compressed,·resulting·in·slightly·smaller·BEAM·files·when·a·BEAM·file·is·stripped·using·<a·href="../../../lib/stdlib-7.0/doc/html/beam_lib.html#strip_files/1"><code·class="inline">beam_lib:strip_files/1</code></a>.</p><p>This·is·a·potential·incompatibility·for·tools·that·read·and·interpret·the·contents·of·the·literal·chunk.·One·way·to·update·such·tools·to·work·with·the·new·format·is·to·retrieve·the·chunk·using·<a·href="../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[literals])</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19323·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8967"·title="">GH-8967</a>,·<a·href="https://github.com/erlang/otp/pull/8988"·title="">PR-8988</a></p></li><li><p>Fixed·<a·href="erlang.html#localtime_to_universaltime/2"><code·class="inline">erlang:localtime_to_universaltime/2</code></a>·with·<code·class="inline">IsDST</code>·set·to·<code·class="inline">true</code>·and·a·timezone·without·daylight·saving·(for·example·<code·class="inline">UTC</code>)·to·assume·that·the·provided·localtime·does·not·have·DST.·This·has·always·been·the·behaviour,·but·glibc·versions·after·2.37·changed·it·so·that·the·behavior·in·Erlang·also·changed.</p><p>Own·Id:·OTP-19453·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9207"·title="">PR-9207</a></p></li><li><p>Support·for·the·<code·class="inline">TZ</code>·environment·variable·has·been·added·on·Windows.·Before·this·change·only·the·time·zone·configured·in·the·OS·was·ever·used.</p><p>Own·Id:·OTP-19454·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9207"·title="">PR-9207</a></p></li><li><p>Suppressed·various·warnings·when·building·the·emulator·with·recent·versions·of·GCC</p><p>Own·Id:·OTP-19488·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9413"·title="">GH-9413</a>,·<a·href="https://github.com/erlang/otp/pull/9417"·title="">PR-9417</a></p></li><li><p>Fixed·a·bug·in·re:run·and·re:compile·where·the·pattern·parameter·would·be·read·incorrectly·if·it·was·a·sub-binary.</p><p>Own·Id:·OTP-19507·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9478"·title="">PR-9478</a>,·<a·href="https://github.com/erlang/otp/issues/9438"·title="">GH-9438</a></p></li><li><p>Fixed·a·broken·makefile·rule·that·made·it·so·that··<code·class="inline">O2</code>·and·<code·class="inline">-O2</code>·could·not·be·part·of·the·directory·path·when·building·Erlang/OTP.·Bug·has·been·present·since·R11B·released·2006.</p><p>Own·Id:·OTP-19518·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9488"·title="">PR-9488</a>,·<a·href="https://github.com/erlang/otp/issues/9487"·title="">GH-9487</a></p></li><li><p>Fixed·the·index·types·of·modules·<code·class="inline">atomics</code>·and·<code·class="inline">counters</code>·from·<code·class="inline">integer()</code>·to·<code·class="inline">pos_integer()</code>,·which·is·more·correct.</p><p>Own·Id:·OTP-19532·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9538"·title="">PR-9538</a></p></li><li><p>Fix·<a·href="erl_cmd.html"><code·class="inline">erl</code></a>·flags·<code·class="inline">+Q</code>,·<code·class="inline">+P</code>·and·<code·class="inline">+t</code>·to·not·allow·values·greater·than·4294975487.·Before·this·fix,·the·runtime·would·either·truncate·the·value·or·crash·depending·on·which·value·was·given.</p><p>Own·Id:·OTP-19594·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9671"·title="">PR-9671</a>,·<a·href="https://github.com/erlang/otp/issues/9668"·title="">GH-9668</a></p></li><li><p>The·socket·option·names·for·built-in·socket·options·in·the·module·<code·class="inline">socket</code>·has·been·cleaned·up.</p><p>Now,·for·known·socket·options,·it·is·only·the·canonical·protocol·names·that·are·allowed·such·as·<code·class="inline">ip</code>·for·the·socket·option·<code·class="inline">{ip,recvtos}</code>.··Previously,·due·to·being·a·protocol·alias;·<code·class="inline">{'IP',recvtos}</code>·was·also·allowed,·as·was·the·incorrect·<code·class="inline">{hopopt,recvtos}</code>·because·the·protocol·<code·class="inline">hopopt</code>·on·Linux·has·the·same·protocol·number·as·<code·class="inline">ip</code>.</p><p>So,·to·reduce·confusion,·all·enumerated·protocol·names·with·the·same·number,·are·not·allowed·for·the·known·protocol·options,·only·the·canonical·name.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19615·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9718"·title="">PR-9718</a></p></li><li><p>On·windows,·socket:sendv·could·incorrectly·return·{ok,·integer()}·on·Windows.</p><p>Own·Id:·OTP-19617·Aux·Id:·OTP-19482</p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p>Functionality·making·it·possible·for·processes·to·enable·reception·of·<a·href="../../../doc/system/ref_man_processes.html#priority-messages">priority·messages</a>·has·been·introduced·in·accordance·with·<a·href="https://www.erlang.org/eeps/eep-0076">EEP·76</a>.</p><p>Own·Id:·OTP-19198·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9269"·title="">PR-9269</a>,·<a·href="https://github.com/erlang/otp/pull/9519"·title="">PR-9519</a>,·<a·href="https://github.com/erlang/otp/pull/9590"·title="">PR-9590</a></p></li><li><p>The·<a·href="../../../lib/kernel-10.3/doc/html/trace.html#system/3"><code·class="inline">trace:system/3</code></a>·function·has·been·added.·It·has·a·similar·interface·as·<a·href="erlang.html#system_monitor/2"><code·class="inline">erlang:system_monitor/2</code></a>·but·it·also·supports·trace·sessions.</p><p>Own·Id:·OTP-19271·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8660"·title="">PR-8660</a></p></li><li><p>Added·support·for·<code·class="inline">SIGWINCH</code>,·<code·class="inline">SIGCONT</code>,·and·<code·class="inline">SIGINFO</code>·signals·to·<a·href="../../../lib/kernel-10.3/doc/html/os.html#set_signal/2"><code·class="inline">os:set_signal/2</code></a>·where·available.</p><p>Own·Id:·OTP-19278·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8887"·title="">PR-8887</a>,·<a·href="https://github.com/erlang/otp/pull/8938"·title="">PR-8938</a></p></li><li><p>The·<a·href="erl_cmd.html#noshell"><code·class="inline">erl·-noshell</code></a>·mode·has·been·updated·to·have·two·sub·modes·called·<code·class="inline">raw</code>·and·<code·class="inline">cooked</code>,·where·<code·class="inline">cooked</code>·is·the·old·default·behaviour·and·<code·class="inline">raw</code>·can·be·used·to·bypass·the·line-editing·support·of·the·native·terminal.·Using·<code·class="inline">raw</code>·mode·it·is·possible·to·read·keystrokes·as·they·happen·without·the·user·having·to·press·Enter.·Also,·the·<code·class="inline">raw</code>·mode·does·not·echo·the·typed·characters·to·stdout.·An·example·of·how·to·create·a·tic-tac-toe·game·using·this·mechanism·is·included·in·<a·href="../../../lib/stdlib-7.0/doc/html/terminal_interface.html">the·documentation</a>.</p><p>Own·Id:·OTP-19314·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8037"·title="">GH-8037</a></p></li><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="1241117442-1">(</span><span·class="p"·data-group-id="1241117442-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1241117442-2">(</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·3183d8a00931e67d02d612dc6808521b496c49c32a61845c64cef799d31c39f6·...·]-2">)</span><span·class="p">.</span><span·class="w">146 <ul><li><p>Functionality·making·it·possible·for·processes·to·enable·reception·of·<a·href="../../../doc/system/ref_man_processes.html#priority-messages">priority·messages</a>·has·been·introduced·in·accordance·with·<a·href="https://www.erlang.org/eeps/eep-0076">EEP·76</a>.</p><p>Own·Id:·OTP-19198·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9269"·title="">PR-9269</a>,·<a·href="https://github.com/erlang/otp/pull/9519"·title="">PR-9519</a>,·<a·href="https://github.com/erlang/otp/pull/9590"·title="">PR-9590</a></p></li><li><p>The·<a·href="../../../lib/kernel-10.3/doc/html/trace.html#system/3"><code·class="inline">trace:system/3</code></a>·function·has·been·added.·It·has·a·similar·interface·as·<a·href="erlang.html#system_monitor/2"><code·class="inline">erlang:system_monitor/2</code></a>·but·it·also·supports·trace·sessions.</p><p>Own·Id:·OTP-19271·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8660"·title="">PR-8660</a></p></li><li><p>Added·support·for·<code·class="inline">SIGWINCH</code>,·<code·class="inline">SIGCONT</code>,·and·<code·class="inline">SIGINFO</code>·signals·to·<a·href="../../../lib/kernel-10.3/doc/html/os.html#set_signal/2"><code·class="inline">os:set_signal/2</code></a>·where·available.</p><p>Own·Id:·OTP-19278·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8887"·title="">PR-8887</a>,·<a·href="https://github.com/erlang/otp/pull/8938"·title="">PR-8938</a></p></li><li><p>The·<a·href="erl_cmd.html#noshell"><code·class="inline">erl·-noshell</code></a>·mode·has·been·updated·to·have·two·sub·modes·called·<code·class="inline">raw</code>·and·<code·class="inline">cooked</code>,·where·<code·class="inline">cooked</code>·is·the·old·default·behaviour·and·<code·class="inline">raw</code>·can·be·used·to·bypass·the·line-editing·support·of·the·native·terminal.·Using·<code·class="inline">raw</code>·mode·it·is·possible·to·read·keystrokes·as·they·happen·without·the·user·having·to·press·Enter.·Also,·the·<code·class="inline">raw</code>·mode·does·not·echo·the·typed·characters·to·stdout.·An·example·of·how·to·create·a·tic-tac-toe·game·using·this·mechanism·is·included·in·<a·href="../../../lib/stdlib-7.0/doc/html/terminal_interface.html">the·documentation</a>.</p><p>Own·Id:·OTP-19314·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8037"·title="">GH-8037</a></p></li><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="1319326249-1">(</span><span·class="p"·data-group-id="1319326249-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1319326249-2">(</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·31b7bbd06c03bf070fcb4f56b08435b84608a3da7ec9cac8b5e8b54fe04f99dd·...·]-2">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="1241117442-3">(</span><span·class="p"·data-group-id="1241117442-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1241117442-4">(</span><s[·...·truncated·by·diffoscope;·len:·1060,·SHA:·77e0e85a5475d22c227a4f101c111840510a915266fa85f97c5429e1eed0bbf9·...·]-2">)</span><span·class="p">.</span><span·class="w">147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="1319326249-3">(</span><span·class="p"·data-group-id="1319326249-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1319326249-4">(</span><s[·...·truncated·by·diffoscope;·len:·1060,·SHA:·cf93f55ad794d872c87b15ac719e9ecbf9c2353755c29c023e29a30e8561b6bc·...·]-2">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="4243625324-3">(</span><span·class="p"·data-group-id="4243625324-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4243625324-4">(</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·9b1e11e6a2a9ea86bf27b408f038d5a2d831b5533b8204bf2b718fe4c7011403·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Two·BIFs·have·been·added·to·the·<a·href="erlang.html"><code·class="inline">erlang</code></a>·module.·</p><p><a·href="erlang.html#processes_iterator/0"><code·class="inline">erlang:processes_iterator/0</code></a>·returns·a·process·iterator·that·can·be·used·to148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="4664648050-3">(</span><span·class="p"·data-group-id="4664648050-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4664648050-4">(</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·b477dcac8c900fc72054c015e6721074c26823b9c3796edddf78c32eaaefeb80·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Two·BIFs·have·been·added·to·the·<a·href="erlang.html"><code·class="inline">erlang</code></a>·module.·</p><p><a·href="erlang.html#processes_iterator/0"><code·class="inline">erlang:processes_iterator/0</code></a>·returns·a·process·iterator·that·can·be·used·to
149 iterate·through·the·process·table.</p><p><code·class="inline">erlang:process_next/1</code>·takes·in·a·process·iterator·and·returns·a·2-tuple,·consisting·of·a·process·identifier·and·a·new·process·iterator.·When·the·process·iterator·runs·out·of·processes·in·the·process·table,·<code·class="inline">none</code>·will·be·returned.</p><p>Using·these·BIFs·to·scan·the·processes·scales·better·than·using·<a·href="erlang.html#processes/0"><code·class="inline">erlang:processes/0</code></a>,·at·the·cost·of·giving·less·consistency·guarantees.·Process·identifiers·returned·from·consecutive·calls·of·<code·class="inline">erlang:process_next/1</code>·may·not·be·a·consistent·snapshot·of·all·elements·existing·in·the·table·during·any·of·the·calls.·A·process·identifier·is·only·guaranteed·to·be·returned·from·a·call·to·<a·href="erlang.html#processes_next/1"><code·class="inline">erlang:processes_next/1</code></a>·if·it·was·alive·before·the·call·to·<a·href="erlang.html#processes_iterator/0"><code·class="inline">erlang:processes_iterator/0</code></a>·and·was·still·alive·when·<a·href="erlang.html#processes_next/1"><code·class="inline">erlang:processes_next/1</code></a>·returned·<code·class="inline">none</code>.</p><p>Own·Id:·OTP-19369·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9129"·title="">PR-9129</a></p></li><li><p>Improved·open·debug·for·gen_tcp_socket·(connect·and·listen)·and·gen_udp_socket·(open).</p><p>Own·Id:·OTP-19386</p></li><li><p>Module·<a·href="../../../lib/stdlib-7.0/doc/html/re.html"><code·class="inline">re</code></a>·has·been·updated·to·use·PCRE2,·which·is·mostly·backward·compatible·with·PCRE.</p><p>The·most·noticeable·incompatibilities·are</p><ul><li>The·default·character·encoding·is·pure·ASCII·and·not·Latin1.·Unicode·support149 iterate·through·the·process·table.</p><p><code·class="inline">erlang:process_next/1</code>·takes·in·a·process·iterator·and·returns·a·2-tuple,·consisting·of·a·process·identifier·and·a·new·process·iterator.·When·the·process·iterator·runs·out·of·processes·in·the·process·table,·<code·class="inline">none</code>·will·be·returned.</p><p>Using·these·BIFs·to·scan·the·processes·scales·better·than·using·<a·href="erlang.html#processes/0"><code·class="inline">erlang:processes/0</code></a>,·at·the·cost·of·giving·less·consistency·guarantees.·Process·identifiers·returned·from·consecutive·calls·of·<code·class="inline">erlang:process_next/1</code>·may·not·be·a·consistent·snapshot·of·all·elements·existing·in·the·table·during·any·of·the·calls.·A·process·identifier·is·only·guaranteed·to·be·returned·from·a·call·to·<a·href="erlang.html#processes_next/1"><code·class="inline">erlang:processes_next/1</code></a>·if·it·was·alive·before·the·call·to·<a·href="erlang.html#processes_iterator/0"><code·class="inline">erlang:processes_iterator/0</code></a>·and·was·still·alive·when·<a·href="erlang.html#processes_next/1"><code·class="inline">erlang:processes_next/1</code></a>·returned·<code·class="inline">none</code>.</p><p>Own·Id:·OTP-19369·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9129"·title="">PR-9129</a></p></li><li><p>Improved·open·debug·for·gen_tcp_socket·(connect·and·listen)·and·gen_udp_socket·(open).</p><p>Own·Id:·OTP-19386</p></li><li><p>Module·<a·href="../../../lib/stdlib-7.0/doc/html/re.html"><code·class="inline">re</code></a>·has·been·updated·to·use·PCRE2,·which·is·mostly·backward·compatible·with·PCRE.</p><p>The·most·noticeable·incompatibilities·are</p><ul><li>The·default·character·encoding·is·pure·ASCII·and·not·Latin1.·Unicode·support
150 is·still·available·with·options·<code·class="inline">unicode</code>·and·<code·class="inline">ucp</code>.</li><li>Options·<code·class="inline">bsr_anycrlf</code>,·<code·class="inline">bsr_unicode</code>·and·<code·class="inline">{newline,_}</code>·are·only·set·when·a150 is·still·available·with·options·<code·class="inline">unicode</code>·and·<code·class="inline">ucp</code>.</li><li>Options·<code·class="inline">bsr_anycrlf</code>,·<code·class="inline">bsr_unicode</code>·and·<code·class="inline">{newline,_}</code>·are·only·set·when·a
151 regex·is·compiled·and·cannot·be·changed·at·matching·for·precompiled·regex.</li></ul><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19431·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9299"·title="">PR-9299</a>,·<a·href="https://github.com/erlang/otp/pull/9610"·title="">PR-9610</a></p></li><li><p>When·booting·the·runtime·system·on·a·32-bit·computer·with·a·single·core,·the·boot·code·will·try·to·minimize·the·peak·memory·use·by·disabling·parallel·loading·of·BEAM·files.</p><p>Own·Id:·OTP-19450·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9342"·title="">PR-9342</a></p></li><li><p>A·<code·class="inline">socket</code>·option·<code·class="inline">{otp,select_read}</code>·has·been·added·that·enables·keeping·a·socket·in·the·VM·select/poll·set·between·calls·to·recv·functions.</p><p>This·increases·throughput·by·reducing·the·number·of·calls·to·said·functions.</p><p>Own·Id:·OTP-19451·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9344"·title="">PR-9344</a></p></li><li><p><code·class="inline">erlc</code>·will·now·write·compiler·warnings·and·errors·to·standard·error,·instead·of·standard·output,·in·common·with·other·language·compilers.</p><p>Own·Id:·OTP-19460·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9255"·title="">GH-9255</a>,·<a·href="https://github.com/erlang/otp/pull/9363"·title="">PR-9363</a></p></li><li><p>Fixed·the·Windows·build·to·always·include·<code·class="inline">.pdb</code>·files·for·all·DLLs·and·executables·to·help·with·debugging.</p><p>Own·Id:·OTP-19465·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9229"·title="">PR-9229</a></p></li><li><p>Improve·the·naming·of·the·(internal)·esock·mutex(es).·It·is·now·possible·to·configure·(as·in·autoconf)·the·use·of·simple·names·for·the·esock·mutex(es).</p><p>Own·Id:·OTP-19472·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9388"·title="">PR-9388</a></p></li><li><p>An·optimization·for·appending·0·bits·to·a·binary·was·removed·in·patch·releases·for·OTP·versions·25,·26,·and·27.·This·optimization·has·been·reintroduced·in·Erlang/OTP·28.</p><p>Own·Id:·OTP-19473·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9396"·title="">PR-9396</a>,·<a·href="https://github.com/erlang/otp/pull/8697"·title="">PR-8697</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>When·using·<a·href="erl_nif.html#enif_select_read"><code·class="inline">enif_select_read</code></a>·(or·<a·href="erl_nif.html#enif_select"><code·class="inline">enif_select</code></a>·with·<code·class="inline">ERL_NIF_SELECT_READ</code>)·on·systems·with·kernel·polling·enabled·(that·is·most·Unix·systems),·file·descriptors·that·are·always·re-enabled·as·soon·as·they·trigger·are·now·part·of·a·specialized·pollset·just·as·<a·href="erl_driver.html#driver_select"><code·class="inline">driver_select</code></a>.·This·reduces·the·CPU·usage·in·such·scenarios·as·the·erts·does·not·have·to·re-insert·the·FD·everytime·it·it·triggered.·As·a·result·of·this·optimization·<a·href="../../../lib/kernel-10.3/doc/html/socket.html"><code·class="inline">socket</code></a>·based·reading·uses·a·lot·less·CPU·and·achieves·a·higher·throughput.</p><p>Own·Id:·OTP-19479·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9275"·title="">PR-9275</a></p></li><li><p>Added·support·for·compiling·Erlang/OTP·for·Windows·on·ARM64.</p><p>Own·Id:·OTP-19480·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8734"·title="">PR-8734</a></p></li><li><p>The·Windows·installer·no·longer·creates·the·<code·class="inline">erl.ini</code>·file,·making·installations·redistributable.</p><p>Own·Id:·OTP-19481·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9330"·title="">PR-9330</a></p></li><li><p>Added·erlang:hibernate/0,·which·hibernates·a·process·without·discarding·the·stack.</p><p>Own·Id:·OTP-19503·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9406"·title="">PR-9406</a></p></li><li><p>The·asmjit·library·(used·by·BeamJIT)·has·been·updated·to·version·029075b84bf0161a761beb63e6eda519a29020db.</p><p>Own·Id:·OTP-19509·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9495"·title="">PR-9495</a></p></li><li><p>When·compiling·C/C++·code·on·Unix·systems,·the·compiler·hardening·flags·suggested·by·the·<a·href="https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md">Open·Source·Security·Foundation</a>·are·now·enabled·by·default.·To·disable·them,·pass·<code·class="inline">--disable-security-hardening-flags</code>·to·<code·class="inline">configure</code>.</p><p>Own·Id:·OTP-19519·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9441"·title="">PR-9441</a></p></li><li><p>If·a·process·being·suspended·using·<a·href="erlang.html#suspend_process/2"><code·class="inline">erlang:suspend_process()</code></a>151 regex·is·compiled·and·cannot·be·changed·at·matching·for·precompiled·regex.</li></ul><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19431·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9299"·title="">PR-9299</a>,·<a·href="https://github.com/erlang/otp/pull/9610"·title="">PR-9610</a></p></li><li><p>When·booting·the·runtime·system·on·a·32-bit·computer·with·a·single·core,·the·boot·code·will·try·to·minimize·the·peak·memory·use·by·disabling·parallel·loading·of·BEAM·files.</p><p>Own·Id:·OTP-19450·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9342"·title="">PR-9342</a></p></li><li><p>A·<code·class="inline">socket</code>·option·<code·class="inline">{otp,select_read}</code>·has·been·added·that·enables·keeping·a·socket·in·the·VM·select/poll·set·between·calls·to·recv·functions.</p><p>This·increases·throughput·by·reducing·the·number·of·calls·to·said·functions.</p><p>Own·Id:·OTP-19451·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9344"·title="">PR-9344</a></p></li><li><p><code·class="inline">erlc</code>·will·now·write·compiler·warnings·and·errors·to·standard·error,·instead·of·standard·output,·in·common·with·other·language·compilers.</p><p>Own·Id:·OTP-19460·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9255"·title="">GH-9255</a>,·<a·href="https://github.com/erlang/otp/pull/9363"·title="">PR-9363</a></p></li><li><p>Fixed·the·Windows·build·to·always·include·<code·class="inline">.pdb</code>·files·for·all·DLLs·and·executables·to·help·with·debugging.</p><p>Own·Id:·OTP-19465·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9229"·title="">PR-9229</a></p></li><li><p>Improve·the·naming·of·the·(internal)·esock·mutex(es).·It·is·now·possible·to·configure·(as·in·autoconf)·the·use·of·simple·names·for·the·esock·mutex(es).</p><p>Own·Id:·OTP-19472·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9388"·title="">PR-9388</a></p></li><li><p>An·optimization·for·appending·0·bits·to·a·binary·was·removed·in·patch·releases·for·OTP·versions·25,·26,·and·27.·This·optimization·has·been·reintroduced·in·Erlang/OTP·28.</p><p>Own·Id:·OTP-19473·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9396"·title="">PR-9396</a>,·<a·href="https://github.com/erlang/otp/pull/8697"·title="">PR-8697</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>When·using·<a·href="erl_nif.html#enif_select_read"><code·class="inline">enif_select_read</code></a>·(or·<a·href="erl_nif.html#enif_select"><code·class="inline">enif_select</code></a>·with·<code·class="inline">ERL_NIF_SELECT_READ</code>)·on·systems·with·kernel·polling·enabled·(that·is·most·Unix·systems),·file·descriptors·that·are·always·re-enabled·as·soon·as·they·trigger·are·now·part·of·a·specialized·pollset·just·as·<a·href="erl_driver.html#driver_select"><code·class="inline">driver_select</code></a>.·This·reduces·the·CPU·usage·in·such·scenarios·as·the·erts·does·not·have·to·re-insert·the·FD·everytime·it·it·triggered.·As·a·result·of·this·optimization·<a·href="../../../lib/kernel-10.3/doc/html/socket.html"><code·class="inline">socket</code></a>·based·reading·uses·a·lot·less·CPU·and·achieves·a·higher·throughput.</p><p>Own·Id:·OTP-19479·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9275"·title="">PR-9275</a></p></li><li><p>Added·support·for·compiling·Erlang/OTP·for·Windows·on·ARM64.</p><p>Own·Id:·OTP-19480·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8734"·title="">PR-8734</a></p></li><li><p>The·Windows·installer·no·longer·creates·the·<code·class="inline">erl.ini</code>·file,·making·installations·redistributable.</p><p>Own·Id:·OTP-19481·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9330"·title="">PR-9330</a></p></li><li><p>Added·erlang:hibernate/0,·which·hibernates·a·process·without·discarding·the·stack.</p><p>Own·Id:·OTP-19503·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9406"·title="">PR-9406</a></p></li><li><p>The·asmjit·library·(used·by·BeamJIT)·has·been·updated·to·version·029075b84bf0161a761beb63e6eda519a29020db.</p><p>Own·Id:·OTP-19509·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9495"·title="">PR-9495</a></p></li><li><p>When·compiling·C/C++·code·on·Unix·systems,·the·compiler·hardening·flags·suggested·by·the·<a·href="https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md">Open·Source·Security·Foundation</a>·are·now·enabled·by·default.·To·disable·them,·pass·<code·class="inline">--disable-security-hardening-flags</code>·to·<code·class="inline">configure</code>.</p><p>Own·Id:·OTP-19519·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9441"·title="">PR-9441</a></p></li><li><p>If·a·process·being·suspended·using·<a·href="erlang.html#suspend_process/2"><code·class="inline">erlang:suspend_process()</code></a>
152 currently·is·waiting·in·a·<code·class="inline">receive·...·after</code>·expression,·the·timer·for·the·timeout·will·now·also·be152 currently·is·waiting·in·a·<code·class="inline">receive·...·after</code>·expression,·the·timer·for·the·timeout·will·now·also·be
153 suspended·until·the·process·is·resumed.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19536·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a></p></li><li><p>A·test·module·for·TLS·distribution·over·<code·class="inline">socket</code>·has·been·implemented.</p><p>Own·Id:·OTP-19539·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9511"·title="">PR-9511</a></p></li><li><p>Upgrade·pcre2·to·10.45</p><p>Own·Id:·OTP-19541·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9582"·title="">PR-9582</a></p></li><li><p>The·<code·class="inline">+R</code>·emulator·options·has·been·removed.·It·has·had·any·effect·since·Erlang/OTP·R9.</p><p>Own·Id:·OTP-19551·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9608"·title="">PR-9608</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>Increase·the·default·inet-driver·buffer·size(s).·Also·introduce·kernel·parameters·for·UDP·and·SCTP·to·change·the·sizes·when·creating·(those)·sockets.</p><p>Own·Id:·OTP-19576</p></li><li><p>Add·<a·href="erl_cmd.html#%2BJPperfdirectory"><code·class="inline">+JPperfdirectory·&lt;dir&gt;</code></a>·for·specifying·which·directory·Erlang·should·place·perf·symbol·information·files.</p><p>Own·Id:·OTP-19589·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9639"·title="">PR-9639</a>,·<a·href="https://github.com/erlang/otp/issues/9500"·title="">GH-9500</a></p></li><li><p>Allow·multiple·static·nifs·to·be·part·of·the·same·archive.·See·the·<a·href="erl_nif.html#initialization">NIF·documentation</a>·for·details.</p><p>Own·Id:·OTP-19590·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9625"·title="">PR-9625</a></p></li><li><p>Various·improvements·reducing·lock·contention·on·run·queues·due·to·task·stealing.</p><p>Own·Id:·OTP-19591·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9594"·title="">PR-9594</a></p></li><li><p>The·new·implementation·has·the·same·behavior·as·the·previous·one.·The·newer·compilers·already·have·native·support·for·FP16,·so·this·implementation·is·only·relevant·for·older·compilers.·For·this·reason,·the·new·implementation·has·not·been·tested·for·speed.</p><p>Own·Id:·OTP-19603·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9735"·title="">PR-9735</a></p></li><li><p>An··<strong>experimental</strong>·API·for·a·native·debugger·has·been·added.·The·main·components·are·the·following:</p><ul><li><p>A·new·compiler·option·<code·class="inline">beam_debug_info</code>·for·the·Erlang·compiler.·When·given,·most·optimizations·are·disabled·and·debug·information·suitable·for·the·native·debugger·are·added·to·generated·BEAM·files.</p></li><li><p>A·new·<code·class="inline">+D</code>·emulator·flag.·When·given,·the·VM·becomes·&quot;debuggable&quot;,·which·means·that·when·modules·that·been·compiled·with·the·<code·class="inline">beam_debug_info</code>·option·are·loaded,·the·code·is·instrumented·so·that·one·can·enable·and·disable·breakpoints·on·executable·lines.</p></li><li><p>An·experimental·<code·class="inline">erl_debugger</code>·module·with·a·new·debugging·API.·Essentially,·it·allows·a·single,·local,·process·to·be·registered·as·the·&quot;debugger&quot;·process·for·the·node.·This·process·is·the·one·that·will·receive·messages·notifying·that·a·process·hit·a·breakpoint.·This·way,·the·front-end·implementation·of·a·debugger·(such·as·<a·href="https://github.com/WhatsApp/edb">edb·from·WhatApp</a>)·can·be·decoupled·from·OTP.</p></li><li><p>The·<code·class="inline">erl_debugger</code>·module·also·exposes·new·BIFs·to·inspect·<code·class="inline">X</code>·and·<code·class="inline">Y</code>·registers·of·a·suspended·process.·Together·with·new·code-information·BIFs,·this·let's·a·debugger·show·the·values·of·variables·in·scope·for·a·suspended·process.</p></li></ul><p>Own·Id:·OTP-19609·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a>,·<a·href="https://github.com/erlang/otp/pull/9334"·title="">PR-9334</a>,·<a·href="https://github.com/erlang/otp/pull/9604"·title="">PR-9604</a></p></li><li><p>Update·internal·<code·class="inline">ryu</code>·implementation·to·use·latest·version.·The·new·version·is·a·little·bit·faster·in·some·scenarios.·<code·class="inline">ryu</code>·is·used·by·<a·href="erlang.html#float_to_list/1"><code·class="inline">float_to_list/1</code></a>·and·similar·functions·to·convert·floats·to·strings.</p><p>Own·Id:·OTP-19613·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9733"·title="">PR-9733</a></p></li><li><p>Update·of·MD5·implementation·from·OpenSSL·version·3.1.4·to·3.5.</p><p>Own·Id:·OTP-19614·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9775"·title="">PR-9775</a></p></li><li><p>Small·optimization·in·binary_to_term·by·not·allocating·an·unnecessary·large·native·stack·frame.</p><p>Own·Id:·OTP-19618·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9759"·title="">PR-9759</a>,·<a·href="https://github.com/erlang/otp/pull/9809"·title="">PR-9809</a></p></li></ul><h2·id="erts-15-2-7"·class="section-heading">153 suspended·until·the·process·is·resumed.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19536·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a></p></li><li><p>A·test·module·for·TLS·distribution·over·<code·class="inline">socket</code>·has·been·implemented.</p><p>Own·Id:·OTP-19539·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9511"·title="">PR-9511</a></p></li><li><p>Upgrade·pcre2·to·10.45</p><p>Own·Id:·OTP-19541·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9582"·title="">PR-9582</a></p></li><li><p>The·<code·class="inline">+R</code>·emulator·options·has·been·removed.·It·has·had·any·effect·since·Erlang/OTP·R9.</p><p>Own·Id:·OTP-19551·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9608"·title="">PR-9608</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>Increase·the·default·inet-driver·buffer·size(s).·Also·introduce·kernel·parameters·for·UDP·and·SCTP·to·change·the·sizes·when·creating·(those)·sockets.</p><p>Own·Id:·OTP-19576</p></li><li><p>Add·<a·href="erl_cmd.html#%2BJPperfdirectory"><code·class="inline">+JPperfdirectory·&lt;dir&gt;</code></a>·for·specifying·which·directory·Erlang·should·place·perf·symbol·information·files.</p><p>Own·Id:·OTP-19589·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9639"·title="">PR-9639</a>,·<a·href="https://github.com/erlang/otp/issues/9500"·title="">GH-9500</a></p></li><li><p>Allow·multiple·static·nifs·to·be·part·of·the·same·archive.·See·the·<a·href="erl_nif.html#initialization">NIF·documentation</a>·for·details.</p><p>Own·Id:·OTP-19590·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9625"·title="">PR-9625</a></p></li><li><p>Various·improvements·reducing·lock·contention·on·run·queues·due·to·task·stealing.</p><p>Own·Id:·OTP-19591·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9594"·title="">PR-9594</a></p></li><li><p>The·new·implementation·has·the·same·behavior·as·the·previous·one.·The·newer·compilers·already·have·native·support·for·FP16,·so·this·implementation·is·only·relevant·for·older·compilers.·For·this·reason,·the·new·implementation·has·not·been·tested·for·speed.</p><p>Own·Id:·OTP-19603·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9735"·title="">PR-9735</a></p></li><li><p>An··<strong>experimental</strong>·API·for·a·native·debugger·has·been·added.·The·main·components·are·the·following:</p><ul><li><p>A·new·compiler·option·<code·class="inline">beam_debug_info</code>·for·the·Erlang·compiler.·When·given,·most·optimizations·are·disabled·and·debug·information·suitable·for·the·native·debugger·are·added·to·generated·BEAM·files.</p></li><li><p>A·new·<code·class="inline">+D</code>·emulator·flag.·When·given,·the·VM·becomes·&quot;debuggable&quot;,·which·means·that·when·modules·that·been·compiled·with·the·<code·class="inline">beam_debug_info</code>·option·are·loaded,·the·code·is·instrumented·so·that·one·can·enable·and·disable·breakpoints·on·executable·lines.</p></li><li><p>An·experimental·<code·class="inline">erl_debugger</code>·module·with·a·new·debugging·API.·Essentially,·it·allows·a·single,·local,·process·to·be·registered·as·the·&quot;debugger&quot;·process·for·the·node.·This·process·is·the·one·that·will·receive·messages·notifying·that·a·process·hit·a·breakpoint.·This·way,·the·front-end·implementation·of·a·debugger·(such·as·<a·href="https://github.com/WhatsApp/edb">edb·from·WhatApp</a>)·can·be·decoupled·from·OTP.</p></li><li><p>The·<code·class="inline">erl_debugger</code>·module·also·exposes·new·BIFs·to·inspect·<code·class="inline">X</code>·and·<code·class="inline">Y</code>·registers·of·a·suspended·process.·Together·with·new·code-information·BIFs,·this·let's·a·debugger·show·the·values·of·variables·in·scope·for·a·suspended·process.</p></li></ul><p>Own·Id:·OTP-19609·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a>,·<a·href="https://github.com/erlang/otp/pull/9334"·title="">PR-9334</a>,·<a·href="https://github.com/erlang/otp/pull/9604"·title="">PR-9604</a></p></li><li><p>Update·internal·<code·class="inline">ryu</code>·implementation·to·use·latest·version.·The·new·version·is·a·little·bit·faster·in·some·scenarios.·<code·class="inline">ryu</code>·is·used·by·<a·href="erlang.html#float_to_list/1"><code·class="inline">float_to_list/1</code></a>·and·similar·functions·to·convert·floats·to·strings.</p><p>Own·Id:·OTP-19613·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9733"·title="">PR-9733</a></p></li><li><p>Update·of·MD5·implementation·from·OpenSSL·version·3.1.4·to·3.5.</p><p>Own·Id:·OTP-19614·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9775"·title="">PR-9775</a></p></li><li><p>Small·optimization·in·binary_to_term·by·not·allocating·an·unnecessary·large·native·stack·frame.</p><p>Own·Id:·OTP-19618·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9759"·title="">PR-9759</a>,·<a·href="https://github.com/erlang/otp/pull/9809"·title="">PR-9809</a></p></li></ul><h2·id="erts-15-2-7"·class="section-heading">
154 ··<a·href="#erts-15-2-7"·class="hover-link">154 ··<a·href="#erts-15-2-7"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 249, 15 lines modifiedOffset 249, 15 lines modified
249 <ul><li><p><a·href="../../../lib/kernel-10.3/doc/html/gen_sctp.html#peeloff/2"><code·class="inline">gen_sctp:peeloff/2</code></a>·has·been·fixed·to·inherit·socket·options·to·the·peeled·off·socket·more·like·<a·href="../../../lib/kernel-10.3/doc/html/gen_tcp.html#accept/1"><code·class="inline">gen_tcp:accept/1</code></a>,·for·example·the·options·<code·class="inline">tos</code>·or·<code·class="inline">tclass</code>.</p><p>When·setting·SCTP·options·that·are·unsupported·on·the·platform,·some·should·be·silently·ignored,·but·a·bug·caused·the·option·parsing·to·derail·so·the·options·after·could·bail·out·and·cause·an·error·instead.··This·has·been·fixed.</p><p>Own·Id:·OTP-19225·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8789"·title="">PR-8789</a></p></li><li><p>Fixed·a·bug·where·Erlang·would·corrupt·the·terminal·settings·if·stdin·was·a·TTY·but·stdout·was·not.</p><p>Own·Id:·OTP-19232·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8794"·title="">PR-8794</a>,·<a·href="https://github.com/erlang/otp/issues/8487"·title="">GH-8487</a></p></li><li><p>Fixed·a·bug·in·the·non-JIT·VM·when·loading·a·NIF·over·a·function·that·is·already·traced·by·more·than·one·session.·This·caused·a·VM·crash.·This·bug·has·existed·since·OTP-27.0,·where·multiple·trace·sessions·were·introduced.</p><p>Own·Id:·OTP-19248·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8856"·title="">PR-8856</a></p></li><li><p>Fixed·a·bug·where·the·loading·of·modules·with·extremely·large·binary·construction·instructions·crashed·the·emulator·on·AArch64.</p><p>Own·Id:·OTP-19261·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8815"·title="">GH-8815</a>,·<a·href="https://github.com/erlang/otp/pull/8816"·title="">PR-8816</a></p></li><li><p><a·href="../../../lib/kernel-10.3/doc/html/inet.html#getifaddrs/1"><code·class="inline">inet:getifaddrs/0,1</code></a>·is·improved·when·using249 <ul><li><p><a·href="../../../lib/kernel-10.3/doc/html/gen_sctp.html#peeloff/2"><code·class="inline">gen_sctp:peeloff/2</code></a>·has·been·fixed·to·inherit·socket·options·to·the·peeled·off·socket·more·like·<a·href="../../../lib/kernel-10.3/doc/html/gen_tcp.html#accept/1"><code·class="inline">gen_tcp:accept/1</code></a>,·for·example·the·options·<code·class="inline">tos</code>·or·<code·class="inline">tclass</code>.</p><p>When·setting·SCTP·options·that·are·unsupported·on·the·platform,·some·should·be·silently·ignored,·but·a·bug·caused·the·option·parsing·to·derail·so·the·options·after·could·bail·out·and·cause·an·error·instead.··This·has·been·fixed.</p><p>Own·Id:·OTP-19225·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8789"·title="">PR-8789</a></p></li><li><p>Fixed·a·bug·where·Erlang·would·corrupt·the·terminal·settings·if·stdin·was·a·TTY·but·stdout·was·not.</p><p>Own·Id:·OTP-19232·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8794"·title="">PR-8794</a>,·<a·href="https://github.com/erlang/otp/issues/8487"·title="">GH-8487</a></p></li><li><p>Fixed·a·bug·in·the·non-JIT·VM·when·loading·a·NIF·over·a·function·that·is·already·traced·by·more·than·one·session.·This·caused·a·VM·crash.·This·bug·has·existed·since·OTP-27.0,·where·multiple·trace·sessions·were·introduced.</p><p>Own·Id:·OTP-19248·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8856"·title="">PR-8856</a></p></li><li><p>Fixed·a·bug·where·the·loading·of·modules·with·extremely·large·binary·construction·instructions·crashed·the·emulator·on·AArch64.</p><p>Own·Id:·OTP-19261·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8815"·title="">GH-8815</a>,·<a·href="https://github.com/erlang/otp/pull/8816"·title="">PR-8816</a></p></li><li><p><a·href="../../../lib/kernel-10.3/doc/html/inet.html#getifaddrs/1"><code·class="inline">inet:getifaddrs/0,1</code></a>·is·improved·when·using
250 inet_backend·=·socket.</p><p>Own·Id:·OTP-19264</p></li><li><p><a·href="../../../lib/stdlib-7.0/doc/html/win32reg.html#value/2"><code·class="inline">win32reg:value/2</code></a>·will·no·longer·crash·the·emulator·when·the·value·is·an·unterminated·REG_SZ·of·size·0.</p><p>Own·Id:·OTP-19283·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8903"·title="">GH-8903</a>,·<a·href="https://github.com/erlang/otp/pull/8912"·title="">PR-8912</a></p></li><li><p><code·class="inline">Makefile</code>·dependency·generation·on·Windows·in·WSL·2·has·been·corrected.</p><p>Own·Id:·OTP-19300·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8955"·title="">PR-8955</a></p></li><li><p>Fix·lock·order·violation·if·a·NIF·monitor·<code·class="inline">down</code>·callback·calls·<code·class="inline">enif_whereis_pid</code>.·Would·cause·debug·emulator·to·crash·but·could·potentially·lead·to·deadlocks·in·optimized·emulator.</p><p>Own·Id:·OTP-19330·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8983"·title="">GH-8983</a>,·<a·href="https://github.com/erlang/otp/pull/9008"·title="">PR-9008</a></p></li><li><p>Fixed·compilation·faults·when·compiling·using·<code·class="inline">--enable-vm-probes</code>.</p><p>Own·Id:·OTP-19333</p></li><li><p>Fixed·<code·class="inline">erl_nif.h</code>·on·Windows·to·compile·when·gcc·or·clang·is·used.</p><p>Own·Id:·OTP-19341·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9016"·title="">PR-9016</a></p></li><li><p>Fixed·a·minor·issue·in·the·JIT·debug·information·that·confused·tools·like·GDB·and·perf.</p><p>Own·Id:·OTP-19362·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9003"·title="">PR-9003</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">250 inet_backend·=·socket.</p><p>Own·Id:·OTP-19264</p></li><li><p><a·href="../../../lib/stdlib-7.0/doc/html/win32reg.html#value/2"><code·class="inline">win32reg:value/2</code></a>·will·no·longer·crash·the·emulator·when·the·value·is·an·unterminated·REG_SZ·of·size·0.</p><p>Own·Id:·OTP-19283·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8903"·title="">GH-8903</a>,·<a·href="https://github.com/erlang/otp/pull/8912"·title="">PR-8912</a></p></li><li><p><code·class="inline">Makefile</code>·dependency·generation·on·Windows·in·WSL·2·has·been·corrected.</p><p>Own·Id:·OTP-19300·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8955"·title="">PR-8955</a></p></li><li><p>Fix·lock·order·violation·if·a·NIF·monitor·<code·class="inline">down</code>·callback·calls·<code·class="inline">enif_whereis_pid</code>.·Would·cause·debug·emulator·to·crash·but·could·potentially·lead·to·deadlocks·in·optimized·emulator.</p><p>Own·Id:·OTP-19330·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8983"·title="">GH-8983</a>,·<a·href="https://github.com/erlang/otp/pull/9008"·title="">PR-9008</a></p></li><li><p>Fixed·compilation·faults·when·compiling·using·<code·class="inline">--enable-vm-probes</code>.</p><p>Own·Id:·OTP-19333</p></li><li><p>Fixed·<code·class="inline">erl_nif.h</code>·on·Windows·to·compile·when·gcc·or·clang·is·used.</p><p>Own·Id:·OTP-19341·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9016"·title="">PR-9016</a></p></li><li><p>Fixed·a·minor·issue·in·the·JIT·debug·information·that·confused·tools·like·GDB·and·perf.</p><p>Own·Id:·OTP-19362·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9003"·title="">PR-9003</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">
251 ··<a·href="#improvements-and-new-features-1"·class="hover-link">251 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
252 ····<i·class="ri-link-m"·aria-hidden="true"></i>252 ····<i·class="ri-link-m"·aria-hidden="true"></i>
253 ··</a>253 ··</a>
254 ··<span·class="text">Improvements·and·New·Features</span>254 ··<span·class="text">Improvements·and·New·Features</span>
255 </h3>255 </h3>
256 <ul><li><p>Improved·documentation·of·<a·href="time_correction.html#timers">timers</a>.</p><p>Own·Id:·OTP-19360·Aux·Id:·ERIERL-1149,·<a·href="https://github.com/erlang/otp/pull/9062"·title="">PR-9062</a></p></li><li><p>The·label·for·a·process·can·now·be·retrieved·also·using·<code·class="inline">process_info(Pid,·label)</code>·in·addition·to·<a·href="../../../lib/stdlib-7.0/doc/html/proc_lib.html#get_label/1"><code·class="inline">proc_lib:get_label/1</code></a>.</p><p>This·new·option·is·useful·when·one·wants·to·retrieve·more·than·one·process·info·item.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">process_info</span><span·class="p"·data-group-id="1359654751-1">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1359654751-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:·b57e6fb50ee6af06ceb6e5775b4d5bfaf96f104a7919cfdaeb09718e4a431d82·...·]-1">)</span></code></pre><p>Own·Id:·OTP-19373·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9108"·title="">PR-9108</a></p></li></ul><h2·id="erts-15-1-3"·class="section-heading">256 <ul><li><p>Improved·documentation·of·<a·href="time_correction.html#timers">timers</a>.</p><p>Own·Id:·OTP-19360·Aux·Id:·ERIERL-1149,·<a·href="https://github.com/erlang/otp/pull/9062"·title="">PR-9062</a></p></li><li><p>The·label·for·a·process·can·now·be·retrieved·also·using·<code·class="inline">process_info(Pid,·label)</code>·in·addition·to·<a·href="../../../lib/stdlib-7.0/doc/html/proc_lib.html#get_label/1"><code·class="inline">proc_lib:get_label/1</code></a>.</p><p>This·new·option·is·useful·when·one·wants·to·retrieve·more·than·one·process·info·item.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">process_info</span><span·class="p"·data-group-id="2390689727-1">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2390689727-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:·c57c0343bf25b62a6661f4fce40b33144fcc73d985f65c040660e5722be5e070·...·]-1">)</span></code></pre><p>Own·Id:·OTP-19373·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9108"·title="">PR-9108</a></p></li></ul><h2·id="erts-15-1-3"·class="section-heading">
257 ··<a·href="#erts-15-1-3"·class="hover-link">257 ··<a·href="#erts-15-1-3"·class="hover-link">
258 ····<i·class="ri-link-m"·aria-hidden="true"></i>258 ····<i·class="ri-link-m"·aria-hidden="true"></i>
259 ··</a>259 ··</a>
260 ··<span·class="text">Erts·15.1.3</span>260 ··<span·class="text">Erts·15.1.3</span>
261 </h2>261 </h2>
262 <h3·id="fixed-bugs-and-malfunctions-9"·class="section-heading">262 <h3·id="fixed-bugs-and-malfunctions-9"·class="section-heading">
263 ··<a·href="#fixed-bugs-and-malfunctions-9"·class="hover-link">263 ··<a·href="#fixed-bugs-and-malfunctions-9"·class="hover-link">
Offset 297, 16 lines modifiedOffset 297, 16 lines modified
297 </h2>297 </h2>
298 <h3·id="fixed-bugs-and-malfunctions-12"·class="section-heading">298 <h3·id="fixed-bugs-and-malfunctions-12"·class="section-heading">
299 ··<a·href="#fixed-bugs-and-malfunctions-12"·class="hover-link">299 ··<a·href="#fixed-bugs-and-malfunctions-12"·class="hover-link">
300 ····<i·class="ri-link-m"·aria-hidden="true"></i>300 ····<i·class="ri-link-m"·aria-hidden="true"></i>
301 ··</a>301 ··</a>
302 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>302 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
303 </h3>303 </h3>
304 <ul><li><p>The·<code·class="inline">erl·-man·example</code>·has·been·corrected·to·not·consider·values·set·in·<code·class="inline">ERL_ZFLAGS</code>·and·stop·parsing·arguments·when·a·<code·class="inline">--</code>·is·encountered.</p><p>Own·Id:·OTP-19098·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8478"·title="">PR-8478</a>,·<a·href="https://github.com/erlang/otp/issues/8477"·title="">GH-8477</a></p></li><li><p>Compiler·warnings·for··Windows·I/O·back-end·have·been·silenced.</p><p>Own·Id:·OTP-19113</p></li><li><p>Bugs·related·to·<code·class="inline">return_to</code>·trace·have·been·fixed.·It·did·not·work·for·more·than·once·trace·session·and·it·did·sometimes·not·trigger·for·exceptions.</p><p>Own·Id:·OTP-19122</p></li><li><p>Potential·deadlocks·while·writing·a·crash·dump·have·been·eliminated.</p><p>Own·Id:·OTP-19133·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8521"·title="">PR-8521</a>,·<a·href="https://github.com/erlang/otp/issues/8498"·title="">GH-8498</a></p></li><li><p>When·loading·a·damaged·or·too·old·BEAM·file,·the·runtime·system·could·crash.</p><p>Own·Id:·OTP-19153·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8623"·title="">PR-8623</a></p></li><li><p>A·scheduler·thread·could·get·stuck·when·deleting·a·memory·allocator·carrier·when·adjacent·carriers·were·deleted·and/or·inserted·simultaneously·by·other·schedulers.·This·in·turn·could·cause·the·other·schedulers·to·get·stuck·as·well.</p><p>Own·Id:·OTP-19154·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8613"·title="">GH-8613</a>,·<a·href="https://github.com/erlang/otp/pull/8627"·title="">PR-8627</a></p></li><li><p>Statistics·for·number·of·carriers·in·a·shared·pool·after·calling·<code·class="inline">instrument:allocations</code>·or·<code·class="inline">instrument:carriers</code>·are·now·correct.·Also,·a·potential·bug·in·carrier·block·scanning·was·eliminated.</p><p>Own·Id:·OTP-19166·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8636"·title="">PR-8636</a></p></li><li><p>A·race·in·the·kTLS·flavour·of·SSL·distribution·has·been·fixed·so·that·<code·class="inline">inet_drv.c</code>·doesn't·read·ahead·too·much·data,·which·could·cause·the·kTLS·encryption·to·be·activated·too·late·when·some·encrypted·data·had·already·been·read·into·the·<code·class="inline">inet_drv.c</code>·buffer·as·unencrypted.</p><p>Own·Id:·OTP-19175·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8561"·title="">GH-8561</a>,·<a·href="https://github.com/erlang/otp/pull/8690"·title="">PR-8690</a></p></li><li><p>Fixed·an·emulator·crash·relating·to·compressed·ETS·tables.</p><p>Own·Id:·OTP-19176·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8683"·title="">PR-8683</a></p></li><li><p>A·function·(encode_sockaddr)·was·called·with·superfluous·argument,·on·Windows,·in·the·net·nif.</p><p>Own·Id:·OTP-19181</p></li><li><p>Fixed·a·crash·that·could·happen·on·reallocation·failure.</p><p>Own·Id:·OTP-19192</p></li><li><p>Man·pages·are·now·available·for·<code·class="inline">erl</code>,·<code·class="inline">erlc</code>,·<code·class="inline">dialyzer</code>,·and·all·other·programs·that·are·included·in·Erlang/OTP.</p><p>Own·Id:·OTP-19201·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8740"·title="">PR-8740</a></p></li><li><p>A·previous·correction·in·the·Erlang/OTP·27.0.1·emergency·patch·had·the·unfortunate·side·effect·of·sometimes·causing·an·unnecessary·fullsweep·(major)·garbage·collection·instead·of·a··generation·(minor)·garbage·collection.·This·has·been·corrected.</p><p>Own·Id:·OTP-19209·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8751"·title="">PR-8751</a>,·<a·href="https://github.com/erlang/otp/pull/8539"·title="">PR-8539</a></p></li><li><p>Fixed·trace·matchspec·functions·<code·class="inline">trace</code>·and·<code·class="inline">enable_trace</code>·to·use·the·session·tracer·when·enabling·trace·flags·on·untraced·processes.</p><p>Own·Id:·OTP-19211·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8657"·title="">GH-8657</a></p></li><li><p>Fixed·a·typo·in·the·type·spec·for·<a·href="erlang.html#t:garbage_collection_defaults/0"><code·class="inline">erlang:garbage_collection_defaults/0</code></a>.</p><p>Own·Id:·OTP-19215·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8757"·title="">PR-8757</a></p></li><li><p>Corrected·socket:ioctl·for·genaddr·(SIOCGENADDR).</p><p>Own·Id:·OTP-19216</p></li><li><p>The·support·for·Transparent·Huge·Pages·has·been·disabled·on·non-amd64·Linux·systems.</p><p>Own·Id:·OTP-19219·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8702"·title="">PR-8702</a></p></li><li><p>Fixed·a·race·condition·on·Windows·when·upgrading·from·<code·class="inline">-noshell</code>·to·a·shell·that·would·cause·Erlang·to·crash·with·the·error:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8586217208-1">{</span><span·class="ss">&#39;GetOverlappedResult&#39;</span><span·class="p">,</span><span·class="w">304 <ul><li><p>The·<code·class="inline">erl·-man·example</code>·has·been·corrected·to·not·consider·values·set·in·<code·class="inline">ERL_ZFLAGS</code>·and·stop·parsing·arguments·when·a·<code·class="inline">--</code>·is·encountered.</p><p>Own·Id:·OTP-19098·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8478"·title="">PR-8478</a>,·<a·href="https://github.com/erlang/otp/issues/8477"·title="">GH-8477</a></p></li><li><p>Compiler·warnings·for··Windows·I/O·back-end·have·been·silenced.</p><p>Own·Id:·OTP-19113</p></li><li><p>Bugs·related·to·<code·class="inline">return_to</code>·trace·have·been·fixed.·It·did·not·work·for·more·than·once·trace·session·and·it·did·sometimes·not·trigger·for·exceptions.</p><p>Own·Id:·OTP-19122</p></li><li><p>Potential·deadlocks·while·writing·a·crash·dump·have·been·eliminated.</p><p>Own·Id:·OTP-19133·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8521"·title="">PR-8521</a>,·<a·href="https://github.com/erlang/otp/issues/8498"·title="">GH-8498</a></p></li><li><p>When·loading·a·damaged·or·too·old·BEAM·file,·the·runtime·system·could·crash.</p><p>Own·Id:·OTP-19153·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8623"·title="">PR-8623</a></p></li><li><p>A·scheduler·thread·could·get·stuck·when·deleting·a·memory·allocator·carrier·when·adjacent·carriers·were·deleted·and/or·inserted·simultaneously·by·other·schedulers.·This·in·turn·could·cause·the·other·schedulers·to·get·stuck·as·well.</p><p>Own·Id:·OTP-19154·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8613"·title="">GH-8613</a>,·<a·href="https://github.com/erlang/otp/pull/8627"·title="">PR-8627</a></p></li><li><p>Statistics·for·number·of·carriers·in·a·shared·pool·after·calling·<code·class="inline">instrument:allocations</code>·or·<code·class="inline">instrument:carriers</code>·are·now·correct.·Also,·a·potential·bug·in·carrier·block·scanning·was·eliminated.</p><p>Own·Id:·OTP-19166·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8636"·title="">PR-8636</a></p></li><li><p>A·race·in·the·kTLS·flavour·of·SSL·distribution·has·been·fixed·so·that·<code·class="inline">inet_drv.c</code>·doesn't·read·ahead·too·much·data,·which·could·cause·the·kTLS·encryption·to·be·activated·too·late·when·some·encrypted·data·had·already·been·read·into·the·<code·class="inline">inet_drv.c</code>·buffer·as·unencrypted.</p><p>Own·Id:·OTP-19175·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8561"·title="">GH-8561</a>,·<a·href="https://github.com/erlang/otp/pull/8690"·title="">PR-8690</a></p></li><li><p>Fixed·an·emulator·crash·relating·to·compressed·ETS·tables.</p><p>Own·Id:·OTP-19176·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8683"·title="">PR-8683</a></p></li><li><p>A·function·(encode_sockaddr)·was·called·with·superfluous·argument,·on·Windows,·in·the·net·nif.</p><p>Own·Id:·OTP-19181</p></li><li><p>Fixed·a·crash·that·could·happen·on·reallocation·failure.</p><p>Own·Id:·OTP-19192</p></li><li><p>Man·pages·are·now·available·for·<code·class="inline">erl</code>,·<code·class="inline">erlc</code>,·<code·class="inline">dialyzer</code>,·and·all·other·programs·that·are·included·in·Erlang/OTP.</p><p>Own·Id:·OTP-19201·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8740"·title="">PR-8740</a></p></li><li><p>A·previous·correction·in·the·Erlang/OTP·27.0.1·emergency·patch·had·the·unfortunate·side·effect·of·sometimes·causing·an·unnecessary·fullsweep·(major)·garbage·collection·instead·of·a··generation·(minor)·garbage·collection.·This·has·been·corrected.</p><p>Own·Id:·OTP-19209·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8751"·title="">PR-8751</a>,·<a·href="https://github.com/erlang/otp/pull/8539"·title="">PR-8539</a></p></li><li><p>Fixed·trace·matchspec·functions·<code·class="inline">trace</code>·and·<code·class="inline">enable_trace</code>·to·use·the·session·tracer·when·enabling·trace·flags·on·untraced·processes.</p><p>Own·Id:·OTP-19211·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8657"·title="">GH-8657</a></p></li><li><p>Fixed·a·typo·in·the·type·spec·for·<a·href="erlang.html#t:garbage_collection_defaults/0"><code·class="inline">erlang:garbage_collection_defaults/0</code></a>.</p><p>Own·Id:·OTP-19215·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8757"·title="">PR-8757</a></p></li><li><p>Corrected·socket:ioctl·for·genaddr·(SIOCGENADDR).</p><p>Own·Id:·OTP-19216</p></li><li><p>The·support·for·Transparent·Huge·Pages·has·been·disabled·on·non-amd64·Linux·systems.</p><p>Own·Id:·OTP-19219·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8702"·title="">PR-8702</a></p></li><li><p>Fixed·a·race·condition·on·Windows·when·upgrading·from·<code·class="inline">-noshell</code>·to·a·shell·that·would·cause·Erlang·to·crash·with·the·error:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3950464913-1">{</span><span·class="ss">&#39;GetOverlappedResult&#39;</span><span·class="p">,</span><span·class="w">
305 ··</span><span·class="ss">&#39;The·I/O·operation·has·been·aborted·because·of·either·a·thread·exit·or·an·application·request.&#39;</span><span·class="p"·data-group-id="8586217208-1">}</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-19220·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8774"·title="">PR-8774</a>,·<a·href="https://github.com/erlang/otp/issues/7621"·title="">GH-7621</a></p></li></ul><h3·id="improvements-and-new-features-2"·class="section-heading">305 ··</span><span·class="ss">&#39;The·I/O·operation·has·been·aborted·because·of·either·a·thread·exit·or·an·application·request.&#39;</span><span·class="p"·data-group-id="3950464913-1">}</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-19220·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8774"·title="">PR-8774</a>,·<a·href="https://github.com/erlang/otp/issues/7621"·title="">GH-7621</a></p></li></ul><h3·id="improvements-and-new-features-2"·class="section-heading">
306 ··<a·href="#improvements-and-new-features-2"·class="hover-link">306 ··<a·href="#improvements-and-new-features-2"·class="hover-link">
307 ····<i·class="ri-link-m"·aria-hidden="true"></i>307 ····<i·class="ri-link-m"·aria-hidden="true"></i>
308 ··</a>308 ··</a>
309 ··<span·class="text">Improvements·and·New·Features</span>309 ··<span·class="text">Improvements·and·New·Features</span>
310 </h3>310 </h3>
311 <ul><li><p>Added·functions·<code·class="inline">getservbyname</code>·and·<code·class="inline">getservbyport</code>·to·the·<code·class="inline">net</code>·module.</p><p>Own·Id:·OTP-19101·Aux·Id:·OTP-18835</p></li><li><p>Introduced·enet·|·esock·variants·of·<a·href="../../../lib/kernel-10.3/doc/html/inet.html"><code·class="inline">inet</code></a>·functions,·either·when·called·with·sockets,311 <ul><li><p>Added·functions·<code·class="inline">getservbyname</code>·and·<code·class="inline">getservbyport</code>·to·the·<code·class="inline">net</code>·module.</p><p>Own·Id:·OTP-19101·Aux·Id:·OTP-18835</p></li><li><p>Introduced·enet·|·esock·variants·of·<a·href="../../../lib/kernel-10.3/doc/html/inet.html"><code·class="inline">inet</code></a>·functions,·either·when·called·with·sockets,
312 with·explicit·inet_backend·config·or·with·the·e·inet_backend·kernel·config·option.</p><p>Own·Id:·OTP-19132·Aux·Id:·OTP-19101</p></li><li><p>Optimize·process·and·port·creation·when·such·tracing·is·not·enabled·by·any·trace·session.</p><p>Own·Id:·OTP-19167·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8655"·title="">PR-8655</a></p></li><li><p>Compiler·warnings·for·some·removed·functions·have·been·corrected·to·point·out·the·correct·replacement·functions.</p><p>Own·Id:·OTP-19186·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8709"·title="">PR-8709</a></p></li><li><p>A·boolean·option·<code·class="inline">read_ahead</code>·has·been·implemented·for·<code·class="inline">gen_tcp</code>,·default·<code·class="inline">true</code>,·to·facilitate·not·reading·past·(caching·data)·the·end·of·a·packet.··In·particular,·for·kTLS,·caching·data·could·read·in·data·that·was·supposed·to·be·decrypted·by·the·platform's·network·stack,·before·crypto·parameters·could·be·activated.</p><p>Own·Id:·OTP-19199·Aux·Id:·OTP-19175,·<a·href="https://github.com/erlang/otp/issues/8561"·title="">GH-8561</a>,·<a·href="https://github.com/erlang/otp/issues/8690"·title="">GH-8690</a>,·<a·href="https://github.com/erlang/otp/issues/8785"·title="">GH-8785</a></p></li><li><p>The·<a·href="../../../lib/stdlib-7.0/doc/html/zip.html"><code·class="inline">zip</code></a>·module·has·been·updated·with·support·for:</p><ul><li>zip64·archives·-·Archives·larger·than·4GB·or·with·more·than·2^32·entries.</li><li>extended·timestamps·-·Higher·resolution·and·in·UTC.</li><li>UID/GID·-·Save·and·extract·the·original·UID/GID.</li><li>Fixes·so·that·permission·mode·attributes·are·correctly·read·and·set·for·files·in·archives.</li><li><a·href="../../../lib/stdlib-7.0/doc/html/zip.html#list_dir/2"><code·class="inline">zip:list_dir/2</code></a>·now·also·returns·directories,·not·only·files.·(You·can·disable·this·behaviour·by·using·the·option·<code·class="inline">skip_directories</code>).</li></ul><p>Various·bugs·in·the·original·implementation·have·also·been·fixed,·such·as:</p><ul><li>Correctly·encode·and·decode·the·DOS·timestamps·for·entries·within·an·archive·(that·is·the·non-extended·timestamp).</li><li>Fix·DOS·timestamps·to·be·set·to·localtime·instead·of·UTC·(use·extended·timestamps·for·UTC·timestamps).</li><li>Use·the·unix·file·attributes·read·from·disk·when·creating·archives·instead·of·setting·everything·to·644.</li></ul><p>Own·Id:·OTP-19214·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8765"·title="">PR-8765</a></p></li></ul><h2·id="erts-15-0-1"·class="section-heading">312 with·explicit·inet_backend·config·or·with·the·e·inet_backend·kernel·config·option.</p><p>Own·Id:·OTP-19132·Aux·Id:·OTP-19101</p></li><li><p>Optimize·process·and·port·creation·when·such·tracing·is·not·enabled·by·any·trace·session.</p><p>Own·Id:·OTP-19167·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8655"·title="">PR-8655</a></p></li><li><p>Compiler·warnings·for·some·removed·functions·have·been·corrected·to·point·out·the·correct·replacement·functions.</p><p>Own·Id:·OTP-19186·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8709"·title="">PR-8709</a></p></li><li><p>A·boolean·option·<code·class="inline">read_ahead</code>·has·been·implemented·for·<code·class="inline">gen_tcp</code>,·default·<code·class="inline">true</code>,·to·facilitate·not·reading·past·(caching·data)·the·end·of·a·packet.··In·particular,·for·kTLS,·caching·data·could·read·in·data·that·was·supposed·to·be·decrypted·by·the·platform's·network·stack,·before·crypto·parameters·could·be·activated.</p><p>Own·Id:·OTP-19199·Aux·Id:·OTP-19175,·<a·href="https://github.com/erlang/otp/issues/8561"·title="">GH-8561</a>,·<a·href="https://github.com/erlang/otp/issues/8690"·title="">GH-8690</a>,·<a·href="https://github.com/erlang/otp/issues/8785"·title="">GH-8785</a></p></li><li><p>The·<a·href="../../../lib/stdlib-7.0/doc/html/zip.html"><code·class="inline">zip</code></a>·module·has·been·updated·with·support·for:</p><ul><li>zip64·archives·-·Archives·larger·than·4GB·or·with·more·than·2^32·entries.</li><li>extended·timestamps·-·Higher·resolution·and·in·UTC.</li><li>UID/GID·-·Save·and·extract·the·original·UID/GID.</li><li>Fixes·so·that·permission·mode·attributes·are·correctly·read·and·set·for·files·in·archives.</li><li><a·href="../../../lib/stdlib-7.0/doc/html/zip.html#list_dir/2"><code·class="inline">zip:list_dir/2</code></a>·now·also·returns·directories,·not·only·files.·(You·can·disable·this·behaviour·by·using·the·option·<code·class="inline">skip_directories</code>).</li></ul><p>Various·bugs·in·the·original·implementation·have·also·been·fixed,·such·as:</p><ul><li>Correctly·encode·and·decode·the·DOS·timestamps·for·entries·within·an·archive·(that·is·the·non-extended·timestamp).</li><li>Fix·DOS·timestamps·to·be·set·to·localtime·instead·of·UTC·(use·extended·timestamps·for·UTC·timestamps).</li><li>Use·the·unix·file·attributes·read·from·disk·when·creating·archives·instead·of·setting·everything·to·644.</li></ul><p>Own·Id:·OTP-19214·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8765"·title="">PR-8765</a></p></li></ul><h2·id="erts-15-0-1"·class="section-heading">
Offset 335, 25 lines modifiedOffset 335, 25 lines modified
335 </h3>335 </h3>
336 <ul><li><p>Bugs·in·how·<code·class="inline">erl·-extra</code>·interacts·with·passing·flags·via·ERL_*FLAGS·or·<code·class="inline">-args_file</code>·have·been·fixed.</p><p>Own·Id:·OTP-18766·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7639"·title="">PR-7639</a></p></li><li><p>Fixed·a·bug·that·prevented·the·emulator·from·building·on·recent·versions·of·Yocto·Linux.</p><p>Own·Id:·OTP-18918·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7952"·title="">PR-7952</a></p></li><li><p>Fixed·spectre·mitigation·configure·test·to·work·with·GCC·patches·to·always·add·<code·class="inline">-fcf-protection=full</code>.</p><p>Own·Id:·OTP-18928·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8006"·title="">PR-8006</a></p></li><li><p>A··call·to·<code·class="inline">socket:[recv|recvfrom|recvmsg]/*</code>·with·Timeout·=·0·on·Windows·could·cause·a·(case·clause)·crash·if·data·is·immediately·available.</p><p>Own·Id:·OTP-19063·Aux·Id:·OTP-18835</p></li><li><p>Fix·bug·on·Windows·where·<code·class="inline">exit_status</code>·would·not·be·sent·when·a·port·exits·after·the·stdin/stdout·handles·have·been·closed.</p><p>Own·Id:·OTP-19077·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8324"·title="">PR-8324</a></p></li></ul><h3·id="improvements-and-new-features-3"·class="section-heading">336 <ul><li><p>Bugs·in·how·<code·class="inline">erl·-extra</code>·interacts·with·passing·flags·via·ERL_*FLAGS·or·<code·class="inline">-args_file</code>·have·been·fixed.</p><p>Own·Id:·OTP-18766·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7639"·title="">PR-7639</a></p></li><li><p>Fixed·a·bug·that·prevented·the·emulator·from·building·on·recent·versions·of·Yocto·Linux.</p><p>Own·Id:·OTP-18918·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7952"·title="">PR-7952</a></p></li><li><p>Fixed·spectre·mitigation·configure·test·to·work·with·GCC·patches·to·always·add·<code·class="inline">-fcf-protection=full</code>.</p><p>Own·Id:·OTP-18928·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8006"·title="">PR-8006</a></p></li><li><p>A··call·to·<code·class="inline">socket:[recv|recvfrom|recvmsg]/*</code>·with·Timeout·=·0·on·Windows·could·cause·a·(case·clause)·crash·if·data·is·immediately·available.</p><p>Own·Id:·OTP-19063·Aux·Id:·OTP-18835</p></li><li><p>Fix·bug·on·Windows·where·<code·class="inline">exit_status</code>·would·not·be·sent·when·a·port·exits·after·the·stdin/stdout·handles·have·been·closed.</p><p>Own·Id:·OTP-19077·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8324"·title="">PR-8324</a></p></li></ul><h3·id="improvements-and-new-features-3"·class="section-heading">
337 ··<a·href="#improvements-and-new-features-3"·class="hover-link">337 ··<a·href="#improvements-and-new-features-3"·class="hover-link">
338 ····<i·class="ri-link-m"·aria-hidden="true"></i>338 ····<i·class="ri-link-m"·aria-hidden="true"></i>
339 ··</a>339 ··</a>
340 ··<span·class="text">Improvements·and·New·Features</span>340 ··<span·class="text">Improvements·and·New·Features</span>
341 </h3>341 </h3>
342 <ul><li><p>Refactored·how·the·JIT·handles·POSIX·signals·and·how·they·affect·thread·stacks,·allowing·us·to·use·the·native·stack·register·for·Erlang·stacks·on·more·platforms.</p><p>Notably,·containers·built·on·64-bit·x86·Alpine·Linux·images·will·now·perform·much·better·in·sequential·code.·As·an·example,·running·<code·class="inline">dialyzer</code>·over·the·OTP·code·base·finishes·about·15%·quicker.</p><p>Own·Id:·OTP-18568·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7174"·title="">PR-7174</a></p></li><li><p>The·<a·href="../../../lib/runtime_tools-2.2/doc/html/instrument.html"><code·class="inline">instrument</code></a>·module·can·now·track·allocations·on·a·per-process·or·per-port·basis.</p><p>Own·Id:·OTP-18577·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7236"·title="">PR-7236</a></p></li><li><p>The·<code·class="inline">pid</code>·field·returned·from·<a·href="erlang.html#fun_info/2"><code·class="inline">erlang:fun_info/1,2</code></a>·is·now·always·the·pid·for·the·<code·class="inline">init</code>·process·of·the·local·node,·not·the·pid·for·the·actual·process·that·created·the·fun.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18594·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7274"·title="">PR-7274</a></p></li><li><p>By·default,·escripts·will·now·be·compiled·instead·of·interpreted.·That·means·that·the·<code·class="inline">compiler</code>·application·must·be·installed.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18639·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7348"·title="">PR-7348</a></p></li><li><p>A·binary·returned·from·the·<a·href="../../../lib/kernel-10.3/doc/html/socket.html"><code·class="inline">socket</code></a>·receive·functions·is·no·longer·created·as·a·sub·binary·of·an·often·large·receive·buffer·binary·(socket·option·<code·class="inline">{otp,rcvbuf}</code>).··This·avoids·space·waste,·trusting·the·allocators·to·implement·reallocation·efficiently.</p><p>Own·Id:·OTP-18642·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/6152"·title="">GH-6152</a>,·<a·href="https://github.com/erlang/otp/pull/7465"·title="">PR-7465</a></p></li><li><p>The·default·process·limit·has·been·raised·to·<code·class="inline">1048576</code>·processes.</p><p>Own·Id:·OTP-18699·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7388"·title="">PR-7388</a></p></li><li><p>The·<a·href="erlang.html#system_monitor/2"><code·class="inline">erlang:system_monitor/2</code></a>·functionality·is·now·able·to·monitor·long·message·queues·in·the·system.</p><p>Own·Id:·OTP-18709·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7651"·title="">PR-7651</a></p></li><li><p>The·<code·class="inline">erl</code>·command·now·supports·the·<code·class="inline">-S</code>·flag,·which·is·similar·to·the·<code·class="inline">-run</code>·flag,·except·that·it·will·pass·all·arguments·up·to·end·of·the·command·line·to·the·called·function.·(The·<code·class="inline">-run</code>·flag·will·not·pass·arguments·beginning·with·a·hyphen.)·Another·difference·is·that·<code·class="inline">-S</code>·will·always·call·a·function·with·one·argument,·passing·an·empty·list·if·no·arguments·were·given.</p><p>Own·Id:·OTP-18744·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7470"·title="">PR-7470</a></p></li><li><p>When·implementing·an·alternative·carrier·for·the·Erlang·distribution,·a·separate·input·handler·process·may·now·be·registered,·using·<a·href="erlang.html#dist_ctrl_input_handler/2"><code·class="inline">erlang:dist_ctrl_input_handler/2</code></a>,·also·in·the·case·when·the·distribution·controller·is·a·port.</p><p>Own·Id:·OTP-18774·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7110"·title="">PR-7110</a></p></li><li><p>The·call·stack·trace·has·now·been·added·to·the·error·reported·by·<a·href="erlang.html#process_flag/2"><code·class="inline">erlang:process_flag/2</code></a>·when·<code·class="inline">max_heap_size</code>·limit·has·been·exceeded.</p><p>Own·Id:·OTP-18779·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7592"·title="">PR-7592</a></p></li><li><p><code·class="inline">-callback</code>·attributes·have·been·added·to·<a·href="erl_tracer.html"><code·class="inline">erl_tracer</code></a>.</p><p>Own·Id:·OTP-18794·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7703"·title="">PR-7703</a></p></li><li><p>For·<code·class="inline">inet_backend·=·socket</code>,·setting·the·<code·class="inline">active</code>·socket·option·alone,·to·<code·class="inline">once</code>,·<code·class="inline">true</code>·or·<code·class="inline">N</code>·has·been·optimized,·as·well·as·the·corresponding·data·delivery.</p><p>Own·Id:·OTP-18835</p></li><li><p>New·functions·<code·class="inline">socket:sendv/*</code>·for·sending·I/O·vectors·have·been·added.</p><p>Own·Id:·OTP-18845</p></li><li><p>Socket·options·that·take·string·now·also·accept·binaries.</p><p>Own·Id:·OTP-18849·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/6510"·title="">PR-6510</a></p></li><li><p>Native·coverage·support·has·been·implemented·in·the·JIT.·It·will··automatically·be·used·by·the·<a·href="../../../lib/tools-4.1.2/doc/html/cover.html"><code·class="inline">cover</code></a>·tool·to·reduce·the·execution·overhead·when·running·cover-compiled·code.</p><p>There·are·also·new·APIs·to·support·native·coverage·without·using·the·<code·class="inline">cover</code>·tool.</p><p>To·instrument·code·for·native·coverage·it·must·be·compiled·with·the·<a·href="../../../lib/compiler-9.0/doc/html/compile.html#line_coverage"><code·class="inline">line_coverage</code></a>·option.</p><p>To·enable·native·coverage·in·the·runtime·system,·start·it·like·so:</p><pre><code·class="text">$·erl·+JPcover·true</code></pre><p>There·are·also·the·following·new·functions·for·supporting·native·coverage:</p><ul><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/0"><code·class="inline">code:get_coverage_mode/0</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/1"><code·class="inline">code:get_coverage_mode/1</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#set_coverage_mode/1"><code·class="inline">code:set_coverage_mode/1</code></a></li></ul><p>Own·Id:·OTP-18856·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7856"·title="">PR-7856</a></p></li><li><p>Changed·the·default·value·of·the·command·line·flag·<code·class="inline">-code_path_choice</code>·to·<code·class="inline">strict</code>.·</p><p>Note·that·for·application·systems·using·archives,·it·is·necessary·to·add·the·<code·class="inline">code_path_choice·relaxed</code>·to·the·command·line·that·invokes·<code·class="inline">erl</code>.</p><p>Own·Id:·OTP-18894·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7243"·title="">PR-7243</a></p></li><li><p>Added·module·loading·to·<code·class="inline">erl·-init_debug</code>·printouts.</p><p>Own·Id:·OTP-18929·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8004"·title="">PR-8004</a></p></li><li><p>When·the·runtime·system·halts,·it·performs·various·flush·operations·before·terminating.·By·default·there·is·no·limit·on·how·much·time·the·flush·operations·are·allowed·to·take.·A·new·<em>halt·flush·timeout</em>·functionality·has·been·introduced·which·can·be·used·for·limiting·the·amount·of·time·that·the·flushing·operations·are·allowed·to·take.·For·more·information·see·the·documentation·of·the·<a·href="erlang.html#halt_flush_timeout"><code·class="inline">flush_timeout</code></a>·option·of·the·<a·href="erlang.html#halt/2"><code·class="inline">erlang:halt/2</code></a>·BIF·and·the·documentation·of·the·<code·class="inline">erl</code>·<a·href="erl_cmd.html#+zhft"><code·class="inline">+zhft·&lt;Timeout&gt;</code></a>·command·line·flag.</p><p>Own·Id:·OTP-18938·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8035"·title="">PR-8035</a>,·<a·href="https://github.com/erlang/otp/issues/7438"·title="">GH-7438</a></p></li><li><p>Optimized·code·loading·by·moving·certain·operations·from·the·code·server·to·the·caller.</p><p>Own·Id:·OTP-18941·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7981"·title="">PR-7981</a></p></li><li><p>Updated·asmjit·to·version·a465fe71ab3d0e224b2b4bd0fac69ae68ab9239d</p><p>Own·Id:·OTP-18942</p></li><li><p>The·deprecated·functions·in·<a·href="zlib.html"><code·class="inline">zlib</code></a>·have·been·removed.·That·includes·<code·class="inline">inflateChunk/{1,2}</code>,·<code·class="inline">getBufSize/1</code>,·<code·class="inline">setBufSize/2</code>,·the·CRC32·functions,·and·the·Adler·checksum·functions.</p><p>Own·Id:·OTP-18950</p></li><li><p>The·documentation·has·been·migrated·to·use·Markdown·and·ExDoc.</p><p>Own·Id:·OTP-18955·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8026"·title="">PR-8026</a></p></li><li><p>Safe·destructive·update·of·tuples·has·been·implemented·in·the·compiler·and·runtime·system.·This·allows·the·VM·to·update·tuples·in-place·when·it·is·safe·to·do·so,·thus·improving·performance·by·doing·less·copying·but·also·by·producing·less·garbage.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7615987457-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7615987457-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:·075aae69aa90357142cc9ae04bfa81b820f2c5d7ca9f2cca0bdfa04e48f9278e·...·]-1">)</span><span·class="p">.</span><span·class="w">342 <ul><li><p>Refactored·how·the·JIT·handles·POSIX·signals·and·how·they·affect·thread·stacks,·allowing·us·to·use·the·native·stack·register·for·Erlang·stacks·on·more·platforms.</p><p>Notably,·containers·built·on·64-bit·x86·Alpine·Linux·images·will·now·perform·much·better·in·sequential·code.·As·an·example,·running·<code·class="inline">dialyzer</code>·over·the·OTP·code·base·finishes·about·15%·quicker.</p><p>Own·Id:·OTP-18568·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7174"·title="">PR-7174</a></p></li><li><p>The·<a·href="../../../lib/runtime_tools-2.2/doc/html/instrument.html"><code·class="inline">instrument</code></a>·module·can·now·track·allocations·on·a·per-process·or·per-port·basis.</p><p>Own·Id:·OTP-18577·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7236"·title="">PR-7236</a></p></li><li><p>The·<code·class="inline">pid</code>·field·returned·from·<a·href="erlang.html#fun_info/2"><code·class="inline">erlang:fun_info/1,2</code></a>·is·now·always·the·pid·for·the·<code·class="inline">init</code>·process·of·the·local·node,·not·the·pid·for·the·actual·process·that·created·the·fun.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18594·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7274"·title="">PR-7274</a></p></li><li><p>By·default,·escripts·will·now·be·compiled·instead·of·interpreted.·That·means·that·the·<code·class="inline">compiler</code>·application·must·be·installed.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18639·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7348"·title="">PR-7348</a></p></li><li><p>A·binary·returned·from·the·<a·href="../../../lib/kernel-10.3/doc/html/socket.html"><code·class="inline">socket</code></a>·receive·functions·is·no·longer·created·as·a·sub·binary·of·an·often·large·receive·buffer·binary·(socket·option·<code·class="inline">{otp,rcvbuf}</code>).··This·avoids·space·waste,·trusting·the·allocators·to·implement·reallocation·efficiently.</p><p>Own·Id:·OTP-18642·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/6152"·title="">GH-6152</a>,·<a·href="https://github.com/erlang/otp/pull/7465"·title="">PR-7465</a></p></li><li><p>The·default·process·limit·has·been·raised·to·<code·class="inline">1048576</code>·processes.</p><p>Own·Id:·OTP-18699·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7388"·title="">PR-7388</a></p></li><li><p>The·<a·href="erlang.html#system_monitor/2"><code·class="inline">erlang:system_monitor/2</code></a>·functionality·is·now·able·to·monitor·long·message·queues·in·the·system.</p><p>Own·Id:·OTP-18709·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7651"·title="">PR-7651</a></p></li><li><p>The·<code·class="inline">erl</code>·command·now·supports·the·<code·class="inline">-S</code>·flag,·which·is·similar·to·the·<code·class="inline">-run</code>·flag,·except·that·it·will·pass·all·arguments·up·to·end·of·the·command·line·to·the·called·function.·(The·<code·class="inline">-run</code>·flag·will·not·pass·arguments·beginning·with·a·hyphen.)·Another·difference·is·that·<code·class="inline">-S</code>·will·always·call·a·function·with·one·argument,·passing·an·empty·list·if·no·arguments·were·given.</p><p>Own·Id:·OTP-18744·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7470"·title="">PR-7470</a></p></li><li><p>When·implementing·an·alternative·carrier·for·the·Erlang·distribution,·a·separate·input·handler·process·may·now·be·registered,·using·<a·href="erlang.html#dist_ctrl_input_handler/2"><code·class="inline">erlang:dist_ctrl_input_handler/2</code></a>,·also·in·the·case·when·the·distribution·controller·is·a·port.</p><p>Own·Id:·OTP-18774·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7110"·title="">PR-7110</a></p></li><li><p>The·call·stack·trace·has·now·been·added·to·the·error·reported·by·<a·href="erlang.html#process_flag/2"><code·class="inline">erlang:process_flag/2</code></a>·when·<code·class="inline">max_heap_size</code>·limit·has·been·exceeded.</p><p>Own·Id:·OTP-18779·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7592"·title="">PR-7592</a></p></li><li><p><code·class="inline">-callback</code>·attributes·have·been·added·to·<a·href="erl_tracer.html"><code·class="inline">erl_tracer</code></a>.</p><p>Own·Id:·OTP-18794·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7703"·title="">PR-7703</a></p></li><li><p>For·<code·class="inline">inet_backend·=·socket</code>,·setting·the·<code·class="inline">active</code>·socket·option·alone,·to·<code·class="inline">once</code>,·<code·class="inline">true</code>·or·<code·class="inline">N</code>·has·been·optimized,·as·well·as·the·corresponding·data·delivery.</p><p>Own·Id:·OTP-18835</p></li><li><p>New·functions·<code·class="inline">socket:sendv/*</code>·for·sending·I/O·vectors·have·been·added.</p><p>Own·Id:·OTP-18845</p></li><li><p>Socket·options·that·take·string·now·also·accept·binaries.</p><p>Own·Id:·OTP-18849·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/6510"·title="">PR-6510</a></p></li><li><p>Native·coverage·support·has·been·implemented·in·the·JIT.·It·will··automatically·be·used·by·the·<a·href="../../../lib/tools-4.1.2/doc/html/cover.html"><code·class="inline">cover</code></a>·tool·to·reduce·the·execution·overhead·when·running·cover-compiled·code.</p><p>There·are·also·new·APIs·to·support·native·coverage·without·using·the·<code·class="inline">cover</code>·tool.</p><p>To·instrument·code·for·native·coverage·it·must·be·compiled·with·the·<a·href="../../../lib/compiler-9.0/doc/html/compile.html#line_coverage"><code·class="inline">line_coverage</code></a>·option.</p><p>To·enable·native·coverage·in·the·runtime·system,·start·it·like·so:</p><pre><code·class="text">$·erl·+JPcover·true</code></pre><p>There·are·also·the·following·new·functions·for·supporting·native·coverage:</p><ul><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/0"><code·class="inline">code:get_coverage_mode/0</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/1"><code·class="inline">code:get_coverage_mode/1</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#set_coverage_mode/1"><code·class="inline">code:set_coverage_mode/1</code></a></li></ul><p>Own·Id:·OTP-18856·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7856"·title="">PR-7856</a></p></li><li><p>Changed·the·default·value·of·the·command·line·flag·<code·class="inline">-code_path_choice</code>·to·<code·class="inline">strict</code>.·</p><p>Note·that·for·application·systems·using·archives,·it·is·necessary·to·add·the·<code·class="inline">code_path_choice·relaxed</code>·to·the·command·line·that·invokes·<code·class="inline">erl</code>.</p><p>Own·Id:·OTP-18894·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7243"·title="">PR-7243</a></p></li><li><p>Added·module·loading·to·<code·class="inline">erl·-init_debug</code>·printouts.</p><p>Own·Id:·OTP-18929·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8004"·title="">PR-8004</a></p></li><li><p>When·the·runtime·system·halts,·it·performs·various·flush·operations·before·terminating.·By·default·there·is·no·limit·on·how·much·time·the·flush·operations·are·allowed·to·take.·A·new·<em>halt·flush·timeout</em>·functionality·has·been·introduced·which·can·be·used·for·limiting·the·amount·of·time·that·the·flushing·operations·are·allowed·to·take.·For·more·information·see·the·documentation·of·the·<a·href="erlang.html#halt_flush_timeout"><code·class="inline">flush_timeout</code></a>·option·of·the·<a·href="erlang.html#halt/2"><code·class="inline">erlang:halt/2</code></a>·BIF·and·the·documentation·of·the·<code·class="inline">erl</code>·<a·href="erl_cmd.html#+zhft"><code·class="inline">+zhft·&lt;Timeout&gt;</code></a>·command·line·flag.</p><p>Own·Id:·OTP-18938·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8035"·title="">PR-8035</a>,·<a·href="https://github.com/erlang/otp/issues/7438"·title="">GH-7438</a></p></li><li><p>Optimized·code·loading·by·moving·certain·operations·from·the·code·server·to·the·caller.</p><p>Own·Id:·OTP-18941·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7981"·title="">PR-7981</a></p></li><li><p>Updated·asmjit·to·version·a465fe71ab3d0e224b2b4bd0fac69ae68ab9239d</p><p>Own·Id:·OTP-18942</p></li><li><p>The·deprecated·functions·in·<a·href="zlib.html"><code·class="inline">zlib</code></a>·have·been·removed.·That·includes·<code·class="inline">inflateChunk/{1,2}</code>,·<code·class="inline">getBufSize/1</code>,·<code·class="inline">setBufSize/2</code>,·the·CRC32·functions,·and·the·Adler·checksum·functions.</p><p>Own·Id:·OTP-18950</p></li><li><p>The·documentation·has·been·migrated·to·use·Markdown·and·ExDoc.</p><p>Own·Id:·OTP-18955·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8026"·title="">PR-8026</a></p></li><li><p>Safe·destructive·update·of·tuples·has·been·implemented·in·the·compiler·and·runtime·system.·This·allows·the·VM·to·update·tuples·in-place·when·it·is·safe·to·do·so,·thus·improving·performance·by·doing·less·copying·but·also·by·producing·less·garbage.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6552726346-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6552726346-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:·985a14cb81c6ca869be0babc563459f44055bbbb80e4372310020279fc0cc761·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
343 </span><span·class="nf">update</span><span·class="p"·data-group-id="7615987457-3">(</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="7615987457-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:·b46535c70cf4b5c0ffbfce8446ef2784806af6b33359aec50f2df5deb8550bb6·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">343 </span><span·class="nf">update</span><span·class="p"·data-group-id="6552726346-3">(</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="6552726346-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:·d44b1f661395da3aaf99ce9a3cad8bc8e68066b451bdfd402b9a21633d8126be·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
344 ····</span><span·class="n">R</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">R0</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="7615987457-5">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="ss">up_to_date</span><span·class="p"·data-group-id="7615987457-5">}</span><span·class="p">,</span><span·class="w">344 ····</span><span·class="n">R</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">R0</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="6552726346-5">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="ss">up_to_date</span><span·class="p"·data-group-id="6552726346-5">}</span><span·class="p">,</span><span·class="w">
345 ····</span><span·class="k">if</span><span·class="w">345 ····</span><span·class="k">if</span><span·class="w">
346 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">346 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
347 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="7615987457-6">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">negative</span><span·class="p"·data-group-id="7615987457-6">}</span><span·class="p">;</span><span·class="w">347 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="6552726346-6">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">negative</span><span·class="p"·data-group-id="6552726346-6">}</span><span·class="p">;</span><span·class="w">
348 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">348 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
349 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="7615987457-7">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">zero</span><span·class="p"·data-group-id="7615987457-7">}</span><span·class="p">;</span><span·class="w">349 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="6552726346-7">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">zero</span><span·class="p"·data-group-id="6552726346-7">}</span><span·class="p">;</span><span·class="w">
350 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">350 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
351 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="7615987457-8">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">positive</span><span·class="p"·data-group-id="7615987457-8">}</span><span·class="w">351 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="6552726346-8">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">positive</span><span·class="p"·data-group-id="6552726346-8">}</span><span·class="w">
352 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·record·updates·in·each·of·the·three·clauses·of·the·<code·class="inline">if</code>·can·safely·be·done·in-place,·because·variable·<code·class="inline">R</code>·is·not·used·again.</p><p>Own·Id:·OTP-18972·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8090"·title="">PR-8090</a></p></li><li><p>The·obsolete·and·undocumented·support·for·opening·a·port·to·an·external352 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·record·updates·in·each·of·the·three·clauses·of·the·<code·class="inline">if</code>·can·safely·be·done·in-place,·because·variable·<code·class="inline">R</code>·is·not·used·again.</p><p>Own·Id:·OTP-18972·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8090"·title="">PR-8090</a></p></li><li><p>The·obsolete·and·undocumented·support·for·opening·a·port·to·an·external
353 resource·by·passing·an·atom·(or·a·string)·as·first·argument·to353 resource·by·passing·an·atom·(or·a·string)·as·first·argument·to
354 <a·href="erlang.html#open_port/2"><code·class="inline">open_port()</code></a>,·implemented·by·the·vanilla·driver,354 <a·href="erlang.html#open_port/2"><code·class="inline">open_port()</code></a>,·implemented·by·the·vanilla·driver,
355 has·been·removed.·This·feature·has·been·scheduled·for·removal·in·OTP·27355 has·been·removed.·This·feature·has·been·scheduled·for·removal·in·OTP·27
356 since·the·release·of·OTP·26.</p><p>Own·Id:·OTP-18976·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7125"·title="">PR-7125</a></p></li><li><p>An·optional·NIF·callback·<code·class="inline">ERL_NIF_OPT_ON_UNLOAD_THREAD</code>·to·be·called·by·all·scheduler·threads·when·a·NIF·library·is·unloaded.·Used·for·releasing·thread·specific·data.·Can·be·set·with·function·<code·class="inline">enif_set_option</code>.</p><p>Own·Id:·OTP-18977·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7809"·title="">PR-7809</a></p></li><li><p>There·is·a·new·module·<a·href="../../../lib/kernel-10.3/doc/html/trace.html"><code·class="inline">trace</code></a>·in·Kernel·providing·the·same·trace·functionality·as·<a·href="erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·and·<a·href="erlang.html#trace_pattern/3"><code·class="inline">erlang:trace_pattern/3</code></a>,·but·with·the·addition·of·<strong>dynamic·isolated·trace·sessions</strong>.</p><p>Own·Id:·OTP-18980</p></li><li><p>Added·the·<code·class="inline">+MMlp·on|off</code>·emulator·option·to·let·the·<code·class="inline">mseg</code>·allocator·use·&quot;large·pages&quot;·(sometimes·known·as·&quot;huge·pages&quot;·or·&quot;super·pages&quot;).·This·currently·only·affects·super-carrier·allocations,·but·may·be·extended·in·the·future.</p><p>Own·Id:·OTP-18984·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7977"·title="">PR-7977</a></p></li><li><p><code·class="inline">inet_backend·=·socket</code>·has·been·optimized·and·reworked·to·be·more·compatible·with·the·original·<code·class="inline">inet_backend·=·inet</code>.</p><p>Own·Id:·OTP-19004·Aux·Id:·OTP-18835</p></li><li><p>The·<code·class="inline">socket</code>·documentation·has·been·reworked,·and·due·to356 since·the·release·of·OTP·26.</p><p>Own·Id:·OTP-18976·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7125"·title="">PR-7125</a></p></li><li><p>An·optional·NIF·callback·<code·class="inline">ERL_NIF_OPT_ON_UNLOAD_THREAD</code>·to·be·called·by·all·scheduler·threads·when·a·NIF·library·is·unloaded.·Used·for·releasing·thread·specific·data.·Can·be·set·with·function·<code·class="inline">enif_set_option</code>.</p><p>Own·Id:·OTP-18977·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7809"·title="">PR-7809</a></p></li><li><p>There·is·a·new·module·<a·href="../../../lib/kernel-10.3/doc/html/trace.html"><code·class="inline">trace</code></a>·in·Kernel·providing·the·same·trace·functionality·as·<a·href="erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·and·<a·href="erlang.html#trace_pattern/3"><code·class="inline">erlang:trace_pattern/3</code></a>,·but·with·the·addition·of·<strong>dynamic·isolated·trace·sessions</strong>.</p><p>Own·Id:·OTP-18980</p></li><li><p>Added·the·<code·class="inline">+MMlp·on|off</code>·emulator·option·to·let·the·<code·class="inline">mseg</code>·allocator·use·&quot;large·pages&quot;·(sometimes·known·as·&quot;huge·pages&quot;·or·&quot;super·pages&quot;).·This·currently·only·affects·super-carrier·allocations,·but·may·be·extended·in·the·future.</p><p>Own·Id:·OTP-18984·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7977"·title="">PR-7977</a></p></li><li><p><code·class="inline">inet_backend·=·socket</code>·has·been·optimized·and·reworked·to·be·more·compatible·with·the·original·<code·class="inline">inet_backend·=·inet</code>.</p><p>Own·Id:·OTP-19004·Aux·Id:·OTP-18835</p></li><li><p>The·<code·class="inline">socket</code>·documentation·has·been·reworked,·and·due·to
357 that·a·few·details·were·fixed:</p><ul><li><a·href="../../../lib/kernel-10.3/doc/html/socket.html#is_supported/1"><code·class="inline">socket:is_supported/1</code></a>·now·returns·<code·class="inline">true</code>·for·example·for·<code·class="inline">protocols</code>357 that·a·few·details·were·fixed:</p><ul><li><a·href="../../../lib/kernel-10.3/doc/html/socket.html#is_supported/1"><code·class="inline">socket:is_supported/1</code></a>·now·returns·<code·class="inline">true</code>·for·example·for·<code·class="inline">protocols</code>
358 that·is·a·&quot;category&quot;,·not·an·item.</li><li><a·href="../../../lib/kernel-10.3/doc/html/socket.html#cancel_monitor/1"><code·class="inline">socket:cancel_monitor/1</code></a>·no·longer·badargs·for·a·monitor·that·was·set·by358 that·is·a·&quot;category&quot;,·not·an·item.</li><li><a·href="../../../lib/kernel-10.3/doc/html/socket.html#cancel_monitor/1"><code·class="inline">socket:cancel_monitor/1</code></a>·no·longer·badargs·for·a·monitor·that·was·set·by
Offset 3339, 17 lines modifiedOffset 3339, 17 lines modified
3339 markedly·so·when·the·maximum·number·of·file·descriptors·has·been·tuned·to·a3339 markedly·so·when·the·maximum·number·of·file·descriptors·has·been·tuned·to·a
3340 large·number.</p><p>Instead,·in·erl_child_setup,·walk·the·open·descriptors·under·<code·class="inline">/dev/fd</code>·and3340 large·number.</p><p>Instead,·in·erl_child_setup,·walk·the·open·descriptors·under·<code·class="inline">/dev/fd</code>·and
3341 close·only·those·which·are·open.</p><p>This·optimization·affects·the·CPU·usage·of·starting·a·new·Erlang·instance.</p><p>Own·Id:·OTP-16270</p></li><li><p>Optimized·<a·href="../../../lib/stdlib-7.0/doc/html/maps.html#merge/2"><code·class="inline">maps:merge/2</code></a>·for·trivial·cases·of·an·empty·map(s)·or·same·map.</p><p>Own·Id:·OTP-16283·Aux·Id:·PR-2441</p></li><li><p>The·new·experimental·<code·class="inline">socket</code>·module·has·been·moved·to·the·Kernel·application.</p><p>Own·Id:·OTP-16312</p></li><li><p>Improved·the·presentation·of·allocations·and·carriers·in·the·<code·class="inline">instrument</code>3341 close·only·those·which·are·open.</p><p>This·optimization·affects·the·CPU·usage·of·starting·a·new·Erlang·instance.</p><p>Own·Id:·OTP-16270</p></li><li><p>Optimized·<a·href="../../../lib/stdlib-7.0/doc/html/maps.html#merge/2"><code·class="inline">maps:merge/2</code></a>·for·trivial·cases·of·an·empty·map(s)·or·same·map.</p><p>Own·Id:·OTP-16283·Aux·Id:·PR-2441</p></li><li><p>The·new·experimental·<code·class="inline">socket</code>·module·has·been·moved·to·the·Kernel·application.</p><p>Own·Id:·OTP-16312</p></li><li><p>Improved·the·presentation·of·allocations·and·carriers·in·the·<code·class="inline">instrument</code>
3342 module.</p><p>Own·Id:·OTP-16327</p></li><li><p>As·announced·in·OTP·22.0,·the·previously·existing·limited·support·for·VxWorks3342 module.</p><p>Own·Id:·OTP-16327</p></li><li><p>As·announced·in·OTP·22.0,·the·previously·existing·limited·support·for·VxWorks
3343 has·now·been·removed.</p><p>*<strong>·POTENTIAL·INCOMPATIBILITY·*</strong></p><p>Own·Id:·OTP-16329·Aux·Id:·OTP-15621</p></li><li><p>The·return·value·when·using·the·<code·class="inline">httph</code>·and·<code·class="inline">httph_bin</code>·option·to3343 has·now·been·removed.</p><p>*<strong>·POTENTIAL·INCOMPATIBILITY·*</strong></p><p>Own·Id:·OTP-16329·Aux·Id:·OTP-15621</p></li><li><p>The·return·value·when·using·the·<code·class="inline">httph</code>·and·<code·class="inline">httph_bin</code>·option·to
3344 <a·href="erlang.html#decode_packet/3"><code·class="inline">erlang:decode_packet/3</code></a>·and·<a·href="../../../lib/kernel-10.3/doc/html/inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>·has·been·changed·to·also·include3344 <a·href="erlang.html#decode_packet/3"><code·class="inline">erlang:decode_packet/3</code></a>·and·<a·href="../../../lib/kernel-10.3/doc/html/inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>·has·been·changed·to·also·include
3345 the·original·header·unmodified.·See·<a·href="erlang.html#decode_packet/3"><code·class="inline">erlang:decode_packet/3</code></a>.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">3345 the·original·header·unmodified.·See·<a·href="erlang.html#decode_packet/3"><code·class="inline">erlang:decode_packet/3</code></a>.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">
3346 ······</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">decode_packet</span><span·class="p"·data-group-id="3094367073-1">(</span><span·class="ss">httph_bin</span><span·class="p">,</span><span·class="p"·data-group-id="3094367073-2">&lt;&lt;</span><span·class="s">&quot;HELLO:3346 ······</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">decode_packet</span><span·class="p"·data-group-id="4243424999-1">(</span><span·class="ss">httph_bin</span><span·class="p">,</span><span·class="p"·data-group-id="4243424999-2">&lt;&lt;</span><span·class="s">&quot;HELLO:
3347 ······hi\r\n\r\n&quot;</span><span·class="p"·data-group-id="3094367073-2">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="3094367073-3">[</span><span·class="p"·data-group-id="3094367073-3">]</span><span·class="p"·data-group-id="3094367073-1">)</span><span·class="p">.</span><span·class="w">3347 ······hi\r\n\r\n&quot;</span><span·class="p"·data-group-id="4243424999-2">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="4243424999-3">[</span><span·class="p"·data-group-id="4243424999-3">]</span><span·class="p"·data-group-id="4243424999-1">)</span><span·class="p">.</span><span·class="w">
3348 ······</span><span·class="p"·data-group-id="3094367073-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3094367073-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-gr[·...·truncated·by·diffoscope;·len:·779,·SHA:·14e562f88700ceecd384a14d56d220fc4d9249a68efd091252464f7bfc6717c4·...·]-4">}</span></code></pre><p>Own·Id:·OTP-16347·Aux·Id:·PR-2466</p></li><li><p>Ensure·<a·href="../../../lib/kernel-10.3/doc/html/net_kernel.html#monitor_nodes/1"><code·class="inline">net_kernel:monitor_nodes/1</code></a>·sends·<code·class="inline">nodedown</code>·messages·of·a·failed3348 ······</span><span·class="p"·data-group-id="4243424999-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4243424999-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-gr[·...·truncated·by·diffoscope;·len:·779,·SHA:·6e4296072030da275810f85355ffe1fef861d155d5219b094ad70ad91ce5d5e3·...·]-4">}</span></code></pre><p>Own·Id:·OTP-16347·Aux·Id:·PR-2466</p></li><li><p>Ensure·<a·href="../../../lib/kernel-10.3/doc/html/net_kernel.html#monitor_nodes/1"><code·class="inline">net_kernel:monitor_nodes/1</code></a>·sends·<code·class="inline">nodedown</code>·messages·of·a·failed
3349 connection·before·<code·class="inline">nodeup</code>·messages·of·a·reestablished·connection·toward·the3349 connection·before·<code·class="inline">nodeup</code>·messages·of·a·reestablished·connection·toward·the
3350 same·node.</p><p>Own·Id:·OTP-16362</p></li><li><p>Update·of·<a·href="../../../lib/kernel-10.3/doc/html/seq_trace.html#whatis">sequential·tracing</a>·to·also·support·other3350 same·node.</p><p>Own·Id:·OTP-16362</p></li><li><p>Update·of·<a·href="../../../lib/kernel-10.3/doc/html/seq_trace.html#whatis">sequential·tracing</a>·to·also·support·other
3351 information·transfers·than·message·passing.</p><p>Own·Id:·OTP-16370·Aux·Id:·OTP-15251,·OTP-15232</p></li><li><p>socket:·It·is·now·possible·to·create·a·socket·from·an·already·existing·file3351 information·transfers·than·message·passing.</p><p>Own·Id:·OTP-16370·Aux·Id:·OTP-15251,·OTP-15232</p></li><li><p>socket:·It·is·now·possible·to·create·a·socket·from·an·already·existing·file
3352 descriptor.</p><p>Own·Id:·OTP-16398·Aux·Id:·ERL-1154</p></li><li><p>socket:·The·socket:supports/1·function·now·also·report·if·netns·is·supported3352 descriptor.</p><p>Own·Id:·OTP-16398·Aux·Id:·ERL-1154</p></li><li><p>socket:·The·socket:supports/1·function·now·also·report·if·netns·is·supported
3353 or·not.</p><p>Own·Id:·OTP-16432</p></li><li><p><code·class="inline">=:=</code>·has·been·optimized·to·return·<code·class="inline">false</code>·immediately·when·comparing·two·maps3353 or·not.</p><p>Own·Id:·OTP-16432</p></li><li><p><code·class="inline">=:=</code>·has·been·optimized·to·return·<code·class="inline">false</code>·immediately·when·comparing·two·maps
3354 of·different·sizes.</p><p>Own·Id:·OTP-16454</p></li><li><p>Changed·the·behaviour·of·passing·the·<code·class="inline">erl</code>·command·line·argument3354 of·different·sizes.</p><p>Own·Id:·OTP-16454</p></li><li><p>Changed·the·behaviour·of·passing·the·<code·class="inline">erl</code>·command·line·argument
3355 <a·href="erl_cmd.html#async_thread_pool_size"><code·class="inline">+A·0</code></a>·to·silently·imply·<code·class="inline">+A·1</code>.·That·is,3355 <a·href="erl_cmd.html#async_thread_pool_size"><code·class="inline">+A·0</code></a>·to·silently·imply·<code·class="inline">+A·1</code>.·That·is,
Offset 11056, 20 lines modifiedOffset 11056, 20 lines modified
11056 <ul><li><p>Previously·<a·href="erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·behaved11056 <ul><li><p>Previously·<a·href="erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·behaved
11057 completely·asynchronous.·This·had·one·undesirable·effect,·though.·You·could11057 completely·asynchronous.·This·had·one·undesirable·effect,·though.·You·could
11058 never·know·when·you·were·guaranteed·<em>not</em>·to·be·affected·by·a·link·that·you11058 never·know·when·you·were·guaranteed·<em>not</em>·to·be·affected·by·a·link·that·you
11059 had·unlinked·or·a·monitor·that·you·had·demonitored.</p><p>The·new·behavior·of·<a·href="erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·can·be11059 had·unlinked·or·a·monitor·that·you·had·demonitored.</p><p>The·new·behavior·of·<a·href="erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·can·be
11060 viewed·as·two·operations·performed·atomically.·Asynchronously·send·an·unlink11060 viewed·as·two·operations·performed·atomically.·Asynchronously·send·an·unlink
11061 signal·or·a·demonitor·signal,·and·ignore·any·future·results·of·the·link·or11061 signal·or·a·demonitor·signal,·and·ignore·any·future·results·of·the·link·or
11062 monitor.</p><p><em>NOTE</em>:·This·change·can·cause·some·obscure·code·to·fail·which·previously·did11062 monitor.</p><p><em>NOTE</em>:·This·change·can·cause·some·obscure·code·to·fail·which·previously·did
11063 not.·For·example,·the·following·code·might·hang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">············</span><span·class="n">Mon</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monitor</span><span·class="p"·data-group-id="9684507306-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="9684507306-1">)</span><span·class="p">,</span><span·class="w">11063 not.·For·example,·the·following·code·might·hang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">············</span><span·class="n">Mon</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monitor</span><span·class="p"·data-group-id="1516935471-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="1516935471-1">)</span><span·class="p">,</span><span·class="w">
11064 ············</span><span·class="c1">%%·...</span><span·class="w">11064 ············</span><span·class="c1">%%·...</span><span·class="w">
11065 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="9684507306-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="9684507306-2">)</span><span·class="p">,</span><span·class="w">11065 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="1516935471-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="1516935471-2">)</span><span·class="p">,</span><span·class="w">
11066 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="9684507306-3">(</span><span·class="n">Mon</span><span·class="p"·data-group-id="9684507306-3">)</span><span·class="p">,</span><span·class="w">11066 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="1516935471-3">(</span><span·class="n">Mon</span><span·class="p"·data-group-id="1516935471-3">)</span><span·class="p">,</span><span·class="w">
11067 ············</span><span·class="k">receive</span><span·class="w">11067 ············</span><span·class="k">receive</span><span·class="w">
11068 ················</span><span·class="p"·data-group-id="9684507306-4">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mon</span><span·class="w">·</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">process</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·168,·SHA:·c1dc678797cd97c855cce7bcae4126b2194e595d8cf166fd38bf2644f7decf32·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">11068 ················</span><span·class="p"·data-group-id="1516935471-4">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mon</span><span·class="w">·</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">process</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·168,·SHA:·c6032bf7583d78beaf1481df01d7b4c6f2f782088e61d46c48ee9ee82dea7f6f·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">
11069 ············</span><span·class="c1">%%·We·were·previously·guaranteed·to·get·a·down·message</span><span·class="w">11069 ············</span><span·class="c1">%%·We·were·previously·guaranteed·to·get·a·down·message</span><span·class="w">
11070 ············</span><span·class="c1">%%·(since·we·exited·the·process·ourself),·so·we·could</span><span·class="w">11070 ············</span><span·class="c1">%%·(since·we·exited·the·process·ourself),·so·we·could</span><span·class="w">
11071 ············</span><span·class="c1">%%·in·this·case·leave·out:</span><span·class="w">11071 ············</span><span·class="c1">%%·in·this·case·leave·out:</span><span·class="w">
11072 ············</span><span·class="c1">%%·after·0·-&gt;·ok</span><span·class="w">11072 ············</span><span·class="c1">%%·after·0·-&gt;·ok</span><span·class="w">
11073 ············</span><span·class="k">end</span><span·class="p">,</span></code></pre><p>*<strong>·POTENTIAL·INCOMPATIBILITY·*</strong></p><p>Own·Id:·OTP-5772</p></li><li><p>Two·bugs·fixed:·If·the·environment·variable·<code·class="inline">ERL_FLAGS</code>·was·set,·its·contents11073 ············</span><span·class="k">end</span><span·class="p">,</span></code></pre><p>*<strong>·POTENTIAL·INCOMPATIBILITY·*</strong></p><p>Own·Id:·OTP-5772</p></li><li><p>Two·bugs·fixed:·If·the·environment·variable·<code·class="inline">ERL_FLAGS</code>·was·set,·its·contents
11074 would·be·appended·to·the·end·of·the·command·line·even·if·the·command·line·had11074 would·be·appended·to·the·end·of·the·command·line·even·if·the·command·line·had
11075 an·<code·class="inline">-extra</code>·options.·Changed·to·place·the·options·from·<code·class="inline">ERL_FLAGS</code>·just·before11075 an·<code·class="inline">-extra</code>·options.·Changed·to·place·the·options·from·<code·class="inline">ERL_FLAGS</code>·just·before
Offset 11615, 15 lines modifiedOffset 11615, 15 lines modified
11615 ······<p·class="built-using">11615 ······<p·class="built-using">
11616 ········Built·using11616 ········Built·using
11617 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the11617 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
11618 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>11618 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
11619 ······</p>11619 ······</p>
11620 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>11620 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
11621 ····</footer>11621 ····</footer>
11622 ··</div>11622 ··</div>
11623 </main>11623 </main>
Max diff block lines reached; 137/95785 bytes (0.14%) of diff not shown.
603 B
html2text {}
Max HTML report size reached
4.88 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/persistent_term.html
    
Offset 196, 17 lines modifiedOffset 196, 17 lines modified
196 ····<i·class="ri-link-m"·aria-hidden="true"></i>196 ····<i·class="ri-link-m"·aria-hidden="true"></i>
197 ··</a>197 ··</a>
198 ··<span·class="text">Example</span>198 ··<span·class="text">Example</span>
199 </h2>199 </h2>
200 <p>The·following·example·shows·how·lock·contention·for·ETS·tables·can·be·minimized200 <p>The·following·example·shows·how·lock·contention·for·ETS·tables·can·be·minimized
201 by·having·one·ETS·table·for·each·scheduler.·The·table·identifiers·for·the·ETS201 by·having·one·ETS·table·for·each·scheduler.·The·table·identifiers·for·the·ETS
202 tables·are·stored·as·a·single·persistent·term:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="c1">%%·There·is·one·ETS·table·for·each·scheduler.</span><span·class="w">202 tables·are·stored·as·a·single·persistent·term:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="c1">%%·There·is·one·ETS·table·for·each·scheduler.</span><span·class="w">
203 ····</span><span·class="n">Sid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="6041871217-1">(</span><span·class="ss">scheduler_id</span><span·class="p"·data-group-id="6041871217-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="7143960968-1">(</span><span·class="ss">scheduler_id</span><span·class="p"·data-group-id="7143960968-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="6041871217-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="6041871217-3">(</span><span·class="o">?[·...·truncated·by·diffoscope;·len:·130,·SHA:·f29e4e973b878c1179c477d5d603acf9f712946a1366f1837fb78f783b1524fa·...·]-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="7143960968-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="7143960968-3">(</span><span·class="o">?[·...·truncated·by·diffoscope;·len:·130,·SHA:·37736d320230b7329939478737d33d4222ce69f86d9e0c887303e8cfa876c427·...·]-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="6041871217-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="6041871217-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="7143960968-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="7143960968-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-16.0/doc/html/portsignals.html
    
Offset 399, 15 lines modifiedOffset 399, 15 lines modified
399 ······<p·class="built-using">399 ······<p·class="built-using">
400 ········Built·using400 ········Built·using
401 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the401 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
402 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>402 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
403 ······</p>403 ······</p>
404 <p>Copyright·©·1996-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.52 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/processmanagementoptimizations.html
    
Offset 320, 15 lines modifiedOffset 320, 15 lines modified
320 ······<p·class="built-using">320 ······<p·class="built-using">
321 ········Built·using321 ········Built·using
322 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the322 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
323 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>323 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
324 ······</p>324 ······</p>
325 <p>Copyright·©·1996-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-16.0/doc/html/ptables.html
    
Offset 456, 15 lines modifiedOffset 456, 15 lines modified
456 ······<p·class="built-using">456 ······<p·class="built-using">
457 ········Built·using457 ········Built·using
458 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the458 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
459 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>459 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
460 ······</p>460 ······</p>
461 <p>Copyright·©·1996-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-16.0/doc/html/run_erl_cmd.html
    
Offset 247, 15 lines modifiedOffset 247, 15 lines modified
247 ······<p·class="built-using">247 ······<p·class="built-using">
248 ········Built·using248 ········Built·using
249 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the249 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
250 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>250 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
251 ······</p>251 ······</p>
252 <p>Copyright·©·1996-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.19 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/search.html
    
Offset 137, 15 lines modifiedOffset 137, 15 lines modified
137 ······<p·class="built-using">137 ······<p·class="built-using">
138 ········Built·using138 ········Built·using
139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
141 ······</p>141 ······</p>
142 <p>Copyright·©·1996-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;
396 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/start_cmd.html
    
Offset 184, 15 lines modifiedOffset 184, 15 lines modified
184 ······<p·class="built-using">184 ······<p·class="built-using">
185 ········Built·using185 ········Built·using
186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
188 ······</p>188 ······</p>
189 <p>Copyright·©·1996-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-16.0/doc/html/start_erl_cmd.html
    
Offset 230, 15 lines modifiedOffset 230, 15 lines modified
230 ······<p·class="built-using">230 ······<p·class="built-using">
231 ········Built·using231 ········Built·using
232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
234 ······</p>234 ······</p>
235 <p>Copyright·©·1996-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-16.0/doc/html/supercarrier.html
    
Offset 225, 20 lines modifiedOffset 225, 20 lines modified
225 (alloc_util·and·the·different·strategies).·However,·that·would·not·be225 (alloc_util·and·the·different·strategies).·However,·that·would·not·be
226 as·straight·forward·as·one·can·think·and·can·also·waste·quite·a·lot·of226 as·straight·forward·as·one·can·think·and·can·also·waste·quite·a·lot·of
227 memory·as·it·uses·prepended·block·headers.·The·granularity·of·the227 memory·as·it·uses·prepended·block·headers.·The·granularity·of·the
228 super·carrier·is·one·memory·page·(usually·4kb).·We·want·to·allocate228 super·carrier·is·one·memory·page·(usually·4kb).·We·want·to·allocate
229 and·free·entire·pages·and·we·don't·want·to·waste·an·entire·page·just229 and·free·entire·pages·and·we·don't·want·to·waste·an·entire·page·just
230 to·hold·the·block·header·of·the·following·pages.</p><p>Instead·we·store·the·meta·information·about·all·the·free·segments·in·a230 to·hold·the·block·header·of·the·following·pages.</p><p>Instead·we·store·the·meta·information·about·all·the·free·segments·in·a
231 dedicated·area·apart·from·the·<code·class="inline">sa</code>·and·<code·class="inline">sua</code>·areas.·Every·free·segment·is231 dedicated·area·apart·from·the·<code·class="inline">sa</code>·and·<code·class="inline">sua</code>·areas.·Every·free·segment·is
232 represented·by·a·descriptor·struct·(<code·class="inline">ErtsFreeSegDesc</code>).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typedef</span><span·class="w">·</span><span·class="ss">struct</span><span·class="w">·</span><span·class="p"·data-group-id="2560661962-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="6513712901-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="2560661962-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="6513712901-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-16.0/doc/html/threadprogress.html
    
Offset 422, 15 lines modifiedOffset 422, 15 lines modified
422 ······<p·class="built-using">422 ······<p·class="built-using">
423 ········Built·using423 ········Built·using
424 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the424 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
425 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>425 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
426 ······</p>426 ······</p>
427 <p>Copyright·©·1996-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.86 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/time_correction.html
    
Offset 560, 17 lines modifiedOffset 560, 17 lines modified
560 the·event·occurs.</p></section><section·role="note"·class="admonition·tip"><h4·class="admonition-title·tip">Do</h4><p>Determine·the·order·of·events·by·saving·the·integer·returned·by560 the·event·occurs.</p></section><section·role="note"·class="admonition·tip"><h4·class="admonition-title·tip">Do</h4><p>Determine·the·order·of·events·by·saving·the·integer·returned·by
561 <a·href="erlang.html#unique_integer/1"><code·class="inline">erlang:unique_integer([monotonic])</code></a>·when·the561 <a·href="erlang.html#unique_integer/1"><code·class="inline">erlang:unique_integer([monotonic])</code></a>·when·the
562 event·occurs.·These·integers·are·strictly·monotonically·ordered·on·current562 event·occurs.·These·integers·are·strictly·monotonically·ordered·on·current
563 runtime·system·instance·corresponding·to·creation·time.</p></section><h4>Determine·Order·of·Events·with·Time·of·the·Event</h4><section·role="note"·class="admonition·error"><h4·class="admonition-title·error">Dont</h4><p>Determine·the·order·of·events·by·saving·a·time·stamp·with·<a·href="erlang.html#now/0"><code·class="inline">erlang:now/0</code></a>·when563 runtime·system·instance·corresponding·to·creation·time.</p></section><h4>Determine·Order·of·Events·with·Time·of·the·Event</h4><section·role="note"·class="admonition·error"><h4·class="admonition-title·error">Dont</h4><p>Determine·the·order·of·events·by·saving·a·time·stamp·with·<a·href="erlang.html#now/0"><code·class="inline">erlang:now/0</code></a>·when
564 the·event·occurs.</p></section><section·role="note"·class="admonition·tip"><h4·class="admonition-title·tip">Do</h4><p>Determine·the·order·of·events·by·saving·a·tuple·containing564 the·event·occurs.</p></section><section·role="note"·class="admonition·tip"><h4·class="admonition-title·tip">Do</h4><p>Determine·the·order·of·events·by·saving·a·tuple·containing
565 <a·href="erlang.html#monotonic_time/0">monotonic·time</a>·and·a565 <a·href="erlang.html#monotonic_time/0">monotonic·time</a>·and·a
566 <a·href="erlang.html#unique_integer/1">strictly·monotonically·increasing·integer</a>·as566 <a·href="erlang.html#unique_integer/1">strictly·monotonically·increasing·integer</a>·as
567 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Time</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monotonic_time</span><span·class="p"·data-group-id="6160066939-1">(</span><span·class="p"·data-group-id="6160066939-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="1318277712-1">(</span><span·class="p"·data-group-id="1318277712-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="6160066939-2">(</span><span·class="p"·data-group-id="6160066939-3">[</span><span·class="ss">monotonic</span><span·class="p"·data-group-id="6160066939-3">]</span><span·class="p"·data-group-id="6160066939-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="1318277712-2">(</span><span·class="p"·data-group-id="1318277712-3">[</span><span·class="ss">monotonic</span><span·class="p"·data-group-id="1318277712-3">]</span><span·class="p"·data-group-id="1318277712-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="6160066939-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="6160066939-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="1318277712-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="1318277712-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-16.0/doc/html/tracing.html
    
Offset 145, 31 lines modifiedOffset 145, 31 lines modified
145 on·functions·that·never·return,·as·each·call·pushes·a·frame·that·will145 on·functions·that·never·return,·as·each·call·pushes·a·frame·that·will
146 never·be·removed.</p><p>Another·limitation·is·that·since·the·breakpoint·is·in·the·<em>callee</em>·and·not146 never·be·removed.</p><p>Another·limitation·is·that·since·the·breakpoint·is·in·the·<em>callee</em>·and·not
147 the·<em>caller</em>,·we're·limited·to·the·information·we·have·on·function·ingress.147 the·<em>caller</em>,·we're·limited·to·the·information·we·have·on·function·ingress.
148 This·means·that·we·can't·actually·tell·who·called·us:·since·we're·limited148 This·means·that·we·can't·actually·tell·who·called·us:·since·we're·limited
149 to·inspecting·the·stack·we·can·only·say·where·we're·<em>going·to·return·to</em>,149 to·inspecting·the·stack·we·can·only·say·where·we're·<em>going·to·return·to</em>,
150 which·is·not·quite·the·same·thing.</p><p>As·an·illustration,·when·the·<code·class="inline">caller</code>·option·is·enabled·all·trace·messages150 which·is·not·quite·the·same·thing.</p><p>As·an·illustration,·when·the·<code·class="inline">caller</code>·option·is·enabled·all·trace·messages
151 from·<code·class="inline">bar/1</code>··will·say·that·they·were·called·from·<code·class="inline">foo/0</code>,·even·though·it151 from·<code·class="inline">bar/1</code>··will·say·that·they·were·called·from·<code·class="inline">foo/0</code>,·even·though·it
152 went·through·a·bunch·of·other·functions·on·the·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="9414809770-1">(</span><span·class="p"·data-group-id="9414809770-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="4616700230-1">(</span><span·class="p"·data-group-id="4616700230-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="9414809770-2">(</span><span·class="p"·data-group-id="9414809770-2">)</span><span·class="p">,</span><span·class="w">153 ····</span><span·class="nf">lots</span><span·class="p"·data-group-id="4616700230-2">(</span><span·class="p"·data-group-id="4616700230-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="9414809770-3">(</span><span·class="p"·data-group-id="9414809770-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="4616700230-3">(</span><span·class="p"·data-group-id="4616700230-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="9414809770-4">(</span><span·class="p"·data-group-id="9414809770-4">)</span><span·class="p">.</span><span·class="w">156 ····</span><span·class="nf">&#39;of&#39;</span><span·class="p"·data-group-id="4616700230-4">(</span><span·class="p"·data-group-id="4616700230-4">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">&#39;of&#39;</span><span·class="p"·data-group-id="9414809770-5">(</span><span·class="p"·data-group-id="9414809770-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="4616700230-5">(</span><span·class="p"·data-group-id="4616700230-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="9414809770-6">(</span><span·class="p"·data-group-id="9414809770-6">)</span><span·class="p">.</span><span·class="w">158 ····</span><span·class="nf">indirections</span><span·class="p"·data-group-id="4616700230-6">(</span><span·class="p"·data-group-id="4616700230-6">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">indirections</span><span·class="p"·data-group-id="9414809770-7">(</span><span·class="p"·data-group-id="9414809770-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="4616700230-7">(</span><span·class="p"·data-group-id="4616700230-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="9414809770-8">(</span><span·class="mi">10</span><span·class="p"·data-group-id="9414809770-8">)</span><span·class="p">.</span><span·class="w">160 ····</span><span·class="nf">bar</span><span·class="p"·data-group-id="4616700230-8">(</span><span·class="mi">10</span><span·class="p"·data-group-id="4616700230-8">)</span><span·class="p">.</span><span·class="w">
  
161 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9414809770-9">(</span><span·class="mi">0</span><span·class="p"·data-group-id="9414809770-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="4616700230-9">(</span><span·class="mi">0</span><span·class="p"·data-group-id="4616700230-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="9414809770-10">(</span><span·class="n">N</span><span·class="p"·data-group-id="9414809770-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="4616700230-10">(</span><span·class="n">N</span><span·class="p"·data-group-id="4616700230-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="9414809770-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="9414809770-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="4616700230-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="4616700230-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-16.0/doc/html/tty.html
    
Offset 191, 15 lines modifiedOffset 191, 15 lines modified
191 ······<p·class="built-using">191 ······<p·class="built-using">
192 ········Built·using192 ········Built·using
193 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the193 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
194 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>194 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
195 ······</p>195 ······</p>
196 <p>Copyright·©·1996-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.42 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/werl_cmd.html
    
Offset 196, 15 lines modifiedOffset 196, 15 lines modified
196 ······<p·class="built-using">196 ······<p·class="built-using">
197 ········Built·using197 ········Built·using
198 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the198 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
199 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>199 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
200 ······</p>200 ······</p>
201 <p>Copyright·©·1996-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
38.2 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/zlib.html
    
Offset 129, 26 lines modifiedOffset 129, 26 lines modified
  
129 ····<section·id="moduledoc">129 ····<section·id="moduledoc">
130 <p>zlib·compression·interface.</p><p>This·module·provides·an·API·for·the·zlib·library130 <p>zlib·compression·interface.</p><p>This·module·provides·an·API·for·the·zlib·library
131 (<a·href="http://www.zlib.net">www.zlib.net</a>).·It·is·used·to·compress·and·decompress131 (<a·href="http://www.zlib.net">www.zlib.net</a>).·It·is·used·to·compress·and·decompress
132 data.·The·data·format·is·described·by132 data.·The·data·format·is·described·by
133 <a·href="https://www.ietf.org/rfc/rfc1950.txt">RFC·1950</a>,133 <a·href="https://www.ietf.org/rfc/rfc1950.txt">RFC·1950</a>,
134 <a·href="https://www.ietf.org/rfc/rfc1951.txt">RFC·1951</a>,·and134 <a·href="https://www.ietf.org/rfc/rfc1951.txt">RFC·1951</a>,·and
135 <a·href="https://www.ietf.org/rfc/rfc1952.txt">RFC·1952</a>.</p><p>A·typical·(compress)·usage·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Z</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="3859949409-1">(</span><span·class="p"·data-group-id="3859949409-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="4890705628-1">(</span><span·class="p"·data-group-id="4890705628-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="3859949409-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="ss">default</span><span·class="p"·data-group-id="3859949409-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="4890705628-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="ss">default</span><span·class="p"·data-group-id="4890705628-2">)</span><span·class="p">,</span><span·class="w">
  
137 </span><span·class="n">Compress</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="3859949409-3">(</span><span·class="ss">end_of_data</span><span·class="p"·data-group-id="3859949409-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">137 </span><span·class="n">Compress</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="4890705628-3">(</span><span·class="ss">end_of_data</span><span·class="p"·data-group-id="4890705628-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
138 ·················</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="3859949409-4">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3859949409-5">[</span><span·class="p"·data-group-id="3859949409-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·63,·SHA:·bdc4e79b8c86de65a8776506d3fd99984e63e4917f9cbc1d304256d89e4c49dc·...·]-4">)</span><span·class="p">;</span><span·class="w">138 ·················</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="4890705628-4">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4890705628-5">[</span><span·class="p"·data-group-id="4890705628-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·63,·SHA:·b4149be1f2bf5d104b583dc382d223f382b86106c2287e42f3fa132c01774045·...·]-4">)</span><span·class="p">;</span><span·class="w">
139 ···············</span><span·class="n">F</span><span·class="p"·data-group-id="3859949409-6">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3859949409-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">139 ···············</span><span·class="n">F</span><span·class="p"·data-group-id="4890705628-6">(</span><span·class="n">Data</span><span·class="p"·data-group-id="4890705628-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
140 ·················</span><span·class="p"·data-group-id="3859949409-7">[</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="3859949409-8">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span[·...·truncated·by·diffoscope;·len:·384,·SHA:·a1eeaadf082ce78ae2890e7a994462af3f728f9b7ac66fd08060eb34acbf70ee·...·]-7">]</span><span·class="w">140 ·················</span><span·class="p"·data-group-id="4890705628-7">[</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="4890705628-8">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span[·...·truncated·by·diffoscope;·len:·384,·SHA:·33536434e7836989fe42217e3efb018c132e9509d66516e8b84c3791936db307·...·]-7">]</span><span·class="w">
141 ···········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">141 ···········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
142 </span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Compress</span><span·class="p"·data-group-id="3859949409-11">(</span><span·class="n">Read</span><span·class="p"·data-group-id="3859949409-12">(</span><span·class="p"·data-group-id="3859949409-12">)</span><span·class="p"·data-group-id="3859949409-11">)</span><span·class="p">,</span><span·class="w">142 </span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Compress</span><span·class="p"·data-group-id="4890705628-11">(</span><span·class="n">Read</span><span·class="p"·data-group-id="4890705628-12">(</span><span·class="p"·data-group-id="4890705628-12">)</span><span·class="p"·data-group-id="4890705628-11">)</span><span·class="p">,</span><span·class="w">
143 </span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflateEnd</span><span·class="p"·data-group-id="3859949409-13">(</span><span·class="n">Z</span><span·class="p"·data-group-id="3859949409-13">)</span><span·class="p">,</span><span·class="w">143 </span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflateEnd</span><span·class="p"·data-group-id="4890705628-13">(</span><span·class="n">Z</span><span·class="p"·data-group-id="4890705628-13">)</span><span·class="p">,</span><span·class="w">
144 </span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="3859949409-14">(</span><span·class="n">Z</span><span·class="p"·data-group-id="3859949409-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="4890705628-14">(</span><span·class="n">Z</span><span·class="p"·data-group-id="4890705628-14">)</span><span·class="p">,</span><span·class="w">
145 </span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="3859949409-15">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="3859949409-15">)</span></code></pre><p>In·all·functions·errors,·<code·class="inline">{'EXIT',{Reason,Backtrace}}</code>,·can·be·thrown,·where145 </span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="4890705628-15">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="4890705628-15">)</span></code></pre><p>In·all·functions·errors,·<code·class="inline">{'EXIT',{Reason,Backtrace}}</code>,·can·be·thrown,·where
146 <code·class="inline">Reason</code>·describes·the·error.</p><p>Typical·<code·class="inline">Reason</code>s:</p><ul><li><p><strong><code·class="inline">badarg</code></strong>·-·Bad·argument.</p></li><li><p><strong><code·class="inline">not_initialized</code></strong>·-·The·stream·hasn't·been·initialized,·eg.·if146 <code·class="inline">Reason</code>·describes·the·error.</p><p>Typical·<code·class="inline">Reason</code>s:</p><ul><li><p><strong><code·class="inline">badarg</code></strong>·-·Bad·argument.</p></li><li><p><strong><code·class="inline">not_initialized</code></strong>·-·The·stream·hasn't·been·initialized,·eg.·if
147 <a·href="#inflateInit/1"><code·class="inline">inflateInit/1</code></a>·wasn't·called·prior·to·a·call·to·<a·href="#inflate/2"><code·class="inline">inflate/2</code></a>.</p></li><li><p><strong><code·class="inline">not_on_controlling_process</code></strong>·-·The·stream·was·used·by·a·process·that147 <a·href="#inflateInit/1"><code·class="inline">inflateInit/1</code></a>·wasn't·called·prior·to·a·call·to·<a·href="#inflate/2"><code·class="inline">inflate/2</code></a>.</p></li><li><p><strong><code·class="inline">not_on_controlling_process</code></strong>·-·The·stream·was·used·by·a·process·that
148 doesn't·control·it.·Use·<a·href="#set_controlling_process/2"><code·class="inline">set_controlling_process/2</code></a>·if·you·need·to·transfer·a148 doesn't·control·it.·Use·<a·href="#set_controlling_process/2"><code·class="inline">set_controlling_process/2</code></a>·if·you·need·to·transfer·a
149 stream·to·a·different·process.</p></li><li><p><strong><code·class="inline">data_error</code></strong>·-·The·data·contains·errors.</p></li><li><p><strong><code·class="inline">stream_error</code></strong>·-·Inconsistent·stream·state.</p></li><li><p><strong><code·class="inline">{need_dictionary,Adler32}</code></strong>·-·See·<a·href="#inflate/2"><code·class="inline">inflate/2</code></a>.</p></li></ul>149 stream·to·a·different·process.</p></li><li><p><strong><code·class="inline">data_error</code></strong>·-·The·data·contains·errors.</p></li><li><p><strong><code·class="inline">stream_error</code></strong>·-·Inconsistent·stream·state.</p></li><li><p><strong><code·class="inline">{need_dictionary,Adler32}</code></strong>·-·See·<a·href="#inflate/2"><code·class="inline">inflate/2</code></a>.</p></li></ul>
150 ····</section>150 ····</section>
  
151 </div>151 </div>
Offset 827, 19 lines modifiedOffset 827, 19 lines modified
827 all·input·data·available·so·far.·Flushing·can·degrade·compression·for·some827 all·input·data·available·so·far.·Flushing·can·degrade·compression·for·some
828 compression·algorithms;·thus,·use·it·only·when·necessary.</p><p>If·<code·class="inline">Flush</code>·is·set·to·<code·class="inline">full</code>,·all·output·is·flushed·as·with·<code·class="inline">sync</code>,·and·the828 compression·algorithms;·thus,·use·it·only·when·necessary.</p><p>If·<code·class="inline">Flush</code>·is·set·to·<code·class="inline">full</code>,·all·output·is·flushed·as·with·<code·class="inline">sync</code>,·and·the
829 compression·state·is·reset·so·that·decompression·can·restart·from·this·point·if829 compression·state·is·reset·so·that·decompression·can·restart·from·this·point·if
830 previous·compressed·data·has·been·damaged·or·if·random·access·is·desired.·Using830 previous·compressed·data·has·been·damaged·or·if·random·access·is·desired.·Using
831 <code·class="inline">full</code>·too·often·can·seriously·degrade·the·compression.</p><p>If·<code·class="inline">Flush</code>·is·set·to·<code·class="inline">finish</code>,·pending·input·is·processed,·pending·output·is831 <code·class="inline">full</code>·too·often·can·seriously·degrade·the·compression.</p><p>If·<code·class="inline">Flush</code>·is·set·to·<code·class="inline">finish</code>,·pending·input·is·processed,·pending·output·is
832 flushed,·and·<a·href="#deflate/3"><code·class="inline">deflate/3</code></a>·returns.·Afterwards·the·only·possible832 flushed,·and·<a·href="#deflate/3"><code·class="inline">deflate/3</code></a>·returns.·Afterwards·the·only·possible
833 operations·on·the·stream·are·<a·href="#deflateReset/1"><code·class="inline">deflateReset/1</code></a>·or·<a·href="#deflateEnd/1"><code·class="inline">deflateEnd/1</code></a>.</p><p><code·class="inline">Flush</code>·can·be·set·to·<code·class="inline">finish</code>·immediately·after833 operations·on·the·stream·are·<a·href="#deflateReset/1"><code·class="inline">deflateReset/1</code></a>·or·<a·href="#deflateEnd/1"><code·class="inline">deflateEnd/1</code></a>.</p><p><code·class="inline">Flush</code>·can·be·set·to·<code·class="inline">finish</code>·immediately·after
834 <a·href="#deflateInit/1"><code·class="inline">deflateInit</code></a>·if·all·compression·is·to·be·done·in·one·step.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflateInit</span><span·class="p"·data-group-id="8532688004-1">(</span><span·class="n">Z</span><span·class="p"·data-group-id="8532688004-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="0718883246-1">(</span><span·class="n">Z</span><span·class="p"·data-group-id="0718883246-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="8532688004-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="8532688004-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="0718883246-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="0718883246-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="8532688004-3">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="p"·data-group-id="8532688004-4">&lt;&lt;</span><span·class="w">·</span><span·class="p"·data-group-id="8532688004-4">&gt;&gt;</span><span·class="p">,</span><span·class="ss">f[·...·truncated·by·diffoscope;·len:·53,·SHA:·5b3f382d2863dd3de263e30e6d8e92c8fd2dbfa74fe2524a88aa064096a754b9·...·]-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="0718883246-3">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="p"·data-group-id="0718883246-4">&lt;&lt;</span><span·class="w">·</span><span·class="p"·data-group-id="0718883246-4">&gt;&gt;</span><span·class="p">,</span><span·class="ss">f[·...·truncated·by·diffoscope;·len:·53,·SHA:·8f806de8d4423f5d3c9b8183c673d5cc72bbe79c315d563a131abf1fd9e38aca·...·]-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="8532688004-5">(</span><span·class="n">Z</span><span·class="p"·data-group-id="8532688004-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="0718883246-5">(</span><span·class="n">Z</span><span·class="p"·data-group-id="0718883246-5">)</span><span·class="p">,</span><span·class="w">
838 </span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="8532688004-6">(</span><span·class="p"·data-group-id="8532688004-7">[</span><span·class="n">B1</span><span·class="p">,</span><span·class="n">B2</span><span·class="p"·data-group-id="8532688004-7">]</span><span·class="p"·data-group-id="8532688004-6">)</span></code></pre>838 </span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="0718883246-6">(</span><span·class="p"·data-group-id="0718883246-7">[</span><span·class="n">B1</span><span·class="p">,</span><span·class="n">B2</span><span·class="p"·data-group-id="0718883246-7">]</span><span·class="p"·data-group-id="0718883246-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="5785403512-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="5785403512-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="8113248538-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="8113248538-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="5785403512-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="5785403512-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="8113248538-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="8113248538-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1358 ··········</span><span·class="p"·data-group-id="5785403512-3">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="5785403512-4">{</span><span·class="p"·data-group-id="5785403512-5">{</span><span·class="ss">need_dictionary</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·245,·SHA:·e1e27fd8b886d14573f375915c18f975775ac9db7c18b0e4fc9e7f013cc44be8·...·]-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1358 ··········</span><span·class="p"·data-group-id="8113248538-3">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8113248538-4">{</span><span·class="p"·data-group-id="8113248538-5">{</span><span·class="ss">need_dictionary</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·245,·SHA:·d7148814a49660d94a3650f03c7940d83b35f645300bfb346c8114a41e147d24·...·]-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="5785403512-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="5785403512-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="8113248538-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="8113248538-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="5785403512-7">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5785403512-8">[</span><span·class="p"·data-group-id="5785403512-8">]</span><span·class="p"·data-group-id="5785403512-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="8113248538-7">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8113248538-8">[</span><span·class="p"·data-group-id="8113248538-8">]</span><span·class="p"·data-group-id="8113248538-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="5785403512-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="5785403512-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="8113248538-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="8113248538-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="5785403512-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="5785403512-11">[</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·300,·SHA:·942650941dd32a9a249334bc3a8d34ad98706664c369ca0d747d442dc4e04976·...·]-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="8113248538-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="8113248538-11">[</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·300,·SHA:·d4b438fddeffe990a316ec9436b1e199af950ad490cb3a4105c18dfdaacc80e0·...·]-10">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1366 ········</span><span·class="p"·data-group-id="5785403512-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:·e2e0a6088780db96c3f1ef163afdf76d2e70312cf3743e99eb8516b46defa830·...·]-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1366 ········</span><span·class="p"·data-group-id="8113248538-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:·dedf8b6fa256012ba27b8d9609ad6c3f4db757852198ee918af5548d824f9062·...·]-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="5785403512-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="5785403512-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="8113248538-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="8113248538-14">)</span><span·class="p">,</span><span·class="w">
1368 ············</span><span·class="p"·data-group-id="5785403512-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="5785403512-16">(</[·...·truncated·by·diffoscope;·len:·280,·SHA:·bf6fc4d3bc9a3a49556b693b51cf280cc5a44406a82176b08a85be9f49419e49·...·]-15">]</span><span·class="p">;</span><span·class="w">1368 ············</span><span·class="p"·data-group-id="8113248538-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="8113248538-16">(</[·...·truncated·by·diffoscope;·len:·280,·SHA:·9cc4f2bd77c8c3a4f62f914e006f5432c0ca8d1cb177dac78a7673f76bbce378·...·]-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="1500429643-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="1500429643-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="4514843127-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="4514843127-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="1500429643-2">(</span><span·class="p"·data-group-id="1500429643-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="4514843127-2">(</span><span·class="p"·data-group-id="4514843127-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="1500429643-3">(</span><span·class="n">Z</span><span·class="p"·data-group-id="1500429643-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="4514843127-3">(</span><span·class="n">Z</span><span·class="p"·data-group-id="4514843127-3">)</span><span·class="p">,</span><span·class="w">
1444 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="1500429643-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:·a05c5e06e357bb470d9952faf047fc899dca8fa55872c9f55e22ef74b0452e2b·...·]-4">)</span><span·class="p">,</span><span·class="w">1444 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="4514843127-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:·c0777982c3024049bf1c9c970bf98aab3936ae8e5bb5930c9de1c664a56a316c·...·]-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="1500429643-6">(</span><span·class="n">Z</span><span·class="p"·data-group-id="1500429643-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="4514843127-6">(</span><span·class="n">Z</span><span·class="p"·data-group-id="4514843127-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="1500429643-7">(</span><span·class="n">Z</span><span·class="p"·data-group-id="1500429643-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="4514843127-7">(</span><span·class="n">Z</span><span·class="p"·data-group-id="4514843127-7">)</span><span·class="p">.</span><span·class="w">
  
1447 </span><span·class="nf">loop</span><span·class="p"·data-group-id="1500429643-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="1500429643-9">{</span><span·class="ss">continue</span[·...·truncated·by·diffoscope;·len:·172,·SHA:·eaf534012526403ff88e216f6586eb341d69c7ff184016635224cd8a810cbfd9·...·]-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="4514843127-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="4514843127-9">{</span><span·class="ss">continue</span[·...·truncated·by·diffoscope;·len:·172,·SHA:·de8f858859cdd774291303684b892e99d2d515a7e4b7d57b9b3b3915bf688e56·...·]-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="1500429643-10">(</span><span·class="n">Output</span><span·class="p"·data-group-id="1500429643-10">)</span><span·class="p">,</span><span·class="w">1448 ····</span><span·class="n">Handler</span><span·class="p"·data-group-id="4514843127-10">(</span><span·class="n">Output</span><span·class="p"·data-group-id="4514843127-10">)</span><span·class="p">,</span><span·class="w">
1449 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="1500429643-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:·1ac3cd78cc1f1e0ffd2cdc912fd3fcf42ffa165da7a793d5365c2f7303e0e9ac·...·]-11">)</span><span·class="p">;</span><span·class="w">1449 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="4514843127-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:·c37466a6ef9630bb2055f2a567991a6b97d8d1a5a3436b0689590c469ec69c95·...·]-11">)</span><span·class="p">;</span><span·class="w">
1450 </span><span·class="nf">loop</span><span·class="p"·data-group-id="1500429643-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="1500429643-15">{</span><span·class="ss">finished</sp[·...·truncated·by·diffoscope;·len:·175,·SHA:·f4f12987c23876c760e37426b785c372bfaf76ac4f5248f9b89f5fda0a5c5499·...·]-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="4514843127-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="4514843127-15">{</span><span·class="ss">finished</sp[·...·truncated·by·diffoscope;·len:·175,·SHA:·58b05b4fe71bd40949241581818a9dff96b7e13d3528a6a652e4d5d45db25c6c·...·]-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="1500429643-16">(</span><span·class="n">Output</span><span·class="p"·data-group-id="1500429643-16">)</span><span·class="p">.</span></code></pre>1451 ····</span><span·class="n">Handler</span><span·class="p"·data-group-id="4514843127-16">(</span><span·class="n">Output</span><span·class="p"·data-group-id="4514843127-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.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.46 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-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;
652 B
html2text {}
Max HTML report size reached
411 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.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.77 KB
OEBPS/notes.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
Max HTML report size reached
6.35 KB
OEBPS/asn1ct.xhtml
Max HTML report size reached
117 KB
OEBPS/asn1_spec.xhtml
Max HTML report size reached
179 KB
OEBPS/asn1_getting_started.xhtml
Max HTML report size reached
180 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_getting_started.html
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_introduction.html
    
Offset 199, 15 lines modifiedOffset 199, 15 lines modified
199 ······<p·class="built-using">199 ······<p·class="built-using">
200 ········Built·using200 ········Built·using
201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
203 ······</p>203 ······</p>
204 <p>Copyright·©·1996-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.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.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="4927733448-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">ExclMessage</span><span·class="p"·data-group-id="4927733448-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:·35a1ce3d95f8cc51d620bf8c6d3f3e310ec19a83a8d47384da48710c2c8dcb5f·...·]-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="1968535044-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">ExclMessage</span><span·class="p"·data-group-id="1968535044-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:·312809992fac85e8e0e7e68a3fb78ebe6fb521137853c79eba52db75048a3b43·...·]-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="4008731259-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">PartMessage</span><span·class="p"·data-group-id="4008731259-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">&#39;MyM[·...·truncated·by·diffoscope;·len:·285,·SHA:·42c4e8bb3e562b8135dba51f63c4f85cb01703369b7b225485bc85f25b66c73b·...·]-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="9572963781-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">PartMessage</span><span·class="p"·data-group-id="9572963781-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">&#39;MyM[·...·truncated·by·diffoscope;·len:·285,·SHA:·3f26bb550a706f04b1f0f5507856514da6c05e1e6e33c7ff36e5fb7f2d0259a8·...·]-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="0885889549-1">{</span><span·class="ss">exclusive_decode</span><span·class="p">,</span><span·class="p"·data-group-id="0885889549-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:·ba80835fa77f8ebdab3b8574cddfb4a5e1af75d9aa1402d3857f6b281692803b·...·]-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="1326135323-1">{</span><span·class="ss">exclusive_decode</span><span·class="p">,</span><span·class="p"·data-group-id="1326135323-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:·25956176240f3ad5cc104f818ab2f03c51586b94c9b40862c1f17d887fc64ff6·...·]-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="0885889549-3">(</span><span·class="p"·data-group-id="0885889549-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="1326135323-3">(</span><span·class="p"·data-group-id="1326135323-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="0885889549-4">[</span><span·class="n">DecodeInstruction</span><span·class="p"·data-group-id="0885889549-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="1326135323-4">[</span><span·class="n">DecodeInstruction</span><span·class="p"·data-group-id="1326135323-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="0885889549-5">{</span><span·class="n">ExclusiveDecodeFunctionName</span><span·class="p">,</span><span·class="n">TypeList</span><span·class="p"·data-group-id="0885889549-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="1326135323-5">{</span><span·class="n">ExclusiveDecodeFunctionName</span><span·class="p">,</span><span·class="n">TypeList</span><span·class="p"·data-group-id="1326135323-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="0885889549-6">(</span><span·class="p"·data-group-id="0885889549-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="1326135323-6">(</span><span·class="p"·data-group-id="1326135323-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="0885889549-7">[</span><span·class="n">TopType</span><span·class="p">,</span><span·class="n">ElementList</span><span·class="p"·data-group-id="0885889549-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="1326135323-7">[</span><span·class="n">TopType</span><span·class="p">,</span><span·class="n">ElementList</span><span·class="p"·data-group-id="1326135323-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="0885889549-8">[</span><span·class="n">Element</span><span·class="p"·data-group-id="0885889549-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="1326135323-8">[</span><span·class="n">Element</span><span·class="p"·data-group-id="1326135323-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="0885889549-9">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="ss">parts</span><span·class="p"·data-group-id="0885889549-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="1326135323-9">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="ss">parts</span><span·class="p"·data-group-id="1326135323-9">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
186 ··········</span><span·class="p"·data-group-id="0885889549-10">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="ss">undecoded</span><span·class="p"·data-group-id="0885889549-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">186 ··········</span><span·class="p"·data-group-id="1326135323-10">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="ss">undecoded</span><span·class="p"·data-group-id="1326135323-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
187 ··········</span><span·class="p"·data-group-id="0885889549-11">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">ElementList</span><span·class="p"·data-group-id="0885889549-11">}</span><span·class="w">187 ··········</span><span·class="p"·data-group-id="1326135323-11">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">ElementList</span><span·class="p"·data-group-id="1326135323-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="0885889549-12">(</span><span·class="p"·data-group-id="0885889549-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="1326135323-12">(</span><span·class="p"·data-group-id="1326135323-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="0885889549-13">(</span><span·class="p"·data-group-id="0885889549-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="1326135323-13">(</span><span·class="p"·data-group-id="1326135323-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="4879940134-1">(</span><span·class="ss">&#39;GUI&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4879940134-2">[</span><span·class="ss">ber</span><span·class="p">,</span><span·class="ss">asn1config</span><span·class[·...·truncated·by·diffoscope;·len:·144,·SHA:·40bc4e9aa3275aef21e8d4101d369929d150b133dd1e58e3e7ca03431f1a1690·...·]-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="2213581270-1">(</span><span·class="ss">&#39;GUI&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2213581270-2">[</span><span·class="ss">ber</span><span·class="p">,</span><span·class="ss">asn1config</span><span·class[·...·truncated·by·diffoscope;·len:·144,·SHA:·c27e014803b67421919f3d69155c19e41be84521d99732a5f710133af3e0d0ae·...·]-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="4879940134-3">(</span><span·class="ss">&#39;GUI&#39;</span><span·class="p"·data-group-id="4879940134-3">)</span><span·class="p">.</span><span·class="w">266 2&gt;·</span><span·class="nf">rr</span><span·class="p"·data-group-id="2213581270-3">(</span><span·class="ss">&#39;GUI&#39;</span><span·class="p"·data-group-id="2213581270-3">)</span><span·class="p">.</span><span·class="w">
267 </span><span·class="p"·data-group-id="4879940134-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="4879940134-4">]</span><span·class="gp·unselectable">267 </span><span·class="p"·data-group-id="2213581270-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="2213581270-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="4879940134-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="4879940134-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="2213581270-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="2213581270-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="4879940134-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:·b22510d24aaa7d0b24121716ab6884abc992323a2f52e580252503a6501f1038·...·]-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="2213581270-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:·244ff3c4e21544ec686dd1e2b6186d8656714cddf793c09be6327fd95ef1f383·...·]-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="4879940134-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="4879940134-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="2213581270-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="2213581270-7">)</span><span·class="p">.</span><span·class="w">
271 </span><span·class="p"·data-group-id="4879940134-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:·cb2e406d3a974c948c00c4c56420c486e3c30606c3263db5d71ff649ab1a4ab2·...·]-8">&gt;&gt;</span><span·class="gp·unselectable">271 </span><span·class="p"·data-group-id="2213581270-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:·3cb03e8101870880e1ee9bdbde49ebb2f8dac81ec85173f43cf95deecb4972cc·...·]-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="4879940134-9">(</span><span·class="n">ButtonBytes</span><span·class="p"·data-group-id="4879940134-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="2213581270-9">(</span><span·class="n">ButtonBytes</span><span·class="p"·data-group-id="2213581270-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="4879940134-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="4879940134-11">{</span><span·class="ss">&#39;Button_number&#39;</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·284,·SHA:·986fbe65406aed573362f6de41f5f8e1c3bef53aa29bf057147b601fd915d2a3·...·]-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="2213581270-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="2213581270-11">{</span><span·class="ss">&#39;Button_number&#39;</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·284,·SHA:·4e6c5b7cc249ee56d54d2e271e9e4ea4b4d192015b4bb401b18aa2ce24e37169·...·]-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="4879940134-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="2213581270-10">}</span><span·class="gp·unselectable">
275 6&gt;·</span><span·class="p"·data-group-id="4879940134-13">{</span><span·class="n">UndecKey</span><span·class="p">,</span><span·class="n">UndecBytes</span><span·class="p"·data-group-id="4879940134-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="2213581270-13">{</span><span·class="n">UndecKey</span><span·class="p">,</span><span·class="n">UndecBytes</span><span·class="p"·data-group-id="2213581270-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="4879940134-14">{</span><span·class="ss">&#39;Button_number&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4879940134-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:·34066595039ef3d78c4a9a1da458691a27bcb64005da9334fbc7245751a106a6·...·]-14">}</span><span·class="gp·unselectable">276 </span><span·class="p"·data-group-id="2213581270-14">{</span><span·class="ss">&#39;Button_number&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2213581270-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:·34e3b5ccf25ee5247df2696b6a944c5163339e9fb513e7c1d6aad3d4db610ab1·...·]-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="4879940134-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="4879940134-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="2213581270-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="2213581270-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="4879940134-17">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="p"·data-group-id="4879940134-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="2213581270-17">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="p"·data-group-id="2213581270-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="4879940134-19">[</span><span·class="p"·data-group-id="4879940134-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="4879940[·...·truncated·by·diffoscope;·len:·3,·SHA:·5d389f5e2e34c6b0bad96581c22cee0be36dcf627cd73af4d4cccacd9ef40cc3·...·]-20">}</span><span·class="p">,</span><span·class="w">281 ···</span><span·class="p"·data-group-id="2213581270-19">[</span><span·class="p"·data-group-id="2213581270-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="2213581[·...·truncated·by·diffoscope;·len:·3,·SHA:·d8d1790737d57ac4fe91a2c0a28087c0a97c81f5dc6b19d5e4aec20c08bb95ae·...·]-20">}</span><span·class="p">,</span><span·class="w">
282 ····</span><span·class="p"·data-group-id="4879940134-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="4879940134-21">}</span><span·class="p">,</span><span·class="w">282 ····</span><span·class="p"·data-group-id="2213581270-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="2213581270-21">}</span><span·class="p">,</span><span·class="w">
283 ····</span><span·class="p"·data-group-id="4879940134-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="4879940134-22">}</span><span·class="p">,</span><span·class="w">283 ····</span><span·class="p"·data-group-id="2213581270-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="2213581270-22">}</span><span·class="p">,</span><span·class="w">
284 ····</span><span·class="p"·data-group-id="4879940134-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="4879940134-23">}</span><span·class="p">,</span><span·class="w">284 ····</span><span·class="p"·data-group-id="2213581270-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="2213581270-23">}</span><span·class="p">,</span><span·class="w">
285 ····</span><span·class="p"·data-group-id="4879940134-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="4879940134-24">}</span><span·class="p"·data-group-id="487994[·...·truncated·by·diffoscope;·len:·4,·SHA:·d538f5aa397f242eb8a530501d4824b321f7a36aeb8bf70b79526dc211c051c5·...·]-19">]</span><span·class="p">,</span><span·class="w">285 ····</span><span·class="p"·data-group-id="2213581270-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="2213581270-24">}</span><span·class="p"·data-group-id="221358[·...·truncated·by·diffoscope;·len:·4,·SHA:·93654b454b7bc1eea6739e8ca279d028a9f2650c4f3e8843abc47fc5a8893300·...·]-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="4879940134-25">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="4879940134-26">[</span><span·class="p"·data-group-id="4879940134-27">{</span><span·class="ss">&#39;Action&#39;</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·559,·SHA:·2b10b11015233cfe0b23e9b7a6fe43b3fef47e554ad14071af0bea8cddc97240·...·]-17">}</span><span·class="p">.</span><span·class="w">287 ···</span><span·class="p"·data-group-id="2213581270-25">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="2213581270-26">[</span><span·class="p"·data-group-id="2213581270-27">{</span><span·class="ss">&#39;Action&#39;</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·559,·SHA:·63c4860246b3700ed24810633af2ebcbdf371d513c7328ae1aa05557176c1b3a·...·]-17">}</span><span·class="p">.</span><span·class="w">
288 </span><span·class="p"·data-group-id="4879940134-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="4879940134-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="2213581270-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="2213581270-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="4879940134-31">[</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="4879940134-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:·4ce94cacb9189c8f9478177c8882b31a58e0aa456ccee9a7822b9cb4ae87b639·...·]-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="2213581270-31">[</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="2213581270-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:·6dbd73655ad1ccd3a319ae536f869c1872ba95432972d975b7470a3bb7487717·...·]-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="4879940134-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:·895ba57a9ff5e6d59c7a3e90ec3fdb75028c5ff1b557268f33bf684891f46b77·...·]-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="2213581270-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:·3c5f6f6d6f9bb03bf3dd16e40eb1a30c09d405bf7a6f9ab1cf28b3d94ba34b34·...·]-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="4879940134-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:·f9a15d3012db6064c486612516425bdd19221607b53c22564a292b3ec1b48dbd·...·]-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="2213581270-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:·e18b281e8ee0d7474e9567dced9e4db5760f62d46a47ae8198f9fefaa72e661b·...·]-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="4879940134-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:·f9a15d3012db6064c486612516425bdd19221607b53c22564a292b3ec1b48dbd·...·]-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="2213581270-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:·e18b281e8ee0d7474e9567dced9e4db5760f62d46a47ae8198f9fefaa72e661b·...·]-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="4879940134-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:·40a2b0abb1d4bd2af434ae13bd53625c773cee7d067adb3449c3951ae3fcc712·...·]-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="2213581270-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:·43307f1bd8b43fb4acf26f86eeb90b085c64bb6ad47bec79d9c0633fb25a5cf3·...·]-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="4879940134-37">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="4879940134-38">[</span><span·class="o">#</span><span·class="ss">&#39;Action&#39;</span><span·class="p"·data-group-id="4879940134-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="2213581270-37">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="2213581270-38">[</span><span·class="o">#</span><span·class="ss">&#39;Action&#39;</span><span·class="p"·data-group-id="2213581270-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="4879940134-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:·1178aa89b2397dfa9634eb8e3a09739e491aa3b75a1fb25b1b92141a99edf06e·...·]-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="2213581270-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:·4d88b7b85a39bff1185a7e57fa6f6f13716f9125084776d7b3fadd04d5bb4dd9·...·]-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="4879940134-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="4879940134-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="2213581270-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="2213581270-41">)</span><span·class="p">.</span><span·class="w">
298 </span><span·class="p"·data-group-id="4879940134-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="2213581270-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="4879940134-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="2213581270-42">&gt;&gt;</span><span·class="gp·unselectable">
300 10&gt;·</span><span·class="p"·data-group-id="4879940134-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="4879940134-44">{</span><span·class="ss">buttonList</span><span·class="o">=</span><sp[·...·truncated·by·diffoscope;·len:·300,·SHA:·120a427517ce6a9d5fed9a90866c1e92dbd4be675471e668b6c7e214097a3161·...·]-43">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">300 10&gt;·</span><span·class="p"·data-group-id="2213581270-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="2213581270-44">{</span><span·class="ss">buttonList</span><span·class="o">=</span><sp[·...·truncated·by·diffoscope;·len:·300,·SHA:·5b30adfffed572ae48dff4baab145431ba9d18a49af685f5a8a67cee94e555cc·...·]-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="4879940134-46">(</span><span·class="n">WindowBytes</span><span·class="p"·data-group-id="4879940134-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="2213581270-46">(</span><span·class="n">WindowBytes</span><span·class="p"·data-group-id="2213581270-46">)</span><span·class="p">.</span><span·class="w">
302 </span><span·class="p"·data-group-id="4879940134-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="4879940134-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="2213581270-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="2213581270-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="4879940134-49">{</span><span·class="ss">&#39;Status_buttonList&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4879940134-50">[</span><span·class="p"·data-group-id="4879940134-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="2213581270-49">{</span><span·class="ss">&#39;Status_buttonList&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2213581270-50">[</span><span·class="p"·data-group-id="2213581270-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="4879940134-51">&gt;&gt;</span><span·class="p">,</span><span·class="w">304 ·······················································</span><span·class="mi">255</span><span·class="p"·data-group-id="2213581270-51">&gt;&gt;</span><span·class="p">,</span><span·class="w">
305 ·····················································</span><span·class="p"·data-group-id="4879940134-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:·5ecc5243b728e0559dffb8ec5d33199afdc5a51f544a0b6c97ef7d9caac0b976·...·]-52">&gt;&gt;</span><span·class="p">,</span><span·class="w">305 ·····················································</span><span·class="p"·data-group-id="2213581270-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:·afbe930cf1176f4fb355e118cc39b7d31983aa82713e3e4468453c8d95a8759e·...·]-52">&gt;&gt;</span><span·class="p">,</span><span·class="w">
306 ·····················································</span><span·class="p"·data-group-id="4879940134-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:·8165daae5b6201756c0c534f9920e5c8b73e5f9d31b8c72a2d8a0d26d79f8a65·...·]-53">&gt;&gt;</span><span·class="p">,</span><span·class="w">306 ·····················································</span><span·class="p"·data-group-id="2213581270-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:·3bfc13a894c8c39f3ca0f8a18340a177a16c22dec991b581b0f510e9edf07653·...·]-53">&gt;&gt;</span><span·class="p">,</span><span·class="w">
307 ·····················································</span><span·class="p"·data-group-id="4879940134-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:·8165daae5b6201756c0c534f9920e5c8b73e5f9d31b8c72a2d8a0d26d79f8a65·...·]-54">&gt;&gt;</span><span·class="p">,</span><span·class="w">307 ·····················································</span><span·class="p"·data-group-id="2213581270-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:·3bfc13a894c8c39f3ca0f8a18340a177a16c22dec991b581b0f510e9edf07653·...·]-54">&gt;&gt;</span><span·class="p">,</span><span·class="w">
308 ·····················································</span><span·class="p"·data-group-id="4879940134-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:·87fa5e6c0ece7a8f4a5b88fc40ebdd61830c7689ada02d6da6156332f9f07983·...·]-49">}</span><span·class="p">,</span><span·class="w">308 ·····················································</span><span·class="p"·data-group-id="2213581270-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:·9efdf3b3dda4f651eb76ddf035b848468c9ed1efb479a65595dbf41aedc25b3a·...·]-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="4879940134-56">{</span><span·class="ss">&#39;Status_actions&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4879940134-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="2213581270-56">{</span><span·class="ss">&#39;Status_actions&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2213581270-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="4879940134-57">&gt;&gt;</span><span·class="p"·data-group-id="4879940134-56">}</span><span·class="p"·data-group-id="4879940134-48">}</span><span·class="p"·data-group-id="4879940134-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="2213581270-57">&gt;&gt;</span><span·class="p"·data-group-id="2213581270-56">}</span><span·class="p"·data-group-id="2213581270-48">}</span><span·class="p"·data-group-id="2213581270-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="4879940134-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="4879940134-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="2213581270-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="2213581270-58">)</span><span·class="p">.</span><span·class="w">
314 </span><span·class="p"·data-group-id="4879940134-59">[</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="4879940134-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:·4ce94cacb9189c8f9478177c8882b31a58e0aa456ccee9a7822b9cb4ae87b639·...·]-60">}</span><span·class="p">,</span><span·class="w">314 </span><span·class="p"·data-group-id="2213581270-59">[</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="2213581270-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:·6dbd73655ad1ccd3a319ae536f869c1872ba95432972d975b7470a3bb7487717·...·]-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="4879940134-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:·895ba57a9ff5e6d59c7a3e90ec3fdb75028c5ff1b557268f33bf684891f46b77·...·]-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="2213581270-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:·3c5f6f6d6f9bb03bf3dd16e40eb1a30c09d405bf7a6f9ab1cf28b3d94ba34b34·...·]-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="4879940134-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:·f9a15d3012db6064c486612516425bdd19221607b53c22564a292b3ec1b48dbd·...·]-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="2213581270-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:·e18b281e8ee0d7474e9567dced9e4db5760f62d46a47ae8198f9fefaa72e661b·...·]-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="4879940134-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:·f9a15d3012db6064c486612516425bdd19221607b53c22564a292b3ec1b48dbd·...·]-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="2213581270-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:·e18b281e8ee0d7474e9567dced9e4db5760f62d46a47ae8198f9fefaa72e661b·...·]-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="4879940134-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:·1dd7e5c0a960fc3d38c7e13fbfdcb6e792fb471a49e30468a8f91381011990eb·...·]-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="2213581270-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:·9a9034ca443b2b39418a258a0a45ba900e5e5555b8ac24bdf89b4db2761ab5b4·...·]-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="4879940134-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="4879940134-66">(</span><span·class="n">UndecWindowParts</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·9ee5110da2e560763301cd8afd593aa48c3eaeec9887165caa919f50b6345077·...·]-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="2213581270-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="2213581270-66">(</span><span·class="n">UndecWindowParts</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·668c682fbfb383d22bf1681b634725c36f54df0c0cd11a6868a4de7f3513b9be·...·]-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="4879940134-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:·f9a15d3012db6064c486612516425bdd19221607b53c22564a292b3ec1b48dbd·...·]-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="2213581270-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:·e18b281e8ee0d7474e9567dced9e4db5760f62d46a47ae8198f9fefaa72e661b·...·]-67">}</span><span·class="gp·unselectable">
321 13&gt;·</span><span·class="p"·data-group-id="4879940134-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="4879940134-69">{</span><span·class="ss">actions</span><span·class="o">=</span><span·[·...·truncated·by·diffoscope;·len:·518,·SHA:·987991bf4b6c8d07e1d557729a4e919168d5a8d65f4b886321b7afb25410f7a4·...·]-71">)</span><span·class="p">.</span><span·class="w">321 13&gt;·</span><span·class="p"·data-group-id="2213581270-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="2213581270-69">{</span><span·class="ss">actions</span><span·class="o">=</span><span·[·...·truncated·by·diffoscope;·len:·518,·SHA:·81ceeb5718a740dbef9d15c550b8812d034a8ec8361010ba863b6019a8106a3b·...·]-71">)</span><span·class="p">.</span><span·class="w">
322 </span><span·class="p"·data-group-id="4879940134-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="4879940134-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="2213581270-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="2213581270-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="4879940134-74">{</span><span·class="ss">&#39;Status_buttonList&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4879940134-75">[</span><span·class="p"·data-group-id="4879940134-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="2213581270-74">{</span><span·class="ss">&#39;Status_buttonList&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2213581270-75">[</span><span·class="p"·data-group-id="2213581270-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="4879940134-76">&gt;&gt;</span><span·class="p">,</span><span·class="w">324 ·······················································</span><span·class="mi">255</span><span·class="p"·data-group-id="2213581270-76">&gt;&gt;</span><span·class="p">,</span><span·class="w">
325 ·····················································</span><span·class="p"·data-group-id="4879940134-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:·5ecc5243b728e0559dffb8ec5d33199afdc5a51f544a0b6c97ef7d9caac0b976·...·]-77">&gt;&gt;</span><span·class="p">,</span><span·class="w">325 ·····················································</span><span·class="p"·data-group-id="2213581270-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:·afbe930cf1176f4fb355e118cc39b7d31983aa82713e3e4468453c8d95a8759e·...·]-77">&gt;&gt;</span><span·class="p">,</span><span·class="w">
326 ·····················································</span><span·class="p"·data-group-id="4879940134-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:·8165daae5b6201756c0c534f9920e5c8b73e5f9d31b8c72a2d8a0d26d79f8a65·...·]-78">&gt;&gt;</span><span·class="p">,</span><span·class="w">326 ·····················································</span><span·class="p"·data-group-id="2213581270-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:·3bfc13a894c8c39f3ca0f8a18340a177a16c22dec991b581b0f510e9edf07653·...·]-78">&gt;&gt;</span><span·class="p">,</span><span·class="w">
327 ·····················································</span><span·class="p"·data-group-id="4879940134-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:·8165daae5b6201756c0c534f9920e5c8b73e5f9d31b8c72a2d8a0d26d79f8a65·...·]-79">&gt;&gt;</span><span·class="p">,</span><span·class="w">327 ·····················································</span><span·class="p"·data-group-id="2213581270-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:·3bfc13a894c8c39f3ca0f8a18340a177a16c22dec991b581b0f510e9edf07653·...·]-79">&gt;&gt;</span><span·class="p">,</span><span·class="w">
328 ·····················································</span><span·class="p"·data-group-id="4879940134-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:·bbc556b4517978e86fba1ec44191b263b97e055782e7e2207a48c6d42125fc1f·...·]-74">}</span><span·class="p">,</span><span·class="w">328 ·····················································</span><span·class="p"·data-group-id="2213581270-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:·e90312df520f7ef5c01bfdafc0f44ddb15c65df07578ded4c5ec4154ee41b6a8·...·]-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="4879940134-81">{</span><span·class="ss">&#39;Status_actions&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4879940134-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="2213581270-81">{</span><span·class="ss">&#39;Status_actions&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2213581270-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="4879940134-82">&gt;&gt;</span><span·class="p"·data-group-id="4879940134-81">}</span><span·class="p"·data-group-id="4879940134-73">}</span><span·class="p"·data-group-id="4879940134-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="2213581270-82">&gt;&gt;</span><span·class="p"·data-group-id="2213581270-81">}</span><span·class="p"·data-group-id="2213581270-73">}</span><span·class="p"·data-group-id="2213581270-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="4879940134-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="4879940134-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="2213581270-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="2213581270-83">)</span><span·class="p">.</span><span·class="w">
334 </span><span·class="p"·data-group-id="4879940134-84">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="4879940134-85">[</span><span·class="o">#</span><span·class="ss">&#39;Action&#39;</span><span·class="p"·data-group-id="4879940134-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="2213581270-84">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="2213581270-85">[</span><span·class="o">#</span><span·class="ss">&#39;Action&#39;</span><span·class="p"·data-group-id="2213581270-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="4879940134-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:·b785f3916ec97378a502cadd04b1ff61e9f416909f799443e0c0e7161dc23c33·...·]-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="2213581270-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:·76317f6904b5a0c8c76ba2c6d2540d300ca241c91c189e01a10412987938508f·...·]-84">}</span></code></pre><h2·id="selective-decode"·class="section-heading">
336 ··<a·href="#selective-decode"·class="hover-link">336 ··<a·href="#selective-decode"·class="hover-link">
337 ····<i·class="ri-link-m"·aria-hidden="true"></i>337 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Max diff block lines reached; 38198/120441 bytes (31.72%) of diff not shown.
550 B
html2text {}
Max HTML report size reached
7.85 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1ct.html
    
Offset 481, 17 lines modifiedOffset 481, 17 lines modified
  
481 <p>Performs·a·test·of·encode·and·decode·of·types·in·<code·class="inline">Module</code>.</p><p>The·generated·functions·are·called·by·this·function.·This·function·is481 <p>Performs·a·test·of·encode·and·decode·of·types·in·<code·class="inline">Module</code>.</p><p>The·generated·functions·are·called·by·this·function.·This·function·is
482 useful·for·testing·to·ensure·that·the·generated·encode·and·decode482 useful·for·testing·to·ensure·that·the·generated·encode·and·decode
483 functions·as·well·as·the·general·runtime·support·work·as·expected.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Currently,·the·<code·class="inline">test</code>·functions·have·many·limitations.·Essentially,·they·will483 functions·as·well·as·the·general·runtime·support·work·as·expected.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Currently,·the·<code·class="inline">test</code>·functions·have·many·limitations.·Essentially,·they·will
484 mostly·work·for·old·specifications·based·on·the·1997·standard·for·ASN.1,·but484 mostly·work·for·old·specifications·based·on·the·1997·standard·for·ASN.1,·but
485 not·for·most·modern-style·applications.·Another·limitation·is·that·the·<code·class="inline">test</code>485 not·for·most·modern-style·applications.·Another·limitation·is·that·the·<code·class="inline">test</code>
486 functions·may·not·work·if·options·that·change·code·generations·strategies·such486 functions·may·not·work·if·options·that·change·code·generations·strategies·such
487 as·the·options·<code·class="inline">macro_name_prefix</code>·and·<code·class="inline">record_name_prefix</code>·have·been·used.</p></section><ul><li><a·href="#test/1"><code·class="inline">test/1</code></a>·iterates·over·all·types·in·<code·class="inline">Module</code>.</li><li><a·href="#test/2"><code·class="inline">test/2</code></a>·tests·type·<code·class="inline">Type</code>·with·a·random·value.</li><li><a·href="#test/3"><code·class="inline">test/3</code></a>·tests·type·<code·class="inline">Type</code>·with·<code·class="inline">Value</code>.</li></ul><p>Schematically,·the·following·occurs·for·each·type·in·the·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8123432225-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="8123432225-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·274,·SHA:·9460096bb8707ac981f42962f7b254a48c183355f1ff64c0ca966ca0937c38c5·...·]-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="6651427700-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="6651427700-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·274,·SHA:·7f80fd572acff90cce7dcc32f87c28733371ad43d0f841d25e4174a66ef30d44·...·]-2">)</span><span·class="p">,</span><span·class="w">
488 </span><span·class="p"·data-group-id="8123432225-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="8123432225-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·273,·SHA:·5d55f486e673441c4fd9d582d054b7590c8a9c64b63bbf10f6e6a2e6c454b1af·...·]-4">)</span><span·class="p">,</span><span·class="w">488 </span><span·class="p"·data-group-id="6651427700-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="6651427700-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·273,·SHA:·5dc5503bd73981e839c48d3646d0b2a9bc5e6a98cef0f562d801ba8a51a52645·...·]-4">)</span><span·class="p">,</span><span·class="w">
489 </span><span·class="p"·data-group-id="8123432225-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="8123432225-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·273,·SHA:·5539a52d7b2448c48caa3fa5297d22620f79d59354293b39674a35e408c0a8bb·...·]-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="6651427700-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="6651427700-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·273,·SHA:·fc9e68b47d2134b57de02f5793b58b40554def29584f861fef28625026b57045·...·]-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.4/doc/html/notes.html
    
Offset 169, 15 lines modifiedOffset 169, 15 lines modified
169 </h3>169 </h3>
170 <ul><li><p>The·JER·backend·will·now·include·the·SIZE·constraint·in·the·type·info·for·OCTET·STRINGs,·and·a·SIZE·constraint·with·a·range·will·now·be·included·for·BIT·STRINGs.·This·does·not·change·the·actual·encoding·or·decoding·of·JER,·but·can·be·useful·for·tools.</p><p>Own·Id:·OTP-19542·Aux·Id:·ERIERL-1204,·<a·href="https://github.com/erlang/otp/pull/9588"·title="">PR-9588</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">170 <ul><li><p>The·JER·backend·will·now·include·the·SIZE·constraint·in·the·type·info·for·OCTET·STRINGs,·and·a·SIZE·constraint·with·a·range·will·now·be·included·for·BIT·STRINGs.·This·does·not·change·the·actual·encoding·or·decoding·of·JER,·but·can·be·useful·for·tools.</p><p>Own·Id:·OTP-19542·Aux·Id:·ERIERL-1204,·<a·href="https://github.com/erlang/otp/pull/9588"·title="">PR-9588</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">
171 ··<a·href="#improvements-and-new-features-1"·class="hover-link">171 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
172 ····<i·class="ri-link-m"·aria-hidden="true"></i>172 ····<i·class="ri-link-m"·aria-hidden="true"></i>
173 ··</a>173 ··</a>
174 ··<span·class="text">Improvements·and·New·Features</span>174 ··<span·class="text">Improvements·and·New·Features</span>
175 </h3>175 </h3>
176 <ul><li><p>When·using·the·JSON·encoding·rules,·it·is·now·possible·to·call·the·decode/2·function·in·the·following·way·with·data·that·has·already·been·decoded·by·json:decode/1:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">SomeModule</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="7579866902-1">(</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7579866902-2">{</span><span·class="ss">json_decoded</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Decode[·...·truncated·by·diffoscope;·len:·101,·SHA:·c7d819fbc766ab4c5730d605ee68d03c645a41dfd1498f50d30b8743d4119f5d·...·]2-1">)</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-19547·Aux·Id:·ERIERL-1206,·<a·href="https://github.com/erlang/otp/pull/9611"·title="">PR-9611</a></p></li></ul><h2·id="asn1-5-3-2"·class="section-heading">176 <ul><li><p>When·using·the·JSON·encoding·rules,·it·is·now·possible·to·call·the·decode/2·function·in·the·following·way·with·data·that·has·already·been·decoded·by·json:decode/1:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">SomeModule</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="0828980882-1">(</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0828980882-2">{</span><span·class="ss">json_decoded</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Decode[·...·truncated·by·diffoscope;·len:·101,·SHA:·85750eda8a2ef984acc940a7c234096723caab882160735acae23aade093326c·...·]2-1">)</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-19547·Aux·Id:·ERIERL-1206,·<a·href="https://github.com/erlang/otp/pull/9611"·title="">PR-9611</a></p></li></ul><h2·id="asn1-5-3-2"·class="section-heading">
177 ··<a·href="#asn1-5-3-2"·class="hover-link">177 ··<a·href="#asn1-5-3-2"·class="hover-link">
178 ····<i·class="ri-link-m"·aria-hidden="true"></i>178 ····<i·class="ri-link-m"·aria-hidden="true"></i>
179 ··</a>179 ··</a>
180 ··<span·class="text">Asn1·5.3.2</span>180 ··<span·class="text">Asn1·5.3.2</span>
181 </h2>181 </h2>
182 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">182 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">
183 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">183 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">
Offset 1613, 15 lines modifiedOffset 1613, 15 lines modified
1613 ······<p·class="built-using">1613 ······<p·class="built-using">
1614 ········Built·using1614 ········Built·using
1615 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1615 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1616 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1616 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1617 ······</p>1617 ······</p>
1618 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1618 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1619 ····</footer>1619 ····</footer>
1620 ··</div>1620 ··</div>
1621 </main>1621 </main>
1622 </div>1622 </div>
1623 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1623 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1624 ··<script>1624 ··<script>
1625 ··let·initialized·=·false;1625 ··let·initialized·=·false;
636 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.47 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.28/doc/html/api-reference.html
    
Offset 311, 15 lines modifiedOffset 311, 15 lines modified
311 ······<p·class="built-using">311 ······<p·class="built-using">
312 ········Built·using312 ········Built·using
313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
315 ······</p>315 ······</p>
316 <p>Copyright·©·1996-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.28/doc/html/basics_chapter.html
    
Offset 211, 23 lines modifiedOffset 211, 23 lines modified
211 <a·href="write_test_chapter.html#intro">Writing·Test·Suites</a>.</p><p>A·test·case·is·considered·successful·if·it·returns·to·the·caller,·no·matter·what211 <a·href="write_test_chapter.html#intro">Writing·Test·Suites</a>.</p><p>A·test·case·is·considered·successful·if·it·returns·to·the·caller,·no·matter·what
212 the·returned·value·is.·However,·a·few·return·values·have·special·meaning·as212 the·returned·value·is.·However,·a·few·return·values·have·special·meaning·as
213 follows:</p><ul><li><code·class="inline">{skip,Reason}</code>·indicates·that·the·test·case·is·skipped.</li><li><code·class="inline">{comment,Comment}</code>·prints·a·comment·in·the·log·for·the·test·case.</li><li><code·class="inline">{save_config,Config}</code>·makes·the·<code·class="inline">Common·Test</code>·test·server·pass·<code·class="inline">Config</code>·to213 follows:</p><ul><li><code·class="inline">{skip,Reason}</code>·indicates·that·the·test·case·is·skipped.</li><li><code·class="inline">{comment,Comment}</code>·prints·a·comment·in·the·log·for·the·test·case.</li><li><code·class="inline">{save_config,Config}</code>·makes·the·<code·class="inline">Common·Test</code>·test·server·pass·<code·class="inline">Config</code>·to
214 the·next·test·case.</li></ul><p>A·test·case·failure·is·specified·as·a·runtime·error·(a·crash),·no·matter·what214 the·next·test·case.</li></ul><p>A·test·case·failure·is·specified·as·a·runtime·error·(a·crash),·no·matter·what
215 the·reason·for·termination·is.·If·you·use·Erlang·pattern·matching·effectively,215 the·reason·for·termination·is.·If·you·use·Erlang·pattern·matching·effectively,
216 you·can·take·advantage·of·this·property.·The·result·is·concise·and·readable·test216 you·can·take·advantage·of·this·property.·The·result·is·concise·and·readable·test
217 case·functions·that·look·much·more·like·scripts·than·actual·programs.·A·simple217 case·functions·that·look·much·more·like·scripts·than·actual·programs.·A·simple
218 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">session</span><span·class="p"·data-group-id="9087973391-1">(</span><span·class="p">_</span><span·class="n">Config</span><span·class="p"·data-group-id="9087973391-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="5675506982-1">(</span><span·class="p">_</span><span·class="n">Config</span><span·class="p"·data-group-id="5675506982-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
219 ····</span><span·class="p"·data-group-id="9087973391-2">{</span><span·class="ss">started</span><span·class="p">,</span><span·class="n">ServerId</span><span·class="p"·data-group-id="9087973391-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:·1fcf3ff1b10f699f25bf05d76aa22bc9bed2bf62613d173e966bf4c35eb8fff4·...·]-3">)</span><span·class="p">,</span><span·class="w">219 ····</span><span·class="p"·data-group-id="5675506982-2">{</span><span·class="ss">started</span><span·class="p">,</span><span·class="n">ServerId</span><span·class="p"·data-group-id="5675506982-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:·c6037afd58894c865ff4f64b5feb60ced2b05f700546238874db63ee3114f193·...·]-3">)</span><span·class="p">,</span><span·class="w">
220 ····</span><span·class="p"·data-group-id="9087973391-4">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="9087973391-5">[</span><span·class="p"·data-group-id="9087973391-5">]</span><span·class="p"·data-group-id="9087973391-4">}</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·269,·SHA:·c5e68744478e9d878df42e5b8031d6d4a61b3f425ca0e3a890da7e95bcd21734·...·]-6">)</span><span·class="p">,</span><span·class="w">220 ····</span><span·class="p"·data-group-id="5675506982-4">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="5675506982-5">[</span><span·class="p"·data-group-id="5675506982-5">]</span><span·class="p"·data-group-id="5675506982-4">}</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·269,·SHA:·c48c2a777a9c9e85ea35188ca71b41a315888d4e65b160cbf6566676462df21d·...·]-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="9087973391-7">(</span><span·class="p"·data-group-id="9087973391-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="5675506982-7">(</span><span·class="p"·data-group-id="5675506982-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="9087973391-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="9087973391-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="5675506982-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="5675506982-8">)</span><span·class="p">,</span><span·class="w">
223 ····</span><span·class="p"·data-group-id="9087973391-9">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="9087973391-10">[</span><span·class="n">MyId</span><span·class="p"·data-group-id="9087973391-10">]</span><span·class="p"·data-group-id="9087973391-9"[·...·truncated·by·diffoscope;·len:·299,·SHA:·d6543eb7e5e7c8b1c2b24315321ec67e3946b077739eaa733aa812214793a50b·...·]-11">)</span><span·class="p">,</span><span·class="w">223 ····</span><span·class="p"·data-group-id="5675506982-9">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="5675506982-10">[</span><span·class="n">MyId</span><span·class="p"·data-group-id="5675506982-10">]</span><span·class="p"·data-group-id="5675506982-9"[·...·truncated·by·diffoscope;·len:·299,·SHA:·3834cfe6fb96e295549a5ebf80f91a8c21adb4a79be3fb6afb8bebf6aeaa573b·...·]-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="9087973391-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="9087973391-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="5675506982-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="5675506982-12">)</span><span·class="p">,</span><span·class="w">
225 ····</span><span·class="p"·data-group-id="9087973391-13">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="9087973391-14">[</span><span·class="p"·data-group-id="9087973391-14">]</span><span·class="p"·data-group-id="9087973391-13">}</span><span·class="w">[·...·truncated·by·diffoscope;·len:·274,·SHA:·a0068b64c6933eb89b5309e9e717b5161787e457a38545cbb74e8b1f855681cf·...·]-15">)</span><span·class="p">,</span><span·class="w">225 ····</span><span·class="p"·data-group-id="5675506982-13">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="5675506982-14">[</span><span·class="p"·data-group-id="5675506982-14">]</span><span·class="p"·data-group-id="5675506982-13">}</span><span·class="w">[·...·truncated·by·diffoscope;·len:·274,·SHA:·37567bd41495cd4d1da4802de895cd697e3ffc70281ca638ce1e575adc228fab·...·]-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="9087973391-16">(</span><span·class="n">ServerId</span><span·class="p"·data-group-id="9087973391-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="5675506982-16">(</span><span·class="n">ServerId</span><span·class="p"·data-group-id="5675506982-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.28/doc/html/common_test.epub
7.43 KB
zipinfo {}
Max HTML report size reached
270 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
109 KB
OEBPS/write_test_chapter.xhtml
Max HTML report size reached
8.21 KB
OEBPS/unix_telnet.xhtml
Max HTML report size reached
199 KB
OEBPS/run_test_chapter.xhtml
Max HTML report size reached
25.0 KB
OEBPS/getting_started_chapter.xhtml
Max HTML report size reached
77.3 KB
OEBPS/example_chapter.xhtml
Max HTML report size reached
10.1 KB
OEBPS/event_handler_chapter.xhtml
Max HTML report size reached
55.8 KB
OEBPS/dependencies_chapter.xhtml
Max HTML report size reached
32.3 KB
OEBPS/ct_telnet.xhtml
Max HTML report size reached
5.65 KB
OEBPS/ct_ssh.xhtml
Max HTML report size reached
9.73 KB
OEBPS/ct_snmp.xhtml
Max HTML report size reached
4.48 KB
OEBPS/ct_run_cmd.xhtml
Max HTML report size reached
21.6 KB
OEBPS/ct_property_test_chapter.xhtml
Max HTML report size reached
23.6 KB
OEBPS/ct_property_test.xhtml
Max HTML report size reached
27.5 KB
OEBPS/ct_netconfc.xhtml
Max HTML report size reached
34.2 KB
OEBPS/ct_master_chapter.xhtml
Max HTML report size reached
2.21 KB
OEBPS/ct_master.xhtml
Max HTML report size reached
60.0 KB
OEBPS/ct_hooks_chapter.xhtml
Max HTML report size reached
4.53 KB
OEBPS/ct_ftp.xhtml
Max HTML report size reached
39.6 KB
OEBPS/ct.xhtml
Max HTML report size reached
15.3 KB
OEBPS/cover_chapter.xhtml
Max HTML report size reached
1.25 KB
OEBPS/content.opf
Max HTML report size reached
80.1 KB
OEBPS/config_file_chapter.xhtml
Max HTML report size reached
10.2 KB
OEBPS/basics_chapter.xhtml
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/common_test_app.html
    
Offset 179, 15 lines modifiedOffset 179, 15 lines modified
179 ······<p·class="built-using">179 ······<p·class="built-using">
180 ········Built·using180 ········Built·using
181 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the181 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
182 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>182 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
183 ······</p>183 ······</p>
184 <p>Copyright·©·1996-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.28/doc/html/config_file_chapter.html
    
Offset 138, 16 lines modifiedOffset 138, 16 lines modified
138 properties·without·modifying·the·test·suites·using·the·data.·Examples·of138 properties·without·modifying·the·test·suites·using·the·data.·Examples·of
139 configuration·data·follows:</p><ul><li>Addresses·to·the·test·plant·or·other·instruments</li><li>User·login·information</li><li>Names·of·files·needed·by·the·test</li><li>Names·of·programs·to·be·executed·during·the·test</li><li>Any·other·variable·needed·by·the·test</li></ul><h2·id="syntax"·class="section-heading">139 configuration·data·follows:</p><ul><li>Addresses·to·the·test·plant·or·other·instruments</li><li>User·login·information</li><li>Names·of·files·needed·by·the·test</li><li>Names·of·programs·to·be·executed·during·the·test</li><li>Any·other·variable·needed·by·the·test</li></ul><h2·id="syntax"·class="section-heading">
140 ··<a·href="#syntax"·class="hover-link">140 ··<a·href="#syntax"·class="hover-link">
141 ····<i·class="ri-link-m"·aria-hidden="true"></i>141 ····<i·class="ri-link-m"·aria-hidden="true"></i>
142 ··</a>142 ··</a>
143 ··<span·class="text">Syntax</span>143 ··<span·class="text">Syntax</span>
144 </h2>144 </h2>
145 <p>A·configuration·file·can·contain·any·number·of·elements·of·the·type:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8137718174-1">{</span><span·class="n">CfgVarName</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="8137718174-1">}</span><span·class="p">.</span></code></pre><p>where</p><pre><code·class="makeup·erlang"·translate="no"[·...·truncated·by·diffoscope;·len:·228,·SHA:·3a7df9c76aa38b02fb64b5e7a2cfbe77060e927812912e03d0d5048a419c7a46·...·]-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="3022635185-1">{</span><span·class="n">CfgVarName</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="3022635185-1">}</span><span·class="p">.</span></code></pre><p>where</p><pre><code·class="makeup·erlang"·translate="no"[·...·truncated·by·diffoscope;·len:·228,·SHA:·de71540a1324a52a5b2e74d3ac50bf8e0fffcb13069ece0f5da341a173bbf6e1·...·]-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="0144667967-2">(</span><span·class="p"·data-group-id="0144667967-2">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0144667967-3">[</span><span·class="p"·data-group-id="0144667967-4">{</span><spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·aeedbdc351a05ff8abcabe72daa95c9656dd956d23a47fb1a40874c57cc18675·...·]-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="0990899430-2">(</span><span·class="p"·data-group-id="0990899430-2">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0990899430-3">[</span><span·class="p"·data-group-id="0990899430-4">{</span><spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·f44540f93e7a2bc36071aea044f6ff5a6c162a90d8ef586791d6bbd031c183c8·...·]-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="3716588852-1">(</span><span·class="p"·data-group-id="3716588852-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="9977246167-1">(</span><span·class="p"·data-group-id="9977246167-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ····</span><span·class="p"·data-group-id="3716588852-2">[</span><span·class="p"·data-group-id="3716588852-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:·fc86a2a8cf24dd8f5c8a720bc4ce245ffcc10a11a62ec6044ef8245f02d217bc·...·]-2">]</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="p"·data-group-id="9977246167-2">[</span><span·class="p"·data-group-id="9977246167-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:·99a09a7a4d729fd50cfad7921fae962d000447e7af45d6894385c7ed757a1e1e·...·]-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="3716588852-4">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3716588852-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="9977246167-4">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9977246167-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="3716588852-5">(</span><span·class="ss">domain</span><span·class="p"·data-group-id="3716588852-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="9977246167-5">(</span><span·class="ss">domain</span><span·class="p"·data-group-id="9977246167-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="9150073178-1">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9150073178-2">[</span><span·class="p"·data-group-id="9150073178-3">{</span><span·class="ss">ftp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·89,·SHA:·c4a4b06eba756e0719e5cec8649ca8e80290b51dc71dfdbfcc2c20f79b1cee38·...·]-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="1416956384-1">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1416956384-2">[</span><span·class="p"·data-group-id="1416956384-3">{</span><span·class="ss">ftp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·89,·SHA:·ee6260fa404469329e56be77a1e3456e9ae85ae3b1135c8a2a78054977c16da9·...·]-3">}</span><span·class="p">,</span><span·class="w">
265 ············</span><span·class="p"·data-group-id="9150073178-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="s">&quot;tester&quot;</span><span·class="p"·data-group-id="9150073178-4">}</span><span·class="p">,</span><span·class="w">265 ············</span><span·class="p"·data-group-id="1416956384-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="s">&quot;tester&quot;</span><span·class="p"·data-group-id="1416956384-4">}</span><span·class="p">,</span><span·class="w">
266 ············</span><span·class="p"·data-group-id="9150073178-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="s">&quot;letmein&quot;</span><span·class="p"·data-group-id="9150073178-5">}</span><span·class="p"·data-group-id="9150073178-2">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·eddb250f0db29b89b73f596974d68054ccc2a006236a25efd2c3a09249f95c31·...·]-1">}</span><span·class="p">.</span><span·class="w">266 ············</span><span·class="p"·data-group-id="1416956384-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="s">&quot;letmein&quot;</span><span·class="p"·data-group-id="1416956384-5">}</span><span·class="p"·data-group-id="1416956384-2">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·64ba67556c59af817badf9e243f5b80bf41aa11447300c969ab279c2c08150bb·...·]-1">}</span><span·class="p">.</span><span·class="w">
  
267 </span><span·class="p"·data-group-id="9150073178-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="9150073178-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="1416956384-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="1416956384-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="0999133028-1">[</span><span·class="p"·data-group-id="0999133028-2">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0999133028-3">[</span><span·class="p"·data-group-id="0999133028-4">{</[·...·truncated·by·diffoscope;·len:·823,·SHA:·d4f250e77d045e2cdce1f2f72dd527dfb3a577ebe364cfa6c99f68dcf41cc40d·...·]-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="8208448445-1">[</span><span·class="p"·data-group-id="8208448445-2">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8208448445-3">[</span><span·class="p"·data-group-id="8208448445-4">{</[·...·truncated·by·diffoscope;·len:·823,·SHA:·849c5f9d8da05a862b93f950e59c946e86e82bfbf098ed30ed78c28626db9f61·...·]-2">}</span><span·class="p">,</span><span·class="w">
288 ·</span><span·class="p"·data-group-id="0999133028-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="0999133028-7">}</span><span·class="p"·data-group-id="0999133028-1">]</span></code></pre><h2·id="examples-of-configuration-data-handling"·class="section-heading">288 ·</span><span·class="p"·data-group-id="8208448445-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="8208448445-7">}</span><span·class="p"·data-group-id="8208448445-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="2725351445-1">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2725351445-2">[</span><span·class="p"·data-group-id="2725351445-3">{</span><span·class="ss">ftp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·89,·SHA:·b7d6db2feec12e4ac7277f1cb57b078da735151c705214ec999ac03ce08e2f15·...·]-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="7001946248-1">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7001946248-2">[</span><span·class="p"·data-group-id="7001946248-3">{</span><span·class="ss">ftp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·89,·SHA:·8d5eacdf25186d77c3c78281d173f06e0fc4167e0025811179607409ac1567e4·...·]-3">}</span><span·class="p">,</span><span·class="w">
296 ············</span><span·class="p"·data-group-id="2725351445-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="s">&quot;tester&quot;</span><span·class="p"·data-group-id="2725351445-4">}</span><span·class="p">,</span><span·class="w">296 ············</span><span·class="p"·data-group-id="7001946248-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="s">&quot;tester&quot;</span><span·class="p"·data-group-id="7001946248-4">}</span><span·class="p">,</span><span·class="w">
297 ············</span><span·class="p"·data-group-id="2725351445-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="s">&quot;letmein&quot;</span><span·class="p"·data-group-id="2725351445-5">}</span><span·class="p"·data-group-id="2725351445-2">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·abc4fa23b4efa52875c5c8d52413f2ad1b32f7a378a1fe45796fddec57c52cc5·...·]-1">}</span><span·class="p">.</span><span·class="w">297 ············</span><span·class="p"·data-group-id="7001946248-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="s">&quot;letmein&quot;</span><span·class="p"·data-group-id="7001946248-5">}</span><span·class="p"·data-group-id="7001946248-2">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·2672e4dec40a41bac86afb9d4e55e1358191a95f2725a8aea0128c2ded88c292·...·]-1">}</span><span·class="p">.</span><span·class="w">
  
298 </span><span·class="p"·data-group-id="2725351445-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="2725351445-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="7001946248-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="7001946248-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="4986083340-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="4986083340-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="6742667228-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="6742667228-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
302 ····</span><span·class="p"·data-group-id="4986083340-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="4986083340-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct_ftp</span><span[·...·truncated·by·diffoscope;·len:·168,·SHA:·1e70b6958a94e6da0998f86b8bd5be7549fcf76ee2e272e51eb336c5b1e8849d·...·]-3">)</span><span·class="p">,</span><span·class="w">302 ····</span><span·class="p"·data-group-id="6742667228-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="6742667228-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct_ftp</span><span[·...·truncated·by·diffoscope;·len:·168,·SHA:·51074a4c8c29a9876ec93f3d49165172e3c640d96db0801c84cd8760aba95316·...·]-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="4986083340-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="4986083340-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="6742667228-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="6742667228-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="4986083340-5">(</span><span·class="ss">ftp</span><span·class="p"·data-group-id="4986083340-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="6742667228-5">(</span><span·class="ss">ftp</span><span·class="p"·data-group-id="6742667228-5">)</span><span·class="p">.</span><span·class="w">
  
306 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="4986083340-6">(</span><span·class="p"·data-group-id="4986083340-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="6742667228-6">(</span><span·class="p"·data-group-id="6742667228-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
307 ····</span><span·class="p"·data-group-id="4986083340-7">[</span><span·class="p"·data-group-id="4986083340-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="4986083340-8">}</span><span·class="p">,</span><span·class="w">307 ····</span><span·class="p"·data-group-id="6742667228-7">[</span><span·class="p"·data-group-id="6742667228-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="6742667228-8">}</span><span·class="p">,</span><span·class="w">
308 ·····</span><span·class="p"·data-group-id="4986083340-9">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="4986083340-9">}</span><span·class="p"·data-group-id="4986083340-7">]</span><span·class="p">.</span><span·class="w">308 ·····</span><span·class="p"·data-group-id="6742667228-9">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="6742667228-9">}</span><span·class="p"·data-group-id="6742667228-7">]</span><span·class="p">.</span><span·class="w">
  
309 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="4986083340-10">(</span><span·class="n">Config</span><span·class="p"·data-group-id="4986083340-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="6742667228-10">(</span><span·class="n">Config</span><span·class="p"·data-group-id="6742667228-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="4986083340-11">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="4986083340-12">(</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="4986083340-12">)</span><span[·...·truncated·by·diffoscope;·len:·127,·SHA:·1b29b89ee5ba6690e90ff558b4df8bd90ff4af97e0a2c3ad03b79d5fadc6d941·...·]-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="6742667228-11">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="6742667228-12">(</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="6742667228-12">)</span><span[·...·truncated·by·diffoscope;·len:·127,·SHA:·2b4edc7b65d8f0a3f031a87beacbf128aa7ef896b1ef8b2c560021e77e4552b9·...·]-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="4986083340-13">(</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="4986083340-14">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="n">Config</span><spa[·...·truncated·by·diffoscope;·len:·184,·SHA:·4ab63d48a5c37a910e11cc9afeec1f1f292ea84a399594d1254932dd9cf9e407·...·]-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="6742667228-13">(</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="6742667228-14">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="n">Config</span><spa[·...·truncated·by·diffoscope;·len:·184,·SHA:·cca1730baf853e304133b5a6a6e4026a3f595b3e92134ef1c9af9b16e06e6f74·...·]-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="4986083340-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="4986083340-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="6742667228-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="6742667228-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="0388858553-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="0388858553-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="7678605359-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="7678605359-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
315 ····</span><span·class="p"·data-group-id="0388858553-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle1</span><span·class="p"·data-group-id="0388858553-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:·d1071bafdd641ca33f3200aa40f94a39ce3d1a69ef670aa66912249c2f834064·...·]-3">)</span><span·class="p">,</span><span·class="w">315 ····</span><span·class="p"·data-group-id="7678605359-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle1</span><span·class="p"·data-group-id="7678605359-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:·918b39a9f45c5c6c2211e0b5375f6f2a847110a463fa7d9c32e31884b514b212·...·]-3">)</span><span·class="p">,</span><span·class="w">
316 ····</span><span·class="p"·data-group-id="0388858553-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle2</span><span·class="p"·data-group-id="0388858553-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:·0d2bd5fad058a8fdffb6a634f1d6500cefd7a91e423be7cba9ba28060d5ee9b5·...·]-5">)</span><span·class="p">,</span><span·class="w">316 ····</span><span·class="p"·data-group-id="7678605359-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle2</span><span·class="p"·data-group-id="7678605359-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:·faa36ef2a8832e2c82db379cfcbc00e211d40e77326e396179d983260348ed6c·...·]-5">)</span><span·class="p">,</span><span·class="w">
317 ····</span><span·class="p"·data-group-id="0388858553-6">[</span><span·class="p"·data-group-id="0388858553-7">{</span><span·class="ss">ftp_handles</span><span·class="p">,</span><span·class="p"·data-group-id="0388858553-8">[</span><span·class="n">Handle1</span><span·class="p">,</span><span·class="n"[·...·truncated·by·diffoscope;·len:·263,·SHA:·839dd7528ab3d58d6d96c60f02ec99f3467e1151aa72da92be9d6413f89d337e·...·]-6">]</span><span·class="p">.</span><span·class="w">317 ····</span><span·class="p"·data-group-id="7678605359-6">[</span><span·class="p"·data-group-id="7678605359-7">{</span><span·class="ss">ftp_handles</span><span·class="p">,</span><span·class="p"·data-group-id="7678605359-8">[</span><span·class="n">Handle1</span><span·class="p">,</span><span·class="n"[·...·truncated·by·diffoscope;·len:·263,·SHA:·fceb71c1dac88acc5198d4a55b55b55a8a47ad82db7696f7d5209af40e5bb604·...·]-6">]</span><span·class="p">.</span><span·class="w">
  
318 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="0388858553-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="0388858553-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="7678605359-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="7678605359-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="0388858553-10">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0388858553-11">(</span><span·class="n">Handle</span><span·class="p"·data-group-id="0388858553-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·214,·SHA:·5b6e4d619aeb0bdca2e876cc01d5ca74d8cb1b011247bbbdb961d55cdffb62b3·...·]-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="7678605359-10">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7678605359-11">(</span><span·class="n">Handle</span><span·class="p"·data-group-id="7678605359-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·214,·SHA:·6119b9bf232f84bc9f19032012f226b09ad35beda58cf28d5cfa2b8591de6c25·...·]-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="0388858553-13">(</span><span·class="ss">ftp_handles</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="0388858553-13">)</span><span·class="p"·data-group-id="0388858553-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="7678605359-13">(</span><span·class="ss">ftp_handles</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="7678605359-13">)</span><span·class="p"·data-group-id="7678605359-10">)</span><span·class="p">.</span><span·class="w">
  
321 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="0388858553-14">(</span><span·class="p"·data-group-id="0388858553-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="7678605359-14">(</span><span·class="p"·data-group-id="7678605359-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
322 ····</span><span·class="p"·data-group-id="0388858553-15">[</span><span·class="p"·data-group-id="0388858553-16">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">ftp_host</span><span·class="p"·data-group-id="0388858553-16">}</span><span·class="p">,</span><span·class="w">322 ····</span><span·class="p"·data-group-id="7678605359-15">[</span><span·class="p"·data-group-id="7678605359-16">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">ftp_host</span><span·class="p"·data-group-id="7678605359-16">}</span><span·class="p">,</span><span·class="w">
323 ·····</span><span·class="p"·data-group-id="0388858553-17">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="0388858553-17">}</span><span·class="p"·data-group-id="0388858553-15">]</span><span·class="p">.</span><span·class="w">323 ·····</span><span·class="p"·data-group-id="7678605359-17">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="7678605359-17">}</span><span·class="p"·data-group-id="7678605359-15">]</span><span·class="p">.</span><span·class="w">
  
324 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="0388858553-18">(</span><span·class="n">Config</span><span·class="p"·data-group-id="0388858553-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="7678605359-18">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7678605359-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="0388858553-19">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="0388858553-20">(</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="0388858553-20">)</span><span[·...·truncated·by·diffoscope;·len:·127,·SHA:·f45d9e1b6ddd9a10c71fce732834e146408166fb39312af48a93af4ccb2cc092·...·]-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="7678605359-19">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="7678605359-20">(</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="7678605359-20">)</span><span[·...·truncated·by·diffoscope;·len:·127,·SHA:·b0aec17683ddc930a7c706a845c1fc5983f91d26d5c0a4358b031dc782d668b8·...·]-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="0388858553-21">(</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="0388858553-22">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="n">Config</span><spa[·...·truncated·by·diffoscope;·len:·184,·SHA:·a45df6df7cc91a749cf95564aa51326cb7c95739c327c85fbbc092a182a4f9bf·...·]-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="7678605359-21">(</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="7678605359-22">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="n">Config</span><spa[·...·truncated·by·diffoscope;·len:·184,·SHA:·3d9588a9e57cdc5349f2ea146ff8435d556c8b3ea78142ed18733b3bedda3ec6·...·]-21">)</span><span·class="p">,</span><span·class="w">
327 ····</span><span·class="p"·data-group-id="0388858553-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="0388858553-23">]</span><span·class="w">·</span><span·class="o">=</s[·...·truncated·by·diffoscope;·len:·301,·SHA:·51376ecdd5580fde795afdb871510f3bd7f8cbad478dbf508f27567ad8c0b1c3·...·]-24">)</span><span·class="p">,</span><span·class="w">327 ····</span><span·class="p"·data-group-id="7678605359-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="7678605359-23">]</span><span·class="w">·</span><span·class="o">=</s[·...·truncated·by·diffoscope;·len:·301,·SHA:·440c443a1907608834fad584671ae290752566e4ea9e288476ab4184a6a611df·...·]-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="0388858553-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="0388858553-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="7678605359-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="7678605359-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="7721794289-1">(</span><span·class="ss">config_driver</span><span·class="p"·data-group-id="7721794289-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="3318922946-1">(</span><span·class="ss">config_driver</span><span·class="p"·data-group-id="3318922946-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="7721794289-2">(</span><span·class="p"·data-group-id="7721794289-3">[</span><span·class="ss">read_config</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">check_parameter</span><span·clas[·...·truncated·by·diffoscope;·len:·133,·SHA:·e2ffdaccd3ca438f01e735bc6507bb31bfcf6649854c97be41e7b49affb87ed7·...·]-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="3318922946-2">(</span><span·class="p"·data-group-id="3318922946-3">[</span><span·class="ss">read_config</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">check_parameter</span><span·clas[·...·truncated·by·diffoscope;·len:·133,·SHA:·9f759b8e92eecf822dcfb60067e52ce64d8faebbeb1d8c2f4483bd9864b8b07f·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
338 </span><span·class="nf">read_config</span><span·class="p"·data-group-id="7721794289-4">(</span><span·class="n">ServerName</span><span·class="p"·data-group-id="7721794289-4">)</span><span·class="p">-&gt;</span><span·class="w">338 </span><span·class="nf">read_config</span><span·class="p"·data-group-id="3318922946-4">(</span><span·class="n">ServerName</span><span·class="p"·data-group-id="3318922946-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="7721794289-5">(</span><span·class="n">ServerName</span><span·class="p"·data-group-id="7721794289-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="3318922946-5">(</span><span·class="n">ServerName</span><span·class="p"·data-group-id="3318922946-5">)</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 31000/82633 bytes (37.52%) of diff not shown.
910 B
html2text {}
Max HTML report size reached
17.0 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/cover_chapter.html
    
Offset 197, 67 lines modifiedOffset 197, 67 lines modified
197 ····<i·class="ri-link-m"·aria-hidden="true"></i>197 ····<i·class="ri-link-m"·aria-hidden="true"></i>
198 ··</a>198 ··</a>
199 ··<span·class="text">General·Config</span>199 ··<span·class="text">General·Config</span>
200 </h3>200 </h3>
201 <p>Here·follows·the·general·configuration·terms·that·are·allowed·in·a·cover201 <p>Here·follows·the·general·configuration·terms·that·are·allowed·in·a·cover
202 specification·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·List·of·Nodes·on·which·cover·will·be·active·during·test.</span><span·class="w">202 specification·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·List·of·Nodes·on·which·cover·will·be·active·during·test.</span><span·class="w">
203 </span><span·class="c1">%%·Nodes·=·[atom()]</span><span·class="w">203 </span><span·class="c1">%%·Nodes·=·[atom()]</span><span·class="w">
204 </span><span·class="p"·data-group-id="5236551538-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="5236551538-1">}</span><span·class="p">.</span><span·class="w">204 </span><span·class="p"·data-group-id="2869268348-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="2869268348-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="5236551538-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="5236551538-2">}</span><span·class="p">.</span><span·class="w">207 </span><span·class="p"·data-group-id="2869268348-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="2869268348-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="5236551538-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="5236551538-3">}</span><span·class="p">.</span><span·class="w">210 </span><span·class="p"·data-group-id="2869268348-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="2869268348-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="5236551538-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="5236551538-4">}</span><span·class="p">.</span><span·class="w">213 </span><span·class="p"·data-group-id="2869268348-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="2869268348-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="5236551538-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="5236551538-5">}</span><span·class="p">.</span><span·class="w">216 </span><span·class="p"·data-group-id="2869268348-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="2869268348-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="5236551538-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="5236551538-6">}</span><span·class="p">.</span><span·class="w">218 </span><span·class="p"·data-group-id="2869268348-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="2869268348-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="5236551538-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="5236551538-7">}</span><span·class="p">.</span><span·class="w">221 </span><span·class="p"·data-group-id="2869268348-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="2869268348-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="5236551538-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="5236551538-8">}</span><span·class="p">.</span><span·class="w">223 </span><span·class="p"·data-group-id="2869268348-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="2869268348-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="5236551538-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="5236551538-9">}</span><span·class="p">.</span><span·class="w">225 </span><span·class="p"·data-group-id="2869268348-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="2869268348-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="5236551538-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="5236551538-10">}</span><span·class="p">.</span><span·class="w">227 </span><span·class="p"·data-group-id="2869268348-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="2869268348-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="5236551538-11">{</span><span·class="ss">cross</span><span·class="p">,</span><span·class="p"·data-group-id="5236551538-12">[</span><span·class="p"·data-group-id="5236551538-13">{</span><span·class="n">Tag</span><span·class="p">,</span><span·class="n">Mods</[·...·truncated·by·diffoscope;·len:·153,·SHA:·1608d060079e5d4ef835a7e81fe3ec691592e0f37a398cc79d5ed0618bce4b34·...·]8-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="2869268348-11">{</span><span·class="ss">cross</span><span·class="p">,</span><span·class="p"·data-group-id="2869268348-12">[</span><span·class="p"·data-group-id="2869268348-13">{</span><span·class="n">Tag</span><span·class="p">,</span><span·class="n">Mods</[·...·truncated·by·diffoscope;·len:·153,·SHA:·3fff0cfab2d44d3d661c5c6c54e40bd3ec121dbd7900badf6252f276048928d5·...·]8-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="2121277978-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:·ea7360ca5ad9a18cf832bdc06128283323b4a7b39e172df82339658ce98f2178·...·]-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="4922266892-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:·cc0aa18a34a159ad8a9de39b84a88f118f9e6b4e33393d9e3e81f56020d390ea·...·]-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="7150917964-1">(</span><span·class="n">Level</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7150917964-2">[</span><span·class="p"·data-group-id="7150917964-3">{</span><span·class="ss">s1</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·387,·SHA:·7384fe1282493ab4e32b5900f6d4f7d64970390da2ad337425dce55b6daddc1a·...·]-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="1573703153-1">(</span><span·class="n">Level</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1573703153-2">[</span><span·class="p"·data-group-id="1573703153-3">{</span><span·class="ss">s1</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·387,·SHA:·1069f5b4af555653ad927ef95540c245bac87602ddeea9ef10f09a238b2271ec·...·]-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.28/doc/html/ct.html
    
Offset 1916, 25 lines modifiedOffset 1916, 25 lines modified
1916 ························Opt·::·element·|·all,1916 ························Opt·::·element·|·all,
1917 ························ValueOrElement·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()·|·Default.</pre>1917 ························ValueOrElement·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()·|·Default.</pre>
  
1918 ······</div>1918 ······</div>
  
1919 <p>Reads·configuration·data·values.</p><p>Returns·the·matching·values·or·configuration·elements,·given·a·configuration1919 <p>Reads·configuration·data·values.</p><p>Returns·the·matching·values·or·configuration·elements,·given·a·configuration
1920 variable·key·or·its·associated·name·(if·one·has·been·specified·with1920 variable·key·or·its·associated·name·(if·one·has·been·specified·with
1921 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>·or·a·<code·class="inline">require</code>·statement).</p><p><em>Example:</em></p><p>Given·the·following·configuration·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2747258073-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="2747258073-2">[</span><span·class="p"·data-group-id="2747258073-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">IpAddr[·...·truncated·by·diffoscope;·len:·47,·SHA:·7d6cdc02318b6dfb0ac6e6943cf98c381a2ba7699761e705e58bf98252bc1c17·...·]3-3">}</span><span·class="p">,</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"·data-group-id="7743544943-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="7743544943-2">[</span><span·class="p"·data-group-id="7743544943-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">IpAddr[·...·truncated·by·diffoscope;·len:·47,·SHA:·106fabacb5bb794f33b9fa3b68fc806b81bf72c5a2eb3adac8259a2be8368ebb·...·]3-3">}</span><span·class="p">,</span><span·class="w">
1922 ·······</span><span·class="p"·data-group-id="2747258073-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="p"·data-group-id="2747258073-5">[</span><span·class="p"·data-group-id="2747258073-6">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">User[·...·truncated·by·diffoscope;·len:·51,·SHA:·8c90c0bd7063cf97d400f8faa4619301b01831b4d055b084f3d27738ece4d1f5·...·]3-6">}</span><span·class="p">,</span><span·class="w">1922 ·······</span><span·class="p"·data-group-id="7743544943-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="p"·data-group-id="7743544943-5">[</span><span·class="p"·data-group-id="7743544943-6">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">User[·...·truncated·by·diffoscope;·len:·51,·SHA:·4938bb7eee894d091819a9ead5bc4d0962210012ce9b2a4e7483ca066d6611ff·...·]3-6">}</span><span·class="p">,</span><span·class="w">
1923 ··············</span><span·class="p"·data-group-id="2747258073-7">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="2747258073-7">}</span><span·class="p"·data-group-id="2747258073-5">]</span><span·class="p"·data-group-id="2747258073[·...·truncated·by·diffoscope;·len:·793,·SHA:·8ecf1bc87fc2940d27133f2078b7bbb44b6ceef2770c0ec9c29593b4c187d6d2·...·]-3">}</span><span·class="p">,</span><span·class="w">1923 ··············</span><span·class="p"·data-group-id="7743544943-7">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="7743544943-7">}</span><span·class="p"·data-group-id="7743544943-5">]</span><span·class="p"·data-group-id="7743544943[·...·truncated·by·diffoscope;·len:·793,·SHA:·e35222fba701a7c5114a724171a658843707b0c95e6ca9b258bd0127f633ae3b·...·]-3">}</span><span·class="p">,</span><span·class="w">
1924 ·</span><span·class="p"·data-group-id="8406565296-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8406565296-5">[</span><span·class="p"·data-group-id="8406565296-6">{</span><span·class="ss">username</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·476,·SHA:·4bb43efde7918d2d4c00e8a5c00ac5f82585ad5692fce2aaa6e6e3fef7723922·...·]-2">]</span><span·class="w">1924 ·</span><span·class="p"·data-group-id="0561962349-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0561962349-5">[</span><span·class="p"·data-group-id="0561962349-6">{</span><span·class="ss">username</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·476,·SHA:·474e28e0044c3e5943eea3a450b45a127a1e74edddb5ba808475b4d5f3e8f943·...·]-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="8406565296-8">(</span><span·class="p"·data-group-id="8406565296-9">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">telnet</span><span·class="p"·data-group-id="8406565296-9">}</span><span·class="p">,</span><span·class="n">Defaul[·...·truncated·by·diffoscope;·len:·49,·SHA:·4281da9ec557e1064d2c1a22ff536a91ac1156018b259011c32dcd938de520c2·...·]-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="0561962349-8">(</span><span·class="p"·data-group-id="0561962349-9">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">telnet</span><span·class="p"·data-group-id="0561962349-9">}</span><span·class="p">,</span><span·class="n">Defaul[·...·truncated·by·diffoscope;·len:·49,·SHA:·7bb5bc1490fbf2571bd8d9cf75d8216277a964afe54bbad73c88f3af01eb889a·...·]-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="8406565296-10">(</span><span·class="p"·data-group-id="8406565296-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="8406565296-1[·...·truncated·by·diffoscope;·len:·106,·SHA:·e605ebf37b5c55641bc3d867806c14b8d56f4e9b315f05908809ce71e62247ec·...·]-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="0561962349-10">(</span><span·class="p"·data-group-id="0561962349-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="0561962349-1[·...·truncated·by·diffoscope;·len:·106,·SHA:·fecaf9e5bb8bceae7ec9c52068304b528095fffda0488636b5508c12cb898058·...·]-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="8406565296-12">(</span><span·class="p"·data-group-id="8406565296-13">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">ftp</span><span·class="p"·data-group-id="8406565296-13">}</span><span·class="p">,</span><span·class="n">Defaul[·...·truncated·by·diffoscope;·len:·49,·SHA:·4281da9ec557e1064d2c1a22ff536a91ac1156018b259011c32dcd938de520c2·...·]-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="0561962349-12">(</span><span·class="p"·data-group-id="0561962349-13">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">ftp</span><span·class="p"·data-group-id="0561962349-13">}</span><span·class="p">,</span><span·class="n">Defaul[·...·truncated·by·diffoscope;·len:·49,·SHA:·7bb5bc1490fbf2571bd8d9cf75d8216277a964afe54bbad73c88f3af01eb889a·...·]-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="8406565296-14">(</span><span·class="ss">unknownkey</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="8406565296-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="0561962349-14">(</span><span·class="ss">unknownkey</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="0561962349-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="9471989527-1">(</span><span·class="ss">myuser</span><span·class="p">,</span><span·class="p"·data-group-id="9471989527-2">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">user</span><span·class="p"·data-group-id="9471989527-2">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·b12ea46477946cb506c74aefbf8cde8b6890a4cfe598c2173c9b88e46fa727d2·...·]-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="1244779100-1">(</span><span·class="ss">myuser</span><span·class="p">,</span><span·class="p"·data-group-id="1244779100-2">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">user</span><span·class="p"·data-group-id="1244779100-2">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·6ad4b5d77a79622e2870bc431a5e869c3f4b09c644682a927ce02d67e211c49a·...·]-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="9471989527-3">(</span><span·class="ss">myuser</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="9471989527-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:·c688fa4a5f70bec2731f5c64dbc7fec4f488d71686af38b9caa692b9097093b8·...·]-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="1244779100-3">(</span><span·class="ss">myuser</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="1244779100-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:·872f751b2d59ef52a7f711d9e3a07d70d4ef1bf0a39a00645691c3151ab10d1e·...·]-4">]</span></code></pre><p>If·a·configuration·variable·is·defined·in·multiple·files,·use·option·<code·class="inline">all</code>·to
1932 access·all·possible·values.·The·values·are·returned·in·a·list.·The·order·of·the1932 access·all·possible·values.·The·values·are·returned·in·a·list.·The·order·of·the
1933 elements·corresponds·to·the·order·that·the·configuration·files·were·specified·at1933 elements·corresponds·to·the·order·that·the·configuration·files·were·specified·at
1934 startup.</p><p>If·configuration·elements·(key-value·tuples)·are·to·be·returned·as·result1934 startup.</p><p>If·configuration·elements·(key-value·tuples)·are·to·be·returned·as·result
1935 instead·of·values,·use·option·<code·class="inline">element</code>.·The·returned·elements·are·then·on·the1935 instead·of·values,·use·option·<code·class="inline">element</code>.·The·returned·elements·are·then·on·the
1936 form·<code·class="inline">{Required,Value}</code>.</p><p>See·also·<a·href="#get_config/1"><code·class="inline">ct:get_config/1</code></a>,1936 form·<code·class="inline">{Required,Value}</code>.</p><p>See·also·<a·href="#get_config/1"><code·class="inline">ct:get_config/1</code></a>,
1937 <a·href="#get_config/2"><code·class="inline">ct:get_config/2</code></a>,·<a·href="#require/1"><code·class="inline">ct:require/1</code></a>,1937 <a·href="#get_config/2"><code·class="inline">ct:get_config/2</code></a>,·<a·href="#require/1"><code·class="inline">ct:require/1</code></a>,
1938 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p>1938 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p>
Offset 1962, 15 lines modifiedOffset 1962, 15 lines modified
1962 ······<div·class="specs">1962 ······<div·class="specs">
  
1963 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_event_mgr_ref()·->·EvMgrRef·when·EvMgrRef·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>().</pre>1963 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_event_mgr_ref()·->·EvMgrRef·when·EvMgrRef·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>().</pre>
  
1964 ······</div>1964 ······</div>
  
1965 <p>Gets·a·reference·to·the·<code·class="inline">Common·Test</code>·event·manager.·The·reference·can·be·used1965 <p>Gets·a·reference·to·the·<code·class="inline">Common·Test</code>·event·manager.·The·reference·can·be·used
1966 to,·for·example,·add·a·user-specific·event·handler·while·tests·are·running.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="8083285148-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="8083285148-2">(</span><span·class="p"·data-group-id="8083285148-2">)</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·237,·SHA:·213844f7f05093b67018464026a13ac69c732b6ac69e993a11aa9d652aeca60c·...·]-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="0116340519-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="0116340519-2">(</span><span·class="p"·data-group-id="0116340519-2">)</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·237,·SHA:·12c7283a46c7a51cef574ea0444b8c6b9294689d5bb73d77e8e77c9411c9d815·...·]-1">)</span></code></pre>
1967 ··</section>1967 ··</section>
1968 </section>1968 </section>
1969 <section·class="detail"·id="get_progname/0">1969 <section·class="detail"·id="get_progname/0">
  
1970 ··<div·class="detail-header">1970 ··<div·class="detail-header">
1971 ····<a·href="#get_progname/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1971 ····<a·href="#get_progname/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1972 ······<i·class="ri-link-m"·aria-hidden="true"></i>1972 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2234, 15 lines modifiedOffset 2234, 15 lines modified
2234 ·····················KeyOrFile·::·{key,·Key}·|·{file,·KeyFile},2234 ·····················KeyOrFile·::·{key,·Key}·|·{file,·KeyFile},
2235 ·····················Key·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),2235 ·····················Key·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
2236 ·····················KeyFile·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),2236 ·····················KeyFile·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
2237 ·····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>2237 ·····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
2238 ······</div>2238 ······</div>
  
2239 <p>Installs·configuration·files·and·event·handlers.</p><p>Run·this·function·once·before·the·first·test.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">install</span><span·class="p"·data-group-id="8221631495-1">(</span><span·class="p"·data-group-id="8221631495-2">[</span><span·class="p"·data-group-id="8221631495-3">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="p"·data-group-id="8221631495-4">[</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·303,·SHA:·2b2047efac2a30f6802b89e273b8e7e45627848b66d495b0f80de4e259ce6fc7·...·]-1">)</span></code></pre><p>This·function·is·automatically·run·by·program·<code·class="inline">ct_run</code>.</p>2239 <p>Installs·configuration·files·and·event·handlers.</p><p>Run·this·function·once·before·the·first·test.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">install</span><span·class="p"·data-group-id="9788097712-1">(</span><span·class="p"·data-group-id="9788097712-2">[</span><span·class="p"·data-group-id="9788097712-3">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="p"·data-group-id="9788097712-4">[</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·303,·SHA:·5ba35bd05fb1a10c8f958bdfdc02aa37817d97ff3e6dcaa410bb61f9a54d6dde·...·]-1">)</span></code></pre><p>This·function·is·automatically·run·by·program·<code·class="inline">ct_run</code>.</p>
2240 ··</section>2240 ··</section>
2241 </section>2241 </section>
2242 <section·class="detail"·id="listenv/1">2242 <section·class="detail"·id="listenv/1">
  
2243 ··<div·class="detail-header">2243 ··<div·class="detail-header">
2244 ····<a·href="#listenv/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2244 ····<a·href="#listenv/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
2245 ······<i·class="ri-link-m"·aria-hidden="true"></i>2245 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3025, 15 lines modifiedOffset 3025, 15 lines modified
3025 ·····················SubKey·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),3025 ·····················SubKey·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),
3026 ·····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>3026 ·····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3027 ······</div>3027 ······</div>
  
3028 <p>Checks·if·the·required·configuration·is·available.·Arbitrarily·deep·tuples·can3028 <p>Checks·if·the·required·configuration·is·available.·Arbitrarily·deep·tuples·can
3029 be·specified·as·<code·class="inline">Required</code>.·Only·the·last·element·of·the·tuple·can·be·a·list·of3029 be·specified·as·<code·class="inline">Required</code>.·Only·the·last·element·of·the·tuple·can·be·a·list·of
3030 <code·class="inline">SubKey</code>s.</p><p><em>Example·1.</em>·Require·the·variable·<code·class="inline">myvar</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</span><span·class="p"·data-group-id="1623060831-1">(</span><span·class="ss">myvar</span><span·class="p"·data-group-id="1623060831-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:·3487,·SHA:·0cce6c3649688ad82996aaa03ddbc13aa44247f8e81e49b6f5b78dbe4374771c·...·]4-1">}</span><span·class="p">.</span></code></pre><p>See·also·<a·href="#get_config/1"><code·class="inline">ct:get_config/1</code></a>,3030 <code·class="inline">SubKey</code>s.</p><p><em>Example·1.</em>·Require·the·variable·<code·class="inline">myvar</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</span><span·class="p"·data-group-id="4651234389-1">(</span><span·class="ss">myvar</span><span·class="p"·data-group-id="4651234389-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:·3487,·SHA:·165d77694ad1abf48fceee52e85654b9b41569a82e1fa45bdbeb51f4687cdaa0·...·]4-1">}</span><span·class="p">.</span></code></pre><p>See·also·<a·href="#get_config/1"><code·class="inline">ct:get_config/1</code></a>,
3031 <a·href="#get_config/2"><code·class="inline">ct:get_config/2</code></a>,·<a·href="#get_config/3"><code·class="inline">ct:get_config/3</code></a>,3031 <a·href="#get_config/2"><code·class="inline">ct:get_config/2</code></a>,·<a·href="#get_config/3"><code·class="inline">ct:get_config/3</code></a>,
3032 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p>3032 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p>
3033 ··</section>3033 ··</section>
3034 </section>3034 </section>
3035 <section·class="detail"·id="require/2">3035 <section·class="detail"·id="require/2">
  
3036 ··<div·class="detail-header">3036 ··<div·class="detail-header">
Offset 3065, 16 lines modifiedOffset 3065, 16 lines modified
  
3065 <p>Checks·if·the·required·configuration·is·available·and·gives·it·a·name.·The3065 <p>Checks·if·the·required·configuration·is·available·and·gives·it·a·name.·The
3066 semantics·for·<code·class="inline">Required</code>·is·the·same·as·in·<a·href="#require/1"><code·class="inline">ct:require/1</code></a>·except3066 semantics·for·<code·class="inline">Required</code>·is·the·same·as·in·<a·href="#require/1"><code·class="inline">ct:require/1</code></a>·except
3067 that·a·list·of·<code·class="inline">SubKey</code>s·cannot·be·specified.</p><p>If·the·requested·data·is·available,·the·subentry·is·associated·with·<code·class="inline">Name</code>·so3067 that·a·list·of·<code·class="inline">SubKey</code>s·cannot·be·specified.</p><p>If·the·requested·data·is·available,·the·subentry·is·associated·with·<code·class="inline">Name</code>·so
3068 that·the·value·of·the·element·can·be·read·with3068 that·the·value·of·the·element·can·be·read·with
3069 <a·href="#get_config/1"><code·class="inline">ct:get_config/1,2</code></a>·provided·<code·class="inline">Name</code>·is·used·instead·of·the3069 <a·href="#get_config/1"><code·class="inline">ct:get_config/1,2</code></a>·provided·<code·class="inline">Name</code>·is·used·instead·of·the
3070 whole·<code·class="inline">Required</code>·term.</p><p><em>Example:</em></p><p>Require·one·node·with·a·Telnet·connection·and·an·FTP·connection.·Name·the·node3070 whole·<code·class="inline">Required</code>·term.</p><p><em>Example:</em></p><p>Require·one·node·with·a·Telnet·connection·and·an·FTP·connection.·Name·the·node
3071 <code·class="inline">a</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</span><span·class="p"·data-group-id="4499688729-1">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="p"·data-group-id="4499688729-2">{</span><span·class="ss">machine</span><span·class="p">,</span><span·class="nb">node</span><span·class="p"·data-group-id="4499688729-2">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·6c8a25c2098cc568483d17add66ef9d1293b7b1e0872f017ef68c8695cb94142·...·]-1">)</span><span·class="p">.</span></code></pre><p>All·references·to·this·node·can·then·use·the·node·name.·For·example,·a·file·over3071 <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="3668503340-1">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="p"·data-group-id="3668503340-2">{</span><span·class="ss">machine</span><span·class="p">,</span><span·class="nb">node</span><span·class="p"·data-group-id="3668503340-2">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·2549641796249ba2aaab6bab1540fdba278c5554b604deb780dc53db66bb1e7c·...·]-1">)</span><span·class="p">.</span></code></pre><p>All·references·to·this·node·can·then·use·the·node·name.·For·example,·a·file·over
3072 FTP·is·fetched·like·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">ftp_get</span><span·class="p"·data-group-id="1423797306-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="1423797306-1">)</span><span·class="p">.</span></code></pre><p>For[·...·truncated·by·diffoscope;·len:·1030,·SHA:·470cc443bc1ed65e2d3fc874e7f4f78b62de0976cd60fdab841dd3e880734404·...·]-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.·To3072 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="4160041258-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="4160041258-1">)</span><span·class="p">.</span></code></pre><p>For[·...·truncated·by·diffoscope;·len:·1030,·SHA:·1f38bf0364e5cee9777f43c9d5a8309ba1c63ffdc3f0b8b9a27e929bdce1e530·...·]-1">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·behavior·of·this·function·changed·radically·in·<code·class="inline">Common·Test</code>·1.6.2.·To
3073 keep·some·backwards·compatibility,·it·is·still·possible·to·do:3073 keep·some·backwards·compatibility,·it·is·still·possible·to·do:
3074 <code·class="inline">ct:require(a,{node,[telnet,ftp]}).</code>·This·associates·the·name·<code·class="inline">a</code>·with·the3074 <code·class="inline">ct:require(a,{node,[telnet,ftp]}).</code>·This·associates·the·name·<code·class="inline">a</code>·with·the
3075 top-level·<code·class="inline">node</code>·entry.·For·this·to·work,·the·configuration·file·must·at·least3075 top-level·<code·class="inline">node</code>·entry.·For·this·to·work,·the·configuration·file·must·at·least
3076 contain:·<code·class="inline">{node,[{telnet,IpAddr},{ftp,IpAddr}]}.</code></p></section><p>See·also·<a·href="#get_config/1"><code·class="inline">ct:get_config/1</code></a>,3076 contain:·<code·class="inline">{node,[{telnet,IpAddr},{ftp,IpAddr}]}.</code></p></section><p>See·also·<a·href="#get_config/1"><code·class="inline">ct:get_config/1</code></a>,
3077 <a·href="#get_config/2"><code·class="inline">ct:get_config/2</code></a>,·<a·href="#get_config/3"><code·class="inline">ct:get_config/3</code></a>,3077 <a·href="#get_config/2"><code·class="inline">ct:get_config/2</code></a>,·<a·href="#get_config/3"><code·class="inline">ct:get_config/3</code></a>,
3078 <a·href="#require/1"><code·class="inline">ct:require/1</code></a>.</p>3078 <a·href="#require/1"><code·class="inline">ct:require/1</code></a>.</p>
3079 ··</section>3079 ··</section>
Offset 3425, 20 lines modifiedOffset 3425, 20 lines modified
  
3425 ······</div>3425 ······</div>
  
3426 <p>Starts·<code·class="inline">Common·Test</code>·in·interactive·mode.</p><p>From·this·mode,·all·test·case·support·functions·can·be·executed·directly·from3426 <p>Starts·<code·class="inline">Common·Test</code>·in·interactive·mode.</p><p>From·this·mode,·all·test·case·support·functions·can·be·executed·directly·from
3427 the·Erlang·shell.·The·interactive·mode·can·also·be·started·from·the·OS·command3427 the·Erlang·shell.·The·interactive·mode·can·also·be·started·from·the·OS·command
3428 line·with·<code·class="inline">ct_run·-shell·[-config·File...]</code>.</p><p>If·any·functions·(for·example,·Telnet·or·FTP)·using·&quot;required·configuration3428 line·with·<code·class="inline">ct_run·-shell·[-config·File...]</code>.</p><p>If·any·functions·(for·example,·Telnet·or·FTP)·using·&quot;required·configuration
3429 data&quot;·are·to·be·called·from·the·Erlang·shell,·configuration·data·must·first·be3429 data&quot;·are·to·be·called·from·the·Erlang·shell,·configuration·data·must·first·be
3430 required·with·<a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</span><span·class="p"·data-group-id="1841697423-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="1841697423-1">)</span><span·class="p">.</span><span·class="w">3430 required·with·<a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</span><span·class="p"·data-group-id="2874458126-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="2874458126-1">)</span><span·class="p">.</span><span·class="w">
3431 </span><span·class="ss">ok</span><span·class="gp·unselectable">3431 </span><span·class="ss">ok</span><span·class="gp·unselectable">
3432 &gt;·</span><span·class="nc">ct_telnet</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="1841697423-2">(</span><span·class="ss">unix_telnet</span><span·class="p"·data-group-id="1841697423-2">)</span><span·class="p">.</span><span·class="w">3432 &gt;·</span><span·class="nc">ct_telnet</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="2874458126-2">(</span><span·class="ss">unix_telnet</span><span·class="p"·data-group-id="2874458126-2">)</span><span·class="p">.</span><span·class="w">
3433 </span><span·class="p"·data-group-id="1841697423-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="1841697423-3">}</span><span·class="gp·unselectable">3433 </span><span·class="p"·data-group-id="2874458126-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="2874458126-3">}</span><span·class="gp·unselectable">
3434 &gt;·</span><span·class="nc">ct_telnet</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="1841697423-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="1841697423-4">)</span><span·class="p">.</span><span·class="w">3434 &gt;·</span><span·class="nc">ct_telnet</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="2874458126-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="2874458126-4">)</span><span·class="p">.</span><span·class="w">
3435 </span><span·class="p"·data-group-id="1841697423-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1841697423-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:·771181365207ad694b09854acb2dab70df7074c375d8dc6fbf23772ed039e1ff·...·]-5">}</span></code></pre>3435 </span><span·class="p"·data-group-id="2874458126-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2874458126-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:·792f17cca97c79927d94ad8d430c12700211f37d4451d14697d2c4217763438c·...·]-5">}</span></code></pre>
3436 ··</section>3436 ··</section>
3437 </section>3437 </section>
3438 <section·class="detail"·id="step/3">3438 <section·class="detail"·id="step/3">
  
3439 ··<div·class="detail-header">3439 ··<div·class="detail-header">
3440 ····<a·href="#step/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3440 ····<a·href="#step/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
3441 ······<i·class="ri-link-m"·aria-hidden="true"></i>3441 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3703, 15 lines modifiedOffset 3703, 15 lines modified
3703 ······<p·class="built-using">3703 ······<p·class="built-using">
3704 ········Built·using3704 ········Built·using
3705 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3705 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3706 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3706 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3707 ······</p>3707 ······</p>
3708 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3708 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3709 ····</footer>3709 ····</footer>
3710 ··</div>3710 ··</div>
3711 </main>3711 </main>
3712 </div>3712 </div>
3713 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3713 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3714 ··<script>3714 ··<script>
3715 ··let·initialized·=·false;3715 ··let·initialized·=·false;
Max diff block lines reached; -1/41185 bytes (-0.00%) of diff not shown.
648 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_cover.html
    
Offset 307, 15 lines modifiedOffset 307, 15 lines modified
307 ······<p·class="built-using">307 ······<p·class="built-using">
308 ········Built·using308 ········Built·using
309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
311 ······</p>311 ······</p>
312 <p>Copyright·©·1996-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.98 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_ftp.html
    
Offset 567, 18 lines modifiedOffset 567, 18 lines modified
567 ·················LocalFile·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename/0">file:filename</a>(),567 ·················LocalFile·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename/0">file:filename</a>(),
568 ·················RemoteFile·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename/0">file:filename</a>(),568 ·················RemoteFile·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename/0">file:filename</a>(),
569 ·················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>569 ·················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
570 ······</div>570 ······</div>
  
571 <p>Opens·an·FTP·connection·and·sends·a·file·to·the·remote·host.</p><p><code·class="inline">LocalFile</code>·and·<code·class="inline">RemoteFile</code>·must·be·absolute·paths.</p><p>If·the·target·host·is·a·&quot;special&quot;·node,·the·FTP·address·must·be·specified·in·the571 <p>Opens·an·FTP·connection·and·sends·a·file·to·the·remote·host.</p><p><code·class="inline">LocalFile</code>·and·<code·class="inline">RemoteFile</code>·must·be·absolute·paths.</p><p>If·the·target·host·is·a·&quot;special&quot;·node,·the·FTP·address·must·be·specified·in·the
572 configuration·file·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4394723888-1">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="4394723888-2">[</span><span·class="p"·data-group-id="4394723888-3">{</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="4394723888-3">}</span><span·class="p"·data-group-id="4394723888-2">]</span><span·class="p"·data-group-id="4394723888-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="4468774775-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="446877477[·...·truncated·by·diffoscope;·len:·239,·SHA:·bcb7e2eb7b283cdacfd749175a03ed0097239db1b56c498900014e2f3c667f0c·...·]572 configuration·file·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1816708430-1">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="1816708430-2">[</span><span·class="p"·data-group-id="1816[·...·truncated·by·diffoscope;·len:·364,·SHA:·32cbc381ecea6f44e3049735046eee58ba2c9d227b26e23cd8c9c89edb521e4e·...·]
 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="7129846636-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="7129846636-2">[</span><span·class="p"·data-group-id="7129846636-3">{</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="7129846636-3">}</span><span·class="p">,</span><span·class="w">
574 ·······</span><span·class="p"·data-group-id="4468774775-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">Username</span><span·class="p"·data-group-id="4468774775-4">}</span><span·class="p">,</span><span·class="w">574 ·······</span><span·class="p"·data-group-id="7129846636-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">Username</span><span·class="p"·data-group-id="7129846636-4">}</span><span·class="p">,</span><span·class="w">
575 ·······</span><span·class="p"·data-group-id="4468774775-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="4468774775-5">}</span><span·class="p"·data-group-id="4468774775-2">]</span><span·class="p"·data-group-id="4468774775-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="7129846636-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="7129846636-5">}</span><span·class="p"·data-group-id="7129846636-2">]</span><span·class="p"·data-group-id="7129846636-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.28/doc/html/ct_hooks.html
    
Offset 1359, 15 lines modifiedOffset 1359, 15 lines modified
1359 ······<p·class="built-using">1359 ······<p·class="built-using">
1360 ········Built·using1360 ········Built·using
1361 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1361 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1362 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1362 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1363 ······</p>1363 ······</p>
1364 <p>Copyright·©·1996-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.28/doc/html/ct_hooks_chapter.html
    
Offset 249, 20 lines modifiedOffset 249, 20 lines modified
249 </h3>249 </h3>
250 <p>In·a·CTH,·the·behavior·can·be·hooked·in·before·the·following·functions:</p><ul><li><a·href="ct_suite.html#c:init_per_suite/1"><code·class="inline">init_per_suite</code></a></li><li><a·href="ct_suite.html#c:init_per_group/2"><code·class="inline">init_per_group</code></a></li><li><a·href="ct_suite.html#c:init_per_testcase/2"><code·class="inline">init_per_testcase</code></a></li><li><a·href="ct_suite.html#c:end_per_testcase/2"><code·class="inline">end_per_testcase</code></a></li><li><a·href="ct_suite.html#c:end_per_group/2"><code·class="inline">end_per_group</code></a></li><li><a·href="ct_suite.html#c:end_per_suite/1"><code·class="inline">end_per_suite</code></a></li></ul><p>This·is·done·in·the·CTH·functions·called·<code·class="inline">pre_&lt;name·of·function&gt;</code>.·These250 <p>In·a·CTH,·the·behavior·can·be·hooked·in·before·the·following·functions:</p><ul><li><a·href="ct_suite.html#c:init_per_suite/1"><code·class="inline">init_per_suite</code></a></li><li><a·href="ct_suite.html#c:init_per_group/2"><code·class="inline">init_per_group</code></a></li><li><a·href="ct_suite.html#c:init_per_testcase/2"><code·class="inline">init_per_testcase</code></a></li><li><a·href="ct_suite.html#c:end_per_testcase/2"><code·class="inline">end_per_testcase</code></a></li><li><a·href="ct_suite.html#c:end_per_group/2"><code·class="inline">end_per_group</code></a></li><li><a·href="ct_suite.html#c:end_per_suite/1"><code·class="inline">end_per_suite</code></a></li></ul><p>This·is·done·in·the·CTH·functions·called·<code·class="inline">pre_&lt;name·of·function&gt;</code>.·These
251 functions·take·the·arguments·<code·class="inline">SuiteName</code>,·<code·class="inline">Name</code>·(group·or·test·case·name,·if251 functions·take·the·arguments·<code·class="inline">SuiteName</code>,·<code·class="inline">Name</code>·(group·or·test·case·name,·if
252 applicable),·<code·class="inline">Config</code>,·and·<code·class="inline">CTHState</code>.·The·return·value·of·the·CTH·function·is252 applicable),·<code·class="inline">Config</code>,·and·<code·class="inline">CTHState</code>.·The·return·value·of·the·CTH·function·is
253 always·a·combination·of·a·result·for·the·suite/group/test·and·an·updated253 always·a·combination·of·a·result·for·the·suite/group/test·and·an·updated
254 <code·class="inline">CTHState</code>.</p><p>To·let·the·test·suite·continue·on·executing,·return·the·configuration·list·that254 <code·class="inline">CTHState</code>.</p><p>To·let·the·test·suite·continue·on·executing,·return·the·configuration·list·that
255 you·want·the·test·to·use·as·the·result.</p><p>All·pre·hooks,·except·<code·class="inline">pre_end_per_testcase/4</code>,·can·skip·or·fail·the·test·by255 you·want·the·test·to·use·as·the·result.</p><p>All·pre·hooks,·except·<code·class="inline">pre_end_per_testcase/4</code>,·can·skip·or·fail·the·test·by
256 returning·a·tuple·with·<code·class="inline">skip</code>·or·<code·class="inline">fail</code>,·and·a·reason·as·the·result.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">pre_init_per_suite</span><span·class="p"·data-group-id="0962766840-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="0962766840-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="1936524139-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="1936524139-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="0962766840-2">(</span><span·class="p"·data-group-id="0962766840-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="1936524139-2">(</span><span·class="p"·data-group-id="1936524139-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
258 ····</span><span·class="p"·data-group-id="0962766840-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="0962766840-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">258 ····</span><span·class="p"·data-group-id="1936524139-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="1936524139-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
259 ······</span><span·class="p"·data-group-id="0962766840-4">{</span><span·class="p"·data-group-id="0962766840-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="0962766840-5">}<[·...·truncated·by·diffoscope;·len:·126,·SHA:·64fc3e38f6a87479d431a4534975d908bdef038bcb60334596ab9ed9ba2ba8df·...·]-4">}</span><span·class="p">;</span><span·class="w">259 ······</span><span·class="p"·data-group-id="1936524139-4">{</span><span·class="p"·data-group-id="1936524139-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="1936524139-5">}<[·...·truncated·by·diffoscope;·len:·126,·SHA:·62c67967236705ebd02cd6f48d6401f2239a2df950f3f65ad31370db3cc14d6a·...·]-4">}</span><span·class="p">;</span><span·class="w">
260 ····</span><span·class="p"·data-group-id="0962766840-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="0962766840-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">260 ····</span><span·class="p"·data-group-id="1936524139-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="1936524139-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
261 ······</span><span·class="p"·data-group-id="0962766840-7">{</span><span·class="p"·data-group-id="0962766840-8">[</span><span·class="p"·data-group-id="0962766840-9">{</span><span·class="ss">db_handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handle</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·649,·SHA:·f8fde661a4a4115dbb66e43e36256f28eb611fbd88c124d529843bb7e2af852d·...·]-7">}</span><span·class="w">261 ······</span><span·class="p"·data-group-id="1936524139-7">{</span><span·class="p"·data-group-id="1936524139-8">[</span><span·class="p"·data-group-id="1936524139-9">{</span><span·class="ss">db_handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handle</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·649,·SHA:·3d2f46ba931a3a521cbe174b05909e39ac1dbb5cccb39ca78084763390963f17·...·]-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="7679172778-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:·33cbfc7f3422a9a33e9542f1c34ace4e69f4594e207ed493bdfb546223fb7003·...·]-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="6600496551-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:·a732847f05aecacc2e0c24dd6e58b0a3e574ec4d7706e0121d5b3a1b7144cfa1·...·]-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="7679172778-4">(</span><span·class="p"·data-group-id="7679172778-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="6600496551-4">(</span><span·class="p"·data-group-id="6600496551-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="7679172778-5">{</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="7679172778-6">(</span><span·class="ss">tc_status</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·189,·SHA:·28ec8dd788dc57be59e27eb00e00f6da98eefbd495bdf1085cde7be53a0fb3c3·...·]-5">}</span><span·class="p">;</span><span·class="w">287 ······</span><span·class="p"·data-group-id="6600496551-5">{</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="6600496551-6">(</span><span·class="ss">tc_status</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·189,·SHA:·34b4834e6d476d82e0721fefaf8d8d6da7eb163c3e744696452f3493e2179148·...·]-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="7679172778-7">{</span><span·class="p"·data-group-id="7679172778-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="7679172778-8">}</spa[·...·truncated·by·diffoscope;·len:·122,·SHA:·b4c9a3217aa4d8f254b07936c449161beec13c74c53883bc8aad2a85ead342fd·...·]-7">}</span><span·class="w">290 ······</span><span·class="p"·data-group-id="6600496551-7">{</span><span·class="p"·data-group-id="6600496551-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="6600496551-8">}</spa[·...·truncated·by·diffoscope;·len:·122,·SHA:·9df6218ccc3bf0c51dc4132dee54dc45011f6aa6fb37f5d3e8adde76d296b753·...·]-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="7679172778-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:·8e866062d15d4fa6e06eda2ebe3b78dbf6eef8dd8ab5cd34773459a2e006f77f·...·]-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="6600496551-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:·2b3e7cc3bd2a17ed8f031b84bbfd0e22a45c58d27d89807308643bf4db3771ea·...·]-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="7679172778-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="7679172778-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="6600496551-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="6600496551-10">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Do·recover·from·a·testcase·failure·using·CTHs·only·a·last·resort.·If·used
295 wrongly,·it·can·be·very·difficult·to·determine·which·tests·that·pass·or·fail295 wrongly,·it·can·be·very·difficult·to·determine·which·tests·that·pass·or·fail
296 in·a·test·run.</p></section><h3·id="skip-and-fail-hooks"·class="section-heading">296 in·a·test·run.</p></section><h3·id="skip-and-fail-hooks"·class="section-heading">
297 ··<a·href="#skip-and-fail-hooks"·class="hover-link">297 ··<a·href="#skip-and-fail-hooks"·class="hover-link">
298 ····<i·class="ri-link-m"·aria-hidden="true"></i>298 ····<i·class="ri-link-m"·aria-hidden="true"></i>
299 ··</a>299 ··</a>
300 ··<span·class="text">Skip·and·Fail·Hooks</span>300 ··<span·class="text">Skip·and·Fail·Hooks</span>
301 </h3>301 </h3>
Offset 336, 88 lines modifiedOffset 336, 88 lines modified
336 <p>The·following·CTH·logs·information·about·a·test·run·into·a·format·parseable·by336 <p>The·following·CTH·logs·information·about·a·test·run·into·a·format·parseable·by
337 <a·href="../../../../lib/kernel-10.3/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>·(in·Kernel):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%·Common·Test·Example·Common·Test·Hook·module.</span><span·class="w">337 <a·href="../../../../lib/kernel-10.3/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>·(in·Kernel):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%·Common·Test·Example·Common·Test·Hook·module.</span><span·class="w">
338 </span><span·class="c1">%%%</span><span·class="w">338 </span><span·class="c1">%%%</span><span·class="w">
339 </span><span·class="c1">%%%·To·use·this·hook,·on·the·command·line:</span><span·class="w">339 </span><span·class="c1">%%%·To·use·this·hook,·on·the·command·line:</span><span·class="w">
340 </span><span·class="c1">%%%·····ct_run·-suite·example_SUITE·-pa·.·-ct_hooks·example_cth</span><span·class="w">340 </span><span·class="c1">%%%·····ct_run·-suite·example_SUITE·-pa·.·-ct_hooks·example_cth</span><span·class="w">
341 </span><span·class="c1">%%%</span><span·class="w">341 </span><span·class="c1">%%%</span><span·class="w">
342 </span><span·class="c1">%%%·Note·`-pa·.`:·the·hook·beam·file·must·be·in·the·code·path·when·installing.</span><span·class="w">342 </span><span·class="c1">%%%·Note·`-pa·.`:·the·hook·beam·file·must·be·in·the·code·path·when·installing.</span><span·class="w">
343 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3877708536-1">(</span><span·class="ss">example_cth</span><span·class="p"·data-group-id="3877708536-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="6713952961-1">(</span><span·class="ss">example_cth</span><span·class="p"·data-group-id="6713952961-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="3877708536-2">(</span><span·class="p"·data-group-id="3877708536-3">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="3877708536-3">]</span><span·class="p"·data-group-id="3877708536-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="6713952961-2">(</span><span·class="p"·data-group-id="6713952961-3">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="6713952961-3">]</span><span·class="p"·data-group-id="6713952961-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="3877708536-4">(</span><span·class="p"·data-group-id="3877708536-5">[</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="3877708536-5">]</span><span·class="p"·data-group-id="3877708536-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="6713952961-4">(</span><span·class="p"·data-group-id="6713952961-5">[</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="6713952961-5">]</span><span·class="p"·data-group-id="6713952961-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="3877708536-6">(</span><span·class="p"·data-group-id="3877708536-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="3877708536-7">]</span><span·class="p"·data-group-id="387770[·...·truncated·by·diffoscope;·len:·4,·SHA:·0029f4801cc292515e7307f4c06dfcaee6932662fb8eae0ec3812be764d5175e·...·]-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="6713952961-6">(</span><span·class="p"·data-group-id="6713952961-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="6713952961-7">]</span><span·class="p"·data-group-id="671395[·...·truncated·by·diffoscope;·len:·4,·SHA:·9fbba4a59829746fbbcf69b0d93479846e659a49d90ebf4c8b6d1801d9834ac0·...·]-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="3877708536-8">(</span><span·class="p"·data-group-id="3877708536-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="3877708536-9">]</span><span·class="p"·data-group-id="387770[·...·truncated·by·diffoscope;·len:·4,·SHA:·0029f4801cc292515e7307f4c06dfcaee6932662fb8eae0ec3812be764d5175e·...·]-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="6713952961-8">(</span><span·class="p"·data-group-id="6713952961-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="6713952961-9">]</span><span·class="p"·data-group-id="671395[·...·truncated·by·diffoscope;·len:·4,·SHA:·9fbba4a59829746fbbcf69b0d93479846e659a49d90ebf4c8b6d1801d9834ac0·...·]-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="3877708536-10">(</span><span·class="p"·data-group-id="3877708536-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="3877708536-11">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·b24b3bdcb891c4adc184540f29f165c26a896a6317640756d8aa4af0e4e931e1·...·]-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="6713952961-10">(</span><span·class="p"·data-group-id="6713952961-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="6713952961-11">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·a2174f739993a0d61a5de89b68688c8bbb1be47a6a9bcda642f158ee4a87558b·...·]-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="3877708536-12">(</span><span·class="p"·data-group-id="3877708536-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="3877708536-13">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·b24b3bdcb891c4adc184540f29f165c26a896a6317640756d8aa4af0e4e931e1·...·]-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="6713952961-12">(</span><span·class="p"·data-group-id="6713952961-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="6713952961-13">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·a2174f739993a0d61a5de89b68688c8bbb1be47a6a9bcda642f158ee4a87558b·...·]-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="3877708536-14">(</span><span·class="p"·data-group-id="3877708536-15">[</span><span·class="ss">on_tc_skip</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="3877708536-15">]</span><span·class="p"·data-group-id="3877708536-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="6713952961-14">(</span><span·class="p"·data-group-id="6713952961-15">[</span><span·class="ss">on_tc_skip</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="6713952961-15">]</span><span·class="p"·data-group-id="6713952961-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="3877708536-16">(</span><span·class="p"·data-group-id="3877708536-17">[</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="3877708536-17">]</span><span·class="p"·data-group-id="3877708536-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="6713952961-16">(</span><span·class="p"·data-group-id="6713952961-17">[</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="6713952961-17">]</span><span·class="p"·data-group-id="6713952961-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="3877708536-18">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3877708536-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:·5179435edafa75cd60c0cf339a2ad3dc76346fd9dd729cd041a915a58d64f8c8·...·]-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="6713952961-18">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6713952961-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:·47854f1255c75f6d95a03e305ef9bc4a4e228efe6c33ef86364e304a1bba3baf·...·]-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="3877708536-20">(</span><span·class="ss">test_run</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3877708536-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:·19af63825af97439901a3a3caf6c1441680e86ab214016dcb537994243aa743a·...·]-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="6713952961-20">(</span><span·class="ss">test_run</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6713952961-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:·9e827a154b0d9ebf1080b7c1624abd98e0f228cc64e54b8a563d8c616bb6b047·...·]-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="3877708536-22">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="3877708536-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="6713952961-22">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="6713952961-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="3877708536-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:·45e0562b78376ef864f277508cc68ff09417b36b9a1168e209b925506c03c4c9·...·]-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="6713952961-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:·d357ac100f74b8652bd9856081aa232f1961f5e6311f673d124016f06bf5d20f·...·]-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="3877708536-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="3877708536-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="6713952961-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="6713952961-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
372 ····</span><span·class="p"·data-group-id="3877708536-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="3877708536-26">{</span><span·class="ss">filename</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·602,·SHA:·9a39d296bd8a0a12f4f8f7f3bc95cf6794fe05cd6eeb6b283b0515ada1cd3334·...·]-25">}</span><span·class="p">.</span><span·class="w">372 ····</span><span·class="p"·data-group-id="6713952961-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="6713952961-26">{</span><span·class="ss">filename</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·602,·SHA:·d67440aef07cb1d16290a856893e10d9bc0382dcd1f1dbeb1c0dbfb5b5633d32·...·]-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="3877708536-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="3877708536-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="6713952961-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="6713952961-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
375 ····</span><span·class="p"·data-group-id="3877708536-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="3877708536-30">{</span><span·class="ss">suit[·...·truncated·by·diffoscope;·len:·461,·SHA:·21ddb1be7e7a2048a079a81ff4bbce8d5c825cf44b8b6f0346435b7b6e98a985·...·]-29">}</span><span·class="p">.</span><span·class="w">375 ····</span><span·class="p"·data-group-id="6713952961-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="6713952961-30">{</span><span·class="ss">suit[·...·truncated·by·diffoscope;·len:·461,·SHA:·1b040ca5cf33471342d9700883d6e00be4675947ff86e70d6133de87ac39cadf·...·]-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="3877708536-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:·1bd503c93da8de25b5eba0a733d1df8eac9a12520255e3df4a9eeb0c9410f2c8·...·]-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="6713952961-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:·4178e13f81d281c98b056d4c92a42cfd87d1feba2a2bb2ee003ff05891bb37d4·...·]-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="3877708536-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="6713952961-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="3877708536-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="3877708536-34">)</span><span·class="p"·data-group-id="3877708536-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="6713952961-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="6713952961-34">)</span><span·class="p"·data-group-id="6713952961-33">}</span><span·class="p">,</span><span·class="w">
380 ····</span><span·class="p"·data-group-id="3877708536-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="3877708536-36">{</span><span·class="ss">data[·...·truncated·by·diffoscope;·len:·406,·SHA:·be179193b32b16e9f9aa84f1262cd7d428b6a2fe1663a8348d69c2d3a35ab995·...·]-37">]</span><span·class="p">,</span><span·class="w">380 ····</span><span·class="p"·data-group-id="6713952961-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="6713952961-36">{</span><span·class="ss">data[·...·truncated·by·diffoscope;·len:·406,·SHA:·745ad2986b27ea7d680ecb0270e57ea99b4e058d4749eee2aea80c1157df392d·...·]-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="3877708536-36">}</span><span·class="p"·data-group-id="3877708536-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="6713952961-36">}</span><span·class="p"·data-group-id="6713952961-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="3877708536-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:·c88c200ecba9f1ecc0ccc2f73cd5351a43ba1881d4ee2eae5c0fd76d32af0ed8·...·]-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="6713952961-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:·568131edc53bc254147f1e3fcf15e94c0accb6e4fbb768fe6aa981fd4ecdde58·...·]-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="3877708536-39">(</span><span·class="ss">microsecond</span><span·class="p"·data-group-id="3877708536-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="6713952961-39">(</span><span·class="ss">microsecond</span><span·class="p"·data-group-id="6713952961-39">)</span><span·class="p">,</span><span·class="w">
385 ····</span><span·class="p"·data-group-id="3877708536-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="3877708536-41">{</span><span·class="ss">ts</[·...·truncated·by·diffoscope;·len:·590,·SHA:·511f32fdf607483b329e690586410546c4e335ebea0d662760945b5b7a631b10·...·]-40">}</span><span·class="p">.</span><span·class="w">385 ····</span><span·class="p"·data-group-id="6713952961-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="6713952961-41">{</span><span·class="ss">ts</[·...·truncated·by·diffoscope;·len:·590,·SHA:·61ca437c98dfd090b6a3b4d2078788677bea98174c42060a799733e20ad89a42·...·]-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="3877708536-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:·413dc023d9ef10dc3d5c49644c8280b3116e9b314fd8378e7393755cc0e87b36·...·]-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="6713952961-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:·6c7212a6c1efa1535bf4832e4e1e0411af809a6968475dbf4de1d60593e6a990·...·]-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="3877708536-43">(</span><span·class="ss">microsecond</span><span·class="p"·data-group-id="3877708536-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="6713952961-43">(</span><span·class="ss">microsecond</span><span·class="p"·data-group-id="6713952961-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="3877708536-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:·876ac2537dd324da3f3815eb27bcddc36e9c8e2dd3909621f2998137179f0dff·...·]-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="6713952961-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:·353e8abd735159ba8acb523f4deb6228876c5c83fa67c9cb3d5ca9f329b4c8a8·...·]-44">}</span><span·class="p">,</span><span·class="w">
390 ····</span><span·class="p"·data-group-id="3877708536-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="3877708536-46">{</span><span·class="ss">ts</[·...·truncated·by·diffoscope;·len:·693,·SHA:·b6c12cad8c7ec6f78ab7f835ab8a7d06da69f5ea51e4fd81263555f9cb65d2b2·...·]-45">}</span><span·class="p">.</span><span·class="w">390 ····</span><span·class="p"·data-group-id="6713952961-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="6713952961-46">{</span><span·class="ss">ts</[·...·truncated·by·diffoscope;·len:·693,·SHA:·9a460fae1e7f94e898ccf08de14691037760f2f1afdf0f46ad1c033f9064e560·...·]-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="3877708536-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:·a3e6dc35b5268698a3d98de8417ee0e791b4382d923ba2061fe35b0c4702c3df·...·]-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="6713952961-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:·bf0cae4659299a8dcea0935b9f9be809d3d3f26ee3865e30c59b258676842967·...·]-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="3877708536-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:·b3d674a2e9ff21042431fcb727f3c1ebc5d293e7640d36505020f709471c5b02·...·]-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="6713952961-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:·cdbe4bdac5a87721f2646f23b86adc9823de185b193bcc65e9da06f9aeb682ee·...·]-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="3877708536-50">(</span><span·class="n">State</span><span·class="p"·data-group-id="3877708536-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="6713952961-50">(</span><span·class="n">State</span><span·class="p"·data-group-id="6713952961-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="3877708536-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="3877708536-51">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·569,·SHA:·72e6aaf75778361609483aca46d81b66dfcea7873592facb2cb8a520ad52e3ab·...·]-52">)</span><span·class="p">,</span><span·class="w">398 ····</span><span·class="p"·data-group-id="6713952961-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="6713952961-51">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·569,·SHA:·180eb2a08ea7ce8d4fd9a948461de65d8b07c4f4a54c92ad6cddff1b22040e9c·...·]-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="3877708536-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:·51b13cec5fda9800f533e0ce418d9a6d575d7560a3d5eea947e9e2f3f89a9cf0·...·]-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="6713952961-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:·c312f5665c3e9a8aad45bdf3cd932001a5cacd4b1be07613df1b14443857ad3f·...·]-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="3877708536-57">(</span><span·class="n">File</span><span·class="p"·data-group-id="3877708536-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="6713952961-57">(</span><span·class="n">File</span><span·class="p"·data-group-id="6713952961-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="3877708536-58">(</span><span·class="n">State</span><span·class="p"·data-group-id="3877708536-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="6713952961-58">(</span><span·class="n">State</span><span·class="p"·data-group-id="6713952961-58">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 993/62095 bytes (1.60%) of diff not shown.
829 B
html2text {}
Max HTML report size reached
3.65 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_master.html
    
Offset 434, 15 lines modifiedOffset 434, 15 lines modified
434 ······<div·class="specs">434 ······<div·class="specs">
  
435 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_event_mgr_ref()·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>().</pre>435 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_event_mgr_ref()·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>().</pre>
  
436 ······</div>436 ······</div>
  
437 <p>Gets·a·reference·to·the·<code·class="inline">Common·Test</code>·master·event·manager.·The·reference·can·be437 <p>Gets·a·reference·to·the·<code·class="inline">Common·Test</code>·master·event·manager.·The·reference·can·be
438 used·to,·for·example,·add·a·user-specific·event·handler·while·tests·are·running.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="4640514813-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="4640514813-2">(</span><span·class="p"·data-group-id="4640514813-2">)</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·244,·SHA:·594e5347de33e5417f7655c4fa9c68fabcdc79107ad8e5daadb79daf742530b1·...·]-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="7722864004-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="7722864004-2">(</span><span·class="p"·data-group-id="7722864004-2">)</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·244,·SHA:·329e3261c26e1a6b8b054c29a58814033d4662ccf60e9bfd47cc7fd50224b0c4·...·]-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.28/doc/html/ct_master_chapter.html
    
Offset 152, 15 lines modifiedOffset 152, 15 lines modified
152 a·common·file·system.·<code·class="inline">Common·Test</code>·Master·cannot·start·test·nodes152 a·common·file·system.·<code·class="inline">Common·Test</code>·Master·cannot·start·test·nodes
153 automatically.·The·nodes·must·be·started·in·advance·for·<code·class="inline">Common·Test</code>·Master·to153 automatically.·The·nodes·must·be·started·in·advance·for·<code·class="inline">Common·Test</code>·Master·to
154 be·able·to·start·test·sessions·on·them.</p><p>Tests·are·started·by·calling·<a·href="ct_master.html#run/1"><code·class="inline">ct_master:run(TestSpecs)</code></a>·or154 be·able·to·start·test·sessions·on·them.</p><p>Tests·are·started·by·calling·<a·href="ct_master.html#run/1"><code·class="inline">ct_master:run(TestSpecs)</code></a>·or
155 <a·href="ct_master.html#run/3"><code·class="inline">ct_master:run(TestSpecs,·InclNodes,·ExclNodes)</code></a></p><p><code·class="inline">TestSpecs</code>·is·either·the·name·of·a·test·specification·file·(string)·or·a·list155 <a·href="ct_master.html#run/3"><code·class="inline">ct_master:run(TestSpecs,·InclNodes,·ExclNodes)</code></a></p><p><code·class="inline">TestSpecs</code>·is·either·the·name·of·a·test·specification·file·(string)·or·a·list
156 of·test·specifications.·If·it·is·a·list,·the·specifications·are·handled·(and·the156 of·test·specifications.·If·it·is·a·list,·the·specifications·are·handled·(and·the
157 corresponding·tests·executed)·in·sequence.·An·element·in·a·<code·class="inline">TestSpecs</code>·list·can157 corresponding·tests·executed)·in·sequence.·An·element·in·a·<code·class="inline">TestSpecs</code>·list·can
158 also·be·list·of·test·specifications.·The·specifications·in·such·a·list·are158 also·be·list·of·test·specifications.·The·specifications·in·such·a·list·are
159 merged·into·one·combined·specification·before·test·execution.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ct_master</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="1425935991-1">(</span><span·class="p"·data-group-id="1425935991-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="1425935991-3">[</span><spa[·...·truncated·by·diffoscope;·len:·243,·SHA:·620dde141124b87ef70bd51232e0edc980992b03e9449f8b3492cd2d50e03790·...·]-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="5733741028-1">(</span><span·class="p"·data-group-id="5733741028-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="5733741028-3">[</span><spa[·...·truncated·by·diffoscope;·len:·243,·SHA:·c4c0b7d48eb370e37c2af43f1c5a8fc8492885e5beebcc8d2aeecd64b43857d8·...·]-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="9109567527-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:·fcd1703f0c341dc8e91bfa624da186d3b438a2a98999b3d5b7ac02077281bb5b·...·]-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="8916382193-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:·6d1c4cba261c403f0b927c01f65c8d5aa08129f0a4d6e9c198a6c59468af74fd·...·]-1">}</span><span·class="p">.</span><span·class="w">
200 </span><span·class="p"·data-group-id="9109567527-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:·241a4cb73610d11626060726e97e1af88ee6a38ab6da3f319a575078c18fffdd·...·]-2">}</span><span·class="p">.</span><span·class="w">200 </span><span·class="p"·data-group-id="8916382193-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:·a4dd7a271dd6c890487d90d5befca60e221bad238eab7f2d979a2653f52cab07·...·]-2">}</span><span·class="p">.</span><span·class="w">
201 </span><span·class="p"·data-group-id="9109567527-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:·241a4cb73610d11626060726e97e1af88ee6a38ab6da3f319a575078c18fffdd·...·]-3">}</span><span·class="p">.</span><span·class="w">201 </span><span·class="p"·data-group-id="8916382193-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:·a4dd7a271dd6c890487d90d5befca60e221bad238eab7f2d979a2653f52cab07·...·]-3">}</span><span·class="p">.</span><span·class="w">
202 </span><span·class="p"·data-group-id="9109567527-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:·241a4cb73610d11626060726e97e1af88ee6a38ab6da3f319a575078c18fffdd·...·]-4">}</span><span·class="p">.</span><span·class="w">202 </span><span·class="p"·data-group-id="8916382193-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:·a4dd7a271dd6c890487d90d5befca60e221bad238eab7f2d979a2653f52cab07·...·]-4">}</span><span·class="p">.</span><span·class="w">
203 </span><span·class="p"·data-group-id="9109567527-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:·34678e896b73709cdadef41eef8366230529c2b5d94f126ed34edb9d71daa2c3·...·]-5">}</span><span·class="p">.</span><span·class="w">203 </span><span·class="p"·data-group-id="8916382193-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:·f9572d59b941e5b7d47021260e57105b1b44520a4006a15b47befa573aeab68e·...·]-5">}</span><span·class="p">.</span><span·class="w">
204 </span><span·class="p"·data-group-id="9109567527-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="91095675[·...·truncated·by·diffoscope;·len:·2,·SHA:·670671cd97404156226e507973f2ab8330d3022ca96e0c93bdbdb320c41adcaf·...·]-6">}</span><span·class="p">.</span><span·class="w">204 </span><span·class="p"·data-group-id="8916382193-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="89163821[·...·truncated·by·diffoscope;·len:·2,·SHA:·6e4001871c0cf27c7634ef1dc478408f642410fd3a444e2a88e301f5c4a35a4d·...·]-6">}</span><span·class="p">.</span><span·class="w">
  
205 </span><span·class="p"·data-group-id="9109567527-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="91095[·...·truncated·by·diffoscope;·len:·5,·SHA:·3a2e356a7f8233ba4f8038a5e84d6725622d40714be862bcf6d5ee4960a62f6c·...·]-7">}</span><span·class="p">.</span><span·class="w">205 </span><span·class="p"·data-group-id="8916382193-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="89163[·...·truncated·by·diffoscope;·len:·5,·SHA:·e4c4b5fb51205f8a9175b22cd342f027867e474acb6eafb4269045c39c27e641·...·]-7">}</span><span·class="p">.</span><span·class="w">
206 </span><span·class="p"·data-group-id="9109567527-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="91095[·...·truncated·by·diffoscope;·len:·5,·SHA:·3a2e356a7f8233ba4f8038a5e84d6725622d40714be862bcf6d5ee4960a62f6c·...·]-8">}</span><span·class="p">.</span><span·class="w">206 </span><span·class="p"·data-group-id="8916382193-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="89163[·...·truncated·by·diffoscope;·len:·5,·SHA:·e4c4b5fb51205f8a9175b22cd342f027867e474acb6eafb4269045c39c27e641·...·]-8">}</span><span·class="p">.</span><span·class="w">
  
207 </span><span·class="p"·data-group-id="9109567527-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:·0b6c75c4a505a3151728491905fea7ab11cffa413176605a3616a01d9663b1d4·...·]-9">}</span><span·class="p">.</span><span·class="w">207 </span><span·class="p"·data-group-id="8916382193-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:·16be4bc50de63fd70abe5ae31b81f478d1f7dd0aad05851961441f48570c56df·...·]-9">}</span><span·class="p">.</span><span·class="w">
208 </span><span·class="p"·data-group-id="9109567527-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="9109567527-10">}</span><span·class="p">.</span><span·class="w">208 </span><span·class="p"·data-group-id="8916382193-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="8916382193-10">}</span><span·class="p">.</span><span·class="w">
  
209 </span><span·class="p"·data-group-id="9109567527-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:·6016b335d1e4e438b8824ea0229598df223023179fac5cce0f11d29c2595a70a·...·]-11">}</span><span·class="p">.</span><span·class="w">209 </span><span·class="p"·data-group-id="8916382193-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:·f4f512d5b587b444e3238b7221ef9b87c514dcc12c225413655a489a8ee1aaa6·...·]-11">}</span><span·class="p">.</span><span·class="w">
210 </span><span·class="p"·data-group-id="9109567527-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:·6016b335d1e4e438b8824ea0229598df223023179fac5cce0f11d29c2595a70a·...·]-12">}</span><span·class="p">.</span><span·class="w">210 </span><span·class="p"·data-group-id="8916382193-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:·f4f512d5b587b444e3238b7221ef9b87c514dcc12c225413655a489a8ee1aaa6·...·]-12">}</span><span·class="p">.</span><span·class="w">
211 </span><span·class="p"·data-group-id="9109567527-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="9109567527-13">}</span><span·class="p">.</span><span·class="w">211 </span><span·class="p"·data-group-id="8916382193-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="8916382193-13">}</span><span·class="p">.</span><span·class="w">
  
212 </span><span·class="p"·data-group-id="9109567527-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:·a56d0780ad7b4c4eabd6eca32547cd2efceb7db28e214248e0eb4a032128552e·...·]-14">}</span><span·class="p">.</span><span·class="w">212 </span><span·class="p"·data-group-id="8916382193-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:·9e224b92f26240ec9bce185adc50f5632169024aff1b04335bfed94a2a1dfc7e·...·]-14">}</span><span·class="p">.</span><span·class="w">
213 </span><span·class="p"·data-group-id="9109567527-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:·6ad27b3b4127f93f4bc4d465e4667d1effb475cdc48aea5ebe9ba8211c1893d3·...·]-15">}</span><span·class="p">.</span><span·class="w">213 </span><span·class="p"·data-group-id="8916382193-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:·216d43b4dc28531cb0b9f9b6cd43c18f274b27e3a27ba37812e97a711b918bfc·...·]-15">}</span><span·class="p">.</span><span·class="w">
214 </span><span·class="p"·data-group-id="9109567527-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:·0abe3448cf28ce30ba6f7eadf49ae03cba6e78e338f2ec9ffe8c1886106a6fde·...·]-17">}</span><span·class="p">.</span><span·class="w">214 </span><span·class="p"·data-group-id="8916382193-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:·c454b8acb56e242aaa1567492b34c3caab8a99b0eeb50ae733c43da5465341db·...·]-17">}</span><span·class="p">.</span><span·class="w">
215 </span><span·class="p"·data-group-id="9109567527-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:·74733026b268f633f9bb0e8bc423fa70b729ffc6451c4c84c081829e75bc72d1·...·]-19">}</span><span·class="p">.</span><span·class="w">215 </span><span·class="p"·data-group-id="8916382193-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:·e9f19028f39c2073ab11e8565d74d9ba7f5b901bdfefd9852300af32e3a9bbe2·...·]-19">}</span><span·class="p">.</span><span·class="w">
  
216 </span><span·class="p"·data-group-id="9109567527-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:·dc13c1c9b2d9a82f1fe12b9b69f10da63c3b2be52711d7dc00f1645a87636afc·...·]-21">}</span><span·class="p">.</span><span·class="w">216 </span><span·class="p"·data-group-id="8916382193-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:·951e7f2d2aa9f5c139e607d2ad116b2f84beee6384a195e2c1a42fa4da2652bb·...·]-21">}</span><span·class="p">.</span><span·class="w">
217 </span><span·class="p"·data-group-id="9109567527-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:·3e63cde10b38d8e811a37d906a74e7e5ffd3339c356d20b48021fc6b34cfc09a·...·]-23">}</span><span·class="p">.</span><span·class="w">217 </span><span·class="p"·data-group-id="8916382193-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:·f7bc0c4bcb170d7313c7c4dc82a69e0dd920216879c2fcc4cdbf6b8d90d6ab01·...·]-23">}</span><span·class="p">.</span><span·class="w">
  
218 </span><span·class="p"·data-group-id="9109567527-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:·b74cf102481ed8cf8aaa7929c16edb856f12df4dbd07d8398e35b89c62bf65b4·...·]-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="8916382193-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:·8fcc0a77fbbe4c56e4debe84322ba512224315ca1cb0bcbf44fa83e14d12184d·...·]-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="4262986726-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="4262986726-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="9312030587-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="9312030587-1">}</span><span·class="p">.</span><span·class="w">
248 </span><span·class="p"·data-group-id="4262986726-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="4262986726-2">}</span><span·class="p">.</span><span·class="w">248 </span><span·class="p"·data-group-id="9312030587-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="9312030587-2">}</span><span·class="p">.</span><span·class="w">
249 </span><span·class="p"·data-group-id="4262986726-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="4262986726-3">}</span><span·class="p">.</span><span·class="w">249 </span><span·class="p"·data-group-id="9312030587-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="9312030587-3">}</span><span·class="p">.</span><span·class="w">
250 </span><span·class="p"·data-group-id="4262986726-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="4262986726-4">}</span><span·class="p">.</span><span·class="w">250 </span><span·class="p"·data-group-id="9312030587-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="9312030587-4">}</span><span·class="p">.</span><span·class="w">
251 </span><span·class="p"·data-group-id="4262986726-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="4262986726-6">[</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·594,·SHA:·b1cd6d14e91676d9bdc50cb645571376c445833b31be2e3e93870911bb1ccd4a·...·]-5">}</span><span·class="p">.</span><span·class="w">251 </span><span·class="p"·data-group-id="9312030587-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="9312030587-6">[</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·594,·SHA:·7b5e3829a68b606d53d457e8ea58362d5d4ece1e8abbf4faf24ff2c02bd9e69d·...·]-5">}</span><span·class="p">.</span><span·class="w">
252 </span><span·class="p"·data-group-id="4262986726-10">{</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4262986726-11">[</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node3</sp[·...·truncated·by·diffoscope;·len:·956,·SHA:·c30c1675c41d1cc02415de145b5e9f187f041aa0c16bc25978ecf0c5bfa4010a·...·]-10">}</span><span·class="p">.</span><span·class="w">252 </span><span·class="p"·data-group-id="9312030587-10">{</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9312030587-11">[</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node3</sp[·...·truncated·by·diffoscope;·len:·956,·SHA:·376bcc305813acbab674d8cd6289e1e017d640d2d064f749c0927de49da9c0b5·...·]-10">}</span><span·class="p">.</span><span·class="w">
253 </span><span·class="p"·data-group-id="4262986726-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="4262986726-17">{</span><span·class="ss">eval</spa[·...·truncated·by·diffoscope;·len:·519,·SHA:·f25f16115ab9a3e024a299d1f77b20b9239548d37d52db1ab0c56d5c06de526d·...·]-16">}</span><span·class="p">.</span></code></pre><p>This·test·specification·declares·that·<code·class="inline">node1@host1</code>·is·to·be·started·using·the253 </span><span·class="p"·data-group-id="9312030587-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="9312030587-17">{</span><span·class="ss">eval</spa[·...·truncated·by·diffoscope;·len:·519,·SHA:·2543d81af6002520c9c40156ac6b6a4e10a40fed62f0ca64b1a813c4564621ea·...·]-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.28/doc/html/ct_netconfc.html
    
Offset 133, 50 lines modifiedOffset 133, 50 lines modified
133 and·with·support·for·RFC·5277,·NETCONF·Event·Notifications.</p><p><a·href=""·id="Connecting"></a></p><p><em>Connecting·to·a·NETCONF·server</em></p><p>Call·<a·href="#connect/1"><code·class="inline">connect/1,2</code></a>·to·establish·a·connection·to·a·server,·then133 and·with·support·for·RFC·5277,·NETCONF·Event·Notifications.</p><p><a·href=""·id="Connecting"></a></p><p><em>Connecting·to·a·NETCONF·server</em></p><p>Call·<a·href="#connect/1"><code·class="inline">connect/1,2</code></a>·to·establish·a·connection·to·a·server,·then
134 pass·the·returned·handle·to·<a·href="#session/1"><code·class="inline">session/1-3</code></a>·to·establish·a·NETCONF134 pass·the·returned·handle·to·<a·href="#session/1"><code·class="inline">session/1-3</code></a>·to·establish·a·NETCONF
135 session·on·a·new·SSH·channel.·Each·call·to·<a·href="#session/1"><code·class="inline">session/1-3</code></a>135 session·on·a·new·SSH·channel.·Each·call·to·<a·href="#session/1"><code·class="inline">session/1-3</code></a>
136 establishes·a·new·session·on·the·same·connection,·and·results·in·a·hello·message136 establishes·a·new·session·on·the·same·connection,·and·results·in·a·hello·message
137 to·the·server.</p><p>Alternately,·<a·href="#open/1"><code·class="inline">open/1,2</code></a>·can·be·used·to·establish·a·single·session·on137 to·the·server.</p><p>Alternately,·<a·href="#open/1"><code·class="inline">open/1,2</code></a>·can·be·used·to·establish·a·single·session·on
138 a·dedicated·connection.·(Or,·equivalently,·<a·href="#only_open/1"><code·class="inline">only_open/1,2</code></a>138 a·dedicated·connection.·(Or,·equivalently,·<a·href="#only_open/1"><code·class="inline">only_open/1,2</code></a>
139 followed·by·<a·href="#hello/1"><code·class="inline">hello/1-3</code></a>.)</p><p>Connect/session·options·can·be·specified·in·a·configuration·file·with·entries139 followed·by·<a·href="#hello/1"><code·class="inline">hello/1-3</code></a>.)</p><p>Connect/session·options·can·be·specified·in·a·configuration·file·with·entries
140 like·the·following.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7124491037-1">{</span><span·class="nf">server_id</span><span·class="p"·data-group-id="7124491037-2">(</span><span·class="p"·data-group-id="7124491037-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7124491037-3">[<[·...·truncated·by·diffoscope;·len:·236,·SHA:·9d121e53bb10049fb7e9cbf894d6af1b5cbe5d8d6bbb81ae9999a547f5721a07·...·]-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="2814925068-1">{</span><span·class="nf">server_id</span><span·class="p"·data-group-id="2814925068-2">(</span><span·class="p"·data-group-id="2814925068-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2814925068-3">[<[·...·truncated·by·diffoscope;·len:·236,·SHA:·424b13209964101a42dfad7235a017a30dcf2c5595b8fc4c27542d4b4eca8bef·...·]-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="0137780847-1">(</span><span·class="p"·data-group-id="0137780847-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="9005736838-1">(</span><span·class="p"·data-group-id="9005736838-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
154 ····</span><span·class="p"·data-group-id="0137780847-2">[</span><span·class="p"·data-group-id="0137780847-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0137780847-4">[</span><span·class="p"·data-group-id="0137780847-5">{</[·...·truncated·by·diffoscope;·len:·937,·SHA:·8f437ed6d7882d7a4cffe5040ab02dcb01280d8c819707a794e1410fcffc488a·...·]-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="9005736838-2">[</span><span·class="p"·data-group-id="9005736838-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9005736838-4">[</span><span·class="p"·data-group-id="9005736838-5">{</[·...·truncated·by·diffoscope;·len:·937,·SHA:·6c9df86f8f114d3dbf9cf9e723f8416fdfaf0f51de590eb4c882fdee4b747671·...·]-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="3567358839-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id="3567358839-2">[</span><span·class="p"·data-group-id="3567358839-3">{</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">conn_log_mod</span><span·class="p"·data-group-id="3567358839-4">(</span><span·class="p"·data-group-id="3567358839-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="3567358839-5">(</span><span·class="p"·data-group-id="3567358839-5">)</span><span·class="p"·data-group-id="3567358839-3">}</span><span·class="p"·data-group-id="3567358839-2">]</span><span·class="p"·data-group-id="3567358839-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="3841699127-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id="3841699127-2">[</span><span·class="p"·data-group-id="3841699127-3">{</span><span·class="ss">ct_netconfc</span><span·class="p">,</span><span·class="p"·data-group-id="3841699127-4">[</span><span·class="p"·data-group-id="3841699127-5">{</span><span·class="ss">log_type</span><span·class="p">,</span><span·class="ss">pretty</span><span·class="p"·data-group-id="3841699127-5">}</span><span·class="p">,</span><span·class="w"> 
166 ····························</span><span·class="p"·data-group-id="3841699127-6">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="3841699127-7">[</span><span·class="nc">ct</span><span·class="p">:</span><span·class=[·...·truncated·by·diffoscope;·len:·627,·SHA:·17152ea0306e6676428064fec18cacb5a333ddf985d0095c58a3aa45dd40cb39·...·]165 configuration·variable·<code·class="inline">ct_conn_log</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6209989669-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:·5a8d8c7b10d906d7d4cb3dbb6ff410fdd5fb6178c5391ceba98ac4c66e0a47a9·...·]
 166 ····························</span><span·class="p"·data-group-id="8001714513-6">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="8001714513-7">[</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">key_or_name</span><span·class="p"·data-group-id="8001714513-8">(</span><span·class="p"·data-group-id="8001714513-8">)</span><span·class="p"·data-group-id="8001714513-7">]</span><span·class="p"·data-group-id="8001714513-6">}</span><span·class="p"·data-group-id="8001714513-4">]</span><span·class="p"·data-group-id="8001714513-3">}</span><span·class="p"·data-group-id="8001714513-2">]</span><span·class="p"·data-group-id="8001714513-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="1058172308-1">(</span><span·class="p"·data-group-id="1058172308-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="7516350468-1">(</span><span·class="p"·data-group-id="7516350468-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
170 ···</span><span·class="p"·data-group-id="1058172308-2">[</span><span·class="p"·data-group-id="1058172308-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1058172308-4">[</span><span·class="p"·data-group-id="1058172308-5">{</[·...·truncated·by·diffoscope;·len:·486,·SHA:·5e201b06a9f964ee8d315dd385ca1705627740cec08a14880b50e69718d418d9·...·]8-9">}</span><span·class="p">}</span><span·class="p">,</span><span·class="w">170 ···</span><span·class="p"·data-group-id="7516350468-2">[</span><span·class="p"·data-group-id="7516350468-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7516350468-4">[</span><span·class="p"·data-group-id="7516350468-5">{</[·...·truncated·by·diffoscope;·len:·486,·SHA:·f6a97889627a39b310445903949d493deee76d3d2840af5fb5a7e62a741d8059·...·]8-9">}</span><span·class="p">}</span><span·class="p">,</span><span·class="w">
171 ··············································</span><span·class="p"·data-group-id="1058172308-10">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="1058172308-11">[</span><span·class="ss">nc_server1</span><span·class="p">,</span><span·class="ss">nc_server2</span><span·class="p"·data-group-id="105[·...·truncated·by·diffoscope;·len:·167,·SHA:·489736e9510df574e83b23fa4cfa368bafa8e8306ad8e9bfeb9d03a5a9aca9da·...·]8-7">}</span><span·class="w">171 ··············································</span><span·class="p"·data-group-id="7516350468-10">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="7516350468-11">[</span><span·class="ss">nc_server1</span><span·class="p">,</span><span·class="ss">nc_server2</span><span·class="p"·data-group-id="751[·...·truncated·by·diffoscope;·len:·167,·SHA:·9e6daf850f96fec0af2fd9e96de6ed8a5c812a51f5a351e3f1de51c636559a6f·...·]8-7">}</span><span·class="w">
172 ·······························</span><span·class="p"·data-group-id="1058172308-6">]</span><span·class="p"·data-group-id="1058172308-5">}</span><span·class="p"·data-group-id="1058172308-4">]</span><span·class="p"·data-group-id="1058172308-3">}</span><span·class="p"·data-group-id="1058172308-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="0030252815-1">(</span><span·class="ss">nc_server1</span><span·class="p">,</span><span·class="p"·data-group-id="0030252815-2">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0030252815-2">]</span><span·class="p"·data-group-id="0030252815-1">)</span><span·class="p">,</span><span·class="w"> 
173 </span><span·class="nf">open</span><span·class="p"·data-group-id="0030252815-3">(</span><span·class="ss">nc_server2</span><span·class="p">,</span><span·class="p"·data-group-id="0030252815-4">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0030252815-4">]</span><span·class="p"·data-group-id="0030252815-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="5156002408-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id="5156002408-2">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·892,·SHA:·a0aed38322306b04177555741af9916ed351f085803e0e0a4589730c9d32e968·...·]</span><span·class="w">172 ·······························</span><span·class="p"·data-group-id="7516350468-6">]</span><span·class="p"·data-group-id="7516350468-5">}</span><span·class="p"·data-group-id="7516350468-4">]</span><span·class="p"·data-group-id="7516350468-3">}</span><span·[·...·truncated·by·diffoscope;·len:·564,·SHA:·e166a416e7e0099e340461abe4d0afe40ac3b056d8cab60e4851a65c2953d042·...·]</span><span·class="w">
 173 </span><span·class="nf">open</span><span·class="p"·data-group-id="0927530167-3">(</span><span·class="ss">nc_server2</span><span·class="p">,</span><span·class="p"·data-group-id="0927530167-4">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0927530167-4">]</span><span·class="p"·data-group-id="0927530167-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="1349845084-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id="1349845084-2">[</span><span·class="p"·data-group-id="1349845084-3">{</span><span·class="ss">ct_netconfc</span><span·class="p">,</span><span·class="p"·data-group-id="1349845084-4">[</span><span·class="p"·data-group-id="1349845084-5">{</span><span·class="ss">log_type</span><span·class="p">,</span><span·class="ss">raw</span><span·class="p"·data-group-id="1349845084-5">}</span><span·class="p"·data-group-id="1349845084-4">]</span><span·class="p"·data-group-id="1349845084-3">}</span><span·class="p"·data-group-id="1349845084-2">]</span><span·class="p"·data-group-id="1349845084-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="0501473802-1">(</span><span·class="p"·data-group-id="0501473802-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
175 ····</span><span·class="p"·data-group-id="6504969433-2">[</span><span·class="p"·data-group-id="6504969433-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6504969433-4">[</span><span·class="p"·data-group-id="6504969433-5">{</[·...·truncated·by·diffoscope;·len:·395,·SHA:·1eb71ec147094f9b37c377fbef0405c6658908c46d2b89346bea7574a6a0ddde·...·]-2">]</span><span·class="p">.</span></code></pre><p>The·same·<code·class="inline">ct_hooks</code>·statement·without·the·configuration·file·would·cause·HTML175 ····</span><span·class="p"·data-group-id="0501473802-2">[</span><span·class="p"·data-group-id="0501473802-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0501473802-4">[</span><span·class="p"·data-group-id="0501473802-5">{</[·...·truncated·by·diffoscope;·len:·395,·SHA:·d7d757cbd9a3479615cdbf76d840a22142a9349cedad098ca9ccf5faebe36805·...·]-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="5202366284-1">[</span><span·class="p"·data-group-id="5202366284-2">{</span><span·class="ss">&#39;default-operation&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5202366284-3">[</span><span·class="s">&quot;none&qu[·...·truncated·by·diffoscope;·len:·104,·SHA:·a2ac5cb30f3c5fe28b7d852872e13fc204754875905a70d98e4c67fd2f517f6f·...·]-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="7328418343-1">[</span><span·class="p"·data-group-id="7328418343-2">{</span><span·class="ss">&#39;default-operation&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7328418343-3">[</span><span·class="s">&quot;none&qu[·...·truncated·by·diffoscope;·len:·104,·SHA:·26e370639d390c3068a375886b52f41bddea22a547e5bc0e365834442871dacc·...·]-2">}</span><span·class="p">,</span><span·class="w">
2103 ·</span><span·class="p"·data-group-id="5202366284-4">{</span><span·class="ss">&#39;error-option&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5202366284-5">[</span><span·class="s">&quot;rollback-on-error&quot;</span><span·class="p"·data-group-id="5202[·...·truncated·by·diffoscope;·len:·112,·SHA:·6fa7413669c504b160a15c8f8e93cf450a6f6ec0fa24beb961e6976a7fc1c76b·...·]-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="7328418343-4">{</span><span·class="ss">&#39;error-option&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7328418343-5">[</span><span·class="s">&quot;rollback-on-error&quot;</span><span·class="p"·data-group-id="7328[·...·truncated·by·diffoscope;·len:·112,·SHA:·6e9f649cf9c530e4e98cf934ee28c178e620ebaaedf72f117a8241f84b1912dc·...·]-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.28/doc/html/ct_property_test.html
    
Offset 131, 38 lines modifiedOffset 131, 38 lines modified
131 <p>Support·in·Common·Test·for·running·property-based·tests.</p><p>This·module·helps·running·property-based·tests·in·the·<code·class="inline">Common·Test</code>·framework.131 <p>Support·in·Common·Test·for·running·property-based·tests.</p><p>This·module·helps·running·property-based·tests·in·the·<code·class="inline">Common·Test</code>·framework.
132 One·(or·more)·of·the·property·testing·tools</p><ul><li><a·href="http://www.quviq.com">QuickCheck</a>,</li><li><a·href="https://proper-testing.github.io">PropEr</a>·or</li><li><a·href="https://github.com/krestenkrab/triq">Triq</a></li></ul><p>is·assumed·to·be·installed.</p><p>The·idea·with·this·module·is·to·have·a·<code·class="inline">Common·Test</code>·test·suite·calling·a132 One·(or·more)·of·the·property·testing·tools</p><ul><li><a·href="http://www.quviq.com">QuickCheck</a>,</li><li><a·href="https://proper-testing.github.io">PropEr</a>·or</li><li><a·href="https://github.com/krestenkrab/triq">Triq</a></li></ul><p>is·assumed·to·be·installed.</p><p>The·idea·with·this·module·is·to·have·a·<code·class="inline">Common·Test</code>·test·suite·calling·a
133 property·testing·tool·with·special·property·test·suites·as·defined·by·that·tool.133 property·testing·tool·with·special·property·test·suites·as·defined·by·that·tool.
134 The·tests·are·collected·in·the·<code·class="inline">test</code>·directory·of·the·application.·The·<code·class="inline">test</code>134 The·tests·are·collected·in·the·<code·class="inline">test</code>·directory·of·the·application.·The·<code·class="inline">test</code>
135 directory·has·a·subdirectory·<code·class="inline">property_test</code>,·where·everything·needed·for·the135 directory·has·a·subdirectory·<code·class="inline">property_test</code>,·where·everything·needed·for·the
136 property·tests·are·collected.·The·usual·Erlang·application·directory·structure136 property·tests·are·collected.·The·usual·Erlang·application·directory·structure
137 is·assumed.</p><p>A·typical·<code·class="inline">Common·Test</code>·test·suite·using·<code·class="inline">ct_property_test</code>·is·organized·as137 is·assumed.</p><p>A·typical·<code·class="inline">Common·Test</code>·test·suite·using·<code·class="inline">ct_property_test</code>·is·organized·as
138 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9086531069-1">(</span><span·class="ss">my_prop_test_SUITE</span><span·class="p"·data-group-id="9086531069-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="1298472335-1">(</span><span·class="ss">my_prop_test_SUITE</span><span·class="p"·data-group-id="1298472335-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="9086531069-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="9086531069-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="1298472335-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="1298472335-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="9086531069-3">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="9086531069-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="1298472335-3">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="1298472335-3">)</span><span·class="p">.</span><span·class="w">
  
142 </span><span·class="nf">all</span><span·class="p"·data-group-id="9086531069-4">(</span><span·class="p"·data-group-id="9086531069-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9086531069-5">[</span><span·class="ss">prop_ftp_case</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·ff434a4d5ad6ec68310406ed4b19d37ffeb2f8dac2583244337335033f7f40e0·...·]-5">]</span><span·class="p">.</span><span·class="w">142 </span><span·class="nf">all</span><span·class="p"·data-group-id="1298472335-4">(</span><span·class="p"·data-group-id="1298472335-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1298472335-5">[</span><span·class="ss">prop_ftp_case</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·194b06279a622d5435ecf7256ebd2ef790d8d1b32002fcac5b67c69d67cb1519·...·]-5">]</span><span·class="p">.</span><span·class="w">
  
143 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="9086531069-6">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9086531069-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="1298472335-6">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1298472335-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="9086531069-7">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9086531069-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="1298472335-7">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1298472335-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="9086531069-8">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9086531069-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="1298472335-8">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1298472335-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="9086531069-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="1298472335-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="9086531069-10">(</span><span·class="p"·data-group-id="9086531069-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="1298472335-10">(</span><span·class="p"·data-group-id="1298472335-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="9086531069-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="1298472335-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="2573397600-1">(</span><span·class="ss">ftp_simple_client_server</span><span·class="p"·data-group-id="2573397600-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="1862413597-1">(</span><span·class="ss">ftp_simple_client_server</span><span·class="p"·data-group-id="1862413597-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="2573397600-2">(</span><span·class="p"·data-group-id="2573397600-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:·9347f0f584d15ae5afe48a20a6e230d38542cac3f3e8910295fd940662594cdf·...·]-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="1862413597-2">(</span><span·class="p"·data-group-id="1862413597-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:·b308d5e66a2be8ce87f0e14dbc45ce6e0bb8ed2f653846c4938c9fa05af87beb·...·]-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="2573397600-4">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="2573397600-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="1862413597-4">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="1862413597-4">)</span><span·class="p">.</span><span·class="w">
  
156 </span><span·class="nf">prop_ftp</span><span·class="p"·data-group-id="2573397600-5">(</span><span·class="p"·data-group-id="2573397600-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="1862413597-5">(</span><span·class="p"·data-group-id="1862413597-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="2573397600-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="1862413597-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="7964218307-1">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="7964218307-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="5348082293-1">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="5348082293-1">)</span><span·class="p">.</span></code></pre><p>This·included·file·will:</p><ul><li>Include·the·correct·tool's·include·file</li><li>Set·the·macro·<code·class="inline">'MOD_eqc'</code>·to·the·correct·module·name·for·the·selected·tool.
850 That·is,·the·macro·<code·class="inline">'MOD_eqc'</code>·is·set·to·either·<code·class="inline">eqc</code>,·<code·class="inline">proper</code>·or·<code·class="inline">triq</code>.</li></ul>850 That·is,·the·macro·<code·class="inline">'MOD_eqc'</code>·is·set·to·either·<code·class="inline">eqc</code>,·<code·class="inline">proper</code>·or·<code·class="inline">triq</code>.</li></ul>
851 ··</section>851 ··</section>
852 </section>852 </section>
853 <section·class="detail"·id="num_calls/1">853 <section·class="detail"·id="num_calls/1">
  
854 ··<div·class="detail-header">854 ··<div·class="detail-header">
855 ····<a·href="#num_calls/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">855 ····<a·href="#num_calls/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 947, 34 lines modifiedOffset 947, 34 lines modified
947 ····························Config·::·<a·href="../../../../lib/stdlib-7.0/doc/html/proplists.html#t:proplist/0">proplists:proplist</a>(),947 ····························Config·::·<a·href="../../../../lib/stdlib-7.0/doc/html/proplists.html#t:proplist/0">proplists:proplist</a>(),
948 ····························Options0·::·<a·href="../../../../lib/stdlib-7.0/doc/html/proplists.html#t:proplist/0">proplists:proplist</a>().</pre>948 ····························Options0·::·<a·href="../../../../lib/stdlib-7.0/doc/html/proplists.html#t:proplist/0">proplists:proplist</a>().</pre>
  
949 ······</div>949 ······</div>
  
950 <p>Presents·the·result·of·<em>stateful·(statem)·property·testing</em>·using·the·aggregate950 <p>Presents·the·result·of·<em>stateful·(statem)·property·testing</em>·using·the·aggregate
951 function·in·PropEr,·QuickCheck·or·other·similar·property·testing·tool.</p><p>It·is·assumed·to·be·called·inside·the·property·called·by·<a·href="#quickcheck/2"><code·class="inline">quickcheck/2</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">951 function·in·PropEr,·QuickCheck·or·other·similar·property·testing·tool.</p><p>It·is·assumed·to·be·called·inside·the·property·called·by·<a·href="#quickcheck/2"><code·class="inline">quickcheck/2</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
952 </span><span·class="n">RunResult</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">run_parallel_commands</span><span·class="p"·data-group-id="0563874828-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="0563874828-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="2180405203-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="2180405203-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="0563874828-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:·098dd05e8730c5cb0054802612a358a309cd2da18f4ed93875b379da71340fe7·...·]-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="2180405203-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:·82cb27d0da37f5269bdc132caf485482e8224f4b967d2bf01b9c1128fe0e52bf·...·]-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="6642997912-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="6642997912-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="3622287393-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="3622287393-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="1328969835-1">[</span><span·class="p"·data-group-id="1328969835-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:·9206a698b09da987c7d7ea8019383f29888f2c2bf1189f65e4c3767771813d3f·...·]-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="7448578921-1">[</span><span·class="p"·data-group-id="7448578921-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:·f42b4c906ffa5b7b972dd8f76905443884af4e60b4669b19f86df9b071ea535a·...·]-2">}</span><span·class="p">,</span><span·class="w">
967 ·</span><span·class="p"·data-group-id="1328969835-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="7448578921-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="1328969835-3">}</span><span·class="p"·data-group-id="1328969835-1">]</span></code></pre></li><li><p>For·parallel·commands:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3628751934-1">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·322,·SHA:·e46ce1c0d84bdd77a8ebf91e547ab58d1d0dc847940a2488e287471bdff6df25·...·]-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="7448578921-3">}</span><span·class="p"·data-group-id="7448578921-1">]</span></code></pre></li><li><p>For·parallel·commands:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8180703733-1">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·322,·SHA:·42bead981daa8ec0a345219592da641fcf094516ba7b9577d0ff835011a06d52·...·]-2">}</span><span·class="p">,</span><span·class="w">
969 ·</span><span·class="p"·data-group-id="3628751934-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:·66bb830ec10b2195b4024e3dbffec040a2caca24d986d9ecac2f8ea583fd1665·...·]-3">}</span><span·class="p">,</span><span·class="w">969 ·</span><span·class="p"·data-group-id="8180703733-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:·6edb4ec4b3f444925e37495da6d413a804a016e33c00f2db606b7fe4da8730d6·...·]-3">}</span><span·class="p">,</span><span·class="w">
970 ·</span><span·class="p"·data-group-id="3628751934-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="8180703733-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="3628751934-4">}</span><span·class="p"·data-group-id="3628751934-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="8180703733-4">}</span><span·class="p"·data-group-id="8180703733-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.28/doc/html/ct_property_test_chapter.html
    
Offset 143, 59 lines modifiedOffset 143, 59 lines modified
143 <p>The·<a·href="ct_property_test.html#">ct_property_test</a>·module·does·the·following:</p><ul><li>Compiles·the·files·with·property·tests·in·the·subdirectory·<code·class="inline">property_test</code></li><li>Tests·properties·in·those·files·using·the·first·found·Property·Testing·Tool.</li><li>Saves·the·results·-·that·is·the·printouts·-·in·the·usual·Common·Test·Log</li></ul><h2·id="introductory-example"·class="section-heading">143 <p>The·<a·href="ct_property_test.html#">ct_property_test</a>·module·does·the·following:</p><ul><li>Compiles·the·files·with·property·tests·in·the·subdirectory·<code·class="inline">property_test</code></li><li>Tests·properties·in·those·files·using·the·first·found·Property·Testing·Tool.</li><li>Saves·the·results·-·that·is·the·printouts·-·in·the·usual·Common·Test·Log</li></ul><h2·id="introductory-example"·class="section-heading">
144 ··<a·href="#introductory-example"·class="hover-link">144 ··<a·href="#introductory-example"·class="hover-link">
145 ····<i·class="ri-link-m"·aria-hidden="true"></i>145 ····<i·class="ri-link-m"·aria-hidden="true"></i>
146 ··</a>146 ··</a>
147 ··<span·class="text">Introductory·Example</span>147 ··<span·class="text">Introductory·Example</span>
148 </h2>148 </h2>
149 <p>Assume·that·we·want·to·test·the·lists:sort/1·function.</p><p>We·need·a·property·to·test·the·function.·In·normal·way,·we·create149 <p>Assume·that·we·want·to·test·the·lists:sort/1·function.</p><p>We·need·a·property·to·test·the·function.·In·normal·way,·we·create
150 <code·class="inline">property_test/ct_prop.erl</code>·module·in·the·<code·class="inline">test</code>·directory·in·our·application:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4006477043-1">(</span><span·class="ss">ct_prop</span><span·class="p"·data-group-id="4006477043-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="9305087278-1">(</span><span·class="ss">ct_prop</span><span·class="p"·data-group-id="9305087278-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="4006477043-2">(</span><span·class="p"·data-group-id="4006477043-3">[</span><span·class="ss">prop_sort</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="4006477043-3">]</span><span·class="p"·data-group-id="4006477043-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="9305087278-2">(</span><span·class="p"·data-group-id="9305087278-3">[</span><span·class="ss">prop_sort</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9305087278-3">]</span><span·class="p"·data-group-id="9305087278-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="4006477043-4">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="4006477043-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="9305087278-4">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="9305087278-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="4006477043-5">(</span><span·class="p"·data-group-id="4006477043-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="9305087278-5">(</span><span·class="p"·data-group-id="9305087278-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="4006477043-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="4006477043-7">(</span><span·class="p"·data-group-id="4006477043-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="9305087278-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="9305087278-7">(</span><span·class="p"·data-group-id="9305087278-7">)</span><span·class="p">,</span><span·class="w">
159 ············</span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="4006477043-8">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="4006477043-9">(</span><span·class="n">UnSorted</span><span·class="p"·data-group-id="4006477043-9">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·b19daf5aa9b7c0c0d0ed64f540b761d1f063a4a9fc72cb87e502c4c669fde68c·...·]-8">)</span><span·class="w">159 ············</span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="9305087278-8">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="9305087278-9">(</span><span·class="n">UnSorted</span><span·class="p"·data-group-id="9305087278-9">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·bdabb6851841f6749e1108be69696de1e63415ea99109fe5a078c43bce80b437·...·]-8">)</span><span·class="w">
160 ···········</span><span·class="p"·data-group-id="4006477043-6">)</span><span·class="p">.</span><span·class="w">160 ···········</span><span·class="p"·data-group-id="9305087278-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="4006477043-10">(</span><span·class="p"·data-group-id="4006477043-11">[</span><span·class="p"·data-group-id="4006477043-11">]</span><span·class="p"·data-group-id="4006477043-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="9305087278-10">(</span><span·class="p"·data-group-id="9305087278-11">[</span><span·class="p"·data-group-id="9305087278-11">]</span><span·class="p"·data-group-id="9305087278-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="4006477043-12">(</span><span·class="p"·data-group-id="4006477043-13">[</span><span·class="p">_</span><span·class="p"·data-group-id="4006477043-13">]</span><span·class="p"·data-group-id="4006477043-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="9305087278-12">(</span><span·class="p"·data-group-id="9305087278-13">[</span><span·class="p">_</span><span·class="p"·data-group-id="9305087278-13">]</span><span·class="p"·data-group-id="9305087278-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="4006477043-14">(</span><span·class="p"·data-group-id="4006477043-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="4006477043-15">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·92abcfc136124be421b82029b4e05f002a0a10f678111836bc7f78f803286426·...·]-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="9305087278-14">(</span><span·class="p"·data-group-id="9305087278-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="9305087278-15">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·47b837088e8af86b322a1efa736d46b117aea1d36fc93cf8c970f8aa41aed079·...·]-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="4006477043-16">(</span><span·class="p"·data-group-id="4006477043-17">[</span><span·class="n">H2</span><span·class="p">|</span><span·class="n">SortedTail</span><span·class="p"·data-group-id="4006477043-17">]</span><span·class="p"·data-group-id="4006477043-16">)</span><span·class="p">;</span><span·class="w">167 ····</span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="9305087278-16">(</span><span·class="p"·data-group-id="9305087278-17">[</span><span·class="n">H2</span><span·class="p">|</span><span·class="n">SortedTail</span><span·class="p"·data-group-id="9305087278-17">]</span><span·class="p"·data-group-id="9305087278-16">)</span><span·class="p">;</span><span·class="w">
168 </span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="4006477043-18">(</span><span·class="p">_</span><span·class="p"·data-group-id="4006477043-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="9305087278-18">(</span><span·class="p">_</span><span·class="p"·data-group-id="9305087278-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="2862437304-1">(</span><span·class="ss">ct_property_test_SUITE</span><span·class="p"·data-group-id="2862437304-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="1729634035-1">(</span><span·class="ss">ct_property_test_SUITE</span><span·class="p"·data-group-id="1729634035-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="2862437304-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="2862437304-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="1729634035-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="1729634035-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="2862437304-3">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="2862437304-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="1729634035-3">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="1729634035-3">)</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="nf">all</span><span·class="p"·data-group-id="2862437304-4">(</span><span·class="p"·data-group-id="2862437304-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2862437304-5">[</span><span·class="ss">prop_sort</span><span·class="w">173 </span><span·class="nf">all</span><span·class="p"·data-group-id="1729634035-4">(</span><span·class="p"·data-group-id="1729634035-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1729634035-5">[</span><span·class="ss">prop_sort</span><span·class="w">
174 ·········</span><span·class="p"·data-group-id="2862437304-5">]</span><span·class="p">.</span><span·class="w">174 ·········</span><span·class="p"·data-group-id="1729634035-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="2862437304-6">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2862437304-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="1729634035-6">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1729634035-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="2862437304-7">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2862437304-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="1729634035-7">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1729634035-7">)</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="2862437304-8">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2862437304-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="1729634035-8">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1729634035-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="2862437304-9">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2862437304-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="1729634035-9">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1729634035-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="2862437304-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="1729634035-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="2862437304-11">(</span><span·class="p"·data-group-id="2862437304-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="1729634035-11">(</span><span·class="p"·data-group-id="1729634035-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="2862437304-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="1729634035-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="3360123764-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3360123764-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="4429319040-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="4429319040-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="3360123764-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="4429319040-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="3360123764-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="3360123764-4">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·0d7040e734c0d92651e2e356fad5eb9179e9872410db9e1594e2b52292e0cd73·...·]-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="4429319040-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="4429319040-4">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·670136b01038005b5002f238b2c7454ea976b99a6656c0b2f805b434ff9f9807·...·]-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="3360123764-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="3360123764-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="4429319040-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="4429319040-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="3360123764-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:·60b9599ea3ee23e8be3ec0e7411cecec9a5d08ba4229cd67fc779c0c39efefd9·...·]-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="4429319040-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:·4321e073d268b80249d1c6328727e91899d0d7a0fab8cdc37387105432e47f1c·...·]-6">)</span><span·class="w">
230 ·····················</span><span·class="k">end</span><span·class="p"·data-group-id="3360123764-3">)</span><span·class="p"·data-group-id="3360123764-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="4429319040-3">)</span><span·class="p"·data-group-id="4429319040-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.49 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_rpc.html
    
Offset 553, 15 lines modifiedOffset 553, 15 lines modified
553 ······<p·class="built-using">553 ······<p·class="built-using">
554 ········Built·using554 ········Built·using
555 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the555 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
556 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>556 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
557 ······</p>557 ······</p>
558 <p>Copyright·©·1996-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.05 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_run_cmd.html
    
Offset 247, 18 lines modifiedOffset 247, 18 lines modified
247 ··[-keep_logs·all·|·NLogs]</code></pre><h2·id="run-common-test-in-interactive-mode"·class="section-heading">247 ··[-keep_logs·all·|·NLogs]</code></pre><h2·id="run-common-test-in-interactive-mode"·class="section-heading">
248 ··<a·href="#run-common-test-in-interactive-mode"·class="hover-link">248 ··<a·href="#run-common-test-in-interactive-mode"·class="hover-link">
249 ····<i·class="ri-link-m"·aria-hidden="true"></i>249 ····<i·class="ri-link-m"·aria-hidden="true"></i>
250 ··</a>250 ··</a>
251 ··<span·class="text">Run·Common·Test·in·Interactive·Mode</span>251 ··<span·class="text">Run·Common·Test·in·Interactive·Mode</span>
252 </h2>252 </h2>
253 <pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="ss">ct_run</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">shell</span><span·class="w">253 <pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="ss">ct_run</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">shell</span><span·class="w">
254 ··</span><span·class="p"·data-group-id="0489562173-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:·42579736ac97d29baa0ee7676fd71d07ec97f90cc37f826435e6ab0bc27cb030·...·]-1">]</span><span·class="w">254 ··</span><span·class="p"·data-group-id="9091268492-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:·9fb622a0207031960d6e769b21bd58fbd8d1f0dbe9797addb1527fa14141033b·...·]-1">]</span><span·class="w">
255 ··</span><span·class="p"·data-group-id="0489562173-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="9091268492-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="0489562173-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="9091268492-2">]</span><span·class="w">
257 ··</span><span·class="p"·data-group-id="0489562173-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="0489562173-3">]</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·208,·SHA:·595796a6d3d84c9db7fa60c7a7d1d798bcc18e994b4724397a7ecd15974dc9f6·...·]-4">]</span></code></pre><h2·id="start-a-common-test-master-node"·class="section-heading">257 ··</span><span·class="p"·data-group-id="9091268492-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="9091268492-3">]</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·208,·SHA:·e929fada8d55c11e12c416bbe3a51cd0625f21941a40fb184fdef1b4aef59763·...·]-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.46 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_slave.html
    
Offset 549, 15 lines modifiedOffset 549, 15 lines modified
549 ······<p·class="built-using">549 ······<p·class="built-using">
550 ········Built·using550 ········Built·using
551 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the551 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
552 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>552 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
553 ······</p>553 ······</p>
554 <p>Copyright·©·1996-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.28/doc/html/ct_snmp.html
    
Offset 146, 23 lines modifiedOffset 146, 23 lines modified
146 configuration·files·have·default·values·set·by·the·<code·class="inline">SNMP</code>·application.·These146 configuration·files·have·default·values·set·by·the·<code·class="inline">SNMP</code>·application.·These
147 values·can·be·overridden·by·suppling·a·list·of·valid·configuration·values·or·a147 values·can·be·overridden·by·suppling·a·list·of·valid·configuration·values·or·a
148 file·located·in·the·test·suites·data·directory,·which·can·produce·a·list·of148 file·located·in·the·test·suites·data·directory,·which·can·produce·a·list·of
149 valid·configuration·values·if·you·apply·function·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>·to·the·file.</p><ul><li><p><strong><code·class="inline">{agent_contexts,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_community,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_sysinfo,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_vacm,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_usm,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_notify_def,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_target_address_def,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-149 valid·configuration·values·if·you·apply·function·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>·to·the·file.</p><ul><li><p><strong><code·class="inline">{agent_contexts,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_community,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_sysinfo,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_vacm,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_usm,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_notify_def,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_target_address_def,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-
150 Optional.</p></li><li><p><strong><code·class="inline">{agent_target_param_def,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-150 Optional.</p></li><li><p><strong><code·class="inline">{agent_target_param_def,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-
151 Optional.</p></li></ul><p>Parameter·<code·class="inline">MgrAgentConfName</code>·in·the·functions·is·to·be·a·name·you·allocate·in151 Optional.</p></li></ul><p>Parameter·<code·class="inline">MgrAgentConfName</code>·in·the·functions·is·to·be·a·name·you·allocate·in
152 your·test·suite·using·a·<code·class="inline">require</code>·statement.·Example·(where152 your·test·suite·using·a·<code·class="inline">require</code>·statement.·Example·(where
153 <code·class="inline">MgrAgentConfName·=·snmp_mgr_agent</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="0676763132-1">(</span><span·class="p"·data-group-id="0676763132-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0676763132-2">[</span><span·class="p"·data-group-id="0676763132-3">{</span[·...·truncated·by·diffoscope;·len:·683,·SHA:·76c59b80f15371f6267158c653d2c1a26a02f3ed027a908194089191331779f5·...·]-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="3191947146-1">(</span><span·class="p"·data-group-id="3191947146-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3191947146-2">[</span><span·class="p"·data-group-id="3191947146-3">{</span[·...·truncated·by·diffoscope;·len:·683,·SHA:·74a1f818779a215477fca96efb308fb8036458a04d8136c0a8d20c2776db8fdd·...·]-1">)</span><span·class="p">.</span></code></pre><p>Notice·that·USM·users·are·needed·for·SNMPv3·configuration·and·are·not·to·be
154 confused·with·users.</p><p>SNMP·traps,·inform,·and·report·messages·are·handled·by·the·user·callback·module.154 confused·with·users.</p><p>SNMP·traps,·inform,·and·report·messages·are·handled·by·the·user·callback·module.
155 For·details,·see·the·<a·href="../../../../lib/snmp-5.19/doc/html/index.html"><code·class="inline">SNMP</code></a>·application.</p><p>It·is·recommended·to·use·the·<code·class="inline">.hrl</code>·files·created·by·the·Erlang/OTP·MIB·compiler155 For·details,·see·the·<a·href="../../../../lib/snmp-5.19/doc/html/index.html"><code·class="inline">SNMP</code></a>·application.</p><p>It·is·recommended·to·use·the·<code·class="inline">.hrl</code>·files·created·by·the·Erlang/OTP·MIB·compiler
156 to·define·the·Object·Identifiers·(OIDs).·For·example,·to·get·the·Erlang·node156 to·define·the·Object·Identifiers·(OIDs).·For·example,·to·get·the·Erlang·node
157 name·from·<code·class="inline">erlNodeTable</code>·in·the·OTP-MIB:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Oid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">erlNodeEntry</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="2177075695-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="2177075695-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="2313104490-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="2313104490-1">]</span></code></pre><p>Furthermore,·values·can·be·set·for·<code·class="inline">SNMP</code>·application·configuration·parameters,
158 <code·class="inline">config</code>,·<code·class="inline">server</code>,·<code·class="inline">net_if</code>,·and·so·on·(for·a·list·of·valid·parameters·and158 <code·class="inline">config</code>,·<code·class="inline">server</code>,·<code·class="inline">net_if</code>,·and·so·on·(for·a·list·of·valid·parameters·and
159 types,·see·the·<a·href="../../../../lib/snmp-5.19/doc/html/index.html"><code·class="inline">User's·Guide·for·the·SNMP·application</code></a>).159 types,·see·the·<a·href="../../../../lib/snmp-5.19/doc/html/index.html"><code·class="inline">User's·Guide·for·the·SNMP·application</code></a>).
160 This·is·done·by·defining·a·configuration·data·variable·on·the·following·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4269429289-1">{</span><span·class="ss">snmp_app</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4269429289-2">[</span><span·class="p"·data-group-id="4269429289-3">{</span><span·class="ss">manager</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·331,·SHA:·829e66f6fe1a50db3fffbac9145f07a14d433cff7897081e7d77b2ca0c9d3e42·...·]-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="3731169035-1">{</span><span·class="ss">snmp_app</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3731169035-2">[</span><span·class="p"·data-group-id="3731169035-3">{</span><span·class="ss">manager</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·331,·SHA:·407a70d9bf49791cade15299bf1c4967a982d2bdd32ec4a1ab1511330a6a5e48·...·]-3">}</span><span·class="p">,</span><span·class="w">
161 ············</span><span·class="p"·data-group-id="4269429289-6">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4269429289-7">[</span><span·class="nf">snmp_app_agent_params</span><span·class="p"·data-group-id="4269429289-8">(</span><span·[·...·truncated·by·diffoscope;·len:·247,·SHA:·bf15c55743516e1d0a7e5270637622ffde64e6334b812adbb3e6770fc93b1938·...·]-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="3731169035-6">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3731169035-7">[</span><span·class="nf">snmp_app_agent_params</span><span·class="p"·data-group-id="3731169035-8">(</span><span·[·...·truncated·by·diffoscope;·len:·247,·SHA:·91d4f8b30ab2754b4141115fe54df2e731be020a9bf48e46f32c399c3639a022·...·]-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.12 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_ssh.html
    
Offset 129, 22 lines modifiedOffset 129, 22 lines modified
  
129 ····<section·id="moduledoc">129 ····<section·id="moduledoc">
130 <p>SSH/SFTP·client·module.</p><p>This·module·uses·application·<code·class="inline">SSH</code>,·which·provides·detailed·information·about,130 <p>SSH/SFTP·client·module.</p><p>This·module·uses·application·<code·class="inline">SSH</code>,·which·provides·detailed·information·about,
131 for·example,·functions,·types,·and·options.</p><p>Argument·<code·class="inline">Server</code>·in·the·SFTP·functions·is·only·to·be·used·for·SFTP·sessions131 for·example,·functions,·types,·and·options.</p><p>Argument·<code·class="inline">Server</code>·in·the·SFTP·functions·is·only·to·be·used·for·SFTP·sessions
132 that·have·been·started·on·existing·SSH·connections·(that·is,·when·the·original132 that·have·been·started·on·existing·SSH·connections·(that·is,·when·the·original
133 connection·type·is·<code·class="inline">ssh</code>).·Whenever·the·connection·type·is·<code·class="inline">sftp</code>,·use·the·SSH133 connection·type·is·<code·class="inline">ssh</code>).·Whenever·the·connection·type·is·<code·class="inline">sftp</code>,·use·the·SSH
134 connection·reference·only.</p><p>The·following·options·are·valid·for·specifying·an·SSH/SFTP·connection·(that·is,134 connection·reference·only.</p><p>The·following·options·are·valid·for·specifying·an·SSH/SFTP·connection·(that·is,
135 can·be·used·as·configuration·elements):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0586814943-1">[</span><span·class="p"·data-group-id="0586814943-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="0586814943-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="5311103663-1">[</span><span·class="p"·data-group-id="5311103663-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="5311103663-2">}</span><span·class="p">,</span><span·class="w">
136 ·</span><span·class="p"·data-group-id="0586814943-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="0586814943-3">}</span><span·class="p">,</span><span·class="w">136 ·</span><span·class="p"·data-group-id="5311103663-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="5311103663-3">}</span><span·class="p">,</span><span·class="w">
137 ·</span><span·class="p"·data-group-id="0586814943-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="0586814943-4">}</span><span·class="w">137 ·</span><span·class="p"·data-group-id="5311103663-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="5311103663-4">}</span><span·class="w">
138 ·</span><span·class="p"·data-group-id="0586814943-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="0586814943-5">}</span><span·class="w">138 ·</span><span·class="p"·data-group-id="5311103663-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="5311103663-5">}</span><span·class="w">
139 ·</span><span·class="p"·data-group-id="0586814943-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="0586814943-6">}</span><span·class="w">139 ·</span><span·class="p"·data-group-id="5311103663-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="5311103663-6">}</span><span·class="w">
140 ·</span><span·class="p"·data-group-id="0586814943-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="0586814943-7">}</span><span·class="w">140 ·</span><span·class="p"·data-group-id="5311103663-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="5311103663-7">}</span><span·class="w">
141 ·</span><span·class="p"·data-group-id="0586814943-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="0586814943-8">}</span><span·class="w">141 ·</span><span·class="p"·data-group-id="5311103663-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="5311103663-8">}</span><span·class="w">
142 ·</span><span·class="p"·data-group-id="0586814943-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="0586814943-9">}</span><span·class="p"·data-group-id="0586814943-1">]</span></code></pre><p><code·class="inline">ConnType·=·ssh·|·sftp</code>.</p><p>For·other·types,·see·<a·href="../../../../lib/ssh-5.3/doc/html/ssh.html"><code·class="inline">ssh</code></a>.</p><p>All·time-out·parameters·in·<code·class="inline">ct_ssh</code>·functions·are·values·in·milliseconds.</p>142 ·</span><span·class="p"·data-group-id="5311103663-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="5311103663-9">}</span><span·class="p"·data-group-id="5311103663-1">]</span></code></pre><p><code·class="inline">ConnType·=·ssh·|·sftp</code>.</p><p>For·other·types,·see·<a·href="../../../../lib/ssh-5.3/doc/html/ssh.html"><code·class="inline">ssh</code></a>.</p><p>All·time-out·parameters·in·<code·class="inline">ct_ssh</code>·functions·are·values·in·milliseconds.</p>
143 ····</section>143 ····</section>
  
144 </div>144 </div>
  
145 ··<section·id="summary"·class="details-list">145 ··<section·id="summary"·class="details-list">
146 ····<h1·class="section-heading">146 ····<h1·class="section-heading">
147 ······<a·class="hover-link"·href="#summary">147 ······<a·class="hover-link"·href="#summary">
Offset 3708, 15 lines modifiedOffset 3708, 15 lines modified
3708 ······<p·class="built-using">3708 ······<p·class="built-using">
3709 ········Built·using3709 ········Built·using
3710 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3710 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3711 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3711 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3712 ······</p>3712 ······</p>
3713 <p>Copyright·©·1996-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.56 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_suite.html
    
Offset 1584, 15 lines modifiedOffset 1584, 15 lines modified
1584 ······<p·class="built-using">1584 ······<p·class="built-using">
1585 ········Built·using1585 ········Built·using
1586 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1586 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1587 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1587 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1588 ······</p>1588 ······</p>
1589 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1589 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1590 ····</footer>1590 ····</footer>
1591 ··</div>1591 ··</div>
1592 </main>1592 </main>
1593 </div>1593 </div>
1594 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1594 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1595 ··<script>1595 ··<script>
1596 ··let·initialized·=·false;1596 ··let·initialized·=·false;
748 B
html2text {}
Max HTML report size reached
33.7 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_telnet.html
    
Offset 132, 38 lines modifiedOffset 132, 38 lines modified
132 matching·on·the·result.·For·information·about·how·to·use·<code·class="inline">ct_telnet</code>·and132 matching·on·the·result.·For·information·about·how·to·use·<code·class="inline">ct_telnet</code>·and
133 configure·connections,·specifically·for·UNIX·hosts,·see·the·<a·href="unix_telnet.html"><code·class="inline">unix_telnet</code></a>133 configure·connections,·specifically·for·UNIX·hosts,·see·the·<a·href="unix_telnet.html"><code·class="inline">unix_telnet</code></a>
134 manual·page.</p><p>Default·values·defined·in·<code·class="inline">ct_telnet</code>:</p><p><a·href=""·id="Default_values"></a></p><ul><li>Connection·timeout·(time·to·wait·for·connection)·=·10·seconds</li><li>Command·timeout·(time·to·wait·for·a·command·to·return)·=·10·seconds</li><li>Max·number·of·reconnection·attempts·=·3</li><li>Reconnection·interval·(time·to·wait·in·between·reconnection·attempts)·=·5134 manual·page.</p><p>Default·values·defined·in·<code·class="inline">ct_telnet</code>:</p><p><a·href=""·id="Default_values"></a></p><ul><li>Connection·timeout·(time·to·wait·for·connection)·=·10·seconds</li><li>Command·timeout·(time·to·wait·for·a·command·to·return)·=·10·seconds</li><li>Max·number·of·reconnection·attempts·=·3</li><li>Reconnection·interval·(time·to·wait·in·between·reconnection·attempts)·=·5
135 seconds</li><li>Keep·alive·(sends·NOP·to·the·server·every·8·sec·if·connection·is·idle)·=135 seconds</li><li>Keep·alive·(sends·NOP·to·the·server·every·8·sec·if·connection·is·idle)·=
136 <code·class="inline">true</code></li><li>Polling·limit·(max·number·of·times·to·poll·to·get·a·remaining·string136 <code·class="inline">true</code></li><li>Polling·limit·(max·number·of·times·to·poll·to·get·a·remaining·string
137 terminated)·=·0</li><li>Polling·interval·(sleep·time·between·polls)·=·1·second</li><li>The·TCP_NODELAY·option·for·the·telnet·socket·is·disabled·(set·to·<code·class="inline">false</code>)·per137 terminated)·=·0</li><li>Polling·interval·(sleep·time·between·polls)·=·1·second</li><li>The·TCP_NODELAY·option·for·the·telnet·socket·is·disabled·(set·to·<code·class="inline">false</code>)·per
138 default</li></ul><p>These·parameters·can·be·modified·by·the·user·with·the·following·configuration138 default</li></ul><p>These·parameters·can·be·modified·by·the·user·with·the·following·configuration
139 term:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8862844816-1">{</span><span·class="ss">telnet_settings</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8862844816-2">[</span><span·class="p"·data-group-id="8862844816-3">{</span><span·class="ss">connect_timeout</span><s[·...·truncated·by·diffoscope;·len:·93,·SHA:·300ea1fe44c6e7fb24a630a5cacbaedf72d60f083733b5c32135fe6e64272385·...·]6-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="0663759856-1">{</span><span·class="ss">telnet_settings</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0663759856-2">[</span><span·class="p"·data-group-id="0663759856-3">{</span><span·class="ss">connect_timeout</span><s[·...·truncated·by·diffoscope;·len:·93,·SHA:·93e25496c246b48819300c13b026b90890115f625d99ade88e982277e3c7de8e·...·]6-3">}</span><span·class="p">,</span><span·class="w">
140 ···················</span><span·class="p"·data-group-id="8862844816-4">{</span><span·class="ss">command_timeout</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="8862844816-4">}</span><span·class="p">,</span><span·class="w">140 ···················</span><span·class="p"·data-group-id="0663759856-4">{</span><span·class="ss">command_timeout</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="0663759856-4">}</span><span·class="p">,</span><span·class="w">
141 ···················</span><span·class="p"·data-group-id="8862844816-5">{</span><span·class="ss">reconnection_attempts</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="8862844816-5">}</span><span·class="p">,</span><span·class="w">141 ···················</span><span·class="p"·data-group-id="0663759856-5">{</span><span·class="ss">reconnection_attempts</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="0663759856-5">}</span><span·class="p">,</span><span·class="w">
142 ···················</span><span·class="p"·data-group-id="8862844816-6">{</span><span·class="ss">reconnection_interval</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="8862844816-6">}</span><span·class="p">,</span><span·class="w">142 ···················</span><span·class="p"·data-group-id="0663759856-6">{</span><span·class="ss">reconnection_interval</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="0663759856-6">}</span><span·class="p">,</span><span·class="w">
143 ···················</span><span·class="p"·data-group-id="8862844816-7">{</span><span·class="ss">keep_alive</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="8862844816-7">}</span><span·class="p">,</span><span·class="w">143 ···················</span><span·class="p"·data-group-id="0663759856-7">{</span><span·class="ss">keep_alive</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="0663759856-7">}</span><span·class="p">,</span><span·class="w">
144 ···················</span><span·class="p"·data-group-id="8862844816-8">{</span><span·class="ss">poll_limit</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="8862844816-8">}</span><span·class="p">,</span><span·class="w">144 ···················</span><span·class="p"·data-group-id="0663759856-8">{</span><span·class="ss">poll_limit</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="0663759856-8">}</span><span·class="p">,</span><span·class="w">
145 ···················</span><span·class="p"·data-group-id="8862844816-9">{</span><span·class="ss">poll_interval</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="8862844816-9">}</span><span·class="p">,</span><span·class="w">145 ···················</span><span·class="p"·data-group-id="0663759856-9">{</span><span·class="ss">poll_interval</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="0663759856-9">}</span><span·class="p">,</span><span·class="w">
146 ···················</span><span·class="p"·data-group-id="8862844816-10">{</span><span·class="ss">tcp_nodelay</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="8862844816-10">}</span><span·class="p"·data-group-id="8862844816-2">]</span><span·class="p"·data-group-id="8862844816-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">Millisec·=·timeout(),·N·=·integer()</code></p><p>Enter·the·<code·class="inline">telnet_settings</code>·term·in·a·configuration·file·included·in·the·test146 ···················</span><span·class="p"·data-group-id="0663759856-10">{</span><span·class="ss">tcp_nodelay</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="0663759856-10">}</span><span·class="p"·data-group-id="0663759856-2">]</span><span·class="p"·data-group-id="0663759856-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">Millisec·=·timeout(),·N·=·integer()</code></p><p>Enter·the·<code·class="inline">telnet_settings</code>·term·in·a·configuration·file·included·in·the·test
147 and·<code·class="inline">ct_telnet</code>·retrieves·the·information·automatically.</p><p><code·class="inline">keep_alive</code>·can·be·specified·per·connection,·if·necessary.·For·details,·see147 and·<code·class="inline">ct_telnet</code>·retrieves·the·information·automatically.</p><p><code·class="inline">keep_alive</code>·can·be·specified·per·connection,·if·necessary.·For·details,·see
148 <a·href="unix_telnet.html"><code·class="inline">unix_telnet</code></a>.</p><h2·id="module-logging"·class="section-heading">148 <a·href="unix_telnet.html"><code·class="inline">unix_telnet</code></a>.</p><h2·id="module-logging"·class="section-heading">
149 ··<a·href="#module-logging"·class="hover-link">149 ··<a·href="#module-logging"·class="hover-link">
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">Logging</span>152 ··<span·class="text">Logging</span>
153 </h2>153 </h2>
154 <p><a·href=""·id="Logging"></a></p><p>The·default·logging·behavior·of·<code·class="inline">ct_telnet</code>·is·to·print·information·about154 <p><a·href=""·id="Logging"></a></p><p>The·default·logging·behavior·of·<code·class="inline">ct_telnet</code>·is·to·print·information·about
155 performed·operations,·commands,·and·their·corresponding·results·to·the·test·case155 performed·operations,·commands,·and·their·corresponding·results·to·the·test·case
156 HTML·log.·The·following·is·not·printed·to·the·HTML·log:·text·strings·sent·from156 HTML·log.·The·following·is·not·printed·to·the·HTML·log:·text·strings·sent·from
157 the·Telnet·server·that·are·not·explicitly·received·by·a·<code·class="inline">ct_telnet</code>·function,157 the·Telnet·server·that·are·not·explicitly·received·by·a·<code·class="inline">ct_telnet</code>·function,
158 such·as·<a·href="#expect/3"><code·class="inline">expect/3</code></a>.·However,·<code·class="inline">ct_telnet</code>·can·be·configured·to·use158 such·as·<a·href="#expect/3"><code·class="inline">expect/3</code></a>.·However,·<code·class="inline">ct_telnet</code>·can·be·configured·to·use
159 a·special·purpose·event·handler,·implemented·in·<code·class="inline">ct_conn_log_h</code>,·for·logging159 a·special·purpose·event·handler,·implemented·in·<code·class="inline">ct_conn_log_h</code>,·for·logging
160 <em>all</em>·Telnet·traffic.·To·use·this·handler,·install·a·<code·class="inline">Common·Test</code>·hook·named160 <em>all</em>·Telnet·traffic.·To·use·this·handler,·install·a·<code·class="inline">Common·Test</code>·hook·named
161 <code·class="inline">cth_conn_log</code>.·Example·(using·the·test·suite·information·function):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="9990503999-1">(</span><span·class="p"·data-group-id="9990503999-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="9425919863-1">(</span><span·class="p"·data-group-id="9425919863-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
162 ····</span><span·class="p"·data-group-id="9990503999-2">[</span><span·class="p"·data-group-id="9990503999-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9990503999-4">[</span><span·class="p"·data-group-id="9990503999-5">{</s[·...·truncated·by·diffoscope;·len:·804,·SHA:·8506059eafc26004b01bb2eb2163766bf38384cc70629733a6c6355ab3b5b359·...·]-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="9425919863-2">[</span><span·class="p"·data-group-id="9425919863-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9425919863-4">[</span><span·class="p"·data-group-id="9425919863-5">{</s[·...·truncated·by·diffoscope;·len:·804,·SHA:·dfba531827a193e2d25222797c4abc94ce2d9181e837c0615e5ccb1b7cf620e0·...·]-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="7427650094-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7427650094-2">[</span><span·class="p"·data-group-id="7427650094-3">{</span><span·class="ss">ct_telnet</span><span·class="p">,</span><span·class="p"·data-group-id="7427650094-4">[</span><span·class="p"·data-group-id="7427650094-5">{</span><span·class="ss">log_type</span><span·class="p">,</span><span·class="ss">raw</span><span·class="p"·data-group-id="7427650094-5">}</span><span·class="p">,</span><span·class="w"> 
180 ···························</span><span·class="p"·data-group-id="7427650094-6">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="7427650094-7">[</span><span·class="nf">key_or_name</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·576,·SHA:·504bc5249fc42b65e1127b93a7c94958b8e7f414c0c6c883d4bb010f7d8d25cb·...·]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="7990465651-1">{</span><span·class="ss">ct_conn_log</span><span[·...·truncated·by·diffoscope;·len:·488,·SHA:·accf5eaf588f74e0eac4cc3c3864fa8d3166c8a27c44bc4133ba2935f10383f8·...·]
 180 ···························</span><span·class="p"·data-group-id="7990465651-6">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="7990465651-7">[</span><span·class="nf">key_or_name</span><span·class="p"·data-group-id="7990465651-8">(</span><span·class="p"·data-group-id="7990465651-8">)</span><span·class="p"·data-group-id="7990465651-7">]</span><span·class="p"·data-group-id="7990465651-6">}</span><span·class="p"·data-group-id="7990465651-4">]</span><span·class="p"·data-group-id="7990465651-3">}</span><span·class="p"·data-group-id="7990465651-2">]</span><span·class="p"·data-group-id="7990465651-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="7917245657-1">(</span><span·class="p"·data-group-id="7917245657-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="2463922047-1">(</span><span·class="p"·data-group-id="2463922047-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
184 ····</span><span·class="p"·data-group-id="7917245657-2">[</span><span·class="p"·data-group-id="7917245657-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">184 ····</span><span·class="p"·data-group-id="2463922047-2">[</span><span·class="p"·data-group-id="2463922047-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">
185 ······</span><span·class="p"·data-group-id="7917245657-4">[</span><span·class="p"·data-group-id="7917245657-5">{</span><span·class="ss">cth_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7917245657-6">[</span><span·class="p"·data-group-id="7917245657-7">{</span><span·class="ss">ct_telnet</span><span·class="p">,</span><span·class="p"·data-group-id="7917245657-8">[</span><span·class="p"·data-group-id="7917245657-9">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="7917245657-10">[</span><span·class="ss">server1</span><span·class="p">,</span><span·class="ss">server2</span><span·class="p"·data-group-id="7917245657-10">]</span><span·class="p"·data-group-id="7917245657-9">}</span><span·class="p"·data-group-id="7917245657-8">]</span><span·class="p"·data-group-id="7917245657-7">}</span><span·class="p"·data-group-id="7917245657-6">]</span><span·class="p"·data-group-id="7917245657-5">}</span><span·class="p"·data-group-id="7917245657-4">]</span><span·class="p"·data-group-id="7917245657-3">}</span><span·class="p"·data-group-id="7917245657-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="0992851643-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0992851643-2">[</span><span·class="p"·data-group-id="0992851643-3">{</span><span·class="ss">ct_telnet</span><span·class="p">,</span><span·class="p"·data-group-id="0992851643-4">[</span><span·class="p"·data-group-id="0992851643-5">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="0992851643-6">[</span><span·class="ss">server1</span><span·class="p">,</span><span·class="ss">server2</span><span·class="p"·data-group-id="0992851643-6">]</span><span·class="p"·data-group-id="0992851643-5">}</span><span·class="p"·data-group-id="0992851643-4">]</span><span·class="p"·data-group-id="0992851643-3">}</span><span·class="p"·data-group-id="0992851643-2">]</span><span·class="p"·data-group-id="0992851643-1">}</span><span·class="p">.</span></code></pre><p>In·this·case·the·<code·class="inline">ct_hooks</code>·statement·in·the·test·suite·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="8589138826-1">(</span><span·class="p"·data-group-id="8589138826-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
187 ····</span><span·class="p"·data-group-id="8589138826-2">[</span><span·class="p"·data-group-id="8589138826-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8589138826-4">[</span><span·clas[·...·truncated·by·diffoscope;·len:·531,·SHA:·f48ee080aa2e46764b37db424b1c44d856fdf905b9e7637c79ec4ae68afcceb5·...·]185 ······</span><span·class="p"·data-group-id="2463922047-4">[</span><span·class="p"·data-group-id="2463922047-5">{</span><span·class="ss">cth_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2463922047-6">[</span><spa[·...·truncated·by·diffoscope;·len:·999,·SHA:·b6aa1c0e76d75bb178e2db2d16b263777db30da5cfe2c11664995b22c6240238·...·]
 186 like·the·following·in·a·configuration·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4895782592-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4895782592-2">[</span><span·class="p"·data-group-id="4895782592-3">{</span><span·class="ss">ct_telnet</span><span·class="p">,</span><span·class="p"·data-group-id="4895782592-4">[</span><span·class="p"·data-group-id="4895782592-5">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="4895782592-6">[</span><span·class="ss">server1</span><span·class="p">,</span><span·class="ss">server2</span><span·class="p"·data-group-id="4895782592-6">]</span><span·class="p"·data-group-id="4895782592-5">}</span><span·class="p"·data-group-id="4895782592-4">]</span><span·class="p"·data-group-id="4895782592-3">}</span><span·class="p"·data-group-id="4895782592-2">]</span><span·class="p"·data-group-id="4895782592-1">}</span><span·class="p">.</span></code></pre><p>In·this·case·the·<code·class="inline">ct_hooks</code>·statement·in·the·test·suite·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="4643209244-1">(</span><span·class="p"·data-group-id="4643209244-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
 187 ····</span><span·class="p"·data-group-id="4643209244-2">[</span><span·class="p"·data-group-id="4643209244-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4643209244-4">[</span><span·class="p"·data-group-id="4643209244-5">{</span><span·class="ss">cth_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4643209244-6">[</span><span·class="p"·data-group-id="4643209244-6">]</span><span·class="p"·data-group-id="4643209244-5">}</span><span·class="p"·data-group-id="4643209244-4">]</span><span·class="p"·data-group-id="4643209244-3">}</span><span·class="p"·data-group-id="4643209244-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="9879230311-1">(</span><span·class="n">Connection</span><span·class="p">,</span><span·class="p"·data-group-id="9879230311-2">[</span><span·class="p"·data-group-id="9879230311-3">{</span><span·class="ss">abc</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·1029,·SHA:·0028e9a751468f11cd663c97bb90d00993a910e5921faf9729fdb77887250eaa·...·]-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="0370219214-1">(</span><span·class="n">Connection</span><span·class="p">,</span><span·class="p"·data-group-id="0370219214-2">[</span><span·class="p"·data-group-id="0370219214-3">{</span><span·class="ss">abc</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·1029,·SHA:·ccc068122b40719652b246de180672e0e8d8683c529219155df4e83c975c85e8·...·]-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="4154380482-1">(</span><span·class="n">Connection</span><span·class="p">,</span><span·class="p"·data-group-id="4154380482-2">[</span><span·class="p"·data-group-id="4154380482-3">{</span><span·class="ss">abc</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·1182,·SHA:·574dd389a20057e9198bafef47b881657b1d407c34de1ee3472c71153e1a6489·...·]-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="7221009519-1">(</span><span·class="n">Connection</span><span·class="p">,</span><span·class="p"·data-group-id="7221009519-2">[</span><span·class="p"·data-group-id="7221009519-3">{</span><span·class="ss">abc</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·1182,·SHA:·2674327fb691d699e12059a92741cfd5ad495b7432739f4ffcd5a0f7e483a58b·...·]-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.51 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_testspec.html
    
Offset 233, 15 lines modifiedOffset 233, 15 lines modified
233 ······<p·class="built-using">233 ······<p·class="built-using">
234 ········Built·using234 ········Built·using
235 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the235 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
236 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>236 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
237 ······</p>237 ······</p>
238 <p>Copyright·©·1996-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.28/doc/html/dependencies_chapter.html
    
Offset 157, 73 lines modifiedOffset 157, 73 lines modified
157 between·the·cases·and·therefore·introduce·dependencies·between·them.</p><p>To·avoid·this,·we·can·consider·starting·and·stopping·the·server·for·every·test.157 between·the·cases·and·therefore·introduce·dependencies·between·them.</p><p>To·avoid·this,·we·can·consider·starting·and·stopping·the·server·for·every·test.
158 We·can·thus·implement·the·start·and·stop·action·as·common·functions·to·be·called158 We·can·thus·implement·the·start·and·stop·action·as·common·functions·to·be·called
159 from·<a·href="ct_suite.html#c:init_per_testcase/2"><code·class="inline">init_per_testcase</code></a>·and159 from·<a·href="ct_suite.html#c:init_per_testcase/2"><code·class="inline">init_per_testcase</code></a>·and
160 <a·href="ct_suite.html#c:end_per_testcase/2"><code·class="inline">end_per_testcase</code></a>.·(Remember·to·test·the160 <a·href="ct_suite.html#c:end_per_testcase/2"><code·class="inline">end_per_testcase</code></a>.·(Remember·to·test·the
161 start·and·stop·functionality·separately.)·The·configuration·can·also·be161 start·and·stop·functionality·separately.)·The·configuration·can·also·be
162 implemented·as·a·common·function,·maybe·grouped·with·the·start·function.162 implemented·as·a·common·function,·maybe·grouped·with·the·start·function.
163 Finally,·the·testing·of·connecting·and·disconnecting·a·client·can·be·grouped163 Finally,·the·testing·of·connecting·and·disconnecting·a·client·can·be·grouped
164 into·one·test·case.·The·resulting·suite·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1993791900-1">(</span><span·class="ss">my_server_SUITE</span><span·class="p"·data-group-id="1993791900-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="5807020035-1">(</span><span·class="ss">my_server_SUITE</span><span·class="p"·data-group-id="5807020035-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="1993791900-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="1993791900-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="5807020035-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="5807020035-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="1993791900-3">(</span><span·class="s">&quot;ct.hrl&quot;</span><span·class="p"·data-group-id="1993791900-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="5807020035-3">(</span><span·class="s">&quot;ct.hrl&quot;</span><span·class="p"·data-group-id="5807020035-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="1993791900-4">(</span><span·class="p"·data-group-id="1993791900-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1993791900-5">[</span><span·class="p"·data-group-id="1993791900-6">{</span[·...·truncated·by·diffoscope;·len:·187,·SHA:·01158f1a225135f9dd33f78366a261e2a2ef14c5a90caa89b7017f24b68f52dd·...·]-5">]</span><span·class="p">.</span><span·class="w">168 </span><span·class="nf">suite</span><span·class="p"·data-group-id="5807020035-4">(</span><span·class="p"·data-group-id="5807020035-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5807020035-5">[</span><span·class="p"·data-group-id="5807020035-6">{</span[·...·truncated·by·diffoscope;·len:·187,·SHA:·4e06e56c36542a354805b6207041c4527b8827793a3fce82a920ae9600e3af72·...·]-5">]</span><span·class="p">.</span><span·class="w">
  
169 </span><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="1993791900-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="1993791900-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="5807020035-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="5807020035-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="1993791900-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="1993791900-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="5807020035-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="5807020035-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 ····</span><span·class="p"·data-group-id="1993791900-9">[</span><span·class="p"·data-group-id="1993791900-10">{</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="nf">start_server</span><span·class="p"·data-group-id="1993791900-11">(</span><span·class="p"·data-group-id="1[·...·truncated·by·diffoscope;·len:·218,·SHA:·65eab09ab02af01b42f9ef5175abfe2e35ca3f4f4bdec44c0c3c8fd2b173086a·...·]-9">]</span><span·class="p">;</span><span·class="w">172 ····</span><span·class="p"·data-group-id="5807020035-9">[</span><span·class="p"·data-group-id="5807020035-10">{</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="nf">start_server</span><span·class="p"·data-group-id="5807020035-11">(</span><span·class="p"·data-group-id="5[·...·truncated·by·diffoscope;·len:·218,·SHA:·6310bccc2ea3aecf407a83a6cf31d6e70c16af765c06ec62ec5fb043945a9eae·...·]-9">]</span><span·class="p">;</span><span·class="w">
  
173 </span><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="1993791900-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="1993791900-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="5807020035-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="5807020035-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="1993791900-13">(</span><span·class="p"·data-group-id="1993791900-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="5807020035-13">(</span><span·class="p"·data-group-id="5807020035-13">)</span><span·class="p">,</span><span·class="w">
175 ····</span><span·class="nf">configure_server</span><span·class="p"·data-group-id="1993791900-14">(</span><span·class="p"·data-group-id="1993791900-14">)</span><span·class="p">,</span><span·class="w">175 ····</span><span·class="nf">configure_server</span><span·class="p"·data-group-id="5807020035-14">(</span><span·class="p"·data-group-id="5807020035-14">)</span><span·class="p">,</span><span·class="w">
176 ····</span><span·class="p"·data-group-id="1993791900-15">[</span><span·class="p"·data-group-id="1993791900-16">{</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="1993791900-16">}</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·107,·SHA:·a0292bf9a13480ce61e04c6beb2abd9f9ecf1a4f2ba267f2ecaace21dd8e26f8·...·]-15">]</span><span·class="p">.</span><span·class="w">176 ····</span><span·class="p"·data-group-id="5807020035-15">[</span><span·class="p"·data-group-id="5807020035-16">{</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="5807020035-16">}</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·107,·SHA:·c109501b356579b567df3a2bb90b9c7dd3b2fd511182c8b9e6c33d53f867a914·...·]-15">]</span><span·class="p">.</span><span·class="w">
  
177 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="1993791900-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="1993791900-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="5807020035-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="5807020035-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="1993791900-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="1993791900-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="5807020035-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="5807020035-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="1993791900-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="1993791900-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="5807020035-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="5807020035-19">)</span><span·class="p">,</span><span·class="w">
181 ····</span><span·class="nf">stop_server</span><span·class="p"·data-group-id="1993791900-20">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="1993791900-20">)</span><span·class="p">.</span><span·class="w">181 ····</span><span·class="nf">stop_server</span><span·class="p"·data-group-id="5807020035-20">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="5807020035-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="1993791900-21">(</span><span·class="p"·data-group-id="1993791900-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1993791900-22">[</span><span·class="ss">start_and_stop</span><span·class[·...·truncated·by·diffoscope;·len:·202,·SHA:·5987e57e8d33e4260c85a74a26e52fa21a2f8d223dae376be2353767224a5873·...·]-22">]</span><span·class="p">.</span><span·class="w">183 </span><span·class="nf">all</span><span·class="p"·data-group-id="5807020035-21">(</span><span·class="p"·data-group-id="5807020035-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5807020035-22">[</span><span·class="ss">start_and_stop</span><span·class[·...·truncated·by·diffoscope;·len:·202,·SHA:·a4c1f9624386c401e503e23eaf21d0d43daba2bf98b9ead1d71967c0af9bc131·...·]-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="1993791900-23">(</span><span·class="p">_</span><span·class="p"·data-group-id="1993791900-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="5807020035-23">(</span><span·class="p">_</span><span·class="p"·data-group-id="5807020035-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="1993791900-24">(</span><span·class="p"·data-group-id="1993791900-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="5807020035-24">(</span><span·class="p"·data-group-id="5807020035-24">)</span><span·class="p">,</span><span·class="w">
187 ····</span><span·class="nf">stop_server</span><span·class="p"·data-group-id="1993791900-25">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="1993791900-25">)</span><span·class="p">.</span><span·class="w">187 ····</span><span·class="nf">stop_server</span><span·class="p"·data-group-id="5807020035-25">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="5807020035-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="1993791900-26">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1993791900-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="5807020035-26">(</span><span·class="n">Config</span><span·class="p"·data-group-id="5807020035-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="1993791900-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="1993791900-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="5807020035-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="5807020035-27">)</span><span·class="p">,</span><span·class="w">
191 ····</span><span·class="nf">configure_server</span><span·class="p"·data-group-id="1993791900-28">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="1993791900-28">)</span><span·class="p">.</span><span·class="w">191 ····</span><span·class="nf">configure_server</span><span·class="p"·data-group-id="5807020035-28">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="5807020035-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="1993791900-29">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1993791900-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="5807020035-29">(</span><span·class="n">Config</span><span·class="p"·data-group-id="5807020035-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="1993791900-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="1993791900-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="5807020035-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="5807020035-30">)</span><span·class="p">,</span><span·class="w">
195 ····</span><span·class="p"·data-group-id="1993791900-31">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="1993791900-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:·548b81c36d3f589babbfd41bedb9f71ce7517986c35e89c82908d70a7b6773fc·...·]-32">)</span><span·class="p">,</span><span·class="w">195 ····</span><span·class="p"·data-group-id="5807020035-31">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="5807020035-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:·edf8c2b00ee3e417d09edb7db5aac50ce0403b96e25e1d417dcc24dccf49a0bb·...·]-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="1993791900-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="1993791900-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="5807020035-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="5807020035-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="1993791900-34">(</span><span·class="p"·data-group-id="1993791900-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="5807020035-34">(</span><span·class="p"·data-group-id="5807020035-34">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
199 ····</span><span·class="p"·data-group-id="1993791900-35">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="1993791900-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:·358547712e6d2d624b1954cc7a0517afb59aa0ce3a68f215e7c65014c0711b1c·...·]-36">)</span><span·class="p">,</span><span·class="w">199 ····</span><span·class="p"·data-group-id="5807020035-35">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="5807020035-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:·dd0f6df9a29bde842e385b6b3dcdf8355d84be3fb06f8857088b72edae1d4d13·...·]-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="1993791900-37">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="1993791900-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="5807020035-37">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="5807020035-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="1993791900-38">(</span><span·class="p"·data-group-id="1993791900-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="5807020035-38">(</span><span·class="p"·data-group-id="5807020035-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="1993791900-39">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="1993791900-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="5807020035-39">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="5807020035-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="1993791900-40">(</span><span·class="ss">my_server_cfg</span><span·class="p"·data-group-id="1993791900-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="5807020035-40">(</span><span·class="ss">my_server_cfg</span><span·class="p"·data-group-id="5807020035-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="1993791900-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="1993791900-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="5807020035-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="5807020035-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="7517135935-1">(</span><span·class="ss">server_b_SUITE</span><span·class="p"·data-group-id="7517135935-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="9062822853-1">(</span><span·class="ss">server_b_SUITE</span><span·class="p"·data-group-id="9062822853-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="7517135935-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="7517135935-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="9062822853-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="9062822853-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="7517135935-3">(</span><span·class="s">&quot;ct.hrl&quot;</span><span·class="p"·data-group-id="7517135935-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="9062822853-3">(</span><span·class="s">&quot;ct.hrl&quot;</span><span·class="p"·data-group-id="9062822853-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="7517135935-4">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7517135935-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="9062822853-4">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9062822853-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="7517135935-5">{</span><span·class="ss">server_a_SUITE</span><span·class="p">,</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="7517135935-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc[·...·truncated·by·diffoscope;·len:·282,·SHA:·73f5b6cd6bcaf4127c499bc52137d75def28b3342f1d6f9c3ee538834d6c9ace·...·]-6">)</span><span·class="p">,</span><span·class="w">256 ····</span><span·class="p"·data-group-id="9062822853-5">{</span><span·class="ss">server_a_SUITE</span><span·class="p">,</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="9062822853-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc[·...·truncated·by·diffoscope;·len:·282,·SHA:·ecb880b5dd1d34780fa7a1e100e03ae164b2a350d7a28d2ea4e93f6504a3e316·...·]-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="7517135935-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="7517135935-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="9062822853-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="9062822853-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="7517135935-8">(</span><span·class="n">ServerId</span><span·class="p"·data-group-id="7517135935-8">)</span><span·class="p">,</span><span·class="w"> 
260 ····</span><span·class="p"·data-group-id="7517135935-9">[</span><span·class="p"·data-group-id="7517135935-10">{</span><span·class="ss">ids</span><span·class="p">,</span><span·class="p"·data-group-id="7517135935-11">{</span><span·class="n">ServerId</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·309,·SHA:·037650c9cf706c3f65c8123e5cf5e7648722b4b88ada7321352448a9b0418cf5·...·]</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="9062822853-8">(</span><span·class="n">ServerId</span><span·class="p"·data-group-id="906282285[·...·truncated·by·diffoscope;·len:·30,·SHA:·fb0d12b9386ee29a27f666c6e9fc1b7ed11a8a634b901536b6fe80fb4b5a4624·...·]</span><span·class="w">
 260 ····</span><span·class="p"·data-group-id="9062822853-9">[</span><span·class="p"·data-group-id="9062822853-10">{</span><span·class="ss">ids</span><span·class="p">,</span><span·class="p"·data-group-id="9062822853-11">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="9062822853-11">}</span><span·class="p"·data-group-id="9062822853-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="9062822853-9">]</span><span·class="p">.</span><span·class="w">
  
261 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="7517135935-12">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7517135935-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="9062822853-12">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9062822853-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="7517135935-13">{</span><span·class="ss">save_config</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="7517135935-13">}</span><span·class="w">263 ····</span><span·class="p"·data-group-id="9062822853-13">{</span><span·class="ss">save_config</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="9062822853-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="7517135935-14">(</span><span·class="p"·data-group-id="7517135935-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7517135935-15">[</span><span·class="ss">allocate</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·106,·SHA:·71c282fac5730ed50e09d41f4bf0a3c66def03c8a13863da0be28e91dcc9a0c4·...·]-15">]</span><span·class="p">.</span><span·class="w">265 </span><span·class="nf">all</span><span·class="p"·data-group-id="9062822853-14">(</span><span·class="p"·data-group-id="9062822853-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9062822853-15">[</span><span·class="ss">allocate</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·106,·SHA:·fa0803b30c8fda288f39ee071cc4f8f6c72d318050df8dae7f7b7e4c0def23f2·...·]-15">]</span><span·class="p">.</span><span·class="w">
  
266 </span><span·class="nf">allocate</span><span·class="p"·data-group-id="7517135935-16">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7517135935-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="9062822853-16">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9062822853-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
267 ····</span><span·class="p"·data-group-id="7517135935-17">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="7517135935-17">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pro[·...·truncated·by·diffoscope;·len:·269,·SHA:·4b02240c17d0647ee215d25d6767234b8de62c0881fe5f1cf005889efd3c13c0·...·]-18">)</span><span·class="p">,</span><span·class="w">267 ····</span><span·class="p"·data-group-id="9062822853-17">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="9062822853-17">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pro[·...·truncated·by·diffoscope;·len:·269,·SHA:·430c3371431efbfb2276a219cbb514adf4a86a499f596456b310a83c2db1e28e·...·]-18">)</span><span·class="p">,</span><span·class="w">
268 ····</span><span·class="p"·data-group-id="7517135935-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle</span><span·class="p"·data-group-id="7517135935-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:·b3f280f7f4098248996de9e481578cbeb13acafa9a0797c1ea1f11c3b0bf4cdf·...·]-20">)</span><span·class="p">,</span><span·class="w">268 ····</span><span·class="p"·data-group-id="9062822853-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle</span><span·class="p"·data-group-id="9062822853-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:·9e272cc8cb31269894ec8bc29fccb9cbf0c39748d0e89fd06bb9ca60cc350fa4·...·]-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="7517135935-21">[</span><span·class="p"·data-group-id="7517135935-22">{</span><span·class="ss">handle</span><span·class="p">,</span><span·class="n">Handle</span><span·class="p"·data-group-id="7517135935-22">}</span><span·class="p"·data-group-id="7517135935-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="9062822853-21">[</span><span·class="p"·data-group-id="9062822853-22">{</span><span·class="ss">handle</span><span·class="p">,</span><span·class="n">Handle</span><span·class="p"·data-group-id="9062822853-22">}</span><span·class="p"·data-group-id="9062822853-21">]</span><span·class="p">,</span><span·class="w">
271 ····</span><span·class="p"·data-group-id="7517135935-23">{</span><span·class="ss">save_config</span><span·class="p">,</span><span·class="n">NewConfig</span><span·class="p"·data-group-id="7517135935-23">}</span><span·class="p">.</span><span·class="w">271 ····</span><span·class="p"·data-group-id="9062822853-23">{</span><span·class="ss">save_config</span><span·class="p">,</span><span·class="n">NewConfig</span><span·class="p"·data-group-id="9062822853-23">}</span><span·class="p">.</span><span·class="w">
  
272 </span><span·class="nf">deallocate</span><span·class="p"·data-group-id="7517135935-24">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7517135935-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="9062822853-24">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9062822853-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
273 ····</span><span·class="p"·data-group-id="7517135935-25">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="7517135935-25">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pro[·...·truncated·by·diffoscope;·len:·269,·SHA:·494e5e26c64a0777d68f3eccc23547f79d43966c4a9dd2b109dbfacd17e69733·...·]-26">)</span><span·class="p">,</span><span·class="w">273 ····</span><span·class="p"·data-group-id="9062822853-25">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="9062822853-25">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pro[·...·truncated·by·diffoscope;·len:·269,·SHA:·fae27df172540275df8586d98180eb2d9adda04b72ff439a3947580e33dbc97e·...·]-26">)</span><span·class="p">,</span><span·class="w">
274 ····</span><span·class="p"·data-group-id="7517135935-27">{</span><span·class="ss">allocate</span><span·class="p">,</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="7517135935-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pr[·...·truncated·by·diffoscope;·len:·279,·SHA:·cc8188e3b048019a3dc717596d3be4344747463e38ca60dc2c74c754ef5620c8·...·]-28">)</span><span·class="p">,</span><span·class="w">274 ····</span><span·class="p"·data-group-id="9062822853-27">{</span><span·class="ss">allocate</span><span·class="p">,</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="9062822853-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pr[·...·truncated·by·diffoscope;·len:·279,·SHA:·6043d2bf0658c5d0a1d093badf3eaadb7a49a233ebcb109a0022f5d6dd04005c·...·]-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="7517135935-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="7517135935-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="9062822853-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="9062822853-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="7517135935-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="7517135935-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="9062822853-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="9062822853-30">)</span><span·class="p">.</span></code></pre><p>To·save·<code·class="inline">Config</code>·data·from·a·test·case·that·is·to·be·skipped,·return·tuple
277 <code·class="inline">{skip_and_save,Reason,ConfigList}</code>.</p><p>The·result·is·that·the·test·case·is·skipped·with·<code·class="inline">Reason</code>·printed·to·the·log277 <code·class="inline">{skip_and_save,Reason,ConfigList}</code>.</p><p>The·result·is·that·the·test·case·is·skipped·with·<code·class="inline">Reason</code>·printed·to·the·log
278 file·(as·described·earlier)·and·<code·class="inline">ConfigList</code>·is·saved·for·the·next·test·case.278 file·(as·described·earlier)·and·<code·class="inline">ConfigList</code>·is·saved·for·the·next·test·case.
279 <code·class="inline">ConfigList</code>·can·be·read·using·<code·class="inline">proplists:get_value(saved_config,·Config)</code>,·as279 <code·class="inline">ConfigList</code>·can·be·read·using·<code·class="inline">proplists:get_value(saved_config,·Config)</code>,·as
280 described·earlier.·<code·class="inline">skip_and_save</code>·can·also·be·returned·from·<code·class="inline">init_per_suite</code>.280 described·earlier.·<code·class="inline">skip_and_save</code>·can·also·be·returned·from·<code·class="inline">init_per_suite</code>.
281 In·this·case,·the·saved·data·can·be·read·by·<code·class="inline">init_per_suite</code>·in·the·suite·that281 In·this·case,·the·saved·data·can·be·read·by·<code·class="inline">init_per_suite</code>·in·the·suite·that
282 follows.</p><h2·id="sequences"·class="section-heading">282 follows.</p><h2·id="sequences"·class="section-heading">
283 ··<a·href="#sequences"·class="hover-link">283 ··<a·href="#sequences"·class="hover-link">
Offset 296, 30 lines modifiedOffset 296, 30 lines modified
296 following·tests·are·not·to·be·executed.·Typically,·if·the·<code·class="inline">save_config</code>·facility296 following·tests·are·not·to·be·executed.·Typically,·if·the·<code·class="inline">save_config</code>·facility
297 is·used·and·a·test·case·that·is·expected·to·save·data·crashes,·the·following297 is·used·and·a·test·case·that·is·expected·to·save·data·crashes,·the·following
298 case·cannot·run.·<code·class="inline">Common·Test</code>·offers·a·way·to·declare·such·dependencies,·called298 case·cannot·run.·<code·class="inline">Common·Test</code>·offers·a·way·to·declare·such·dependencies,·called
Max diff block lines reached; 12265/57820 bytes (21.21%) of diff not shown.
840 B
html2text {}
Max HTML report size reached
11.8 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/event_handler_chapter.html
    
Offset 164, 20 lines modifiedOffset 164, 20 lines modified
164 </h2>164 </h2>
165 <p>Event·handlers·can·be·installed·by·an·<code·class="inline">event_handler</code>·start·flag165 <p>Event·handlers·can·be·installed·by·an·<code·class="inline">event_handler</code>·start·flag
166 (<a·href="ct_run_cmd.html"><code·class="inline">ct_run</code></a>)·or·option·<a·href="ct.html#run_test/1"><code·class="inline">ct:run_test/1</code></a>,·where·the·argument166 (<a·href="ct_run_cmd.html"><code·class="inline">ct_run</code></a>)·or·option·<a·href="ct.html#run_test/1"><code·class="inline">ct:run_test/1</code></a>,·where·the·argument
167 specifies·the·names·of·one·or·more·event·handler·modules.</p><p><em>Example:</em></p><p><code·class="inline">$·ct_run·-suite·test/my_SUITE·-event_handler·handlers/my_evh1·handlers/my_evh2·-pa·$PWD/handlers</code></p><p>To·pass·start·arguments·to·the·event·handler·init·function,·use·option167 specifies·the·names·of·one·or·more·event·handler·modules.</p><p><em>Example:</em></p><p><code·class="inline">$·ct_run·-suite·test/my_SUITE·-event_handler·handlers/my_evh1·handlers/my_evh2·-pa·$PWD/handlers</code></p><p>To·pass·start·arguments·to·the·event·handler·init·function,·use·option
168 <code·class="inline">ct_run·-event_handler_init</code>·instead·of·<code·class="inline">-event_handler</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>All·event·handler·modules·must·have·<code·class="inline">gen_event</code>·behavior.·These·modules·must168 <code·class="inline">ct_run·-event_handler_init</code>·instead·of·<code·class="inline">-event_handler</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>All·event·handler·modules·must·have·<code·class="inline">gen_event</code>·behavior.·These·modules·must
169 be·precompiled·and·their·locations·must·be·added·explicitly·to·the·Erlang·code169 be·precompiled·and·their·locations·must·be·added·explicitly·to·the·Erlang·code
170 server·search·path·(as·in·the·previous·example).</p></section><p>An·event_handler·tuple·in·argument·<code·class="inline">Opts</code>·has·the·following·definition·(see170 server·search·path·(as·in·the·previous·example).</p></section><p>An·event_handler·tuple·in·argument·<code·class="inline">Opts</code>·has·the·following·definition·(see
171 <a·href="ct.html#run_test/1"><code·class="inline">ct:run_test/1</code></a>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7584861907-1">{</span><span·class="ss">event_handler</span><span·class="p">,</span><span·class="n">EventHandlers</span><span·class="p"·data-group-id="7584861907-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="6012180865-1">{</span><span·class="ss">event_handler</span><span·class="p">,</span><span·class="n">EventHandlers</span><span·class="p"·data-group-id="6012180865-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="7584861907-2">[</span><span·class="n">EH</span><span·class="p"·data-group-id="7584861907-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="6012180865-2">[</span><span·class="n">EH</span><span·class="p"·data-group-id="6012180865-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="7584861907-3">(</span><span·class="p"·data-group-id="7584861907-3">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7584861907-4">{</span><span·class="nf">atom</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·647,·SHA:·8114131d226304072fb36db279ce553a6082db5315539b21c12c4a724171bc5d·...·]-6">}</span><span·class="w">173 </span><span·class="n">EH</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="6012180865-3">(</span><span·class="p"·data-group-id="6012180865-3">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="6012180865-4">{</span><span·class="nf">atom</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·647,·SHA:·104cd1687e477389c17e66b109761e43b19728dfc10baaad44b20ea4fb794a86·...·]-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="7584861907-9">[</span><span·class="nf">term</span><span·class="p"·data-group-id="7584861907-10">(</span><span·class="p"·data-group-id="7584861907-10">)</span><span·class="p"·data-group-id="7584861907-9">]</span></code></pre><p>In·the·following·example,·two·event·handlers·for·the·<code·class="inline">my_SUITE</code>·test·are174 </span><span·class="n">InitArgs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6012180865-9">[</span><span·class="nf">term</span><span·class="p"·data-group-id="6012180865-10">(</span><span·class="p"·data-group-id="6012180865-10">)</span><span·class="p"·data-group-id="6012180865-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="4106935598-1">(</span><span·class="p"·data-group-id="4106935598-2">[</span><span·class="p"·data-group-id="4106935598-3">{</span><span·class="ss">suite</span><span·class="p">,</span><span·class="s">&quot;test/my_SUITE&quot;</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·873,·SHA:·d37caa3b1747d3903b1b8a86a931340359b28e9d5d87b7124745bf29e40fbcd7·...·]-1">)</span><span·class="p">.</span></code></pre><p>Event·handler·<code·class="inline">my_evh1</code>·is·started·with·<code·class="inline">[]</code>·as·argument·to·the·init·function.175 installed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">run_test</span><span·class="p"·data-group-id="0973732245-1">(</span><span·class="p"·data-group-id="0973732245-2">[</span><span·class="p"·data-group-id="0973732245-3">{</span><span·class="ss">suite</span><span·class="p">,</span><span·class="s">&quot;test/my_SUITE&quot;</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·873,·SHA:·c346d777c02360664ae768478894cf866e1c4e84a72a580369b010802a71dcd6·...·]-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.28/doc/html/example_chapter.html
    
Offset 127, 136 lines modifiedOffset 127, 136 lines modified
  
127 <p><a·href=""·id="top"></a></p><h2·id="test-suite-example"·class="section-heading">127 <p><a·href=""·id="top"></a></p><h2·id="test-suite-example"·class="section-heading">
128 ··<a·href="#test-suite-example"·class="hover-link">128 ··<a·href="#test-suite-example"·class="hover-link">
129 ····<i·class="ri-link-m"·aria-hidden="true"></i>129 ····<i·class="ri-link-m"·aria-hidden="true"></i>
130 ··</a>130 ··</a>
131 ··<span·class="text">Test·Suite·Example</span>131 ··<span·class="text">Test·Suite·Example</span>
132 </h2>132 </h2>
133 <p>The·following·example·test·suite·shows·some·tests·of·a·database·server:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7899534181-1">(</span><span·class="ss">db_data_type_SUITE</span><span·class="p"·data-group-id="7899534181-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="3908567446-1">(</span><span·class="ss">db_data_type_SUITE</span><span·class="p"·data-group-id="3908567446-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="7899534181-2">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="7899534181-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="3908567446-2">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="3908567446-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="7899534181-3">(</span><span·class="p"·data-group-id="7899534181-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="3908567446-3">(</span><span·class="p"·data-group-id="3908567446-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="7899534181-4">]</span><span·class="p"·data-group-id="7899534181-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="3908567446-4">]</span><span·class="p"·data-group-id="3908567446-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="7899534181-5">(</span><span·class="p"·data-group-id="7899534181-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:·99cdc27be89720cc4db936e22ed4765dcd9492ad68a25719bd6bb98a6ac519dd·...·]-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="3908567446-5">(</span><span·class="p"·data-group-id="3908567446-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:·f16749c9172f24f8be2ea7a584dbafcd3242614e80eff81167c2e23407097fc5·...·]-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="7899534181-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="7899534181-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="3908567446-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="3908567446-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="7899534181-8">(</span><span·class="p"·data-group-id="7899534181-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="3908567446-8">(</span><span·class="p"·data-group-id="3908567446-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
157 ····</span><span·class="p"·data-group-id="7899534181-9">[</span><span·class="p"·data-group-id="7899534181-10">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="7899534181-11">{</span><span·class="ss">minutes</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·159,·SHA:·04fd4d48afca29977a15eaffdcfb43b334a7c74b20f355d345ead9a0192c4400·...·]-9">]</span><span·class="p">.</span><span·class="w">157 ····</span><span·class="p"·data-group-id="3908567446-9">[</span><span·class="p"·data-group-id="3908567446-10">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="3908567446-11">{</span><span·class="ss">minutes</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·159,·SHA:·5be009229309dfd5ace46d0f9d4385bd92bb687664da6a3159622dbfe7d926aa·...·]-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="7899534181-12">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7899534181-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="3908567446-12">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3908567446-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
167 ····</span><span·class="p"·data-group-id="7899534181-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="7899534181-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·383,·SHA:·eec7d863150159f4705818a80ff0400dad908c38f8755120d15cf455f05e5e4d·...·]-14">)</span><span·class="p">,</span><span·class="w">167 ····</span><span·class="p"·data-group-id="3908567446-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="3908567446-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·383,·SHA:·30884c2807146207c241c9e2a651924aaecf8ffd8bbc897d846c900b5edf64d3·...·]-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="7899534181-16">(</span><span·class="p"·data-group-id="7899534181-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="3908567446-16">(</span><span·class="p"·data-group-id="3908567446-16">)</span><span·class="p">,</span><span·class="w">
169 ····</span><span·class="p"·data-group-id="7899534181-17">[</span><span·class="p"·data-group-id="7899534181-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="7899534181-18">}</s[·...·truncated·by·diffoscope;·len:·368,·SHA:·e1100ecbf1edfafb753e7e86d602d6b01d381ce1315c6a66a26f4c3141a24eb7·...·]-17">]</span><span·class="p">.</span><span·class="w">169 ····</span><span·class="p"·data-group-id="3908567446-17">[</span><span·class="p"·data-group-id="3908567446-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="3908567446-18">}</s[·...·truncated·by·diffoscope;·len:·368,·SHA:·9887528f68dab142a9f25ca188213a2f6b0064631308d4a00af802ead0138c23·...·]-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="7899534181-20">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7899534181-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="3908567446-20">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3908567446-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="7899534181-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="7899534181-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="3908567446-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="3908567446-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="7899534181-22">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="7899534181-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="3908567446-22">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="3908567446-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="7899534181-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="7899534181-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="3908567446-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="3908567446-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="7899534181-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="7899534181-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="3908567446-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="3908567446-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="7899534181-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="7899534181-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="3908567446-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="3908567446-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="7899534181-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="7899534181-27"[·...·truncated·by·diffoscope;·len:·131,·SHA:·7664ebd4007fa8c8d85e01a68d62a754429bf28e0dfc639d1a32b4bf0ba27324·...·]-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="3908567446-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="3908567446-27"[·...·truncated·by·diffoscope;·len:·131,·SHA:·7c619ec9e9b17b5833ef892a4bd676054968b2562bb718bc6dfadc9e7dec11fc·...·]-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="7899534181-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="7899534181-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="3908567446-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="3908567446-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="7899534181-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="7899534181-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="3908567446-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="3908567446-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="7899534181-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="7899534181-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="3908567446-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="3908567446-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="7899534181-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="7899534181-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="3908567446-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="3908567446-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="7899534181-32">(</span><span·class="p"·data-group-id="7899534181-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="3908567446-32">(</span><span·class="p"·data-group-id="3908567446-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 ····</span><span·class="p"·data-group-id="7899534181-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="7899534181-33">]</span><span·class="p">.</span><span·class="w">225 ····</span><span·class="p"·data-group-id="3908567446-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="3908567446-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="7899534181-34">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7899534181-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="3908567446-34">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3908567446-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="7899534181-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:·aed916b89bd3996316564aa74aa23f8679ad17322940785b95cc1a2d7252e17d·...·]-35">)</span><span·class="p">.</span><span·class="w">230 ····</span><span·class="nf">insert_and_lookup</span><span·class="p"·data-group-id="3908567446-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:·5e8f4dff519eb38ca3287528d17cf915da82b26e8fc04ea9504de9e14f32683f·...·]-35">)</span><span·class="p">.</span><span·class="w">
  
231 </span><span·class="nf">integer</span><span·class="p"·data-group-id="7899534181-36">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7899534181-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="3908567446-36">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3908567446-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="7899534181-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="7899534181-37">)</span><span·class="p">.</span><span·class="w">232 ····</span><span·class="nf">insert_and_lookup</span><span·class="p"·data-group-id="3908567446-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="3908567446-37">)</span><span·class="p">.</span><span·class="w">
  
  
233 </span><span·class="nf">insert_and_lookup</span><span·class="p"·data-group-id="7899534181-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="7899534181-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="3908567446-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="3908567446-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="7899534181-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="7899534181-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="3908567446-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="3908567446-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="7899534181-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="7899534181-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="3908567446-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="3908567446-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="7899534181-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:·4b147c05471d1b2017e014e94f0a9699d14e3ddc02bf775e9f4cc528ed5250f4·...·]-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="3908567446-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:·a27c867d96a11f5e5c094af5010397374feea2be1a0f92f700b6defa110d753e·...·]-41">)</span><span·class="p">,</span><span·class="w">
237 ····</span><span·class="p"·data-group-id="7899534181-42">[</span><span·class="n">Value</span><span·class="p"·data-group-id="7899534181-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:·4167f09f45dfaf6e7048bcc28a45e5112148d38cf82bc732d29b310f0533ddd7·...·]-43">)</span><span·class="p">,</span><span·class="w">237 ····</span><span·class="p"·data-group-id="3908567446-42">[</span><span·class="n">Value</span><span·class="p"·data-group-id="3908567446-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:·337a7c06834dc1c9240d819691562588f60ad15f4b0005afcceade3c7e185550·...·]-43">)</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 42813/79983 bytes (53.53%) of diff not shown.
709 B
html2text {}
Max HTML report size reached
26.6 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/getting_started_chapter.html
    
Offset 165, 61 lines modifiedOffset 165, 61 lines modified
165 ··</a>165 ··</a>
166 ··<span·class="text">A·Simple·Test·Suite</span>166 ··<span·class="text">A·Simple·Test·Suite</span>
167 </h2>167 </h2>
168 <p>As·shown·in·section·<a·href="basics_chapter.html#External_Interfaces">Common·Test·Basics</a>,168 <p>As·shown·in·section·<a·href="basics_chapter.html#External_Interfaces">Common·Test·Basics</a>,
169 the·test·suite·module·implements·<a·href="ct_suite.html">callback·functions</a>·(mandatory169 the·test·suite·module·implements·<a·href="ct_suite.html">callback·functions</a>·(mandatory
170 or·optional)·for·various·purposes,·for·example:</p><ul><li>Init/end·configuration·function·for·the·test·suite</li><li>Init/end·configuration·function·for·a·test·case</li><li>Init/end·configuration·function·for·a·test·case·group</li><li>Test·cases</li></ul><p>The·configuration·functions·are·optional.·The·following·example·is·a·test·suite170 or·optional)·for·various·purposes,·for·example:</p><ul><li>Init/end·configuration·function·for·the·test·suite</li><li>Init/end·configuration·function·for·a·test·case</li><li>Init/end·configuration·function·for·a·test·case·group</li><li>Test·cases</li></ul><p>The·configuration·functions·are·optional.·The·following·example·is·a·test·suite
171 without·configuration·functions,·including·one·simple·test·case,·to·check·that171 without·configuration·functions,·including·one·simple·test·case,·to·check·that
172 module·<code·class="inline">mymod</code>·exists·(that·is,·can·be·successfully·loaded·by·the·code·server):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0248444949-1">(</span><span·class="ss">my1st_SUITE</span><span·class="p"·data-group-id="0248444949-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="5920516612-1">(</span><span·class="ss">my1st_SUITE</span><span·class="p"·data-group-id="5920516612-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="0248444949-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="0248444949-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="5920516612-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="5920516612-2">)</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">all</span><span·class="p"·data-group-id="0248444949-3">(</span><span·class="p"·data-group-id="0248444949-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="5920516612-3">(</span><span·class="p"·data-group-id="5920516612-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
175 ····</span><span·class="p"·data-group-id="0248444949-4">[</span><span·class="ss">mod_exists</span><span·class="p"·data-group-id="0248444949-4">]</span><span·class="p">.</span><span·class="w">175 ····</span><span·class="p"·data-group-id="5920516612-4">[</span><span·class="ss">mod_exists</span><span·class="p"·data-group-id="5920516612-4">]</span><span·class="p">.</span><span·class="w">
  
176 </span><span·class="nf">mod_exists</span><span·class="p"·data-group-id="0248444949-5">(</span><span·class="p">_</span><span·class="p"·data-group-id="0248444949-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="5920516612-5">(</span><span·class="p">_</span><span·class="p"·data-group-id="5920516612-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ····</span><span·class="p"·data-group-id="0248444949-6">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">mymod</span><span·class="p"·data-group-id="0248444949-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:·5aaf4d6d71fc450565fbca27e8ec205b6bda0ac0bb1c0d451f4acda5edd279fa·...·]-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="5920516612-6">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">mymod</span><span·class="p"·data-group-id="5920516612-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:·a574224fa85a0c808818e3a2f277202504133981caee7d996c0629f09f46fd8c·...·]-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="2729626463-1">(</span><span·class="ss">check_log_SUITE</span><span·class="p"·data-group-id="2729626463-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="6996628584-1">(</span><span·class="ss">check_log_SUITE</span><span·class="p"·data-group-id="6996628584-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="2729626463-2">(</span><span·class="p"·data-group-id="2729626463-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:·c3b613a636b11d2e8512b796540ae65108be339f2d19bee067b2789c26ff1026·...·]-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="6996628584-2">(</span><span·class="p"·data-group-id="6996628584-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:·8e8e99dc23372fb89283ec894d9798d8c7e98c1c563987862fb922c587ca7265·...·]-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="2729626463-4">(</span><span·class="p"·data-group-id="2729626463-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:·7e7ab373e5b8bc749bcf568beff2624a03f23a1834fb82d20929ea8ef3ae0422·...·]-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="6996628584-4">(</span><span·class="p"·data-group-id="6996628584-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:·7bbb5b3e502ac2306fdcd524edf68ad11e7fe208bc65859e8467895b7de365bd·...·]-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="2729626463-6">(</span><span·class="nf">value</span><span·class="p"·data-group-id="2729626463-7">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="2729626463-7">)</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·344,·SHA:·1602fe456fde5a075c42197930a957c2805961944c9b61df7ff80d40148d72bc·...·]-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="6996628584-6">(</span><span·class="nf">value</span><span·class="p"·data-group-id="6996628584-7">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="6996628584-7">)</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·344,·SHA:·2357eafd5373a619cffeeef6f4e68ecb3dc95ce705126fbbf0a4271325100517·...·]-6">)</span><span·class="p">.</span><span·class="w">
  
195 </span><span·class="nf">all</span><span·class="p"·data-group-id="2729626463-9">(</span><span·class="p"·data-group-id="2729626463-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2729626463-10">[</span><span·class="ss">check_restart_result</span><span·c[·...·truncated·by·diffoscope;·len:·121,·SHA:·ca52f696822849a1ad2414ef13fc04b8234f71244c3e71c5fe566d1aed2eb7e4·...·]-10">]</span><span·class="p">.</span><span·class="w">195 </span><span·class="nf">all</span><span·class="p"·data-group-id="6996628584-9">(</span><span·class="p"·data-group-id="6996628584-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6996628584-10">[</span><span·class="ss">check_restart_result</span><span·c[·...·truncated·by·diffoscope;·len:·121,·SHA:·853c9f0472805bba3cd3bacbad44e296ed23b0eb58e114e9aa8de9f6ad70e991·...·]-10">]</span><span·class="p">.</span><span·class="w">
  
196 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="2729626463-11">(</span><span·class="n">InitConfigData</span><span·class="p"·data-group-id="2729626463-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="6996628584-11">(</span><span·class="n">InitConfigData</span><span·class="p"·data-group-id="6996628584-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
197 ····</span><span·class="p"·data-group-id="2729626463-12">[</span><span·class="p"·data-group-id="2729626463-13">{</span><span·class="ss">logref</span><span·class="p">,</span><span·class="nf">open_log</span><span·class="p"·data-group-id="2729626463-14">(</span><span·class="p"·data-group-id="27296264[·...·truncated·by·diffoscope;·len:·219,·SHA:·719c06e01a9c1e1ad3ea112099a87235a3216adfdc5a97c5658fbf4e74ac5596·...·]-12">]</span><span·class="p">.</span><span·class="w">197 ····</span><span·class="p"·data-group-id="6996628584-12">[</span><span·class="p"·data-group-id="6996628584-13">{</span><span·class="ss">logref</span><span·class="p">,</span><span·class="nf">open_log</span><span·class="p"·data-group-id="6996628584-14">(</span><span·class="p"·data-group-id="69966285[·...·truncated·by·diffoscope;·len:·219,·SHA:·418f5cd04f25e1915c704898c72e20728896c1faa4d69de2755bb1b4d9ce292e·...·]-12">]</span><span·class="p">.</span><span·class="w">
  
198 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="2729626463-15">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="2729626463-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="6996628584-15">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="6996628584-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="2729626463-16">(</span><span·class="o">?</span><span·class="nf">value</span><span·class="p"·data-group-id="2729626463-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:·86e5347ef980849f8cc78bd10a35edd812a36e38007914a0cc70d050aea9e667·...·]-16">)</span><span·class="p">.</span><span·class="w">199 ····</span><span·class="nf">close_log</span><span·class="p"·data-group-id="6996628584-16">(</span><span·class="o">?</span><span·class="nf">value</span><span·class="p"·data-group-id="6996628584-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:·feafa24db0b9e9409466df1c2a5066a25af89651cc333c3272ba8ad648780eb0·...·]-16">)</span><span·class="p">.</span><span·class="w">
  
200 </span><span·class="nf">check_restart_result</span><span·class="p"·data-group-id="2729626463-18">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="2729626463-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="6996628584-18">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="6996628584-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="2729626463-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="2729626463-20">(</span><span·class="ss">logref</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·159,·SHA:·410803a1c81fe1f3a597c67ed57b87212562d79551a5bba82b205bc5d014c027·...·]-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="6996628584-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="6996628584-20">(</span><span·class="ss">logref</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·159,·SHA:·36df2929b527183051bd6b010188a28db2510cf2b17f4b6a69cf7a8b4a7eed2d·...·]-19">)</span><span·class="p">,</span><span·class="w">
202 ····</span><span·class="p"·data-group-id="2729626463-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="2729626463-21">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·258,·SHA:·908a49747b759662c1536cb365239f0c5f672c4c0ec2b565cd143acbc1723645·...·]-22">)</span><span·class="p">.</span><span·class="w">202 ····</span><span·class="p"·data-group-id="6996628584-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="6996628584-21">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·258,·SHA:·804fc56f492031cc8adf41d604829eb3f6b851b460a7f215c0a8ee3d15082dc0·...·]-22">)</span><span·class="p">.</span><span·class="w">
  
203 </span><span·class="nf">check_no_errors</span><span·class="p"·data-group-id="2729626463-23">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="2729626463-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="6996628584-23">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="6996628584-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="2729626463-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="2729626463-25">(</span><span·class="ss">logref</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·155,·SHA:·05f50dc57b3e94dd8c66f33ebd74a3412e0418f0727044d33069b73345457cdc·...·]-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="6996628584-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="6996628584-25">(</span><span·class="ss">logref</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·155,·SHA:·e503f458eb839d272c161993e51ff707f6bfd83183e34c581d1e171b86fc41fb·...·]-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="2729626463-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="2729626463-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="6996628584-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="6996628584-26">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
206 ········</span><span·class="p"·data-group-id="2729626463-27">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="n">Line</span><span·class="p"·data-group-id="2729626463-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:·598816b33e00da575d6afd58412b2535c08ecff74ae9b23da6cbd6911581ba5a·...·]-28">)</span><span·class="p">;</span><span·class="w">206 ········</span><span·class="p"·data-group-id="6996628584-27">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="n">Line</span><span·class="p"·data-group-id="6996628584-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:·bae8a8228ea5739af643e7901123df99662384f03541de676357c66b5ba2125b·...·]-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="5200159888-1">(</span><span·class="p"·data-group-id="5200159888-2">[</span><span·class="p"·data-group-id="5200159888-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:·bbc0b1259e40d19a51a7d7a9b951a3c8e99b7deb58b6aead950b0dfba681e056·...·]-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="4552925496-1">(</span><span·class="p"·data-group-id="4552925496-2">[</span><span·class="p"·data-group-id="4552925496-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:·7d51c7457974ff0360a1d305d8912c695996124c0d22f27268b4fd181b5f462c·...·]-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.28/doc/html/install_chapter.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ······<p·class="built-using">186 ······<p·class="built-using">
187 ········Built·using187 ········Built·using
188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
190 ······</p>190 ······</p>
191 <p>Copyright·©·1996-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.57 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/introduction.html
    
Offset 200, 15 lines modifiedOffset 200, 15 lines modified
200 ······<p·class="built-using">200 ······<p·class="built-using">
201 ········Built·using201 ········Built·using
202 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the202 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
203 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>203 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
204 ······</p>204 ······</p>
205 <p>Copyright·©·1996-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.51 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/notes.html
    
Offset 2848, 15 lines modifiedOffset 2848, 15 lines modified
2848 ······<p·class="built-using">2848 ······<p·class="built-using">
2849 ········Built·using2849 ········Built·using
2850 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2850 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2851 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2851 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2852 ······</p>2852 ······</p>
2853 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2853 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2854 ····</footer>2854 ····</footer>
2855 ··</div>2855 ··</div>
2856 </main>2856 </main>
2857 </div>2857 </div>
2858 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2858 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2859 ··<script>2859 ··<script>
2860 ··let·initialized·=·false;2860 ··let·initialized·=·false;
705 B
html2text {}
Max HTML report size reached
200 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/run_test_chapter.html
Max HTML report size reached
1.28 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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;
467 B
html2text {}
Max HTML report size reached
1.67 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/test_structure_chapter.html
    
Offset 232, 15 lines modifiedOffset 232, 15 lines modified
232 ······<p·class="built-using">232 ······<p·class="built-using">
233 ········Built·using233 ········Built·using
234 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the234 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
235 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>235 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
236 ······</p>236 ······</p>
237 <p>Copyright·©·1996-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.7 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/unix_telnet.html
    
Offset 125, 22 lines modifiedOffset 125, 22 lines modified
125 ····<small·class="app-vsn"·translate="no">(common_test·v1.28)</small>125 ····<small·class="app-vsn"·translate="no">(common_test·v1.28)</small>
  
126 ··</h1>126 ··</h1>
  
  
127 ····<section·id="moduledoc">127 ····<section·id="moduledoc">
128 <p>Callback·module·for·<a·href="ct_telnet.html"><code·class="inline">ct_telnet</code></a>,·for·connecting·to·a·Telnet·server·on·a·UNIX128 <p>Callback·module·for·<a·href="ct_telnet.html"><code·class="inline">ct_telnet</code></a>,·for·connecting·to·a·Telnet·server·on·a·UNIX
129 host.</p><p>It·requires·the·following·entry·in·the·configuration·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2126885985-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="2126885985-2">[</span><span·class="p"·data-group-id="2126885985-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">HostNa[·...·truncated·by·diffoscope;·len:·61,·SHA:·9638810b0eac7cb72a217426407096ab0b57f5aa4336fe6b66cc0d5399bc9eed·...·]-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="5602034980-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="5602034980-2">[</span><span·class="p"·data-group-id="5602034980-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">HostNa[·...·truncated·by·diffoscope;·len:·61,·SHA:·1459f42e541022315578cfdce1ff84c8a2b520a6417441bab354d1b5db4405d0·...·]-3">}</span><span·class="p">,</span><span·class="w">
130 ·······</span><span·class="p"·data-group-id="2126885985-4">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="n">PortNum</span><span·class="p"·data-group-id="2126885985-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="5602034980-4">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="n">PortNum</span><span·class="p"·data-group-id="5602034980-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="2126885985-5">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">UserName</span><span·class="p"·data-group-id="2126885985-5">}</span><span·class="p">,</span><span·class="w">131 ·······</span><span·class="p"·data-group-id="5602034980-5">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">UserName</span><span·class="p"·data-group-id="5602034980-5">}</span><span·class="p">,</span><span·class="w">
132 ·······</span><span·class="p"·data-group-id="2126885985-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="2126885985-6">}</span><span·class="p">,</span><span·class="w"> 
133 ·······</span><span·class="p"·data-group-id="2126885985-7">{</span><span·class="ss">keep_alive</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="2126885985-7">}</span><span·class="p"·data-group-id="2126885985-2">]</span><span·class="p"·data-group-id="2126885985-1[·...·truncated·by·diffoscope;·len:·222,·SHA:·67878fdbd1e304a1346f863eba7ee32a4a28313966a3fd87470af519a65c4b5e·...·]132 ·······</span><span·class="p"·data-group-id="5602034980-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="5602034980-6">}</span><span·class="p">,</span><span·class="w">
 133 ·······</span><span·class="p"·data-group-id="5602034980-7">{</span><span·class="ss">keep_alive</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="5602034980-7">}</span><span·class="p"·data-group-id="5602034980-2">]</span><span·class="p"·data-group-id="5602034980-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="8983642523-1">(</span><span·class="p"·data-group-id="8983642523-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8983642523-2">[</span><span·class="p"·data-group-id="8983642523-3">{</span[·...·truncated·by·diffoscope;·len:·1120,·SHA:·fa27ef627bdacc5abfe161bf81f13a124817a6e3afd64bb546dc2462c7825177·...·]3-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="2018264298-1">(</span><span·class="p"·data-group-id="2018264298-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2018264298-2">[</span><span·class="p"·data-group-id="2018264298-3">{</span[·...·truncated·by·diffoscope;·len:·1120,·SHA:·b85d42e155dccec8887085b0dc98a24e866fcf996cf8ee0c50e6805601d3b850·...·]3-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.28/doc/html/why_test_chapter.html
    
Offset 206, 15 lines modifiedOffset 206, 15 lines modified
206 ······<p·class="built-using">206 ······<p·class="built-using">
207 ········Built·using207 ········Built·using
208 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the208 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
209 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>209 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
210 ······</p>210 ······</p>
211 <p>Copyright·©·1996-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.28/doc/html/write_test_chapter.html
    
Offset 262, 58 lines modifiedOffset 262, 58 lines modified
262 <a·href="write_test_chapter.html#timetraps">Timetrap·Time-Outs</a>.</p></li><li><p><strong><code·class="inline">userdata</code></strong>·-·Specifies·any·data·related·to·the·test·case.·This·data·can·be262 <a·href="write_test_chapter.html#timetraps">Timetrap·Time-Outs</a>.</p></li><li><p><strong><code·class="inline">userdata</code></strong>·-·Specifies·any·data·related·to·the·test·case.·This·data·can·be
263 retrieved·at·any·time·using·the·<a·href="ct.html#userdata/3"><code·class="inline">ct:userdata/3</code></a>·utility·function.</p></li><li><p><strong><code·class="inline">silent_connections</code></strong>·-·For·details,·see·section263 retrieved·at·any·time·using·the·<a·href="ct.html#userdata/3"><code·class="inline">ct:userdata/3</code></a>·utility·function.</p></li><li><p><strong><code·class="inline">silent_connections</code></strong>·-·For·details,·see·section
264 <a·href="run_test_chapter.html#silent_connections">Silent·Connections</a>.</p></li><li><p><strong><code·class="inline">require</code></strong>·-·Specifies·configuration·variables·required·by·the·test·case.264 <a·href="run_test_chapter.html#silent_connections">Silent·Connections</a>.</p></li><li><p><strong><code·class="inline">require</code></strong>·-·Specifies·configuration·variables·required·by·the·test·case.
265 If·the·required·configuration·variables·are·not·found·in·any·of·the·test265 If·the·required·configuration·variables·are·not·found·in·any·of·the·test
266 system·configuration·files,·the·test·case·is·skipped.</p><p>A·required·variable·can·also·be·given·a·default·value·to·be·used·if·the266 system·configuration·files,·the·test·case·is·skipped.</p><p>A·required·variable·can·also·be·given·a·default·value·to·be·used·if·the
267 variable·is·not·found·in·any·configuration·file.·To·specify·a·default·value,267 variable·is·not·found·in·any·configuration·file.·To·specify·a·default·value,
268 add·a·tuple·of·the·form·<code·class="inline">{default_config,ConfigVariableName,Value}</code>·to·the268 add·a·tuple·of·the·form·<code·class="inline">{default_config,ConfigVariableName,Value}</code>·to·the
269 test·case·information·list·(the·position·in·the·list·is·irrelevant).</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">testcase1</span><span·class="p"·data-group-id="3182836603-1">(</span><span·class="p"·data-group-id="3182836603-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="9259098084-1">(</span><span·class="p"·data-group-id="9259098084-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
270 ····</span><span·class="p"·data-group-id="3182836603-2">[</span><span·class="p"·data-group-id="3182836603-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="3182836603-3">}</span><span·class="p">,</span><span·class="w">270 ····</span><span·class="p"·data-group-id="9259098084-2">[</span><span·class="p"·data-group-id="9259098084-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="9259098084-3">}</span><span·class="p">,</span><span·class="w">
271 ·····</span><span·class="p"·data-group-id="3182836603-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="3182836603-5">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·195,·SHA:·6a3f55aa73f1d215f55fc92d1b04c25abbde59c7c1f37579bb3a32129412eb51·...·]-6">}</span><span·class="p">,</span><span·class="w">271 ·····</span><span·class="p"·data-group-id="9259098084-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="9259098084-5">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·195,·SHA:·3ca57b24462e71ffd45c037e812946fcaae9e9dbdb64ec34bab8c0f5d6635fe3·...·]-6">}</span><span·class="p">,</span><span·class="w">
272 ····························</span><span·class="p"·data-group-id="3182836603-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="3182836603-7">}</span><span·class="p">,</span><span·class="w"> 
273 ····························</span><span·class="p"·data-group-id="3182836603-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="3182836603-8">}</span><span·class="p"·data-group-id="3182836603-5">]</span><span·class="p"·data-group-id="3182836603-4">}</span><span·class="p">}</span><span·class="p"·data-group-id="3182836603-2">]</span><span·class="p">.</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">testcase2</span><span·class="p"·data-group-id="8084178111-1">(</span><span·class="p"·data-group-id="8084178111-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
274 ····</span><span·class="p"·data-group-id="8084178111-2">[</span><span·class="p"·data-group-id="8084178111-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">unix</span><span·class="p"·data-group-id="8084178111-3">}</span><span·class="p">,</span><span·class="w"> 
275 ·····</span><span·class="p"·data-group-id="8084178111-4">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8084178111-5">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8084178111-6">[</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">username</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">password</span><span·class="p"·data-group-id="8084178111-6">]</span><span·class="p"·data-group-id="8084178111-5">}</span><span·class="p"·data-group-id="8084178111-4">}</span><span·class="p">,</span><span·class="w"> 
276 ·····</span><span·class="p"·data-group-id="8084178111-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="8084178111-8">[</span><span·class="p"·data-group-id="8084178111-9">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_telnet_host&quot;</span><span·class="p"·data-group-id="8084178111-9">}</span><span·class="p">,</span><span·class="w"> 
277 ·····························</span><span·class="p"·data-group-id="8084178111-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="8084178111-10">}</span><span·class="p">,</span><span·class="w">272 ····························</span><span·class="p"·data-group-id="9259098084-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="9259098084-7">}</span><span·class="p">,</span><span·class="w">
 273 ····························</span><span·class="p"·data-group-id="9259098084-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="9259098084-8">}</span><span·class="p"·data-group-id="9259098084-5">]</span><span·class="p"·data-group-id="9259098084-4">}</span><span·class="p">}</span><span·class="p"·data-group-id="9259098084-2">]</span><span·class="p">.</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">testcase2</span><span·class="p"·data-group-id="7688743381-1">(</span><span·class="p"·data-group-id="7688743381-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
 274 ····</span><span·class="p"·data-group-id="7688743381-2">[</span><span·class="p"·data-group-id="7688743381-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">unix</span><span·class="p"·data-group-id="7688743381-3">}</span><span·class="p">,</span><span·class="w">
 275 ·····</span><span·class="p"·data-group-id="7688743381-4">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7688743381-5">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7688743381-6">[</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">username</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">password</span><span·class="p"·data-group-id="7688743381-6">]</span><span·class="p"·data-group-id="7688743381-5">}</span><span·class="p"·data-group-id="7688743381-4">}</span><span·class="p">,</span><span·class="w">
 276 ·····</span><span·class="p"·data-group-id="7688743381-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="7688743381-8">[</span><span·class="p"·data-group-id="7688743381-9">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_telnet_host&quot;</span><span·class="p"·data-group-id="7688743381-9">}</span><span·class="p">,</span><span·class="w">
 277 ·····························</span><span·class="p"·data-group-id="7688743381-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="7688743381-10">}</span><span·class="p">,</span><span·class="w">
278 ·····························</span><span·class="p"·data-group-id="8084178111-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="8084178111-11">}</span><span·class="p"·data-group-id="8084178111-8">]</span><span[·...·truncated·by·diffoscope;·len:·112,·SHA:·fbfaa6a85c79c1efb52c513438282d985dc136bbefd2aa4323817a8dcb62deaa·...·]1-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="7688743381-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="7688743381-11">}</span><span·class="p"·data-group-id="7688743381-8">]</span><span[·...·truncated·by·diffoscope;·len:·112,·SHA:·0fed50e4b531bce6b32c298fd446c7861372d139428abbd4645c9d6ad391742f·...·]1-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="4634004342-1">(</span><span·class="p"·data-group-id="4634004342-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="7767101198-1">(</span><span·class="p"·data-group-id="7767101198-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
285 ····</span><span·class="p"·data-group-id="4634004342-2">[</span><span·class="w">285 ····</span><span·class="p"·data-group-id="7767101198-2">[</span><span·class="w">
286 ·····</span><span·class="p"·data-group-id="4634004342-3">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="4634004342-4">{</span><span·class="ss">seconds</span><span·class="p">,</span><span·class="mi">60</span><span·class="p"·data-group-id="4634004342-4"[·...·truncated·by·diffoscope;·len:·50,·SHA:·20d9e10c9956f3ca013add18a9d9ebac5d2968f5213678f5268498f121c09023·...·]-3">}</span><span·class="p">,</span><span·class="w">286 ·····</span><span·class="p"·data-group-id="7767101198-3">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="7767101198-4">{</span><span·class="ss">seconds</span><span·class="p">,</span><span·class="mi">60</span><span·class="p"·data-group-id="7767101198-4"[·...·truncated·by·diffoscope;·len:·50,·SHA:·93e003c02b6f0dcb5d86379cbfc365e7af3f890d2813888989745ffe25b442aa·...·]-3">}</span><span·class="p">,</span><span·class="w">
287 ·····</span><span·class="p"·data-group-id="4634004342-5">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">interfaces</span><span·class="p"·data-group-id="4634004342-5">}</span><span·class="p">,</span><span·class="w">287 ·····</span><span·class="p"·data-group-id="7767101198-5">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">interfaces</span><span·class="p"·data-group-id="7767101198-5">}</span><span·class="p">,</span><span·class="w">
288 ·····</span><span·class="p"·data-group-id="4634004342-6">{</span><span·class="ss">userdata</span><span·class="p">,</span><span·class="w">288 ·····</span><span·class="p"·data-group-id="7767101198-6">{</span><span·class="ss">userdata</span><span·class="p">,</span><span·class="w">
289 ·········</span><span·class="p"·data-group-id="4634004342-7">[</span><span·class="p"·data-group-id="4634004342-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="4634004342-8">}</span><span·class="p">,</span><span·class="w">289 ·········</span><span·class="p"·data-group-id="7767101198-7">[</span><span·class="p"·data-group-id="7767101198-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="7767101198-8">}</span><span·class="p">,</span><span·class="w">
290 ··········</span><span·class="p"·data-group-id="4634004342-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="4634004342-9">}</span><span·class="p"·data-group-id="4634004342-7">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·8433547448dea34494d61061372b204b2ed666580b725015ef22c6e0ee675fdc·...·]-6">}</span><span·class="w">290 ··········</span><span·class="p"·data-group-id="7767101198-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="7767101198-9">}</span><span·class="p"·data-group-id="7767101198-7">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·e9d48e752f03503bd437ad48c5358e5ab982c337ff857eb3c6453bf853792409·...·]-6">}</span><span·class="w">
291 ····</span><span·class="p"·data-group-id="4634004342-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="7767101198-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="1569726332-1">(</span><span·class="p"·data-group-id="1569726332-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="8966706496-1">(</span><span·class="p"·data-group-id="8966706496-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
306 ····</span><span·class="p"·data-group-id="1569726332-2">[</span><span·class="w">306 ····</span><span·class="p"·data-group-id="8966706496-2">[</span><span·class="w">
307 ·····</span><span·class="p"·data-group-id="1569726332-3">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="1569726332-4">{</span><span·class="ss">minutes</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="1569726332-4"[·...·truncated·by·diffoscope;·len:·50,·SHA:·1779f75ad079e5397b851aef3bc1cb7a1e0c4ba917d4eba09c2d4406b1e54573·...·]-3">}</span><span·class="p">,</span><span·class="w">307 ·····</span><span·class="p"·data-group-id="8966706496-3">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="8966706496-4">{</span><span·class="ss">minutes</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="8966706496-4"[·...·truncated·by·diffoscope;·len:·50,·SHA:·a3e61bb007d55d4eed6917f5f761f825da1bc23a79170b3c61e73291efbd38c6·...·]-3">}</span><span·class="p">,</span><span·class="w">
308 ·····</span><span·class="p"·data-group-id="1569726332-5">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">global_names</span><span·class="p"·data-group-id="1569726332-5">}</span><span·class="p">,</span><span·class="w">308 ·····</span><span·class="p"·data-group-id="8966706496-5">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">global_names</span><span·class="p"·data-group-id="8966706496-5">}</span><span·class="p">,</span><span·class="w">
309 ·····</span><span·class="p"·data-group-id="1569726332-6">{</span><span·class="ss">userdata</span><span·class="p">,</span><span·class="p"·data-group-id="1569726332-7">[</span><span·class="p"·data-group-id="1569726332-8">{</span><span·class="ss">info</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·201,·SHA:·e0df0d8fc4e5ad723d672e4e5c4165d92f1683dc415c723a84756d61d78f338e·...·]-6">}</span><span·class="p">,</span><span·class="w">309 ·····</span><span·class="p"·data-group-id="8966706496-6">{</span><span·class="ss">userdata</span><span·class="p">,</span><span·class="p"·data-group-id="8966706496-7">[</span><span·class="p"·data-group-id="8966706496-8">{</span><span·class="ss">info</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·201,·SHA:·005718caad68fccc9c07d2c54fa1a0154adf936cb5640988058e7435192eb528·...·]-6">}</span><span·class="p">,</span><span·class="w">
310 ·····</span><span·class="p"·data-group-id="1569726332-9">{</span><span·class="ss">silent_connections</span><span·class="p">,</span><span·class="p"·data-group-id="1569726332-10">[</span><span·class="ss">telnet</span><span·class="p"·data-group-id="1569726332-10">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·5c5dcaca3cf28e90458421d19ae350136d9f8971714c87dc06667900537e1da4·...·]-9">}</span><span·class="p">,</span><span·class="w">310 ·····</span><span·class="p"·data-group-id="8966706496-9">{</span><span·class="ss">silent_connections</span><span·class="p">,</span><span·class="p"·data-group-id="8966706496-10">[</span><span·class="ss">telnet</span><span·class="p"·data-group-id="8966706496-10">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·9a2bca1a0ff440672282889ad1ba060819c26acaea0b84fbb671c417c8526e3c·...·]-9">}</span><span·class="p">,</span><span·class="w">
311 ·····</span><span·class="p"·data-group-id="1569726332-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="1569726332-11">}</span><span·class="w">311 ·····</span><span·class="p"·data-group-id="8966706496-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="8966706496-11">}</span><span·class="w">
312 ····</span><span·class="p"·data-group-id="1569726332-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="8966706496-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="2062904013-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:·500d81c9856f66cfa1bcb53c6da1e6fecb0f98267c0bde99450de675367509a2·...·]-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="6505804147-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:·591cf271ea7dbbf918714788182a0d0122ccc1f0285d37d8aed99500f9609858·...·]-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="2062904013-3">{</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="n">Seed</span><span·class="p"·data-group-id="2062904013-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="6505804147-3">{</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="n">Seed</span><span·class="p"·data-group-id="6505804147-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="2062904013-4">{</span><span·class="nf">integer</span><span·class="p"·data-group-id="2062904013-5">(</span><span·class="p"·data-group-id="2062904013-5">)</span><span·class="p">,</span><span·class="nf">integer</span><span·class="p"·data-group-id="2062904013-[·...·truncated·by·diffoscope;·len:·266,·SHA:·1f9543fc07d6dcb95d7e37e0006c2b05fc425a3e4fcf801eaa823a70c29c1a52·...·]-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="6505804147-4">{</span><span·class="nf">integer</span><span·class="p"·data-group-id="6505804147-5">(</span><span·class="p"·data-group-id="6505804147-5">)</span><span·class="p">,</span><span·class="nf">integer</span><span·class="p"·data-group-id="6505804147-[·...·truncated·by·diffoscope;·len:·266,·SHA:·749d0880b7e5363dcb00f33dc0679dd7c5d93838779b135ccba0f159c2d55ebd·...·]-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="2062904013-8">(</span><span·class="p"·data-group-id="2062904013-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="6505804147-8">(</span><span·class="p"·data-group-id="6505804147-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="9616768501-1">(</span><span·class="p"·data-group-id="9616768501-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9616768501-2">[</span><span·class="p"·data-group-id="9616768501-3">{</span><span·class="ss">group1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9616768501-4">[</span><span·class="ss">parallel</span><span·class="p"·data-group-id="9616768501-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9616768501-5">[</span><span·class="ss">test1a</span><span·class="p">,</span><span·class="ss">test1b</span><span·class="p"·data-group-id="9616768501-5">]</span><span·class="p"·data-group-id="9616768501-3">}</span><span·class="p">,</span><span·class="w"> 
345 ·············</span><span·class="p"·data-group-id="9616768501-6">{</span><span·class="ss">group2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9616768501-7">[</span><span·class="ss">shuffle</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·604,·SHA:·1697d06bab231014d13497a6e336eff340a3aee7c508061257c943b4cabd267b·...·]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="8327696148-1">(</span><span·class="p"·data-group-id="8327696148-1">)</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·711,·SHA:·e173c47270cf5014a49848980b1ab5c5040113722ffcd1024d14f8667abc0ff6·...·]
 345 ·············</span><span·class="p"·data-group-id="8327696148-6">{</span><span·class="ss">group2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8327696148-7">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="ss">sequence</span><span·class="p"·data-group-id="8327696148-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8327696148-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="8327696148-8">]</span><span·class="p"·data-group-id="8327696148-6">}</span><span·class="p"·data-group-id="8327696148-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="0135207434-1">(</span><span·class="p"·data-group-id="0135207434-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0135207434-2">[</span><span·class="ss">testcase1</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·1055,·SHA:·dc48d74039b2c221dd255ffa5191ebadd99a6af5f21f6ae56ce1ffe29dfafb8f·...·]-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="8670215511-1">(</span><span·class="p"·data-group-id="8670215511-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8670215511-2">[</span><span·class="ss">testcase1</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·1055,·SHA:·a30f29ddf04aaf1804f05f41d28e515b033de58ce1444839eac920f9d5f38858·...·]-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="8412553833-1">(</span><span·class="p"·data-group-id="8412553833-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8412553833-2">[</span><span·class="p"·data-group-id="8412553833-3">{</span[·...·truncated·by·diffoscope;·len:·796,·SHA:·eed5817126dca6daf9bf2684b0fab1986281368a8458f7eefa5d1ba2b9c05c75·...·]-6">}</span><span·class="p">,</span><span·class="w">356 list,·executes·with·their·predefined·properties.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">groups</span><span·class="p"·data-group-id="6256784172-1">(</span><span·class="p"·data-group-id="6256784172-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6256784172-2">[</span><span·class="p"·data-group-id="6256784172-3">{</span[·...·truncated·by·diffoscope;·len:·796,·SHA:·c8e16a6f6ad6babec7db71dfb77c217307c2cb4cc2c528f30c1e7621252b8a6e·...·]-6">}</span><span·class="p">,</span><span·class="w">
357 ··························</span><span·class="p"·data-group-id="8412553833-9">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8412553833-10">[</span><span·class="p"·data-group-id="8412553833-10">]</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·386,·SHA:·82e50ce920fcf3327fd957f55a10a4ea0de62fa931e50b54ab49c8d7addf92cd·...·]-2">]</span><span·class="p">.</span></code></pre><p>To·execute·group·<code·class="inline">tests1</code>·twice·with·different·properties·for·<code·class="inline">tests2</code>·each357 ··························</span><span·class="p"·data-group-id="6256784172-9">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6256784172-10">[</span><span·class="p"·data-group-id="6256784172-10">]</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·386,·SHA:·fb4351903c10c9a29fd5c0c7ff1079eec994508e7ab25b39a2a13472ba8c6e59·...·]-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="0288252435-1">(</span><span·class="p"·data-group-id="0288252435-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="2714976022-1">(</span><span·class="p"·data-group-id="2714976022-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
359 ···</span><span·class="p"·data-group-id="0288252435-2">[</span><span·class="p"·data-group-id="0288252435-3">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0288252435-4">[</span><span·class="p"·data-group-id="0288252435-5">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0288252435-6">[</span><span·class="ss">parallel</span><span·class="p"·data-group-id="0288252435-6">]</span><span·class="p"·data-group-id="0288252435-5">}</span><span·class="p"·data-group-id="0288252435-4">]</span><span·class="p"·data-group-id="0288252435-3">}</span><span·class="p">,</span><span·class="w"> 
360 ····</span><span·class="p"·data-group-id="0288252435-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·cla[·...·truncated·by·diffoscope;·len:·1106,·SHA:·34d541f3fee7fef2cc93f800a21e8939d224176258ba02b2477ddde84c04bb18·...·]</span><span·class="w">359 ···</span><span·class="p"·data-group-id="2714976022-2">[</span><span·class="p"·data-group-id="2714976022-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=[·...·truncated·by·diffoscope;·len:·589,·SHA:·7d782bc491a90e334dc86335ba779c4f4475fca09db2f13f3dc65a383a767c7d·...·]</span><span·class="w">
 360 ····</span><span·class="p"·data-group-id="2714976022-7">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2714976022-8">[</span><span·class="p"·data-group-id="2714976022-9">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2714976022-10">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="p"·data-group-id="2714976022-11">{</span><span·class="ss">repeat</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="2714976022-11">}</span><span·class="p"·data-group-id="2714976022-10">]</span><span·class="p"·data-group-id="2714976022-9">}</span><span·class="p"·data-group-id="2714976022-8">]</span><span·class="p"·data-group-id="2714976022-7">}</span><span·class="p"·data-group-id="2714976022-2">]</span><span·class="p">.</span></code></pre><p>This·is·equivalent·to·the·following·specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">all</span><span·class="p"·data-group-id="6738795338-1">(</span><span·class="p"·data-group-id="6738795338-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
361 ···</span><span·class="p"·data-group-id="0935347087-2">[</span><span·class="p"·data-group-id="0935347087-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:·cbb801676b57215c8b28d0991c6085a9d00ad4c11144921b7bd91cff074e8d4d·...·]-5">}</span><span·class="p">,</span><span·class="w">361 ···</span><span·class="p"·data-group-id="6738795338-2">[</span><span·class="p"·data-group-id="6738795338-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:·3241a233a9294a9c4901756de3f9ecdcd57b11dbc8d64f63695db7443131e01b·...·]-5">}</span><span·class="p">,</span><span·class="w">
362 ······························</span><span·class="p"·data-group-id="0935347087-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="0935347087-7">}</span><span·class="p"·data-group-id="0935347087-4">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·0f02ebfea808b652628f57b38f0e1e27d74590c3c6fea899c8c27cddf4e51555·...·]-3">}</span><span·class="p">,</span><span·class="w">362 ······························</span><span·class="p"·data-group-id="6738795338-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="6738795338-7">}</span><span·class="p"·data-group-id="6738795338-4">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·6e3a608e47d244eb98bf721bff6551d41b16b6f2cc75203674cd54473db97de0·...·]-3">}</span><span·class="p">,</span><span·class="w">
363 ····</span><span·class="p"·data-group-id="0935347087-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:·2d8be8e3a42b70e2842f0aa138dec1318d65a69f3d33a13205890903fcf02ea8·...·]-10">}</span><span·class="p">,</span><span·class="w">363 ····</span><span·class="p"·data-group-id="6738795338-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:·71b93d32a413cde9bf846895483570a2a17e1dfbd746d4b0ff42b22a52685e2c·...·]-10">}</span><span·class="p">,</span><span·class="w">
364 ······························</span><span·class="p"·data-group-id="0935347087-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="0935347087-13">}</span><span·class="p"·data-group-id="0935347087-9">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·77,·SHA:·406646874e30e7bce187cbef3b019e0ceb97b9244074fe9402e33e4f521ca933·...·]-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="6738795338-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="6738795338-13">}</span><span·class="p"·data-group-id="6738795338-9">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·77,·SHA:·eadd6d785d88669068cd458cd019e9b9eb779cf46fd9bdb9ca1552e183832135·...·]-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="8773629738-1">(</span><span·class="p"·data-group-id="8773629738-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="4513076356-1">(</span><span·class="p"·data-group-id="4513076356-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
366 ···</span><span·class="p"·data-group-id="8773629738-2">[</span><span·class="p"·data-group-id="8773629738-3">{</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8773629738-4">[</span><span·class="p"·data-group-id="8773629738-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8773629738-5">[</span><span·class="p"·data-group-id="8773629738-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="8773629738-6">}</span><span·class="p"·data-group-id="8773629738-5">]</span><span·class="p"·data-group-id="8773629738-3">}</span><span·class="p">,</span><span·class="w"> 
367 ····</span><span·class="p"·data-group-id="8773629738-7">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8773629738-8">[</span><span·class="p"·data-group-id="8773629738-8">]</span><span·class[·...·truncated·by·diffoscope;·len:·401,·SHA:·1e0079670c65a98e8f106f87efad069b7c70396dbff5df81b6c293bac6931cc0·...·]">}</span><span·class="p">,</span><span·class="w">366 ···</span><span·class="p"·data-group-id="4513076356-2">[</span><span·class="p"·data-group-id="4513076356-3">{</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4513076356-4">[</span><span·class=[·...·truncated·by·diffoscope;·len:·451,·SHA:·133d7737c3115479d8295fbf04f673fbbdcbfc1e421ed9ab12026740d4356f73·...·]">}</span><span·class="p">,</span><span·class="w">
 367 ····</span><span·class="p"·data-group-id="4513076356-7">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4513076356-8">[</span><span·class="p"·data-group-id="4513076356-8">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4513076356-9">[</span><span·class="p"·data-group-id="4513076356-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="4513076356-10">}</span><span·class="p"·data-group-id="4513076356-9">]</span><span·class="p"·data-group-id="4513076356-7">}</span><span·class="p">,</span><span·class="w">
368 ····</span><span·class="p"·data-group-id="8773629738-11">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8773629738-12">[</span><span·class="p"·data-group-id="8773629738-13">{</span><span·class="ss">repeat</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·520,·SHA:·7f93f0230bfd36e677d8be9d4a0af321577ad8de7f6986b77325737bfd99c593·...·]-2">]</span><span·class="p">.</span><span·class="w">368 ····</span><span·class="p"·data-group-id="4513076356-11">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4513076356-12">[</span><span·class="p"·data-group-id="4513076356-13">{</span><span·class="ss">repeat</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·520,·SHA:·890b4be7d3bf3f55c6cb2eb2768c56df9c134a96d89e53e280d2ad7cf9221480·...·]-2">]</span><span·class="p">.</span><span·class="w">
  
369 </span><span·class="nf">all</span><span·class="p"·data-group-id="8773629738-15">(</span><span·class="p"·data-group-id="8773629738-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="4513076356-15">(</span><span·class="p"·data-group-id="4513076356-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
370 ···</span><span·class="p"·data-group-id="8773629738-16">[</span><span·class="p"·data-group-id="8773629738-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="4513076356-16">[</span><span·class="p"·data-group-id="4513076356-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="8773629738-18">[</span><span·class="p"·data-group-id="8773629738-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="4513076356-18">[</span><span·class="p"·data-group-id="4513076356-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="8773629738-20">[</span><span·class="p"·data-group-id="8773629738-21">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8773629738-22">[</span><span·class="ss">parallel</span><span·class="p"[·...·truncated·by·diffoscope;·len:·563,·SHA:·f5cac5e4566e9cd6dbdceaddfa955a6178db32338ea02aa851114c30e3a47c8a·...·]-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="4513076356-20">[</span><span·class="p"·data-group-id="4513076356-21">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4513076356-22">[</span><span·class="ss">parallel</span><span·class="p"[·...·truncated·by·diffoscope;·len:·563,·SHA:·1a76c29ca537ba03fc4a95d41202a9f266e3f07728134c4393a5269da8864004·...·]-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="6653399876-1">(</span><span·class="p"·data-group-id="6653399876-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="3580438928-1">(</span><span·class="p"·data-group-id="3580438928-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
374 ···</span><span·class="p"·data-group-id="6653399876-2">[</span><span·class="p"·data-group-id="6653399876-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:·e73b78651e2160d3c41fb7f53ad862d052da0f00feb2d2dbfee228f4b1e913c7·...·]-3">}</span><span·class="p">,</span><span·class="w">374 ···</span><span·class="p"·data-group-id="3580438928-2">[</span><span·class="p"·data-group-id="3580438928-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:·95d3cb1539681c8ad55bbd53ef85b683d32c855df1018e36279e5cb6ff8f865e·...·]-3">}</span><span·class="p">,</span><span·class="w">
375 ····</span><span·class="p"·data-group-id="6653399876-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:·819b979fbe790b64254d80b76132039e5741215248db9299d5a3385bfb9996b4·...·]-7">)</span><span·class="p">,</span><span·class="w">375 ····</span><span·class="p"·data-group-id="3580438928-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:·ebf657d2f49842597d5c017dc1c4b7736265c6defa328eca5668041b23b82ae9·...·]-7">)</span><span·class="p">,</span><span·class="w">
376 ······························</span><span·class="p"·data-group-id="6653399876-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="6653399876-8">}</span><span·class="p"·data-group-id="6653399876-6">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·75,·SHA:·305bf3b1f029160cbeb8ccb7bdb9aaa5131694c20825cc750368f4de25146106·...·]-2">]</span><span·class="p">.</span><span·class="w">376 ······························</span><span·class="p"·data-group-id="3580438928-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="3580438928-8">}</span><span·class="p"·data-group-id="3580438928-6">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·75,·SHA:·34a202b069c5ba1d0ec126fb99c01d525e2f11f78893a2960adbb7548bac3ffc·...·]-2">]</span><span·class="p">.</span><span·class="w">
377 </span><span·class="nf">test_cases</span><span·class="p"·data-group-id="6653399876-9">(</span><span·class="p"·data-group-id="6653399876-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="3580438928-9">(</span><span·class="p"·data-group-id="3580438928-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
378 ···</span><span·class="p"·data-group-id="6653399876-10">[</span><span·class="p"·data-group-id="6653399876-11">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6653399876-12">[</span><span·class="ss">parallel</span><span·class="p"[·...·truncated·by·diffoscope;·len:·399,·SHA:·52c1718327a83e559a156f4358e7416bddb86e6bb1b66efe4fd9517ab30e80a7·...·]-10">]</span><span·class="p">.</span><span·class="w">378 ···</span><span·class="p"·data-group-id="3580438928-10">[</span><span·class="p"·data-group-id="3580438928-11">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3580438928-12">[</span><span·class="ss">parallel</span><span·class="p"[·...·truncated·by·diffoscope;·len:·399,·SHA:·ccfd691ee49120a36b547862250dccba15a061c00a412b722ccf8ca2d8d91314·...·]-10">]</span><span·class="p">.</span><span·class="w">
  
379 </span><span·class="nf">shuffle_test</span><span·class="p"·data-group-id="6653399876-14">(</span><span·class="p"·data-group-id="6653399876-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="3580438928-14">(</span><span·class="p"·data-group-id="3580438928-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
380 ···</span><span·class="p"·data-group-id="6653399876-15">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6653399876-16">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="p"·data-group-id="6653399876-17">[·...·truncated·by·diffoscope;·len:·237,·SHA:·9d6dc7ef74fe32c595921417a875676ab80b5d33e654e622edab90b94c530bd8·...·]-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="3580438928-15">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3580438928-16">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="p"·data-group-id="3580438928-17">[·...·truncated·by·diffoscope;·len:·237,·SHA:·c3a0d47f3aa98afa2305b7ad222e412abf7a11127ceea29c64f20b59999c450d·...·]-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>,
Max diff block lines reached; 43573/112564 bytes (38.71%) of diff not shown.
791 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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/compiler-9.0/doc/html/api-reference.html
    
Offset 208, 15 lines modifiedOffset 208, 15 lines modified
208 ······<p·class="built-using">208 ······<p·class="built-using">
209 ········Built·using209 ········Built·using
210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
212 ······</p>212 ······</p>
213 <p>Copyright·©·1996-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.26 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/beam_ssa.html
    
Offset 184, 16 lines modifiedOffset 184, 16 lines modified
  
184 </span><span·class="nc">landing_pad_block</span><span·class="p">:</span><span·class="w">184 </span><span·class="nc">landing_pad_block</span><span·class="p">:</span><span·class="w">
185 ···</span><span·class="p">@</span><span·class="ss">aggregate</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">landingpad</span><span·class="w">·</span><span·class="k">catch</span><span·class="p">,</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">tag</span><span·class="w">185 ···</span><span·class="p">@</span><span·class="ss">aggregate</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">landingpad</span><span·class="w">·</span><span·class="k">catch</span><span·class="p">,</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">tag</span><span·class="w">
186 ···</span><span·class="p">@</span><span·class="ss">catched_val</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">extract</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">ssa_agg</span><span·class="p">,</span><span·class="w">·</span><span·class="err">`</span><span·class="mi">0</span><span·class="err">`</span><span·class="w">186 ···</span><span·class="p">@</span><span·class="ss">catched_val</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">extract</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">ssa_agg</span><span·class="p">,</span><span·class="w">·</span><span·class="err">`</span><span·class="mi">0</span><span·class="err">`</span><span·class="w">
187 ···</span><span·class="ss">br</span><span·class="w">·</span><span·class="err">^</span><span·class="ss">common_end_of_catch</span><span·class="w">187 ···</span><span·class="ss">br</span><span·class="w">·</span><span·class="err">^</span><span·class="ss">common_end_of_catch</span><span·class="w">
  
188 </span><span·class="nc">common_end_of_catch</span><span·class="p">:</span><span·class="w">188 </span><span·class="nc">common_end_of_catch</span><span·class="p">:</span><span·class="w">
189 ··</span><span·class="p">@</span><span·class="ss">tmp</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">phi</span><span·class="w">·</span><span·class="p"·data-group-id="1550411030-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:·28,·SHA:·2624afa7522b31204ad1c727075afb431df72c040057af5d258453b65c47af36·...·]-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="1161983875-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:·28,·SHA:·fbba3db1fe9b565daa5ff39761f7dc15877a3d22dc19dfa0ec4893a0eb2383cf·...·]-1">}</span><span·class="p">,</span><span·class="w">
190 ·············</span><span·class="p"·data-group-id="1550411030-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·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·c615e10b52c58e932086d536d45f0a90d22e3add40c421982d13c61f52ebbbc9·...·]-2">}</span><span·class="w">190 ·············</span><span·class="p"·data-group-id="1161983875-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·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·a392cc02db541ae27c11e2d98a376417cb057aef644874d5344013b19f166e8e·...·]-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="4237532341-1">(</span><span·class="p"·data-group-id="4237532341-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="4237532341-2">(</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·dfdf153b3d61aef222300af46901939dcf1a491ef64bd9a7579050214dcf4906·...·]-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="7285019432-1">(</span><span·class="p"·data-group-id="7285019432-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="7285019432-2">(</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·74dfcd7421b3cc81af97440484152e8715992f7b928abb6e056478e1a8d38ba2·...·]-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.52 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl.html
    
Offset 10980, 15 lines modifiedOffset 10980, 15 lines modified
10980 ······<p·class="built-using">10980 ······<p·class="built-using">
10981 ········Built·using10981 ········Built·using
10982 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the10982 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
10983 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>10983 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
10984 ······</p>10984 ······</p>
10985 <p>Copyright·©·1996-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.6 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl_clauses.html
    
Offset 650, 15 lines modifiedOffset 650, 15 lines modified
650 ······<p·class="built-using">650 ······<p·class="built-using">
651 ········Built·using651 ········Built·using
652 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the652 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
653 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>653 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
654 ······</p>654 ······</p>
655 <p>Copyright·©·1996-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-9.0/doc/html/cerl_trees.html
    
Offset 703, 15 lines modifiedOffset 703, 15 lines modified
703 ······<p·class="built-using">703 ······<p·class="built-using">
704 ········Built·using704 ········Built·using
705 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the705 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
706 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>706 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
707 ······</p>707 ······</p>
708 <p>Copyright·©·1996-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-9.0/doc/html/compile.html
    
Offset 149, 15 lines modifiedOffset 149, 15 lines modified
149 ····<i·class="ri-link-m"·aria-hidden="true"></i>149 ····<i·class="ri-link-m"·aria-hidden="true"></i>
150 ··</a>150 ··</a>
151 ··<span·class="text">Order·of·Compiler·Options</span>151 ··<span·class="text">Order·of·Compiler·Options</span>
152 </h2>152 </h2>
153 <p>Options·given·in·the·<code·class="inline">compile()</code>·attribute·in·the·source·code·take153 <p>Options·given·in·the·<code·class="inline">compile()</code>·attribute·in·the·source·code·take
154 precedence·over·options·given·to·the·compiler,·which·in·turn·take154 precedence·over·options·given·to·the·compiler,·which·in·turn·take
155 precedence·over·options·given·in·the·environment.</p><p>A·later·compiler·option·takes·precedence·over·an·earlier·one·in·the155 precedence·over·options·given·in·the·environment.</p><p>A·later·compiler·option·takes·precedence·over·an·earlier·one·in·the
156 option·list.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">compile</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="5055271741-1">(</span><span·class="ss">something</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5055271741-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:·8f0bf2606f54a0d56fd105b15cdde46b362c896fbaf9c58fbec4a2735f343173·...·]-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="1631233933-1">(</span><span·class="ss">something</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1631233933-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:·9b4410a6222cae80205b63ee2bdc46ec512e9622a06ef6111a32caa256101d3e·...·]-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="8884587889-1">(</span><span·class="p"·data-group-id="8884587889-2">{</span><span·class="ss">inline</span><span·class="p">,</span><span·class="p"·data-group-id="8884587889-3">[</span><span·class="ss">pi</span><span·class="p">/</span><span·class="mi">0</span[·...·truncated·by·diffoscope;·len:·147,·SHA:·bc71283a8d1ba4c0f285f869e0025d902bbf575004eea37af2e335d2130d991e·...·]9-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="6506180609-1">(</span><span·class="p"·data-group-id="6506180609-2">{</span><span·class="ss">inline</span><span·class="p">,</span><span·class="p"·data-group-id="6506180609-3">[</span><span·class="ss">pi</span><span·class="p">/</span><span·class="mi">0</span[·...·truncated·by·diffoscope;·len:·147,·SHA:·29470649d94e2a7f76b18c894b1d621379e83c1aa5d22074db6fcc3a4815879e·...·]9-1">)</span><span·class="p">.</span><span·class="w">
  
181 </span><span·class="nf">pi</span><span·class="p"·data-group-id="8884587889-4">(</span><span·class="p"·data-group-id="8884587889-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="6506180609-4">(</span><span·class="p"·data-group-id="6506180609-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="9895564588-1">(</span><span·class="ss">inline</span><span·class="p"·data-group-id="9895564588-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="6456795386-1">(</span><span·class="ss">inline</span><span·class="p"·data-group-id="6456795386-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="9895564588-2">(</span><span·class="p"·data-group-id="9895564588-3">{</span><span·class="ss">inline_size</span><span·class="p">,</span><span·class="mi">100</span><span·class="p"·data-group-id="9895564588-3">}</span><span·class="p"·data-group-id="9895564588-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="6456795386-2">(</span><span·class="p"·data-group-id="6456795386-3">{</span><span·class="ss">inline_size</span><span·class="p">,</span><span·class="mi">100</span><span·class="p"·data-group-id="6456795386-3">}</span><span·class="p"·data-group-id="6456795386-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="6120063440-1">(</span><span·class="ss">module</span><span·class="p"·data-group-id="6120063440-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="1432830320-1">(</span><span·class="ss">module</span><span·class="p"·data-group-id="1432830320-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="6120063440-2">(</span><span·class="s">&quot;eunit/include/eunit.hrl&quot;</span><span·class="p"·data-group-id="6120063440-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="1432830320-2">(</span><span·class="s">&quot;eunit/include/eunit.hrl&quot;</span><span·class="p"·data-group-id="1432830320-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="6120063440-3">(</span><span·class="s">&quot;header.hrl&quot;</span><span·class="p"·data-group-id="6120063440-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="1432830320-3">(</span><span·class="s">&quot;header.hrl&quot;</span><span·class="p"·data-group-id="1432830320-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="9393460328-1">(</span><span·class="p"·data-group-id="9393460328-2">{</span><span·class="ss">no_auto_import</span><span·class="p">,</span><span·class="p"·data-group-id="9393460328-3">[</span><span·class="ss">error</span><span·class="p">/</span><span·class="[·...·truncated·by·diffoscope;·len:·159,·SHA:·7790d8224406aa7a4169aa7f72a942326d1472ac84ad584bc597e0b0327ae4a8·...·]-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="7136568605-1">(</span><span·class="p"·data-group-id="7136568605-2">{</span><span·class="ss">no_auto_import</span><span·class="p">,</span><span·class="p"·data-group-id="7136568605-3">[</span><span·class="ss">error</span><span·class="p">/</span><span·class="[·...·truncated·by·diffoscope;·len:·159,·SHA:·ce4909b2658c6fc32dcf21fdff605359615866f6d643fa7fe0aa12f64ba97352·...·]-1">)</span><span·class="p">.</span></code></pre></li><li><p><strong><code·class="inline">no_auto_import</code></strong>·-·Do·not·auto-import·any·functions·from·<code·class="inline">erlang</code>·module.</p></li><li><p><strong><code·class="inline">no_line_info</code></strong>·-·Omits·line·number·information·to·produce·a·slightly
977 smaller·output·file.</p></li><li><p><strong><code·class="inline">no_lint</code></strong>·-·Skips·the·pass·that·checks·for·errors·and·warnings.·Only977 smaller·output·file.</p></li><li><p><strong><code·class="inline">no_lint</code></strong>·-·Skips·the·pass·that·checks·for·errors·and·warnings.·Only
978 applicable·together·with·the·<code·class="inline">from_abstr</code>·option.·This·is·mainly·for978 applicable·together·with·the·<code·class="inline">from_abstr</code>·option.·This·is·mainly·for
979 implementations·of·other·languages·on·top·of·Erlang,·which·have·already·done979 implementations·of·other·languages·on·top·of·Erlang,·which·have·already·done
980 their·own·checks·to·guarantee·correctness·of·the·code.</p><p>Caveat:·When·this·option·is·used,·there·are·no·guarantees·that·the·code·output980 their·own·checks·to·guarantee·correctness·of·the·code.</p><p>Caveat:·When·this·option·is·used,·there·are·no·guarantees·that·the·code·output
981 by·the·compiler·is·correct·and·safe·to·use.·The·responsibility·for·correctness981 by·the·compiler·is·correct·and·safe·to·use.·The·responsibility·for·correctness
982 lies·on·the·code·or·person·generating·the·abstract·format.·If·the·code982 lies·on·the·code·or·person·generating·the·abstract·format.·If·the·code
983 contains·errors,·the·compiler·may·crash·or·produce·unsafe·code.</p></li><li><p><strong><code·class="inline">{extra_chunks,·[{binary(),·binary()}]}</code></strong>·-·Pass·extra·chunks·to·be·stored983 contains·errors,·the·compiler·may·crash·or·produce·unsafe·code.</p></li><li><p><strong><code·class="inline">{extra_chunks,·[{binary(),·binary()}]}</code></strong>·-·Pass·extra·chunks·to·be·stored
Offset 1345, 15 lines modifiedOffset 1345, 15 lines modified
1345 ······<p·class="built-using">1345 ······<p·class="built-using">
1346 ········Built·using1346 ········Built·using
1347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1349 ······</p>1349 ······</p>
1350 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1350 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1351 ····</footer>1351 ····</footer>
1352 ··</div>1352 ··</div>
1353 </main>1353 </main>
1354 </div>1354 </div>
1355 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1355 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1356 ··<script>1356 ··<script>
1357 ··let·initialized·=·false;1357 ··let·initialized·=·false;
703 B
html2text {}
Max HTML report size reached
226 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/compiler.epub
2.67 KB
zipinfo {}
Max HTML report size reached
85.0 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
15.8 KB
OEBPS/ssa_checks.xhtml
Max HTML report size reached
100 KB
OEBPS/notes.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
Max HTML report size reached
15.2 KB
OEBPS/compile.xhtml
Max HTML report size reached
5.74 KB
OEBPS/beam_ssa.xhtml
Max HTML report size reached
102 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/notes.html
    
Offset 133, 58 lines modifiedOffset 133, 58 lines modified
133 </h2>133 </h2>
134 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">134 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">
135 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">135 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>138 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
139 </h3>139 </h3>
140 <ul><li><p>The·compiler·will·now·emit·warnings·when·some·map·patterns·cannot·possibly·match·because·a·previous·clauses·matches·the·same·pattern.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">mm_1</span><span·class="p"·data-group-id="6019870464-1">(</span><span·class="p"·data-group-id="6019870464-2">#{</span><span·class="p"·data-group-id="6019870464-2">}</span><span·class="p"·data-group-id="6019870464-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">a</span><span·class="p">;</span><span·class="w">140 <ul><li><p>The·compiler·will·now·emit·warnings·when·some·map·patterns·cannot·possibly·match·because·a·previous·clauses·matches·the·same·pattern.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">mm_1</span><span·class="p"·data-group-id="9843540752-1">(</span><span·class="p"·data-group-id="9843540752-2">#{</span><span·class="p"·data-group-id="9843540752-2">}</span><span·class="p"·data-group-id="9843540752-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">a</span><span·class="p">;</span><span·class="w">
141 </span><span·class="nf">mm_1</span><span·class="p"·data-group-id="6019870464-3">(</span><span·class="p"·data-group-id="6019870464-4">#{</span><span·class="ss">b</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">B</span><span·class="p"·data-group-id="6019870464-4">}</span><span[·...·truncated·by·diffoscope;·len:·291,·SHA:·9584bd01f44f04820ceb579547ada951d89150eae778c98c4d0036bb49c58988·...·]-5">}</span><span·class="p">.</span><span·class="w">141 </span><span·class="nf">mm_1</span><span·class="p"·data-group-id="9843540752-3">(</span><span·class="p"·data-group-id="9843540752-4">#{</span><span·class="ss">b</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">B</span><span·class="p"·data-group-id="9843540752-4">}</span><span[·...·truncated·by·diffoscope;·len:·291,·SHA:·07a1f2e659884447c09bb8c5a39b154ab1ba2b6928b9137eb9cf9c9f8d720fad·...·]-5">}</span><span·class="p">.</span><span·class="w">
  
142 </span><span·class="nf">mm_2</span><span·class="p"·data-group-id="6019870464-6">(</span><span·class="p"·data-group-id="6019870464-7">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">A</span><span·class="p"·data-group-id="6019870464-7">}</span><span[·...·truncated·by·diffoscope;·len:·291,·SHA:·771bf697965a9c08d573d04dbda9d24c31e895d2564d004393d2a9de2e2e4bc3·...·]-8">}</span><span·class="p">;</span><span·class="w">142 </span><span·class="nf">mm_2</span><span·class="p"·data-group-id="9843540752-6">(</span><span·class="p"·data-group-id="9843540752-7">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">A</span><span·class="p"·data-group-id="9843540752-7">}</span><span[·...·truncated·by·diffoscope;·len:·291,·SHA:·b78032abe9dbbc6fb29572a8e2c7462073e99074db3eba166f5ffc13d34bcfe2·...·]-8">}</span><span·class="p">;</span><span·class="w">
143 </span><span·class="nf">mm_2</span><span·class="p"·data-group-id="6019870464-9">(</span><span·class="p"·data-group-id="6019870464-10">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·512,·SHA:·396927146aae713b0e4ad0aee0dac5fe44b8037eb8a08080112edd6486986c05·...·]-11">}</span><span·class="p">.</span></code></pre><p>The·second·clause·of·these·function·can·never·match·and·the·compiler·will·now·emit·a·warning·for·both·of·them.</p><p>Note·that·the·compiler·is·not·guaranteed·to·emit·warnings·for·every·possible·map·pattern·that·cannot·match.</p><p>Own·Id:·OTP-19141·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8558"·title="">GH-8558</a>,·<a·href="https://github.com/erlang/otp/pull/8600"·title="">PR-8600</a></p></li><li><p>The·size·of·an·atom·in·the·Erlang·source·code·was·limited·to·255·bytes·in·previous·releases,·meaning·that·an·atom·containing·only·emojis·could·contain·only·63·emojis.</p><p>While·atoms·are·still·only·allowed·to·contain·255·characters,·the·number·of·bytes·is·no·longer·limited.</p><p>External·tools·that·parse·the·<code·class="inline">AtU8</code>·chunk·of·a·BEAM·file·directly·need·to·be·updated.·Tools·that·use·<a·href="../../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[atoms])</code></a>·to·read·the·atom·table·will·continue·to·work.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19285·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8913"·title="">PR-8913</a></p></li><li><p>The·literals·chunk·in·BEAM·is·no·longer·compressed,·resulting·in·slightly·smaller·BEAM·files·when·a·BEAM·file·is·stripped·using·<a·href="../../../../lib/stdlib-7.0/doc/html/beam_lib.html#strip_files/1"><code·class="inline">beam_lib:strip_files/1</code></a>.</p><p>This·is·a·potential·incompatibility·for·tools·that·read·and·interpret·the·contents·of·the·literal·chunk.·One·way·to·update·such·tools·to·work·with·the·new·format·is·to·retrieve·the·chunk·using·<a·href="../../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[literals])</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19323·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8967"·title="">GH-8967</a>,·<a·href="https://github.com/erlang/otp/pull/8988"·title="">PR-8988</a></p></li><li><p>The·final·validation·step·in·the·compiler·will·now·reject·modules·containing·functions·with·more·than·255·arguments.·No·impact·is·expected·as·the·emulator·has·always·refused·to·load·these·modules.</p><p>Own·Id:·OTP-19376·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9113"·title="">GH-9113</a>,·<a·href="https://github.com/erlang/otp/pull/9121"·title="">PR-9121</a></p></li><li><p>Replaced·calls·to·deprecated·<code·class="inline">crypto:start()</code>·with·<code·class="inline">application:start(crypto)</code>.</p><p>Own·Id:·OTP-19485·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8592"·title="">PR-8592</a></p></li><li><p>Refactor·code·to·not·rely·on·<code·class="inline">+nowarn_shadow_vars</code>.</p><p>Own·Id:·OTP-19574·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9678"·title="">PR-9678</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">143 </span><span·class="nf">mm_2</span><span·class="p"·data-group-id="9843540752-9">(</span><span·class="p"·data-group-id="9843540752-10">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·512,·SHA:·102608d61539fd514429f1b7b1d1a0c8cb3616e176f4de4f31c6c01906ca4394·...·]-11">}</span><span·class="p">.</span></code></pre><p>The·second·clause·of·these·function·can·never·match·and·the·compiler·will·now·emit·a·warning·for·both·of·them.</p><p>Note·that·the·compiler·is·not·guaranteed·to·emit·warnings·for·every·possible·map·pattern·that·cannot·match.</p><p>Own·Id:·OTP-19141·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8558"·title="">GH-8558</a>,·<a·href="https://github.com/erlang/otp/pull/8600"·title="">PR-8600</a></p></li><li><p>The·size·of·an·atom·in·the·Erlang·source·code·was·limited·to·255·bytes·in·previous·releases,·meaning·that·an·atom·containing·only·emojis·could·contain·only·63·emojis.</p><p>While·atoms·are·still·only·allowed·to·contain·255·characters,·the·number·of·bytes·is·no·longer·limited.</p><p>External·tools·that·parse·the·<code·class="inline">AtU8</code>·chunk·of·a·BEAM·file·directly·need·to·be·updated.·Tools·that·use·<a·href="../../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[atoms])</code></a>·to·read·the·atom·table·will·continue·to·work.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19285·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8913"·title="">PR-8913</a></p></li><li><p>The·literals·chunk·in·BEAM·is·no·longer·compressed,·resulting·in·slightly·smaller·BEAM·files·when·a·BEAM·file·is·stripped·using·<a·href="../../../../lib/stdlib-7.0/doc/html/beam_lib.html#strip_files/1"><code·class="inline">beam_lib:strip_files/1</code></a>.</p><p>This·is·a·potential·incompatibility·for·tools·that·read·and·interpret·the·contents·of·the·literal·chunk.·One·way·to·update·such·tools·to·work·with·the·new·format·is·to·retrieve·the·chunk·using·<a·href="../../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[literals])</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19323·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8967"·title="">GH-8967</a>,·<a·href="https://github.com/erlang/otp/pull/8988"·title="">PR-8988</a></p></li><li><p>The·final·validation·step·in·the·compiler·will·now·reject·modules·containing·functions·with·more·than·255·arguments.·No·impact·is·expected·as·the·emulator·has·always·refused·to·load·these·modules.</p><p>Own·Id:·OTP-19376·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9113"·title="">GH-9113</a>,·<a·href="https://github.com/erlang/otp/pull/9121"·title="">PR-9121</a></p></li><li><p>Replaced·calls·to·deprecated·<code·class="inline">crypto:start()</code>·with·<code·class="inline">application:start(crypto)</code>.</p><p>Own·Id:·OTP-19485·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8592"·title="">PR-8592</a></p></li><li><p>Refactor·code·to·not·rely·on·<code·class="inline">+nowarn_shadow_vars</code>.</p><p>Own·Id:·OTP-19574·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9678"·title="">PR-9678</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
144 ··<a·href="#improvements-and-new-features"·class="hover-link">144 ··<a·href="#improvements-and-new-features"·class="hover-link">
145 ····<i·class="ri-link-m"·aria-hidden="true"></i>145 ····<i·class="ri-link-m"·aria-hidden="true"></i>
146 ··</a>146 ··</a>
147 ··<span·class="text">Improvements·and·New·Features</span>147 ··<span·class="text">Improvements·and·New·Features</span>
148 </h3>148 </h3>
149 <ul><li><p>The·EEP-48·doc·chunk·embedded·into·<code·class="inline">.beam</code>·files·by·the·compiler·is·now·<code·class="inline">compressed</code>·and·<code·class="inline">deterministic</code>.</p><p>Own·Id:·OTP-19096·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8494"·title="">PR-8494</a></p></li><li><p>Provided·that·the·map·argument·for·a·<a·href="../../../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·call·is·known·to·the·compiler·to·be·a·map,·the·compiler·will·replace·such·calls·with·the·corresponding·update·using·the·map·syntax.</p><p>Own·Id:·OTP-19115·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8540"·title="">PR-8540</a></p></li><li><p>For·various·error·types,·the·compiler·now·tries·to·suggest·potential·fixes·by·adding·&quot;did·you·mean·...?&quot;·at·the·end·of·error·messages.</p><p>When·a·function·is·used·with·wrong·arity,·the·compiler·will·try·to·suggest·a·defined·function·with·the·same·name·but·a·different·arity.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8363168946-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="8363168946-1">)</span><span·class="p">.</span><span·class="w">149 <ul><li><p>The·EEP-48·doc·chunk·embedded·into·<code·class="inline">.beam</code>·files·by·the·compiler·is·now·<code·class="inline">compressed</code>·and·<code·class="inline">deterministic</code>.</p><p>Own·Id:·OTP-19096·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8494"·title="">PR-8494</a></p></li><li><p>Provided·that·the·map·argument·for·a·<a·href="../../../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·call·is·known·to·the·compiler·to·be·a·map,·the·compiler·will·replace·such·calls·with·the·corresponding·update·using·the·map·syntax.</p><p>Own·Id:·OTP-19115·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8540"·title="">PR-8540</a></p></li><li><p>For·various·error·types,·the·compiler·now·tries·to·suggest·potential·fixes·by·adding·&quot;did·you·mean·...?&quot;·at·the·end·of·error·messages.</p><p>When·a·function·is·used·with·wrong·arity,·the·compiler·will·try·to·suggest·a·defined·function·with·the·same·name·but·a·different·arity.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4680372488-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="4680372488-1">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8363168946-2">(</span><span·class="p"·data-group-id="8363168946-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="8363168946-3">]</span><span·class="p"·data-group-id="8363168946-2">)</span><span·class="p">.</span><span·class="w">150 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4680372488-2">(</span><span·class="p"·data-group-id="4680372488-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="4680372488-3">]</span><span·class="p"·data-group-id="4680372488-2">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="nf">bar</span><span·class="p"·data-group-id="8363168946-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="8363168946-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">151 </span><span·class="nf">bar</span><span·class="p"·data-group-id="4680372488-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="4680372488-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
152 </span><span·class="nf">bar</span><span·class="p"·data-group-id="8363168946-5">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="8363168946-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">152 </span><span·class="nf">bar</span><span·class="p"·data-group-id="4680372488-5">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="4680372488-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
153 </span><span·class="nf">bar</span><span·class="p"·data-group-id="8363168946-6">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="8363168946-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">153 </span><span·class="nf">bar</span><span·class="p"·data-group-id="4680372488-6">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="4680372488-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
154 </span><span·class="nf">t</span><span·class="p"·data-group-id="8363168946-7">(</span><span·class="p"·data-group-id="8363168946-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">bar</span><span·class="p"·data-group-id="8363168946-8">(</span><span·class="mi">0</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·febbd74a4f208c25cc175b808236980dd54696e59d784bd5a0d538085d930034·...·]-8">)</span><span·class="p">.</span></code></pre><p>The·compiler·will·emit·the·following·message:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typo</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">6</span><span·class="p">:</span><span·class="mi">12</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="o">?</span><span·class="w">154 </span><span·class="nf">t</span><span·class="p"·data-group-id="4680372488-7">(</span><span·class="p"·data-group-id="4680372488-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">bar</span><span·class="p"·data-group-id="4680372488-8">(</span><span·class="mi">0</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·26584649acb3d87a7585fc8d531454b958a3caca68f60acb5f48c065c7b9702c·...·]-8">)</span><span·class="p">.</span></code></pre><p>The·compiler·will·emit·the·following·message:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typo</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">6</span><span·class="p">:</span><span·class="mi">12</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="o">?</span><span·class="w">
155 </span><span·class="c1">%···6|·····t()·-&gt;·bar(0,·0).</span><span·class="w">155 </span><span·class="c1">%···6|·····t()·-&gt;·bar(0,·0).</span><span·class="w">
156 </span><span·class="c1">%····|············^</span></code></pre><p>For·compiler·errors·that·can·easily·be·caused·by·typos,·the·compiler·will·try·to·suggest·what·the·correct·variable·or·function·name,·could·be.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9258091437-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="9258091437-1">)</span><span·class="p">.</span><span·class="w">156 </span><span·class="c1">%····|············^</span></code></pre><p>For·compiler·errors·that·can·easily·be·caused·by·typos,·the·compiler·will·try·to·suggest·what·the·correct·variable·or·function·name,·could·be.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6555720467-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="6555720467-1">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9258091437-2">(</span><span·class="p"·data-group-id="9258091437-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="9258091437-3">]</span><span·class="p"·data-group-id="9258091437-2">)</span><span·class="p">.</span><span·class="w">157 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6555720467-2">(</span><span·class="p"·data-group-id="6555720467-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="6555720467-3">]</span><span·class="p"·data-group-id="6555720467-2">)</span><span·class="p">.</span><span·class="w">
  
158 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9258091437-4">(</span><span·class="n">A0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B0</span><span·class="p"·data-group-id="9258091437-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">158 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6555720467-4">(</span><span·class="n">A0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B0</span><span·class="p"·data-group-id="6555720467-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
159 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">B</span><span·class="p">.</span></code></pre><p>the·compiler·will·emit·the·following·error·messages:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;A&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;A0&#39;</span><span·class="o">?</span><span·class="w">159 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">B</span><span·class="p">.</span></code></pre><p>the·compiler·will·emit·the·following·error·messages:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;A&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;A0&#39;</span><span·class="o">?</span><span·class="w">
160 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">160 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">
161 </span><span·class="c1">%·····|·····^</span><span·class="w">161 </span><span·class="c1">%·····|·····^</span><span·class="w">
  
162 </span><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">9</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;B&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;B0&#39;</span><span·class="o">?</span><span·class="w">162 </span><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">9</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;B&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;B0&#39;</span><span·class="o">?</span><span·class="w">
163 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">163 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">
164 </span><span·class="c1">%·····|·········^</span></code></pre><p>Error·types·that·now·suggest·correct·arities:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">bad_nowarn_bif_clash</code>,·<code·class="inline">undefined_function</code>.</p><p>Error·types·that·now·suggest·correct·names:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">undefined_on_load</code>,·<code·class="inline">undefined_function</code>,·<code·class="inline">undefined_record</code>,·<code·class="inline">undefined_field</code>,·<code·class="inline">unbound_var</code>.</p><p>Using·a·function·with·wrong·arity·has·higher·precedence·than·having·a·typo·in·the·function·name.·If·the·compiler·can·find·a·defined·function·with·the·same·name·but·a·different·arity,·it·will·not·suggest·a·defined·function·with·a·close-enough·name,·regardless·of·arity.</p><p>Own·Id:·OTP-19180·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8699"·title="">PR-8699</a>,·<a·href="https://github.com/erlang/otp/pull/9094"·title="">PR-9094</a></p></li><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="3898164719-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="[·...·truncated·by·diffoscope;·len:·691,·SHA:·89e458659f992b049957f484ff8ba61e699f9d5fb9bca64f4236af6b940ed567·...·]-1">]</span><span·class="p">.</span><span·class="w">164 </span><span·class="c1">%·····|·········^</span></code></pre><p>Error·types·that·now·suggest·correct·arities:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">bad_nowarn_bif_clash</code>,·<code·class="inline">undefined_function</code>.</p><p>Error·types·that·now·suggest·correct·names:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">undefined_on_load</code>,·<code·class="inline">undefined_function</code>,·<code·class="inline">undefined_record</code>,·<code·class="inline">undefined_field</code>,·<code·class="inline">unbound_var</code>.</p><p>Using·a·function·with·wrong·arity·has·higher·precedence·than·having·a·typo·in·the·function·name.·If·the·compiler·can·find·a·defined·function·with·the·same·name·but·a·different·arity,·it·will·not·suggest·a·defined·function·with·a·close-enough·name,·regardless·of·arity.</p><p>Own·Id:·OTP-19180·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8699"·title="">PR-8699</a>,·<a·href="https://github.com/erlang/otp/pull/9094"·title="">PR-9094</a></p></li><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="2692890302-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="[·...·truncated·by·diffoscope;·len:·691,·SHA:·f8f6f12b5b19558ac833bfc502754b708e570a76ab125838e55b1bda11ef5734·...·]-1">]</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="3898164719-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="3898164719-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>Documentation·chunks·(EEP-48)·has·been·updated·to·include·the·following·reserved·metadata·fields:·<code·class="inline">behaviours</code>,·<code·class="inline">group</code>,·<code·class="inline">source_path</code>,·and·<code·class="inline">source_annos</code>.·The·compiler·has·also·been·updated·to·emit·this·metadata.·See·the·<a·href="../../../../lib/kernel-10.3/doc/html/eep48_chapter.html">EEP-48·documentation</a>·for·more·details.</p><p>Own·Id:·OTP-19306·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8945"·title="">PR-8945</a>,·<a·href="https://github.com/erlang/otp/pull/8975"·title="">PR-8975</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the165 </span><span·class="p"·data-group-id="2692890302-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="2692890302-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>Documentation·chunks·(EEP-48)·has·been·updated·to·include·the·following·reserved·metadata·fields:·<code·class="inline">behaviours</code>,·<code·class="inline">group</code>,·<code·class="inline">source_path</code>,·and·<code·class="inline">source_annos</code>.·The·compiler·has·also·been·updated·to·emit·this·metadata.·See·the·<a·href="../../../../lib/kernel-10.3/doc/html/eep48_chapter.html">EEP-48·documentation</a>·for·more·details.</p><p>Own·Id:·OTP-19306·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8945"·title="">PR-8945</a>,·<a·href="https://github.com/erlang/otp/pull/8975"·title="">PR-8975</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the
166 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching166 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching
167 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="4764313258-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="4764313258-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="4764313258-2">}</span><span·class="o">=</span><span·class="n">T</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="4764313258-3">[</span><span·class="p"·data-group-id="4764313258-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4764313258-4">}</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4764313258-5">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4764313258-5">}</span><span·class="p"·data-group-id="4764313258-3">]</span><span·class="p"·data-group-id="4764313258-1">]</span><span·class="p">.</span><span·class="w"> 
168 </span><span·class="p"·data-group-id="4764313258-6">[</span><span·class="p"·data-group-id="4764313258-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4764313258-7">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·340,·SHA:·44723647a28bbdaf1212b1ba1d40dee9e9c2d9ba5a57a4fed86cdfd789aed27c·...·]167 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="0628887035-1">[</span><span·class="n">T</span><span·class[·...·truncated·by·diffoscope;·len:·1002,·SHA:·42661bd6f6c103ac2acc8446cf944acfaa7762b8a720fc6db918487670fa0035·...·]
 168 </span><span·class="p"·data-group-id="0628887035-6">[</span><span·class="p"·data-group-id="0628887035-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="0628887035-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="0628887035-8">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0628887035-8">}</span><span·class="p"·data-group-id="0628887035-6">]</span></code></pre><p>If·the·intention·is·that·all·lists·processed·by·a·list·comprehension·must·only
169 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures169 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures
170 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="3027589445-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="3027589445-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·ffc01ba6e5f414458af365866f295a62f03509cc3614cc7db96bfa4ed627eb83·...·]-1">]</span><span·class="p">.</span><span·class="w">170 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="5428051393-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="5428051393-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·c404ec357d7195f72eaee1d81d7b4850a5e30492e4557b3a8883216d5e8cd6c7·...·]-1">]</span><span·class="p">.</span><span·class="w">
171 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>New·options·for·suppressing·behaviour·warnings·have·been·added:</p><ul><li><code·class="inline">nowarn_conflicting_behaviours</code></li><li><code·class="inline">nowarn_undefined_behaviour_func</code></li><li><code·class="inline">nowarn_undefined_behaviour</code></li><li><code·class="inline">nowarn_undefined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_optional_callbacks</code></li></ul><p>Own·Id:·OTP-19334·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8985"·title="">GH-8985</a>,·<a·href="https://github.com/erlang/otp/pull/9020"·title="">PR-9020</a></p></li><li><p>Some·BIFs·with·side-effects·are·optimized·in·<code·class="inline">try</code>/<code·class="inline">catch</code>·in·the·same·way·as·guard·BIFs·in·order·to·gain·performance.</p><p>The·following·BIFs·that·are·optimized·in·this·way:·<a·href="../../../../erts-16.0/doc/html/erlang.html#binary_to_atom/1"><code·class="inline">binary_to_atom/1</code></a>,171 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>New·options·for·suppressing·behaviour·warnings·have·been·added:</p><ul><li><code·class="inline">nowarn_conflicting_behaviours</code></li><li><code·class="inline">nowarn_undefined_behaviour_func</code></li><li><code·class="inline">nowarn_undefined_behaviour</code></li><li><code·class="inline">nowarn_undefined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_optional_callbacks</code></li></ul><p>Own·Id:·OTP-19334·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8985"·title="">GH-8985</a>,·<a·href="https://github.com/erlang/otp/pull/9020"·title="">PR-9020</a></p></li><li><p>Some·BIFs·with·side-effects·are·optimized·in·<code·class="inline">try</code>/<code·class="inline">catch</code>·in·the·same·way·as·guard·BIFs·in·order·to·gain·performance.</p><p>The·following·BIFs·that·are·optimized·in·this·way:·<a·href="../../../../erts-16.0/doc/html/erlang.html#binary_to_atom/1"><code·class="inline">binary_to_atom/1</code></a>,
172 <a·href="../../../../erts-16.0/doc/html/erlang.html#binary_to_atom/2"><code·class="inline">binary_to_atom/2</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#binary_to_existing_atom/1"><code·class="inline">binary_to_existing_atom/1</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#list_to_atom/1"><code·class="inline">list_to_atom/1</code></a>,·and172 <a·href="../../../../erts-16.0/doc/html/erlang.html#binary_to_atom/2"><code·class="inline">binary_to_atom/2</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#binary_to_existing_atom/1"><code·class="inline">binary_to_existing_atom/1</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#list_to_atom/1"><code·class="inline">list_to_atom/1</code></a>,·and
173 <a·href="../../../../erts-16.0/doc/html/erlang.html#list_to_existing_atom/1"><code·class="inline">list_to_existing_atom/1</code></a>.</p><p>Own·Id:·OTP-19339·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9042"·title="">PR-9042</a>,·<a·href="https://github.com/erlang/otp/pull/9122"·title="">PR-9122</a></p></li><li><p>The·compiler·now·converts·known·documentation·attribute·metadata·entries·from·<a·href="../../../../lib/stdlib-7.0/doc/html/unicode.html#t:chardata/0"><code·class="inline">unicode:chardata/0</code></a>·to·<a·href="../../../../lib/stdlib-7.0/doc/html/unicode.html#t:unicode_binary/0"><code·class="inline">unicode:unicode_binary/0</code></a>.</p><p>Own·Id:·OTP-19394·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9192"·title="">PR-9192</a></p></li><li><p>The·<code·class="inline">warn_deprecated_catch</code>·option·enables·warnings·for·use·of·old-style·catch·expressions·on·the·form·<code·class="inline">catch·Expr</code>·instead·of·the·modern·<code·class="inline">try·...·catch·...·end</code>.·To·prevent·new·uses·of·uses·of·old·catches·to·be·added,·this·compiler·option·can·be·enabled·on·the·project·level·and·<code·class="inline">-compile(nowarn_deprecated_catch).</code>·added·to·individual·files·that·still·contain·old·catches.</p><p>Own·Id:·OTP-19425·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9154"·title="">PR-9154</a></p></li><li><p>Defining·a·fun·in·terms·of·an·imported·function·is·not·allowed.·Before·this·release,·the·compiler·would·not·catch·this·kind·of·error·if·the·name·of·the·imported·function·happened·to·be·a·BIF.··Consider·this·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9931713724-1">(</span><span·class="ss">fun_example</span><span·class="p"·data-group-id="9931713724-1">)</span><span·class="p">.</span><span·class="w">173 <a·href="../../../../erts-16.0/doc/html/erlang.html#list_to_existing_atom/1"><code·class="inline">list_to_existing_atom/1</code></a>.</p><p>Own·Id:·OTP-19339·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9042"·title="">PR-9042</a>,·<a·href="https://github.com/erlang/otp/pull/9122"·title="">PR-9122</a></p></li><li><p>The·compiler·now·converts·known·documentation·attribute·metadata·entries·from·<a·href="../../../../lib/stdlib-7.0/doc/html/unicode.html#t:chardata/0"><code·class="inline">unicode:chardata/0</code></a>·to·<a·href="../../../../lib/stdlib-7.0/doc/html/unicode.html#t:unicode_binary/0"><code·class="inline">unicode:unicode_binary/0</code></a>.</p><p>Own·Id:·OTP-19394·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9192"·title="">PR-9192</a></p></li><li><p>The·<code·class="inline">warn_deprecated_catch</code>·option·enables·warnings·for·use·of·old-style·catch·expressions·on·the·form·<code·class="inline">catch·Expr</code>·instead·of·the·modern·<code·class="inline">try·...·catch·...·end</code>.·To·prevent·new·uses·of·uses·of·old·catches·to·be·added,·this·compiler·option·can·be·enabled·on·the·project·level·and·<code·class="inline">-compile(nowarn_deprecated_catch).</code>·added·to·individual·files·that·still·contain·old·catches.</p><p>Own·Id:·OTP-19425·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9154"·title="">PR-9154</a></p></li><li><p>Defining·a·fun·in·terms·of·an·imported·function·is·not·allowed.·Before·this·release,·the·compiler·would·not·catch·this·kind·of·error·if·the·name·of·the·imported·function·happened·to·be·a·BIF.··Consider·this·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6356184758-1">(</span><span·class="ss">fun_example</span><span·class="p"·data-group-id="6356184758-1">)</span><span·class="p">.</span><span·class="w">
174 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9931713724-2">(</span><span·class="p"·data-group-id="9931713724-3">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·36ef7288ba9b0609d3d7749b25c2e39f1dd7639aa15b3c3d7c5c92787e5401ff·...·]-2">)</span><span·class="p">.</span><span·class="w">174 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6356184758-2">(</span><span·class="p"·data-group-id="6356184758-3">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·3b8f28e32c5c560875785c7e9c61ce5ccbcf7f05e47cba6873cbb80609da229a·...·]-2">)</span><span·class="p">.</span><span·class="w">
175 </span><span·class="p">-</span><span·class="na">import</span><span·class="p"·data-group-id="9931713724-4">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9931713724-5">[</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·192,·SHA:·622fd5b4851ee3f36e09c16184c2904cce83260e4c9bde60ccf612869fb8defc·...·]-4">)</span><span·class="p">.</span><span·class="w">175 </span><span·class="p">-</span><span·class="na">import</span><span·class="p"·data-group-id="6356184758-4">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6356184758-5">[</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·192,·SHA:·7e1d04ab28e3380d34dc086295a36ca35ae9eefd6050e7e3e228c4c46602432f·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
176 </span><span·class="nf">foo</span><span·class="p"·data-group-id="9931713724-6">(</span><span·class="p"·data-group-id="9931713724-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 </span><span·class="nf">foo</span><span·class="p"·data-group-id="6356184758-6">(</span><span·class="p"·data-group-id="6356184758-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9931713724-7">(</span><span·class="p"·data-group-id="9931713724-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6356184758-7">(</span><span·class="p"·data-group-id="6356184758-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">not_a_bif</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span></code></pre><p>The·compiler·in·Erlang/OTP·27·would·generate·the·following·messages:</p><pre><code·class="text">fun_example.erl:9:5:·function·not_a_bif/0·undefined179 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">not_a_bif</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span></code></pre><p>The·compiler·in·Erlang/OTP·27·would·generate·the·following·messages:</p><pre><code·class="text">fun_example.erl:9:5:·function·not_a_bif/0·undefined
180 %····9|·····fun·not_a_bif/0.180 %····9|·····fun·not_a_bif/0.
181 %·····|·····^181 %·····|·····^
  
182 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--182 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--
183 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash183 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash
184 %····3|·-import(m,·[max/2,·not_a_bif/0]).184 %····3|·-import(m,·[max/2,·not_a_bif/0]).
Offset 195, 21 lines modifiedOffset 195, 21 lines modified
195 fun_example.erl:9:5:·creating·a·fun·from·imported·name·not_a_bif/0·is·not·allowed195 fun_example.erl:9:5:·creating·a·fun·from·imported·name·not_a_bif/0·is·not·allowed
196 %····9|·····fun·not_a_bif/0.196 %····9|·····fun·not_a_bif/0.
197 %·····|·····^197 %·····|·····^
  
198 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--198 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--
199 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash199 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash
200 %····3|·-import(m,·[max/2,·not_a_bif/0]).200 %····3|·-import(m,·[max/2,·not_a_bif/0]).
201 %·····|··^</code></pre><p>Also,·attempting·to·call·a·local·function·having·the·same·name·as·auto-imported·BIF·would·result·in·an·error·if·the·BIF·was·added·to·Erlang/OTP·before·R14,·and·a·warning·for·newer·BIFs.·This·has·been·changed·to·always·emit·a·warning.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7796013765-1">(</span><span·class="ss">bif_example</span><span·class="p"·data-group-id="7796013765-1">)</span><span·class="p">.</span><span·class="w">201 %·····|··^</code></pre><p>Also,·attempting·to·call·a·local·function·having·the·same·name·as·auto-imported·BIF·would·result·in·an·error·if·the·BIF·was·added·to·Erlang/OTP·before·R14,·and·a·warning·for·newer·BIFs.·This·has·been·changed·to·always·emit·a·warning.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9540445084-1">(</span><span·class="ss">bif_example</span><span·class="p"·data-group-id="9540445084-1">)</span><span·class="p">.</span><span·class="w">
202 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7796013765-2">(</span><span·class="p"·data-group-id="7796013765-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="7796013765-3">]</span><span·class="p"·data-group-id="7796013765-2">)</span><span·class="p">.</span><span·class="w">202 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9540445084-2">(</span><span·class="p"·data-group-id="9540445084-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9540445084-3">]</span><span·class="p"·data-group-id="9540445084-2">)</span><span·class="p">.</span><span·class="w">
  
203 </span><span·class="nf">bar</span><span·class="p"·data-group-id="7796013765-4">(</span><span·class="n">B</span><span·class="p"·data-group-id="7796013765-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">203 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9540445084-4">(</span><span·class="n">B</span><span·class="p"·data-group-id="9540445084-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
204 ····</span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="7796013765-5">(</span><span·class="n">B</span><span·class="p"·data-group-id="7796013765-5">)</span><span·class="p">.</span><span·class="w">204 ····</span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="9540445084-5">(</span><span·class="n">B</span><span·class="p"·data-group-id="9540445084-5">)</span><span·class="p">.</span><span·class="w">
  
205 </span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="7796013765-6">(</span><span·class="n">B</span><span·class="p"·data-group-id="7796013765-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 </span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="9540445084-6">(</span><span·class="n">B</span><span·class="p"·data-group-id="9540445084-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ········</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="ow">orelse</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">.</span></code></pre><p>will·now·result·in·the·following·warning·instead·of·an·error:</p><pre><code·class="text">if_example.erl:5:5:·Warning:·ambiguous·call·of·overridden·auto-imported·BIF·is_boolean/1·--206 ········</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="ow">orelse</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">.</span></code></pre><p>will·now·result·in·the·following·warning·instead·of·an·error:</p><pre><code·class="text">if_example.erl:5:5:·Warning:·ambiguous·call·of·overridden·auto-imported·BIF·is_boolean/1·--
207 use·erlang:is_boolean/1·or·&quot;-compile({no_auto_import,[is_boolean/1]}).&quot;·to·resolve·name·clash207 use·erlang:is_boolean/1·or·&quot;-compile({no_auto_import,[is_boolean/1]}).&quot;·to·resolve·name·clash
208 %····5|·····is_boolean(B).208 %····5|·····is_boolean(B).
209 %·····|·····^</code></pre><p>Own·Id:·OTP-19432·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9246"·title="">PR-9246</a></p></li><li><p>The·compiler’s·alias·analysis·pass·is·now·both·faster·and·less·conservative,·allowing·optimizations·of·records·and·binary·construction·to·be·applied·in·more·cases.</p><p>Own·Id:·OTP-19502·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8695"·title="">PR-8695</a></p></li><li><p>BEAM·files·no·longer·include·a·<code·class="inline">Meta</code>·chunk·if·there·are·no·features·used.·That·slightly·decreases·the·size·of·BEAM·files,·and·it·also·ensures·that·<code·class="inline">m(Module)</code>·and·<code·class="inline">beam_lib:md5(Beam)</code>·will·match·for·preloaded·modules.</p><p>Own·Id:·OTP-19524·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9517"·title="">PR-9517</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>An··<strong>experimental</strong>·API·for·a·native·debugger·has·been·added.·The·main·components·are·the·following:</p><ul><li><p>A·new·compiler·option·<code·class="inline">beam_debug_info</code>·for·the·Erlang·compiler.·When·given,·most·optimizations·are·disabled·and·debug·information·suitable·for·the·native·debugger·are·added·to·generated·BEAM·files.</p></li><li><p>A·new·<code·class="inline">+D</code>·emulator·flag.·When·given,·the·VM·becomes·&quot;debuggable&quot;,·which·means·that·when·modules·that·been·compiled·with·the·<code·class="inline">beam_debug_info</code>·option·are·loaded,·the·code·is·instrumented·so·that·one·can·enable·and·disable·breakpoints·on·executable·lines.</p></li><li><p>An·experimental·<code·class="inline">erl_debugger</code>·module·with·a·new·debugging·API.·Essentially,·it·allows·a·single,·local,·process·to·be·registered·as·the·&quot;debugger&quot;·process·for·the·node.·This·process·is·the·one·that·will·receive·messages·notifying·that·a·process·hit·a·breakpoint.·This·way,·the·front-end·implementation·of·a·debugger·(such·as·<a·href="https://github.com/WhatsApp/edb">edb·from·WhatApp</a>)·can·be·decoupled·from·OTP.</p></li><li><p>The·<code·class="inline">erl_debugger</code>·module·also·exposes·new·BIFs·to·inspect·<code·class="inline">X</code>·and·<code·class="inline">Y</code>·registers·of·a·suspended·process.·Together·with·new·code-information·BIFs,·this·let's·a·debugger·show·the·values·of·variables·in·scope·for·a·suspended·process.</p></li></ul><p>Own·Id:·OTP-19609·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a>,·<a·href="https://github.com/erlang/otp/pull/9334"·title="">PR-9334</a>,·<a·href="https://github.com/erlang/otp/pull/9604"·title="">PR-9604</a></p></li></ul><h2·id="compiler-8-6-1"·class="section-heading">209 %·····|·····^</code></pre><p>Own·Id:·OTP-19432·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9246"·title="">PR-9246</a></p></li><li><p>The·compiler’s·alias·analysis·pass·is·now·both·faster·and·less·conservative,·allowing·optimizations·of·records·and·binary·construction·to·be·applied·in·more·cases.</p><p>Own·Id:·OTP-19502·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8695"·title="">PR-8695</a></p></li><li><p>BEAM·files·no·longer·include·a·<code·class="inline">Meta</code>·chunk·if·there·are·no·features·used.·That·slightly·decreases·the·size·of·BEAM·files,·and·it·also·ensures·that·<code·class="inline">m(Module)</code>·and·<code·class="inline">beam_lib:md5(Beam)</code>·will·match·for·preloaded·modules.</p><p>Own·Id:·OTP-19524·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9517"·title="">PR-9517</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>An··<strong>experimental</strong>·API·for·a·native·debugger·has·been·added.·The·main·components·are·the·following:</p><ul><li><p>A·new·compiler·option·<code·class="inline">beam_debug_info</code>·for·the·Erlang·compiler.·When·given,·most·optimizations·are·disabled·and·debug·information·suitable·for·the·native·debugger·are·added·to·generated·BEAM·files.</p></li><li><p>A·new·<code·class="inline">+D</code>·emulator·flag.·When·given,·the·VM·becomes·&quot;debuggable&quot;,·which·means·that·when·modules·that·been·compiled·with·the·<code·class="inline">beam_debug_info</code>·option·are·loaded,·the·code·is·instrumented·so·that·one·can·enable·and·disable·breakpoints·on·executable·lines.</p></li><li><p>An·experimental·<code·class="inline">erl_debugger</code>·module·with·a·new·debugging·API.·Essentially,·it·allows·a·single,·local,·process·to·be·registered·as·the·&quot;debugger&quot;·process·for·the·node.·This·process·is·the·one·that·will·receive·messages·notifying·that·a·process·hit·a·breakpoint.·This·way,·the·front-end·implementation·of·a·debugger·(such·as·<a·href="https://github.com/WhatsApp/edb">edb·from·WhatApp</a>)·can·be·decoupled·from·OTP.</p></li><li><p>The·<code·class="inline">erl_debugger</code>·module·also·exposes·new·BIFs·to·inspect·<code·class="inline">X</code>·and·<code·class="inline">Y</code>·registers·of·a·suspended·process.·Together·with·new·code-information·BIFs,·this·let's·a·debugger·show·the·values·of·variables·in·scope·for·a·suspended·process.</p></li></ul><p>Own·Id:·OTP-19609·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a>,·<a·href="https://github.com/erlang/otp/pull/9334"·title="">PR-9334</a>,·<a·href="https://github.com/erlang/otp/pull/9604"·title="">PR-9604</a></p></li></ul><h2·id="compiler-8-6-1"·class="section-heading">
210 ··<a·href="#compiler-8-6-1"·class="hover-link">210 ··<a·href="#compiler-8-6-1"·class="hover-link">
211 ····<i·class="ri-link-m"·aria-hidden="true"></i>211 ····<i·class="ri-link-m"·aria-hidden="true"></i>
212 ··</a>212 ··</a>
Offset 253, 18 lines modifiedOffset 253, 18 lines modified
253 </h2>253 </h2>
254 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">254 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">
255 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">255 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">
256 ····<i·class="ri-link-m"·aria-hidden="true"></i>256 ····<i·class="ri-link-m"·aria-hidden="true"></i>
257 ··</a>257 ··</a>
258 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>258 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
259 </h3>259 </h3>
260 <ul><li><p>Fixed·a·crash·in·the·common·sub-expression·elimination·pass.</p><p>Own·Id:·OTP-19243·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8818"·title="">GH-8818</a>,·<a·href="https://github.com/erlang/otp/pull/8838"·title="">PR-8838</a></p></li><li><p>Fixed·a·bug·where·bogus·code·was·generated·for·consecutive·calls·to·<code·class="inline">erlang:setelement/2</code>,·potentially·crashing·the·runtime·system.</p><p>Own·Id:·OTP-19270·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8783"·title="">GH-8783</a>,·<a·href="https://github.com/erlang/otp/pull/8898"·title="">PR-8898</a></p></li><li><p>When·the·<code·class="inline">line_coverage</code>·option·was·used,·exceptions·could·show·the·wrong·line·for·where·the·exception·was·raised.</p><p>Own·Id:·OTP-19282·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8907"·title="">PR-8907</a></p></li><li><p>The·<code·class="inline">line_coverage</code>·option·would·be·ignored·if·given·in·a·<code·class="inline">compile()</code>·attribute·within·a·module.</p><p>Own·Id:·OTP-19309·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8942"·title="">GH-8942</a>,·<a·href="https://github.com/erlang/otp/pull/8970"·title="">PR-8970</a></p></li><li><p>A·segment·matching·a·float·in·a·binary·generator·will·now·skip·any·invalid·float·(such·as·a·NaN)·and·continue·matching·the·rest·of·the·binary.·Before·this·correction,·the·comprehension·would·stop·as·soon·as·an·invalid·float·was·encountered.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">BadFloat</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3967957564-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="3967957564-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">260 <ul><li><p>Fixed·a·crash·in·the·common·sub-expression·elimination·pass.</p><p>Own·Id:·OTP-19243·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8818"·title="">GH-8818</a>,·<a·href="https://github.com/erlang/otp/pull/8838"·title="">PR-8838</a></p></li><li><p>Fixed·a·bug·where·bogus·code·was·generated·for·consecutive·calls·to·<code·class="inline">erlang:setelement/2</code>,·potentially·crashing·the·runtime·system.</p><p>Own·Id:·OTP-19270·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8783"·title="">GH-8783</a>,·<a·href="https://github.com/erlang/otp/pull/8898"·title="">PR-8898</a></p></li><li><p>When·the·<code·class="inline">line_coverage</code>·option·was·used,·exceptions·could·show·the·wrong·line·for·where·the·exception·was·raised.</p><p>Own·Id:·OTP-19282·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8907"·title="">PR-8907</a></p></li><li><p>The·<code·class="inline">line_coverage</code>·option·would·be·ignored·if·given·in·a·<code·class="inline">compile()</code>·attribute·within·a·module.</p><p>Own·Id:·OTP-19309·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8942"·title="">GH-8942</a>,·<a·href="https://github.com/erlang/otp/pull/8970"·title="">PR-8970</a></p></li><li><p>A·segment·matching·a·float·in·a·binary·generator·will·now·skip·any·invalid·float·(such·as·a·NaN)·and·continue·matching·the·rest·of·the·binary.·Before·this·correction,·the·comprehension·would·stop·as·soon·as·an·invalid·float·was·encountered.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">BadFloat</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0230707585-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="0230707585-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
261 </span><span·class="p"·data-group-id="3967957564-2">&lt;&lt;</span><span·class="s">&quot;ÿÿÿÿÿÿÿÿ&quot;</span><span·class="p"·data-group-id="3967957564-2">&gt;&gt;</span><span·class="gp·unselectable">261 </span><span·class="p"·data-group-id="0230707585-2">&lt;&lt;</span><span·class="s">&quot;ÿÿÿÿÿÿÿÿ&quot;</span><span·class="p"·data-group-id="0230707585-2">&gt;&gt;</span><span·class="gp·unselectable">
262 2&gt;·</span><span·class="p"·data-group-id="3967957564-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="3967957564-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:·1dfab2e3b54dd3db208b31caf0a8400bf0d621032d7fb10c500f2fd4ba640a4f·...·]-3">]</span><span·class="p">.</span><span·class="w">262 2&gt;·</span><span·class="p"·data-group-id="0230707585-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="0230707585-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:·cfa16b2a24c2c84c1c706c6b01980471768b6b91d7b6a9a267ce7b68bee85784·...·]-3">]</span><span·class="p">.</span><span·class="w">
263 </span><span·class="p"·data-group-id="3967957564-6">[</span><span·class="mf">0.0</span><span·class="p">,</span><span·class="mf">42.0</span><span·class="p"·data-group-id="3967957564-6">]</span></code></pre><p>Own·Id:·OTP-19331·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8978"·title="">PR-8978</a></p></li></ul><h2·id="compiler-8-5-3"·class="section-heading">263 </span><span·class="p"·data-group-id="0230707585-6">[</span><span·class="mf">0.0</span><span·class="p">,</span><span·class="mf">42.0</span><span·class="p"·data-group-id="0230707585-6">]</span></code></pre><p>Own·Id:·OTP-19331·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8978"·title="">PR-8978</a></p></li></ul><h2·id="compiler-8-5-3"·class="section-heading">
264 ··<a·href="#compiler-8-5-3"·class="hover-link">264 ··<a·href="#compiler-8-5-3"·class="hover-link">
265 ····<i·class="ri-link-m"·aria-hidden="true"></i>265 ····<i·class="ri-link-m"·aria-hidden="true"></i>
266 ··</a>266 ··</a>
267 ··<span·class="text">Compiler·8.5.3</span>267 ··<span·class="text">Compiler·8.5.3</span>
268 </h2>268 </h2>
269 <h3·id="fixed-bugs-and-malfunctions-4"·class="section-heading">269 <h3·id="fixed-bugs-and-malfunctions-4"·class="section-heading">
270 ··<a·href="#fixed-bugs-and-malfunctions-4"·class="hover-link">270 ··<a·href="#fixed-bugs-and-malfunctions-4"·class="hover-link">
Offset 304, 61 lines modifiedOffset 304, 61 lines modified
304 </h2>304 </h2>
305 <h3·id="fixed-bugs-and-malfunctions-7"·class="section-heading">305 <h3·id="fixed-bugs-and-malfunctions-7"·class="section-heading">
306 ··<a·href="#fixed-bugs-and-malfunctions-7"·class="hover-link">306 ··<a·href="#fixed-bugs-and-malfunctions-7"·class="hover-link">
307 ····<i·class="ri-link-m"·aria-hidden="true"></i>307 ····<i·class="ri-link-m"·aria-hidden="true"></i>
308 ··</a>308 ··</a>
309 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>309 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
310 </h3>310 </h3>
311 <ul><li><p>Generators·for·binary·comprehensions·could·be·evaluated·before·it·was·known·that·they·would·be·needed.·That·could·result·in·a·binary·comprehensions·failing·if·a·generator·that·should·not·be·evaluated·until·later·failed.</p><p>As·an·example,·consider·this·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1598509479-1">(</span><span·class="ss">t</span><span·class="p"·data-group-id="1598509479-1">)</span><span·class="p">.</span><span·class="w">311 <ul><li><p>Generators·for·binary·comprehensions·could·be·evaluated·before·it·was·known·that·they·would·be·needed.·That·could·result·in·a·binary·comprehensions·failing·if·a·generator·that·should·not·be·evaluated·until·later·failed.</p><p>As·an·example,·consider·this·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7084578180-1">(</span><span·class="ss">t</span><span·class="p"·data-group-id="7084578180-1">)</span><span·class="p">.</span><span·class="w">
312 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1598509479-2">(</span><span·class="p"·data-group-id="1598509479-3">[</span><span·class="ss">f</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1598509479-3">]</span><span·class="p"·data-group-id="1598509479-2">)</span><span·class="p">.</span><span·class="w">312 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7084578180-2">(</span><span·class="p"·data-group-id="7084578180-3">[</span><span·class="ss">f</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7084578180-3">]</span><span·class="p"·data-group-id="7084578180-2">)</span><span·class="p">.</span><span·class="w">
  
313 </span><span·class="nf">f</span><span·class="p"·data-group-id="1598509479-4">(</span><span·class="p"·data-group-id="1598509479-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">313 </span><span·class="nf">f</span><span·class="p"·data-group-id="7084578180-4">(</span><span·class="p"·data-group-id="7084578180-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
314 ····</span><span·class="p"·data-group-id="1598509479-5">&lt;&lt;</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p">_</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·729,·SHA:·14d37449fb99d0bc52d981a076bdc2acce85109dd3e7692dcf4cf9c119eadcae·...·]8-1">)</span><span·class="p">.</span><span·class="w">314 ····</span><span·class="p"·data-group-id="7084578180-5">&lt;&lt;</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p">_</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·729,·SHA:·b40a22c85aeda57b2375d9ecccb54dede76984576b3f5153731e7690be118d7e·...·]8-1">)</span><span·class="p">.</span><span·class="w">
315 </span><span·class="gt">**·exception·error:·bad·generator·ok315 </span><span·class="gt">**·exception·error:·bad·generator·ok
316 ·····in·function··t:f/0·(t.erl,·line·6)</span></code></pre><p>In·Erlang/OTP·27·it·returns·an·empty·binary:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">t</span><span·class="p">:</span><span·class="nf">f</span><span·class="p"·data-group-id="7890254591-1">(</span><span·class="p"·data-group-id="7890254591-1">)</span><span·class="p">.</span><span·class="w">316 ·····in·function··t:f/0·(t.erl,·line·6)</span></code></pre><p>In·Erlang/OTP·27·it·returns·an·empty·binary:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">t</span><span·class="p">:</span><span·class="nf">f</span><span·class="p"·data-group-id="0416075301-1">(</span><span·class="p"·data-group-id="0416075301-1">)</span><span·class="p">.</span><span·class="w">
317 </span><span·class="p"·data-group-id="7890254591-2">&lt;&lt;</span><span·class="p"·data-group-id="7890254591-2">&gt;&gt;</span></code></pre><p>Own·Id:·OTP-18703·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7494"·title="">GH-7494</a>,·<a·href="https://github.com/erlang/otp/pull/7538"·title="">PR-7538</a></p></li><li><p>The·documentation·for·the·preprocessor·now·mentions·that·<code·class="inline">defined(Name)</code>·can·be·called·in·the·condition·for·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·directive·to·test·whether·<code·class="inline">Name</code>·is·the·name·of·a·defined·macro.·(This·feature·was·implemented·in·OTP·21.)</p><p>If·a·function·call·in·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·with·a·name·that·is·not·the·name·of·a·guard·BIF,·there·would·not·be·a·compilation·error,·but·would·instead·cause·the·lines·following·the·directive·to·be·skipped.·This·has·now·been·changed·to·be·a·compilation·error.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18784·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7706"·title="">GH-7706</a>,·<a·href="https://github.com/erlang/otp/pull/7726"·title="">PR-7726</a></p></li></ul><h3·id="improvements-and-new-features-2"·class="section-heading">317 </span><span·class="p"·data-group-id="0416075301-2">&lt;&lt;</span><span·class="p"·data-group-id="0416075301-2">&gt;&gt;</span></code></pre><p>Own·Id:·OTP-18703·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7494"·title="">GH-7494</a>,·<a·href="https://github.com/erlang/otp/pull/7538"·title="">PR-7538</a></p></li><li><p>The·documentation·for·the·preprocessor·now·mentions·that·<code·class="inline">defined(Name)</code>·can·be·called·in·the·condition·for·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·directive·to·test·whether·<code·class="inline">Name</code>·is·the·name·of·a·defined·macro.·(This·feature·was·implemented·in·OTP·21.)</p><p>If·a·function·call·in·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·with·a·name·that·is·not·the·name·of·a·guard·BIF,·there·would·not·be·a·compilation·error,·but·would·instead·cause·the·lines·following·the·directive·to·be·skipped.·This·has·now·been·changed·to·be·a·compilation·error.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18784·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7706"·title="">GH-7706</a>,·<a·href="https://github.com/erlang/otp/pull/7726"·title="">PR-7726</a></p></li></ul><h3·id="improvements-and-new-features-2"·class="section-heading">
318 ··<a·href="#improvements-and-new-features-2"·class="hover-link">318 ··<a·href="#improvements-and-new-features-2"·class="hover-link">
319 ····<i·class="ri-link-m"·aria-hidden="true"></i>319 ····<i·class="ri-link-m"·aria-hidden="true"></i>
320 ··</a>320 ··</a>
321 ··<span·class="text">Improvements·and·New·Features</span>321 ··<span·class="text">Improvements·and·New·Features</span>
322 </h3>322 </h3>
323 <ul><li><p>The·compiler·now·emits·nicer·error·message·for·function·head·mismatches.323 <ul><li><p>The·compiler·now·emits·nicer·error·message·for·function·head·mismatches.
324 For·example,·given:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">a</span><span·class="p"·data-group-id="6402335703-1">(</span><span·class="p"·data-group-id="6402335703-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">324 For·example,·given:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">a</span><span·class="p"·data-group-id="5559698830-1">(</span><span·class="p"·data-group-id="5559698830-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
325 </span><span·class="nf">a</span><span·class="p"·data-group-id="6402335703-2">(</span><span·class="p">_</span><span·class="p"·data-group-id="6402335703-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">error</span><span·class="p">.</span></code></pre><p>Erlang/OTP·26·and·earlier·would·emit·a·diagnostic·similar·to:</p><pre><code·class="text">t.erl:6:1:·head·mismatch325 </span><span·class="nf">a</span><span·class="p"·data-group-id="5559698830-2">(</span><span·class="p">_</span><span·class="p"·data-group-id="5559698830-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">error</span><span·class="p">.</span></code></pre><p>Erlang/OTP·26·and·earlier·would·emit·a·diagnostic·similar·to:</p><pre><code·class="text">t.erl:6:1:·head·mismatch
326 %····6|·a(_)·-&gt;·error.326 %····6|·a(_)·-&gt;·error.
327 %·····|·^</code></pre><p>while·in·Erlang/OTP·27·the·diagnostic·is·similar·to:</p><pre><code·class="text">t.erl:6:1:·head·mismatch:·function·a·with·arities·0·and·1·is·regarded·as·two·distinct·functions.·Is·the·number·of·arguments·incorrect·or·is·the·semicolon·in·a/0·unwanted?327 %·····|·^</code></pre><p>while·in·Erlang/OTP·27·the·diagnostic·is·similar·to:</p><pre><code·class="text">t.erl:6:1:·head·mismatch:·function·a·with·arities·0·and·1·is·regarded·as·two·distinct·functions.·Is·the·number·of·arguments·incorrect·or·is·the·semicolon·in·a/0·unwanted?
328 %····6|·a(_)·-&gt;·error.328 %····6|·a(_)·-&gt;·error.
Max diff block lines reached; 13720/103300 bytes (13.28%) of diff not shown.
790 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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
17.3 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/ssa_checks.html
    
Offset 138, 50 lines modifiedOffset 138, 50 lines modified
138 ····<i·class="ri-link-m"·aria-hidden="true"></i>138 ····<i·class="ri-link-m"·aria-hidden="true"></i>
139 ··</a>139 ··</a>
140 ··<span·class="text">Syntax</span>140 ··<span·class="text">Syntax</span>
141 </h2>141 </h2>
142 <p>SSA·checks·are·embedded·in·the·source·code·as·comments·starting·with142 <p>SSA·checks·are·embedded·in·the·source·code·as·comments·starting·with
143 with·one·of·<code·class="inline">%ssa%</code>,·<code·class="inline">%%ssa%</code>·or·<code·class="inline">%%%ssa%</code>.·This·is·a·short143 with·one·of·<code·class="inline">%ssa%</code>,·<code·class="inline">%%ssa%</code>·or·<code·class="inline">%%%ssa%</code>.·This·is·a·short
144 introduction·the·syntax,·for·the·full·syntax·please·refer·to·the144 introduction·the·syntax,·for·the·full·syntax·please·refer·to·the
145 <code·class="inline">ssa_check_when_clause</code>·production·in·<code·class="inline">erl_parse.yrl</code>.</p><p>SSA·checks·can·be·placed·inside·any·Erlang·function,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">t0</span><span·class="p"·data-group-id="0797681085-1">(</span><span·class="p"·data-group-id="0797681085-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="5884079352-1">(</span><span·class="p"·data-group-id="5884079352-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="0797681085-2">#{</span><span·class="p"·data-group-id="0797681085-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="5884079352-2">#{</span><span·class="p"·data-group-id="5884079352-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="2923962620-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="2923962620-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="7185679886-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="7185679886-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="6579323920-1">(</span><span·class="o">&lt;</span><span·class="ss">formals</span><span·class="o">&gt;</span><span·class="p"·data-group-id="6579323920-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="2621528058-1">(</span><span·class="o">&lt;</span><span·class="ss">formals</span><span·class="o">&gt;</span><span·class="p"·data-group-id="2621528058-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="4081251455-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="4081251455-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="9946466149-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="9946466149-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="5155050044-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:·1b4faa398a5b56fb53be668b93dabe76c02edc5af30e13712484ef68b7e867eb·...·]-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="2634295892-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:·cec3a0ded3bc0e962330feb0340059352399d12dcd9b39e4bbe78ad7cbda6a91·...·]-1">)</span><span·class="w">
  
163 </span><span·class="nf">switch</span><span·class="p"·data-group-id="5155050044-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:·4307db06596e704bdfd06e1d7e3b02407dd1e3e3e8cf42a3c321839b9222cd20·...·]-2">)</span><span·class="w">163 </span><span·class="nf">switch</span><span·class="p"·data-group-id="2634295892-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:·d740a8ca0cf4075d1f37c7ea0ef2976cf130ea9e70bee4607e5ba2e2c3ce2f8b·...·]-2">)</span><span·class="w">
  
164 </span><span·class="nf">ret</span><span·class="p"·data-group-id="5155050044-5">(</span><span·class="o">&lt;</span><span·class="ss">value</span><span·class="o">&gt;</span><span·class="p"·data-group-id="5155050044-5">)</span><span·class="w">164 </span><span·class="nf">ret</span><span·class="p"·data-group-id="2634295892-5">(</span><span·class="o">&lt;</span><span·class="ss">value</span><span·class="o">&gt;</span><span·class="p"·data-group-id="2634295892-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="7947417505-1">(</span><span·class="p"·data-group-id="7947417505-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="4966764922-1">(</span><span·class="p"·data-group-id="4966764922-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="7947417505-2">(</span><span·class="p"·data-group-id="7947417505-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="4966764922-2">(</span><span·class="p"·data-group-id="4966764922-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="7947417505-3">(</span><span·class="p"·data-group-id="7947417505-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="4966764922-3">(</span><span·class="p"·data-group-id="4966764922-3">)</span><span·class="p">,</span><span·class="w">
177 ····</span><span·class="p"·data-group-id="7947417505-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="7947417505-4">}</span><span·class="p">.</span></code></pre><h2·id="semantics"·class="section-heading">177 ····</span><span·class="p"·data-group-id="4966764922-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="4966764922-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.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.56 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/algorithm_details.html
    
Offset 315, 15 lines modifiedOffset 315, 15 lines modified
315 ······<p·class="built-using">315 ······<p·class="built-using">
316 ········Built·using316 ········Built·using
317 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the317 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
318 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>318 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
319 ······</p>319 ······</p>
320 <p>Copyright·©·1996-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.44 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-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;
625 B
html2text {}
Max HTML report size reached
240 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto.epub
2.83 KB
zipinfo {}
Max HTML report size reached
95.1 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
70.5 KB
OEBPS/new_api.xhtml
Max HTML report size reached
23.7 KB
OEBPS/engine_load.xhtml
Max HTML report size reached
18.8 KB
OEBPS/engine_keys.xhtml
Max HTML report size reached
27.5 KB
OEBPS/crypto.xhtml
Max HTML report size reached
1.2 KB
OEBPS/content.opf
Max HTML report size reached
29.0 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto.html
    
Offset 793, 15 lines modifiedOffset 793, 15 lines modified
  
793 ····<div·class="summary-row">793 ····<div·class="summary-row">
794 ······<div·class="summary-signature">794 ······<div·class="summary-signature">
795 ········<a·href="#t:rsa_params/0"·data-no-tooltip·translate="no">rsa_params()</a>795 ········<a·href="#t:rsa_params/0"·data-no-tooltip·translate="no">rsa_params()</a>
  
796 ······</div>796 ······</div>
  
797 ········<div·class="summary-synopsis"><pre><code·class="text">rsa_public()·=·[E,·N]</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rsa_private</span><span·class="p"·data-group-id="4995778619-1">(</span><span·class="p"·data-group-id="4995778619-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4995778619-2">[</span><span·class="n">E</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·863,·SHA:·d438f43e0102f9243c93276b6cdd2c6842c23721d28e9b99e0ad49024c619021·...·]-3">]</span></code></pre><p>Where·E·is·the·public·exponent,·N·is·public·modulus·and·D·is·the·private797 ········<div·class="summary-synopsis"><pre><code·class="text">rsa_public()·=·[E,·N]</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rsa_private</span><span·class="p"·data-group-id="6155411405-1">(</span><span·class="p"·data-group-id="6155411405-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6155411405-2">[</span><span·class="n">E</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·863,·SHA:·bd46cfc89e475f10552ea177a929e9a05e6f04e608460b1f038129595df8f0c9·...·]-3">]</span></code></pre><p>Where·E·is·the·public·exponent,·N·is·public·modulus·and·D·is·the·private
798 exponent.·The·longer·key·format·contains·redundant·information·that·will·make798 exponent.·The·longer·key·format·contains·redundant·information·that·will·make
799 the·calculation·faster.·P1·and·P2·are·first·and·second·prime·factors.·E1·and·E2799 the·calculation·faster.·P1·and·P2·are·first·and·second·prime·factors.·E1·and·E2
800 are·first·and·second·exponents.·C·is·the·CRT·coefficient.·The·terminology·is800 are·first·and·second·exponents.·C·is·the·CRT·coefficient.·The·terminology·is
801 taken·from·<a·href="http://www.ietf.org/rfc/rfc3447.txt">RFC·3447</a>.</p></div>801 taken·from·<a·href="http://www.ietf.org/rfc/rfc3447.txt">RFC·3447</a>.</p></div>
  
802 ····</div>802 ····</div>
  
Offset 3610, 15 lines modifiedOffset 3610, 15 lines modified
  
3610 ······<div·class="specs">3610 ······<div·class="specs">
  
3611 ··········<pre·translate="no"><span·class="attribute">-type</span>·rsa_params()·::·{ModulusSizeInBits·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·PublicExponent·::·<a·href="#t:key_integer/0">key_integer</a>()}.</pre>3611 ··········<pre·translate="no"><span·class="attribute">-type</span>·rsa_params()·::·{ModulusSizeInBits·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·PublicExponent·::·<a·href="#t:key_integer/0">key_integer</a>()}.</pre>
  
3612 ······</div>3612 ······</div>
  
3613 <pre><code·class="text">rsa_public()·=·[E,·N]</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rsa_private</span><span·class="p"·data-group-id="4995778619-1">(</span><span·class="p"·data-group-id="4995778619-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4995778619-2">[</span><span·class="n">E</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·863,·SHA:·d438f43e0102f9243c93276b6cdd2c6842c23721d28e9b99e0ad49024c619021·...·]-3">]</span></code></pre><p>Where·E·is·the·public·exponent,·N·is·public·modulus·and·D·is·the·private3613 <pre><code·class="text">rsa_public()·=·[E,·N]</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rsa_private</span><span·class="p"·data-group-id="6155411405-1">(</span><span·class="p"·data-group-id="6155411405-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6155411405-2">[</span><span·class="n">E</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·863,·SHA:·bd46cfc89e475f10552ea177a929e9a05e6f04e608460b1f038129595df8f0c9·...·]-3">]</span></code></pre><p>Where·E·is·the·public·exponent,·N·is·public·modulus·and·D·is·the·private
3614 exponent.·The·longer·key·format·contains·redundant·information·that·will·make3614 exponent.·The·longer·key·format·contains·redundant·information·that·will·make
3615 the·calculation·faster.·P1·and·P2·are·first·and·second·prime·factors.·E1·and·E23615 the·calculation·faster.·P1·and·P2·are·first·and·second·prime·factors.·E1·and·E2
3616 are·first·and·second·exponents.·C·is·the·CRT·coefficient.·The·terminology·is3616 are·first·and·second·exponents.·C·is·the·CRT·coefficient.·The·terminology·is
3617 taken·from·<a·href="http://www.ietf.org/rfc/rfc3447.txt">RFC·3447</a>.</p>3617 taken·from·<a·href="http://www.ietf.org/rfc/rfc3447.txt">RFC·3447</a>.</p>
3618 ··</section>3618 ··</section>
3619 </section>3619 </section>
3620 <section·class="detail"·id="t:rsa_private/0">3620 <section·class="detail"·id="t:rsa_private/0">
Offset 6076, 17 lines modifiedOffset 6076, 17 lines modified
6076 ······</div>6076 ······</div>
  
6077 <p>Create·a·state·object·for·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html">random·number·generation</a>,·in·order·to6077 <p>Create·a·state·object·for·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html">random·number·generation</a>,·in·order·to
6078 generate·cryptographically·strong·random·numbers·(based·on·OpenSSL's6078 generate·cryptographically·strong·random·numbers·(based·on·OpenSSL's
6079 <code·class="inline">BN_rand_range</code>).</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as6079 <code·class="inline">BN_rand_range</code>).</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as
6080 well.·See·also·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html#seed/1"><code·class="inline">rand:seed/1</code></a>·and·<a·href="#rand_seed_s/0"><code·class="inline">rand_seed_s/0</code></a>.</p><p>When·using·the·state·object·from·this·function·the·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html"><code·class="inline">rand</code></a>·functions·using·it6080 well.·See·also·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html#seed/1"><code·class="inline">rand:seed/1</code></a>·and·<a·href="#rand_seed_s/0"><code·class="inline">rand_seed_s/0</code></a>.</p><p>When·using·the·state·object·from·this·function·the·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html"><code·class="inline">rand</code></a>·functions·using·it
6081 may·raise·exception·<code·class="inline">error:low_entropy</code>·in·case·the·random·generator·failed·due6081 may·raise·exception·<code·class="inline">error:low_entropy</code>·in·case·the·random·generator·failed·due
6082 to·lack·of·secure·&quot;randomness&quot;.</p><p><em>Example</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed</span><span·class="p"·data-group-id="0119557507-1">(</span><span·class="p"·data-group-id="0119557507-1">)</span><span·class="p">,</span><span·class="w">6082 to·lack·of·secure·&quot;randomness&quot;.</p><p><em>Example</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed</span><span·class="p"·data-group-id="9219666331-1">(</span><span·class="p"·data-group-id="9219666331-1">)</span><span·class="p">,</span><span·class="w">
6083 </span><span·class="p">_</span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="0119557507-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="0119557507-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">6083 </span><span·class="p">_</span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="9219666331-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="9219666331-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">
6084 </span><span·class="p">_</span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="0119557507-3">(</span><span·class="p"·data-group-id="0119557507-3">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span></code></pre>6084 </span><span·class="p">_</span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="9219666331-3">(</span><span·class="p"·data-group-id="9219666331-3">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span></code></pre>
6085 ··</section>6085 ··</section>
6086 </section>6086 </section>
6087 <section·class="detail"·id="rand_seed/1">6087 <section·class="detail"·id="rand_seed/1">
  
6088 ··<div·class="detail-header">6088 ··<div·class="detail-header">
6089 ····<a·href="#rand_seed/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">6089 ····<a·href="#rand_seed/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
6090 ······<i·class="ri-link-m"·aria-hidden="true"></i>6090 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 6140, 17 lines modifiedOffset 6140, 17 lines modified
  
6140 ······</div>6140 ······</div>
  
6141 <p>Create·a·state·object·for·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html">random·number·generation</a>,·in·order·to6141 <p>Create·a·state·object·for·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html">random·number·generation</a>,·in·order·to
6142 generate·cryptographically·strong·random·numbers.</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as·well.·See·also6142 generate·cryptographically·strong·random·numbers.</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as·well.·See·also
6143 <a·href="../../../../lib/stdlib-7.0/doc/html/rand.html#seed/1"><code·class="inline">rand:seed/1</code></a>·and·<a·href="#rand_seed_alg_s/1"><code·class="inline">rand_seed_alg_s/1</code></a>.</p><p>When·using·the·state·object·from·this·function·the·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html"><code·class="inline">rand</code></a>·functions·using·it6143 <a·href="../../../../lib/stdlib-7.0/doc/html/rand.html#seed/1"><code·class="inline">rand:seed/1</code></a>·and·<a·href="#rand_seed_alg_s/1"><code·class="inline">rand_seed_alg_s/1</code></a>.</p><p>When·using·the·state·object·from·this·function·the·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html"><code·class="inline">rand</code></a>·functions·using·it
6144 may·raise·exception·<code·class="inline">error:low_entropy</code>·in·case·the·random·generator·failed·due6144 may·raise·exception·<code·class="inline">error:low_entropy</code>·in·case·the·random·generator·failed·due
6145 to·lack·of·secure·&quot;randomness&quot;.</p><p><em>Example</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed_alg</span><span·class="p"·data-group-id="2054611813-1">(</span><span·class="ss">crypto_cache</span><span·class="p"·data-group-id="2054611813-1">)</span><span·class="p">,</span><span·class="w">6145 to·lack·of·secure·&quot;randomness&quot;.</p><p><em>Example</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed_alg</span><span·class="p"·data-group-id="7843177888-1">(</span><span·class="ss">crypto_cache</span><span·class="p"·data-group-id="7843177888-1">)</span><span·class="p">,</span><span·class="w">
6146 </span><span·class="p">_</span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="2054611813-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="2054611813-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">6146 </span><span·class="p">_</span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="7843177888-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="7843177888-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">
6147 </span><span·class="p">_</span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="2054611813-3">(</span><span·class="p"·data-group-id="2054611813-3">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span></code></pre>6147 </span><span·class="p">_</span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="7843177888-3">(</span><span·class="p"·data-group-id="7843177888-3">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span></code></pre>
6148 ··</section>6148 ··</section>
6149 </section>6149 </section>
6150 <section·class="detail"·id="rand_seed_alg/2">6150 <section·class="detail"·id="rand_seed_alg/2">
  
6151 ··<div·class="detail-header">6151 ··<div·class="detail-header">
6152 ····<a·href="#rand_seed_alg/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">6152 ····<a·href="#rand_seed_alg/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
6153 ······<i·class="ri-link-m"·aria-hidden="true"></i>6153 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 6172, 20 lines modifiedOffset 6172, 20 lines modified
  
6172 ··········<pre·translate="no"><span·class="attribute">-spec</span>·rand_seed_alg(Alg·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),·Seed·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->·{<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html#t:alg_handler/0">rand:alg_handler</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>()·|·<a·href="#t:rand_cache_seed/0">rand_cache_seed</a>()}.</pre>6172 ··········<pre·translate="no"><span·class="attribute">-spec</span>·rand_seed_alg(Alg·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),·Seed·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->·{<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html#t:alg_handler/0">rand:alg_handler</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>()·|·<a·href="#t:rand_cache_seed/0">rand_cache_seed</a>()}.</pre>
  
6173 ······</div>6173 ······</div>
  
6174 <p>Creates·a·state·object·for·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html">random·number·generation</a>,·in·order·to6174 <p>Creates·a·state·object·for·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html">random·number·generation</a>,·in·order·to
6175 generate·cryptographically·unpredictable·random·numbers.</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as·well.·See·also6175 generate·cryptographically·unpredictable·random·numbers.</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as·well.·See·also
6176 <a·href="#rand_seed_alg_s/2"><code·class="inline">rand_seed_alg_s/2</code></a>.</p><p><em>Example</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed_alg</span><span·class="p"·data-group-id="0772165319-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="0772165319-1">)</span><span·class="p">,</span><span·class="w">6176 <a·href="#rand_seed_alg_s/2"><code·class="inline">rand_seed_alg_s/2</code></a>.</p><p><em>Example</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed_alg</span><span·class="p"·data-group-id="8588519351-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="8588519351-1">)</span><span·class="p">,</span><span·class="w">
6177 </span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="0772165319-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="0772165319-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">6177 </span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="8588519351-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="8588519351-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">
6178 </span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="0772165319-3">(</span><span·class="p"·data-group-id="0772165319-3">)</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span><span·class="w">6178 </span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="8588519351-3">(</span><span·class="p"·data-group-id="8588519351-3">)</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span><span·class="w">
6179 </span><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed_alg</span><span·class="p"·data-group-id="0772165319-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="0772165319-4">)</span><span·class="p">,</span><span·class="w">6179 </span><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed_alg</span><span·class="p"·data-group-id="8588519351-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="8588519351-4">)</span><span·class="p">,</span><span·class="w">
6180 </span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="0772165319-5">(</span><span·class="mi">42</span><span·class="p"·data-group-id="0772165319-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Same·values</span><span·class="w">6180 </span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="8588519351-5">(</span><span·class="mi">42</span><span·class="p"·data-group-id="8588519351-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Same·values</span><span·class="w">
6181 </span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="0772165319-6">(</span><span·class="p"·data-group-id="0772165319-6">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·again</span></code></pre>6181 </span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="8588519351-6">(</span><span·class="p"·data-group-id="8588519351-6">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·again</span></code></pre>
6182 ··</section>6182 ··</section>
6183 </section>6183 </section>
6184 <section·class="detail"·id="rand_seed_alg_s/1">6184 <section·class="detail"·id="rand_seed_alg_s/1">
  
6185 ··<div·class="detail-header">6185 ··<div·class="detail-header">
6186 ····<a·href="#rand_seed_alg_s/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">6186 ····<a·href="#rand_seed_alg_s/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
6187 ······<i·class="ri-link-m"·aria-hidden="true"></i>6187 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 6792, 22 lines modifiedOffset 6792, 22 lines modified
6792 ················link_type·:=·dynamic·|·static,6792 ················link_type·:=·dynamic·|·static,
6793 ················otp_crypto_version·:=·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),6793 ················otp_crypto_version·:=·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
6794 ················fips_provider_available·=>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>(),6794 ················fips_provider_available·=>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>(),
6795 ················fips_provider_buildinfo·=>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()}.</pre>6795 ················fips_provider_buildinfo·=>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()}.</pre>
  
6796 ······</div>6796 ······</div>
  
6797 <p>Get·information·about·crypto·and·the·OpenSSL·backend.</p><p>Returns·a·map·with·information·about·the·compilation·and·linking·of·crypto.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">info</span><span·class="p"·data-group-id="6080283765-1">(</span><span·class="p"·data-group-id="6080283765-1">)</span><span·class="p">.</span><span·class="w">6797 <p>Get·information·about·crypto·and·the·OpenSSL·backend.</p><p>Returns·a·map·with·information·about·the·compilation·and·linking·of·crypto.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">info</span><span·class="p"·data-group-id="8605906116-1">(</span><span·class="p"·data-group-id="8605906116-1">)</span><span·class="p">.</span><span·class="w">
6798 </span><span·class="p"·data-group-id="6080283765-2">#{</span><span·class="ss">compile_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">6798 </span><span·class="p"·data-group-id="8605906116-2">#{</span><span·class="ss">compile_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">
6799 ··</span><span·class="ss">cryptolib_version_compiled</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;OpenSSL·3.0.0·7·sep·2021&quot;</span><span·class="p">,</span><span·class="w">6799 ··</span><span·class="ss">cryptolib_version_compiled</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;OpenSSL·3.0.0·7·sep·2021&quot;</span><span·class="p">,</span><span·class="w">
6800 ··</span><span·class="ss">cryptolib_version_linked</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;OpenSSL·3.0.0·7·sep·2021&quot;</span><span·class="p">,</span><span·class="w">6800 ··</span><span·class="ss">cryptolib_version_linked</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;OpenSSL·3.0.0·7·sep·2021&quot;</span><span·class="p">,</span><span·class="w">
6801 ··</span><span·class="ss">link_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">dynamic</span><span·class="p">,</span><span·class="w">6801 ··</span><span·class="ss">link_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">dynamic</span><span·class="p">,</span><span·class="w">
6802 ··</span><span·class="ss">otp_crypto_version</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;5.0.2&quot;</span><span·class="p">,</span><span·class="w">6802 ··</span><span·class="ss">otp_crypto_version</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;5.0.2&quot;</span><span·class="p">,</span><span·class="w">
6803 ··</span><span·class="ss">fips_provider_available</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">6803 ··</span><span·class="ss">fips_provider_available</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">
6804 ··</span><span·class="ss">fips_provider_buildinfo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;3.0.0&quot;</span><span·class="p"·data-group-id="6080283765-2">}</span><span·class="w">6804 ··</span><span·class="ss">fips_provider_buildinfo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;3.0.0&quot;</span><span·class="p"·data-group-id="8605906116-2">}</span><span·class="w">
6805 </span><span·class="mi">2</span><span·class="o">&gt;</span></code></pre><p>More·association·types·than·documented·may·be·present·in·the·map.·Some·of·the6805 </span><span·class="mi">2</span><span·class="o">&gt;</span></code></pre><p>More·association·types·than·documented·may·be·present·in·the·map.·Some·of·the
6806 associations·(like·fips)·may·be·absent·if·not·supported.</p>6806 associations·(like·fips)·may·be·absent·if·not·supported.</p>
6807 ··</section>6807 ··</section>
6808 </section>6808 </section>
6809 <section·class="detail"·id="info_fips/0">6809 <section·class="detail"·id="info_fips/0">
  
6810 ··<div·class="detail-header">6810 ··<div·class="detail-header">
Offset 6864, 16 lines modifiedOffset 6864, 16 lines modified
6864 ··········<pre·translate="no"><span·class="attribute">-spec</span>·info_lib()·->·[{Name,·VerNum,·VerStr}]6864 ··········<pre·translate="no"><span·class="attribute">-spec</span>·info_lib()·->·[{Name,·VerNum,·VerStr}]
6865 ··················when·Name·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>(),·VerNum·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·VerStr·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>().</pre>6865 ··················when·Name·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>(),·VerNum·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·VerStr·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>().</pre>
  
6866 ······</div>6866 ······</div>
  
6867 <p>Get·the·name·and·version·of·the·libraries·used·by·crypto.</p><p><code·class="inline">Name</code>·is·the·name·of·the·library.·<code·class="inline">VerNum</code>·is·the·numeric·version·according·to6867 <p>Get·the·name·and·version·of·the·libraries·used·by·crypto.</p><p><code·class="inline">Name</code>·is·the·name·of·the·library.·<code·class="inline">VerNum</code>·is·the·numeric·version·according·to
6868 the·library's·own·versioning·scheme.·<code·class="inline">VerStr</code>·contains·a·text·variant·of·the6868 the·library's·own·versioning·scheme.·<code·class="inline">VerStr</code>·contains·a·text·variant·of·the
6869 version.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">info_lib</span><span·class="p"·data-group-id="7705065255-1">(</span><span·class="p"·data-group-id="7705065255-1">)</span><span·class="p">.</span><span·class="w">6869 version.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">info_lib</span><span·class="p"·data-group-id="7717045519-1">(</span><span·class="p"·data-group-id="7717045519-1">)</span><span·class="p">.</span><span·class="w">
6870 </span><span·class="p"·data-group-id="7705065255-2">[</span><span·class="p"·data-group-id="7705065255-3">{</span><span·class="p"·data-group-id="7705065255-4">&lt;&lt;</span><span·class="s">&quot;OpenSSL&quot;</span><span·class="p"·data-group-id="7705065255-4">&gt;&gt;</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·365,·SHA:·874e9deee444e826d06713ea5a77fb4c647d7dd3238b38cd93026a4ebd090a9e·...·]-2">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>From·OTP·R16·the·<em>numeric·version</em>·represents·the·version·of·the·OpenSSL6870 </span><span·class="p"·data-group-id="7717045519-2">[</span><span·class="p"·data-group-id="7717045519-3">{</span><span·class="p"·data-group-id="7717045519-4">&lt;&lt;</span><span·class="s">&quot;OpenSSL&quot;</span><span·class="p"·data-group-id="7717045519-4">&gt;&gt;</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·365,·SHA:·1be74ea1f5dc6727921441905c7ae7c534279a08f0885591571cd9e606011bd2·...·]-2">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>From·OTP·R16·the·<em>numeric·version</em>·represents·the·version·of·the·OpenSSL
6871 <em>header·files</em>·(<code·class="inline">openssl/opensslv.h</code>)·used·when·crypto·was·compiled.·The·text6871 <em>header·files</em>·(<code·class="inline">openssl/opensslv.h</code>)·used·when·crypto·was·compiled.·The·text
6872 variant·represents·the·libcrypto·library·used·at·runtime.·In·earlier·OTP6872 variant·represents·the·libcrypto·library·used·at·runtime.·In·earlier·OTP
6873 versions·both·numeric·and·text·was·taken·from·the·library.</p></section>6873 versions·both·numeric·and·text·was·taken·from·the·library.</p></section>
6874 ··</section>6874 ··</section>
6875 </section>6875 </section>
6876 <section·class="detail"·id="mod_pow/3">6876 <section·class="detail"·id="mod_pow/3">
Max diff block lines reached; 701/28797 bytes (2.43%) of diff not shown.
716 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto_app.html
    
Offset 221, 15 lines modifiedOffset 221, 15 lines modified
221 ······<p·class="built-using">221 ······<p·class="built-using">
222 ········Built·using222 ········Built·using
223 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the223 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
224 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>224 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
225 ······</p>225 ······</p>
226 <p>Copyright·©·1996-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.6/doc/html/engine_keys.html
    
Offset 157, 50 lines modifiedOffset 157, 50 lines modified
157 <h3·id="sign-with-an-engine-stored-private-key"·class="section-heading">157 <h3·id="sign-with-an-engine-stored-private-key"·class="section-heading">
158 ··<a·href="#sign-with-an-engine-stored-private-key"·class="hover-link">158 ··<a·href="#sign-with-an-engine-stored-private-key"·class="hover-link">
159 ····<i·class="ri-link-m"·aria-hidden="true"></i>159 ····<i·class="ri-link-m"·aria-hidden="true"></i>
160 ··</a>160 ··</a>
161 ··<span·class="text">Sign·with·an·engine·stored·private·key</span>161 ··<span·class="text">Sign·with·an·engine·stored·private·key</span>
162 </h3>162 </h3>
163 <p>This·example·shows·how·to·construct·a·key·reference·that·is·used·in·a·sign163 <p>This·example·shows·how·to·construct·a·key·reference·that·is·used·in·a·sign
164 operation.·The·actual·key·is·stored·in·the·engine·that·is·loaded·at·prompt·1.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9392000740-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="9392000740-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·addccf6236f67c56371d73129597d96db1d5c26cf9d6886aecf0d21f3ee860e7·...·]-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="0659264932-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="0659264932-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·9919f9442042c26d13e7aea294424b6b3ff1c4af4b6afbbdafcb12e8f44bdc30·...·]-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="9392000740-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:·efbe57e9da9162881d087f344cb0e5522347bd00827c60b3e72b14160bd7e178·...·]-3">}</span><span·class="gp·unselectable">166 </span><span·class="p"·data-group-id="0659264932-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:·fb33f642f76310856cdb0808d125d1e632388c6266f7adaa4024c6f9582b5c5d·...·]-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="9392000740-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="0659264932-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="9392000740-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="0659264932-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="9392000740-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="9392000740-6">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·201,·SHA:·bf028db5db8d45865ee1bc54747905c38bc59794a8fe747c310b487cd569bf72·...·]-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="0659264932-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="0659264932-6">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·201,·SHA:·3df68dc7d6c203121632277b6287266b63e000b45e932624c8e9249e8a080a75·...·]-5">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="p"·data-group-id="9392000740-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="0659264932-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="9392000740-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="0659264932-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="1665026415-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="6638350223-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="1665026415-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="6638350223-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="1665026415-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="1665026415-3">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·283,·SHA:·c46ff5932913bf7e0c79f692eec465460b9b466240e44b98655b1aac631ccb3e·...·]-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="6638350223-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="6638350223-3">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·283,·SHA:·2c84a69ab7b3773fc3db6402d959bbb94612db6ad84db681a12c403d9aaaad20·...·]-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="3247122297-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="2096807361-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="3247122297-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="2096807361-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="3247122297-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="3247122297-3">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·204,·SHA:·5aa52c610e1b38e9d609e292c21206565aa2ac7eac630cd40c68a8491b91f486·...·]-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="2096807361-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="2096807361-3">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·204,·SHA:·464a7a0b70360fe6dfca16dbd24d9de65512799035fe8f337f2c7939cbf2729f·...·]-2">)</span><span·class="p">.</span><span·class="w">
197 </span><span·class="p"·data-group-id="3247122297-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="2096807361-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="3247122297-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="2096807361-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.6/doc/html/engine_load.html
    
Offset 148, 64 lines modifiedOffset 148, 64 lines modified
148 <h3·id="dynamically-load-an-engine-from-default-directory"·class="section-heading">148 <h3·id="dynamically-load-an-engine-from-default-directory"·class="section-heading">
149 ··<a·href="#dynamically-load-an-engine-from-default-directory"·class="hover-link">149 ··<a·href="#dynamically-load-an-engine-from-default-directory"·class="hover-link">
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">Dynamically·load·an·engine·from·default·directory</span>152 ··<span·class="text">Dynamically·load·an·engine·from·default·directory</span>
153 </h3>153 </h3>
154 <p>If·the·engine·is·located·in·the·OpenSSL/LibreSSL·installation·<code·class="inline">engines</code>154 <p>If·the·engine·is·located·in·the·OpenSSL/LibreSSL·installation·<code·class="inline">engines</code>
155 directory.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="7367059372-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="7367059372-1">}</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_load</span><span·class="p"·data-group-id="7367059372-2">(</span><span·class="p"·data-group-id="7367059372-3">&lt;&lt;</span><span·class="s">&quot;otp_test_engine&quot;</span><span·class="p"·data-group-id="7367059372-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7367059372-4">[</span><span·class="p"·data-group-id="7367059372-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7367059372-5">[</span><span·class="p"·data-group-id="7367059372-5">]</span><span·class="p"·data-group-id="7367059372-2">)</span><span·class="p">.</span><span·class="w"> 
156 ·</span><span·class="p"·data-group-id="7367059372-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="7367059372-6">}</span></code></pre><h3·i[·...·truncated·by·diffoscope;·len:·65,·SHA:·6843b29c2536b654e20e52263252797b98ab356d5b1d426f542309cac7f8a9e7·...·]">155 directory.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9030374029-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Engine</[·...·truncated·by·diffoscope;·len:·841,·SHA:·30ca79cb23ab35855263befd68230758d2de3138a1ee81724072991491032351·...·]">
 156 ·</span><span·class="p"·data-group-id="9030374029-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="9030374029-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="7483436038-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="7483436038-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·279,·SHA:·73026e39ead515ea7717218530830628f9944004acc6dd32f4dd71603e1b63db·...·]-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="8528306331-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="8528306331-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·279,·SHA:·17d5acfb0b4b107294a73e07adc22aa5359f08466a43fce5c13a3da07201abd7·...·]-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">
164 ······································</span><span·class="p"·data-group-id="7483436038-4">[</span><span·class="p"·data-group-id="7483436038-5">{</span><span·class="p"·data-group-id="7483436038-6">&lt;&lt;</span><span·class="s">&quot;SO_PATH&quot;</span><span·class="p"·data-group-id="7483436038-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">164 ······································</span><span·class="p"·data-group-id="8528306331-4">[</span><span·class="p"·data-group-id="8528306331-5">{</span><span·class="p"·data-group-id="8528306331-6">&lt;&lt;</span><span·class="s">&quot;SO_PATH&quot;</span><span·class="p"·data-group-id="8528306331-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">
165 ········································</span><span·class="p"·data-group-id="7483436038-7">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="7483436038-7">&gt;&gt;</span><span·class="p"·data-group-id="7483436038-5">}</span><span·class="p">,</span><span·class="w">165 ········································</span><span·class="p"·data-group-id="8528306331-7">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="8528306331-7">&gt;&gt;</span><span·class="p"·data-group-id="8528306331-5">}</span><span·class="p">,</span><span·class="w">
166 ·······································</span><span·class="p"·data-group-id="7483436038-8">{</span><span·class="p"·data-group-id="7483436038-9">&lt;&lt;</span><span·class="s">&quot;ID&quot;</span><span·class="p"·data-group-id="7483436038-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·172,·SHA:·902d6f1a502111cf09c113fe4552444824a038b860cf62e04a6fc535b1bc0c45·...·]-8">}</span><span·class="p">,</span><span·class="w">166 ·······································</span><span·class="p"·data-group-id="8528306331-8">{</span><span·class="p"·data-group-id="8528306331-9">&lt;&lt;</span><span·class="s">&quot;ID&quot;</span><span·class="p"·data-group-id="8528306331-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·172,·SHA:·be4aed13a227de7e4ea518f9ddaf1a31262555c6d2ce4313ed7cf43bb1470a7c·...·]-8">}</span><span·class="p">,</span><span·class="w">
167 ·······································</span><span·class="p"·data-group-id="7483436038-11">&lt;&lt;</span><span·class="s">&quot;LOAD&quot;</span><span·class="p"·data-group-id="7483436038-11">&gt;&gt;</span><span·class="p"·data-group-id="7483436038-4">]</span><span·class="p">,</span><span·class="w">167 ·······································</span><span·class="p"·data-group-id="8528306331-11">&lt;&lt;</span><span·class="s">&quot;LOAD&quot;</span><span·class="p"·data-group-id="8528306331-11">&gt;&gt;</span><span·class="p"·data-group-id="8528306331-4">]</span><span·class="p">,</span><span·class="w">
168 ······································</span><span·class="p"·data-group-id="7483436038-12">[</span><span·class="p"·data-group-id="7483436038-12">]</span><span·class="p"·data-group-id="7483436038-2">)</span><span·class="p">.</span><span·class="w">168 ······································</span><span·class="p"·data-group-id="8528306331-12">[</span><span·class="p"·data-group-id="8528306331-12">]</span><span·class="p"·data-group-id="8528306331-2">)</span><span·class="p">.</span><span·class="w">
169 ·</span><span·class="p"·data-group-id="7483436038-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="7483436038-13">}</span></code></pre><h3·id="load-an-engine-and-replace-some-methods"·class="section-heading">169 ·</span><span·class="p"·data-group-id="8528306331-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="8528306331-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="3692240817-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="3692240817-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·279,·SHA:·65906865b9c5d4a5b039205d686d4db69d5f997696cf56aa035abbfc8c71dcef·...·]-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="1207391593-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="1207391593-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·279,·SHA:·5aeccb752a842fefd25796eb81ca3f73146e0fcc89f9474a04424be1c0e9e48c·...·]-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">
177 ······································</span><span·class="p"·data-group-id="3692240817-4">[</span><span·class="p"·data-group-id="3692240817-5">{</span><span·class="p"·data-group-id="3692240817-6">&lt;&lt;</span><span·class="s">&quot;SO_PATH&quot;</span><span·class="p"·data-group-id="3692240817-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">177 ······································</span><span·class="p"·data-group-id="1207391593-4">[</span><span·class="p"·data-group-id="1207391593-5">{</span><span·class="p"·data-group-id="1207391593-6">&lt;&lt;</span><span·class="s">&quot;SO_PATH&quot;</span><span·class="p"·data-group-id="1207391593-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">
178 ········································</span><span·class="p"·data-group-id="3692240817-7">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="3692240817-7">&gt;&gt;</span><span·class="p"·data-group-id="3692240817-5">}</span><span·class="p">,</span><span·class="w">178 ········································</span><span·class="p"·data-group-id="1207391593-7">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="1207391593-7">&gt;&gt;</span><span·class="p"·data-group-id="1207391593-5">}</span><span·class="p">,</span><span·class="w">
179 ·······································</span><span·class="p"·data-group-id="3692240817-8">{</span><span·class="p"·data-group-id="3692240817-9">&lt;&lt;</span><span·class="s">&quot;ID&quot;</span><span·class="p"·data-group-id="3692240817-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3692240817-10">&lt;&lt;</span><span·class="s">&quot;MD5&quot;</span><span·class="p"·data-group-id="3692240817-10">&gt;&gt;</span><span·class="p"·data-group-id="3692240817-8">}</span><span·class="p">,</span><span·class="w"> 
180 ·······································</span><span·class="p"·data-group-id="3692240817-11">&lt;&lt;</span><span·class="s">&quot;LOAD&quot;</span><span·class="p"·data-group-id="3692240817-11">&gt;&gt;</span><span·class="p"·data-group-id="3692240817-4">]</span><span·class="p">,</span><span·class="w">179 ·······································</span><span·class="p"·data-group-id="1207391593-8">{</span><span·class="p"·data-group-id="1207391593-9">&lt;&lt;</span><span·class="s">&quot;ID&quot;</span><span·class="p"·data-group-id="1207391593-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·177,·SHA:·6de38ac3739881c5bd482dcf954f9f5d091971157e3c82bc8d9af48329689bca·...·]</span><span·class="p">,</span><span·class="w">
 180 ·······································</span><span·class="p"·data-group-id="1207391593-11">&lt;&lt;</span><span·class="s">&quot;LOAD&quot;</span><span·class="p"·data-group-id="1207391593-11">&gt;&gt;</span><span·class="p"·data-group-id="1207391593-4">]</span><span·class="p">,</span><span·class="w">
181 ······································</span><span·class="p"·data-group-id="3692240817-12">[</span><span·class="p"·data-group-id="3692240817-12">]</span><span·class="p"·data-group-id="3692240817-2">)</span><span·class="p">.</span><span·class="w">181 ······································</span><span·class="p"·data-group-id="1207391593-12">[</span><span·class="p"·data-group-id="1207391593-12">]</span><span·class="p"·data-group-id="1207391593-2">)</span><span·class="p">.</span><span·class="w">
182 </span><span·class="p"·data-group-id="3692240817-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="3692240817-13">}</span><span·class="gp·unselectable">182 </span><span·class="p"·data-group-id="1207391593-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="1207391593-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="3692240817-14">(</span><span·class="n">Engine</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3692240817-15">[</span><span·class="ss">engine_method_digests</span><span·class="p"·data-group-id="3692240817-15">]</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·5d31b23203851f78ed7a65da2be1f39a1f09aa61e37b9ddf9cb2eec677003aaa·...·]-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="1207391593-14">(</span><span·class="n">Engine</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1207391593-15">[</span><span·class="ss">engine_method_digests</span><span·class="p"·data-group-id="1207391593-15">]</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·29b7e0a74d4339c7c7846bb4a5dae30c6ef6fdd6e2eb60581e73810a0fcd1918·...·]-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="6552615069-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="6552615069-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·283,·SHA:·0dc9baf3a7bf55473cf495da67a3df01bfdcd03dcb4907a39a786bab403d9ce7·...·]9-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="9238837559-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="9238837559-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·283,·SHA:·aed192dfb739d3f056933b574e35d36f61a4c33c8213c27901ae83dc6345f210·...·]9-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">
193 ···············································</span><span·class="p"·data-group-id="6552615069-4">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="6552615069-4">&gt;&gt;</span><span·class="p"·data-group-id="6552615069-2">)</span><span·class="p">.</span><span·class="w">193 ···············································</span><span·class="p"·data-group-id="9238837559-4">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="9238837559-4">&gt;&gt;</span><span·class="p"·data-group-id="9238837559-2">)</span><span·class="p">.</span><span·class="w">
194 ·</span><span·class="p"·data-group-id="6552615069-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="6552615069-5">}</span></code></pre><p>To·remove·the·tag·from·the·OpenSSL·engine[·...·truncated·by·diffoscope;·len:·469,·SHA:·1d36b1f1a8a080bcbb7069d9cb0d4ab052f40cc9441d9bf35c94fbeabe85cf91·...·]-1">)</span><span·class="p">.</span><span·class="w">194 ·</span><span·class="p"·data-group-id="9238837559-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="9238837559-5">}</span></code></pre><p>To·remove·the·tag·from·the·OpenSSL·engine[·...·truncated·by·diffoscope;·len:·469,·SHA:·bf3e558a8fd5caa85e879f8279fbbc0bff01238834695699f6ef404bcc0a9fb4·...·]-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="4454998607-1">(</span><span·class="n">Engine</span><span·class="p"·data-group-id="4454998607-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="0372852739-1">(</span><span·class="n">Engine</span><span·class="p"·data-group-id="0372852739-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="4535624728-1">(</span><span·class="p"·data-group-id="4535624728-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="9180858389-1">(</span><span·class="p"·data-group-id="9180858389-1">)</span><span·class="p">.</span><span·class="w">
204 </span><span·class="p"·data-group-id="4535624728-2">[</span><span·class="p"·data-group-id="4535624728-3">&lt;&lt;</span><span·class="s">&quot;dynamic&quot;</span><span·class="p"·data-group-id="4535624728-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·175,·SHA:·4653faf932df344de17c5ec007f6a0c32205743889397fab453b6edee05440d5·...·]-2">]</span></code></pre>204 </span><span·class="p"·data-group-id="9180858389-2">[</span><span·class="p"·data-group-id="9180858389-3">&lt;&lt;</span><span·class="s">&quot;dynamic&quot;</span><span·class="p"·data-group-id="9180858389-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·175,·SHA:·b362fcd5a2767321f96c15a270aa2418934a19f99fdbbcefb4f63e54eec6316e·...·]-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.51 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/fips.html
    
Offset 289, 15 lines modifiedOffset 289, 15 lines modified
289 ······<p·class="built-using">289 ······<p·class="built-using">
290 ········Built·using290 ········Built·using
291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
293 ······</p>293 ······</p>
294 <p>Copyright·©·1996-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;
722 B
html2text {}
Max HTML report size reached
71.9 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/new_api.html
    
Offset 188, 111 lines modifiedOffset 188, 111 lines modified
188 </h3>188 </h3>
189 <p>The·functions·<a·href="crypto.html#crypto_init/4">crypto_init/4</a>·and189 <p>The·functions·<a·href="crypto.html#crypto_init/4">crypto_init/4</a>·and
190 <a·href="crypto.html#crypto_update/2">crypto_update/2</a>·are·intended·to·be·used·for190 <a·href="crypto.html#crypto_update/2">crypto_update/2</a>·are·intended·to·be·used·for
191 encrypting·or·decrypting·a·sequence·of·blocks.·First·one·call·of·<code·class="inline">crypto_init/4</code>191 encrypting·or·decrypting·a·sequence·of·blocks.·First·one·call·of·<code·class="inline">crypto_init/4</code>
192 initialises·the·crypto·context.·One·or·more·calls·<code·class="inline">crypto_update/2</code>·does·the192 initialises·the·crypto·context.·One·or·more·calls·<code·class="inline">crypto_update/2</code>·does·the
193 actual·encryption·or·decryption·for·each·block.</p><p>This·example·shows·first·the·encryption·of·two·blocks·and·then·decryptions·of193 actual·encryption·or·decryption·for·each·block.</p><p>This·example·shows·first·the·encryption·of·two·blocks·and·then·decryptions·of
194 the·cipher·text,·but·divided·into·three·blocks·just·to·show·that·it·is·possible194 the·cipher·text,·but·divided·into·three·blocks·just·to·show·that·it·is·possible
195 to·divide·the·plain·text·and·cipher·text·differently·for·some·ciphers:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»    </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="4979605994-1">(</span><span·class="ss">crypto</span><span·class="p"·data-group-id="4979605994-1">)</span><span·class="p">.</span><span·class="w">195 to·divide·the·plain·text·and·cipher·text·differently·for·some·ciphers:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»    </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="5511952826-1">(</span><span·class="ss">crypto</span><span·class="p"·data-group-id="5511952826-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="4979605994-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="4979605994-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="5511952826-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="5511952826-2">&gt;&gt;</span><span·class="p">.</span><span·class="w">
198 »       </span><span·class="p"·data-group-id="4979605994-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:·5d22568d58a69f2bbe6d677b206d997f7ea4add8c5d287b36c8a4bb47590a250·...·]-3">&gt;&gt;</span><span·class="w">198 »       </span><span·class="p"·data-group-id="5511952826-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:·cc80754e6c64b404a0041bc34b2a8813a99cf89bf1706b40de1aa1d4c9a50637·...·]-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="4979605994-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="4979605994-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="5511952826-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="5511952826-4">&gt;&gt;</span><span·class="p">.</span><span·class="w">
200 »       </span><span·class="p"·data-group-id="4979605994-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:·d93342f80b5df5a745ddd00401830fc544055ed74564a44e8cd98dec5278d03b·...·]-5">&gt;&gt;</span><span·class="w">200 »       </span><span·class="p"·data-group-id="5511952826-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:·f91fac46918f6209a5b4a69ab4d6b364e657c86b4d94481e27ca1db4a866f137·...·]-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="4979605994-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:·2215d11ac569714af4a9de15527b472ee8ecea28712f9fc69a7ae2d3e102f415·...·]-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="5511952826-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:·fd030fb4e928076d47339164e417d446ebce1825d77ce06c2509b68c6bd9d4f3·...·]-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="4979605994-7">(</span><span·class="n">StateEnc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4979605994-8">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="4979605994-8">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·39726be4f1ce027f7d03c672bf0c2b505fe663036531f3ffff922d991709b192·...·]-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="5511952826-7">(</span><span·class="n">StateEnc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5511952826-8">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="5511952826-8">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·e6b3650fcd394f3031304e6a1f205b8cc895c42aba57e8de5164db90dc311810·...·]-7">)</span><span·class="p">.</span><span·class="w">
204 »       </span><span·class="p"·data-group-id="4979605994-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:·3967af4573aaf8ac62d655a88d90fd95fad408016c84efdfed2cd028b20b4e2f·...·]-9">&gt;&gt;</span><span·class="w">204 »       </span><span·class="p"·data-group-id="5511952826-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:·a41437a72ff81e41463563491153348976f0c7a0db4c8b85f9c4a0b61fabcb20·...·]-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="4979605994-10">(</span><span·class="n">StateEnc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4979605994-11">&lt;&lt;</span><span·class="s">&quot;Second·bytes&quot;</span><span·class="p"·data-group-id="4979605994-11">[·...·truncated·by·diffoscope;·len:·56,·SHA:·87d16f7a584e1a23a1ab2f297576d591be8e83fe656ff283beb6aaa47b920df1·...·]-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="5511952826-10">(</span><span·class="n">StateEnc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5511952826-11">&lt;&lt;</span><span·class="s">&quot;Second·bytes&quot;</span><span·class="p"·data-group-id="5511952826-11">[·...·truncated·by·diffoscope;·len:·56,·SHA:·b97168939df30a34d475bfefd4e3d8021dc0be84da5a28f7dd7f54441964b534·...·]-10">)</span><span·class="p">.</span><span·class="w">
206 »       </span><span·class="p"·data-group-id="4979605994-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:·5bea49f814ee45200ce96adcf8713c205c201da4dfa781e2731a54ed3750f3a7·...·]-12">&gt;&gt;</span><span·class="w">206 »       </span><span·class="p"·data-group-id="5511952826-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:·27195e1c0e6d41f7404dd3954741bf6e5e2b070f0a5c750824218ceed8dec3f7·...·]-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="4979605994-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:·ad0db0388b70558b917f575a27da6a864c962bb42806b045268f20a9d022c547·...·]-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="5511952826-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:·7da4e27c7e76c55c24862948eb163c2b929b22815b3063dc323e3653402352e9·...·]-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="4979605994-14">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4979605994-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:·e3958699bc92137b54b3bedd158ac19aa62338393572d4ab974cc794871a59d6·...·]-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="5511952826-14">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5511952826-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:·50410a98e40bb58af75b40dfe5fea3e3b15c631a6a802ab4dc73ff5a3019430b·...·]-14">)</span><span·class="p">.</span><span·class="w">
211 »       </span><span·class="p"·data-group-id="4979605994-16">&lt;&lt;</span><span·class="s">&quot;First·b&quot;</span><span·class="p"·data-group-id="4979605994-16">&gt;&gt;</span><span·class="w">211 »       </span><span·class="p"·data-group-id="5511952826-16">&lt;&lt;</span><span·class="s">&quot;First·b&quot;</span><span·class="p"·data-group-id="5511952826-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="4979605994-17">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4979605994-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="5511952826-17">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5511952826-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="4979605994-18">&gt;&gt;</span><span·class="p"·data-group-id="4979605994-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="5511952826-18">&gt;&gt;</span><span·class="p"·data-group-id="5511952826-17">)</span><span·class="p">.</span><span·class="w">
214 »       </span><span·class="p"·data-group-id="4979605994-19">&lt;&lt;</span><span·class="s">&quot;ytesSecond·byte&quot;</span><span·class="p"·data-group-id="4979605994-19">&gt;&gt;</span><span·class="w">214 »       </span><span·class="p"·data-group-id="5511952826-19">&lt;&lt;</span><span·class="s">&quot;ytesSecond·byte&quot;</span><span·class="p"·data-group-id="5511952826-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="4979605994-20">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4979605994-21">&lt;&lt;</span><span·class="mi">41</span><span·class="p"·data-group-id="4979605994-21">&gt;&gt;</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·028bfbe29a254e938f461e9e303856bc56e034c4e4627a77f54dbcba41f0cf9b·...·]-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="5511952826-20">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5511952826-21">&lt;&lt;</span><span·class="mi">41</span><span·class="p"·data-group-id="5511952826-21">&gt;&gt;</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·4105e2508e7e77f9c8d20d88a416db3c0ee0441153fe08412506d2399afcd80e·...·]-20">)</span><span·class="p">.</span><span·class="w">
216 »       </span><span·class="p"·data-group-id="4979605994-22">&lt;&lt;</span><span·class="s">&quot;s&quot;</span><span·class="p"·data-group-id="4979605994-22">&gt;&gt;</span><span·class="w">216 »       </span><span·class="p"·data-group-id="5511952826-22">&lt;&lt;</span><span·class="s">&quot;s&quot;</span><span·class="p"·data-group-id="5511952826-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="4785475550-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="4785475550-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="5508137083-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="5508137083-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="4785475550-2">(</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_init</span><span·class="p"·data-group-id="4785475550-3">(</span><span·class="n">Crypto</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·254,·SHA:·13b35a66c5d7c41a0e9b17ffe91dee85fcb50c24994c5508de5ba0dc8213c73b·...·]-2">)</span><span·class="p">.</span><span·class="w">223 »       </span><span·class="nf">crypto_loop</span><span·class="p"·data-group-id="5508137083-2">(</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_init</span><span·class="p"·data-group-id="5508137083-3">(</span><span·class="n">Crypto</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·254,·SHA:·8da2387c2edd3d06cd57230502824efd7cea081f43604262c01a66d73d3cb122·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
224 »       </span><span·class="nf">crypto_loop</span><span·class="p"·data-group-id="4785475550-4">(</span><span·class="n">State</span><span·class="p"·data-group-id="4785475550-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="5508137083-4">(</span><span·class="n">State</span><span·class="p"·data-group-id="5508137083-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="4785475550-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="4785475550-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">226 ········</span><span·class="p"·data-group-id="5508137083-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="5508137083-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="4785475550-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="4785475550-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="5508137083-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="5508137083-6">)</span><span·class="p">,</span><span·class="w">
228 »       </span><span·class="nf">loop</span><span·class="p"·data-group-id="4785475550-7">(</span><span·class="n">State</span><span·class="p"·data-group-id="4785475550-7">)</span><span·class="w">228 »       </span><span·class="nf">loop</span><span·class="p"·data-group-id="5508137083-7">(</span><span·class="n">State</span><span·class="p"·data-group-id="5508137083-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="5948348564-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="5948348564-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="0415658625-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="0415658625-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
238 »       </span><span·class="p"·data-group-id="5948348564-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:·2d8a6b6e371af7ef807b9d5f7607406cb7905a281931c1e3a437e130ac842ec3·...·]-2">&gt;&gt;</span><span·class="w">238 »       </span><span·class="p"·data-group-id="0415658625-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:·9c9f338db00fd426394dda920403c98cf51e71205426b357a3d496252e1cd19f·...·]-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="5948348564-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="5948348564-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="0415658625-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="0415658625-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">
240 »       </span><span·class="p"·data-group-id="5948348564-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:·76b580d385bc3e997c6b099f1b9dde7597962e0785bb61ec9623667786081ab1·...·]-4">&gt;&gt;</span><span·class="w">240 »       </span><span·class="p"·data-group-id="0415658625-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:·7bc281f52f60579b461ec0ab462b4e49637d83bcec0b5ddae6cd0e4463a41d6b·...·]-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="5948348564-5">[</span><span·class="p"·data-group-id="5948348564-6">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="5948348564-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="5948348564-7"[·...·truncated·by·diffoscope;·len:·164,·SHA:·c9ba33073ffb35f7a7c11f12fb0429aea00601d324cb722bccce321e3c2d587c·...·]-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="0415658625-5">[</span><span·class="p"·data-group-id="0415658625-6">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="0415658625-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="0415658625-7"[·...·truncated·by·diffoscope;·len:·164,·SHA:·168abad58f852f24dd0b69de25c92230d9dc27adf290df997af391f6c0574024·...·]-5">]</span><span·class="p">.</span><span·class="w">
242 »       </span><span·class="p"·data-group-id="5948348564-8">[</span><span·class="p"·data-group-id="5948348564-9">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="5948348564-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="5948348564-10[·...·truncated·by·diffoscope;·len:·166,·SHA:·293b5c279938ebe42992885bc2c68844ce8bd81ede802c6385c75c8ab35c4e90·...·]-8">]</span><span·class="w">242 »       </span><span·class="p"·data-group-id="0415658625-8">[</span><span·class="p"·data-group-id="0415658625-9">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="0415658625-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="0415658625-10[·...·truncated·by·diffoscope;·len:·166,·SHA:·5d6b222806f89894dc9364300bf6e8ca5384e1f5df939a4b84665e82e9c17c0c·...·]-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="5948348564-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:·fab20992fba5b5b3d05d6d4ae255227174ba049a9ab86e7adaa6d7ff18961fb7·...·]-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="0415658625-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:·e3f293d033f139602ecdb16588388257ae5b3fc47797ce59be25bdbb6269bd26·...·]-11">)</span><span·class="p">.</span><span·class="w">
244 »       </span><span·class="p"·data-group-id="5948348564-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="0415658625-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="5948348564-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="0415658625-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="3660981688-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="3660981688-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="2914827704-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="2914827704-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
256 »       </span><span·class="p"·data-group-id="3660981688-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:·ae043986fb015c2df2300a4b58a80d3e570aa0eaff3a14f547fc13ac73be4372·...·]-2">&gt;&gt;</span><span·class="w">256 »       </span><span·class="p"·data-group-id="2914827704-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:·2d4ce969716def20fdbbb0e0da13ca0845166835abf29a6a496c3d895855bf4b·...·]-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="3660981688-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="3660981688-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="2914827704-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="2914827704-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">
258 »       </span><span·class="p"·data-group-id="3660981688-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:·e97d460b14ec366dfb22e0ac0e5e7ac245d6f66ce295e87df1fd18cbd13a359f·...·]-4">&gt;&gt;</span><span·class="w">258 »       </span><span·class="p"·data-group-id="2914827704-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:·2cbb23c454141c1ec87aeb00a4513d5baf86bf22dbfca6f3a511f97c4b2b12c8·...·]-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="3660981688-5">[</span><span·class="p"·data-group-id="3660981688-6">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="3660981688-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="3660981688-7"[·...·truncated·by·diffoscope;·len:·164,·SHA:·3c7f86fc7ee8eb567b233c27f442f27d99326355220fedacb93fe84950331b21·...·]-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="2914827704-5">[</span><span·class="p"·data-group-id="2914827704-6">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="2914827704-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2914827704-7"[·...·truncated·by·diffoscope;·len:·164,·SHA:·a08c713834e5e777397b628229f251234c6757e2059e472386ed5f27268c9b6c·...·]-5">]</span><span·class="p">.</span><span·class="w">
260 »       </span><span·class="p"·data-group-id="3660981688-8">[</span><span·class="p"·data-group-id="3660981688-9">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="3660981688-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="3660981688-10[·...·truncated·by·diffoscope;·len:·166,·SHA:·c6faa2018873ed96f79bc8dddbafa37127fe93e02f528aef438eea76fa93756d·...·]-8">]</span><span·class="w">260 »       </span><span·class="p"·data-group-id="2914827704-8">[</span><span·class="p"·data-group-id="2914827704-9">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="2914827704-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2914827704-10[·...·truncated·by·diffoscope;·len:·166,·SHA:·adcce018ca7d37aeeb0ad49430c1c47707ce982e80ece3d06a863cb6a29a1d73·...·]-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="3660981688-11">&lt;&lt;</span><span·class="s">&quot;Some·additional·auth·data&quot;</span><span·class="p"·data-group-id="3660981688-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="2914827704-11">&lt;&lt;</span><span·class="s">&quot;Some·additional·auth·data&quot;</span><span·class="p"·data-group-id="2914827704-11">&gt;&gt;</span><span·class="p">.</span><span·class="w">
262 »       </span><span·class="p"·data-group-id="3660981688-12">&lt;&lt;</span><span·class="s">&quot;Some·additional·auth·data&quot;</span><span·class="p"·data-group-id="3660981688-12">&gt;&gt;</span><span·class="w">262 »       </span><span·class="p"·data-group-id="2914827704-12">&lt;&lt;</span><span·class="s">&quot;Some·additional·auth·data&quot;</span><span·class="p"·data-group-id="2914827704-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="3660981688-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:·60d30697c87a2e014fffdb4e62b77112bde1708e7017b67267fd5ef6ddee0264·...·]-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="2914827704-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:·99360e558d949eefd23f62c2ee31917b8a4346939d2ac81f846783037c7bd663·...·]-13">)</span><span·class="p">.</span><span·class="w">
264 »       </span><span·class="p"·data-group-id="3660981688-14">{</span><span·class="p"·data-group-id="3660981688-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="2914827704-14">{</span><span·class="p"·data-group-id="2914827704-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="3660981688-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="2914827704-15">&gt;&gt;</span><span·class="p">,</span><span·class="w">
266 »       </span><span·class="p"·data-group-id="3660981688-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:·2052f75cdfa0f3ae5fcdcbb99dc73b287ee1d5910957267720b90e913e9fa7ba·...·]-14">}</span><span·class="w">266 »       </span><span·class="p"·data-group-id="2914827704-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:·b5c3122e735e12c8dfc016cec8bae2f668f3d0ba4510c0c5b2fedec50d6f8495·...·]-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="0377721386-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="0377721386-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="3455283774-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="3455283774-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
275 »       </span><span·class="p"·data-group-id="0377721386-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:·c6f16fab6b8fa4995d634463487f295df12d15b986ace8934bd4dff9846195ca·...·]-2">&gt;&gt;</span><span·class="w">275 »       </span><span·class="p"·data-group-id="3455283774-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:·ab65a877b42814c56f3a07638d14de3a10f1249ac7c0c65e718f105937ab8b91·...·]-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="0377721386-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="0377721386-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="3455283774-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="3455283774-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="0377721386-4">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0377721386-5">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="0377721386-5">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·f66282ce9b55b58573f72f0d756c68b4b71147ea8a9f5e287a294e62e7ea3292·...·]-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="3455283774-4">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3455283774-5">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="3455283774-5">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·5f99105ccd913dbe147f2500811f539a40dc52564910ed00e9774d453bcd4256·...·]-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="0377721386-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="0377721386-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="3455283774-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="3455283774-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="0377721386-7">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0377721386-8">&lt;&lt;</span><span·class="s">&quot;last·bytes&quot;</span><span·class="p"·data-group-id="0377721386-8">&gt;&[·...·truncated·by·diffoscope;·len:·51,·SHA:·e3c7a4cb45d7af11b277832706567bec33855f0750546d542f533b07595e13ca·...·]-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="3455283774-7">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3455283774-8">&lt;&lt;</span><span·class="s">&quot;last·bytes&quot;</span><span·class="p"·data-group-id="3455283774-8">&gt;&[·...·truncated·by·diffoscope;·len:·51,·SHA:·2895113db8eac4bad7adb7d7edc6a9dfc84b1ce52f0a6f6148ac4f1df8a66d06·...·]-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="0377721386-9">(</span><span·class="n">StateMac</span><span·class="p"·data-group-id="0377721386-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="3455283774-9">(</span><span·class="n">StateMac</span><span·class="p"·data-group-id="3455283774-9">)</span><span·class="p">.</span><span·class="w">
285 »       </span><span·class="p"·data-group-id="0377721386-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="0377721386-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="1040752283-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><span·class="s">&quot;First·bytes·last·bytes&quot;</span><span·class="p"·data-group-id="1040752283-1">)</span><span·class="p">.</span><span·class="w"> 
288 »       </span><span·class="p"·data-group-id="1040752283-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">285 »       </span><span·class="p"·data-group-id="3455283774-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="3455283774-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="7115575316-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><span·class="s">&quot;First·bytes·last·bytes&quot;</span><span·class="p"·data-group-id="7115575316-1">)</span><span·class="p">.</span><span·class="w">
 288 »       </span><span·class="p"·data-group-id="7115575316-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="1040752283-2">&gt;&gt;</span><span·class="w">289 »       </span><span·class="mi">249</span><span·class="p"·data-group-id="7115575316-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="1040752283-3">(</span><span·class="mi">7</span><span·class="p"·data-group-id="1040752283-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="1040752283-4">(</span><span[·...·truncated·by·diffoscope;·len:·61,·SHA:·4bf734b49dedcabef69f11db4cf2841dae224af13aca924c72c4573b60ef4e54·...·]-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="7115575316-3">(</span><span·class="mi">7</span><span·class="p"·data-group-id="7115575316-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="7115575316-4">(</span><span[·...·truncated·by·diffoscope;·len:·61,·SHA:·9b1f553cc4474772d080435dec8c39ff80c6799a9db227ffefebb1c04b7436b6·...·]-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>
Max diff block lines reached; 40/72877 bytes (0.05%) of diff not shown.
576 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/notes.html
    
Offset 2249, 15 lines modifiedOffset 2249, 15 lines modified
2249 ······<p·class="built-using">2249 ······<p·class="built-using">
2250 ········Built·using2250 ········Built·using
2251 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2251 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2252 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2252 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2253 ······</p>2253 ······</p>
2254 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2254 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2255 ····</footer>2255 ····</footer>
2256 ··</div>2256 ··</div>
2257 </main>2257 </main>
2258 </div>2258 </div>
2259 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2259 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2260 ··<script>2260 ··<script>
2261 ··let·initialized·=·false;2261 ··let·initialized·=·false;
610 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.46 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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-6.0/doc/html/api-reference.html
    
Offset 199, 15 lines modifiedOffset 199, 15 lines modified
199 ······<p·class="built-using">199 ······<p·class="built-using">
200 ········Built·using200 ········Built·using
201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
203 ······</p>203 ······</p>
204 <p>Copyright·©·1996-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
181 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/debugger.epub
3.66 KB
zipinfo {}
Max HTML report size reached
129 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
16.0 KB
OEBPS/notes.xhtml
Max HTML report size reached
2.79 KB
OEBPS/int.xhtml
Max HTML report size reached
2.8 KB
OEBPS/i.xhtml
Max HTML report size reached
25.5 KB
OEBPS/debugger_chapter.xhtml
Max HTML report size reached
1.24 KB
OEBPS/content.opf
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/debugger.html
    
Offset 335, 15 lines modifiedOffset 335, 15 lines modified
335 ······<p·class="built-using">335 ······<p·class="built-using">
336 ········Built·using336 ········Built·using
337 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the337 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
338 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>338 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
339 ······</p>339 ······</p>
340 <p>Copyright·©·1996-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-6.0/doc/html/debugger_chapter.html
    
Offset 160, 20 lines modifiedOffset 160, 20 lines modified
160 ····<i·class="ri-link-m"·aria-hidden="true"></i>160 ····<i·class="ri-link-m"·aria-hidden="true"></i>
161 ··</a>161 ··</a>
162 ··<span·class="text">Executable·Lines</span>162 ··<span·class="text">Executable·Lines</span>
163 </h3>163 </h3>
164 <p>To·have·an·effect,·a·breakpoint·must·be·set·at·an·<em>executable·line</em>,·which·is·a164 <p>To·have·an·effect,·a·breakpoint·must·be·set·at·an·<em>executable·line</em>,·which·is·a
165 line·of·code·containing·an·executable·expression·such·as·a·matching·or·a165 line·of·code·containing·an·executable·expression·such·as·a·matching·or·a
166 function·call.·A·blank·line·or·a·line·containing·a·comment,·function·head,·or166 function·call.·A·blank·line·or·a·line·containing·a·comment,·function·head,·or
167 pattern·in·a·<code·class="inline">case</code>·statement·or·<code·class="inline">receive</code>·statement·is·not·executable.</p><p>In·the·following·example,·lines·2,·4,·6,·8,·and·11·are·executable·lines:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="mi">1</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">is_loaded</span><span·class="p"·data-group-id="4940143207-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">Compiled</span><span·class="p"·data-group-id="4940143207-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="3044135573-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">Compiled</span><span·class="p"·data-group-id="3044135573-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="4940143207-2">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">Compiled</span><span·class="p"·data-group-id="4940143207-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="3044135573-2">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">Compiled</span><span·class="p"·data-group-id="3044135573-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="4940143207-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">File</span><span·class="p"·data-group-id="4940143207-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="3044135573-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">File</span><span·class="p"·data-group-id="3044135573-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="4940143207-4">(</span><span·class="n">Module</span><span·class="p"·data-group-id="4940143207-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="3044135573-4">(</span><span·class="n">Module</span><span·class="p"·data-group-id="3044135573-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="4940143207-5">{</span><span·class="ss">loaded</span><span·class="p">,</span><span·class="n">File</span><span·class="p"·data-group-id="4940143207-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="3044135573-5">{</span><span·class="ss">loaded</span><span·class="p">,</span><span·class="n">File</span><span·class="p"·data-group-id="3044135573-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="0538145904-1">(</span><span·class="mi">0</span><span·class="p"·data-group-id="0538145904-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="1773993110-1">(</span><span·class="mi">0</span><span·class="p"·data-group-id="1773993110-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="0538145904-2">(</span><span·class="n">N</span><span·class="p"·data-group-id="0538145904-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:·bd44aae1bf8ad5a292bb368b8e0cfdedfeea08762bb4c4740a2971ffbd61c144·...·]-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="1773993110-2">(</span><span·class="n">N</span><span·class="p"·data-group-id="1773993110-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:·d51d72b04fd3343e8d71684116c7a46019e9f9c380d0da6bae5ce5922e354ba5·...·]-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="1253118301-2">(</span><span·class="p"·data-group-id="1253118301-3">[</span><span·class="ss">c_break</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="1253118301-3">]</span><span·class="p"·data-group-id="1253118301-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="8862204515-2">(</span><span·class="p"·data-group-id="8862204515-3">[</span><span·class="ss">c_break</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8862204515-3">]</span><span·class="p"·data-group-id="8862204515-2">)</span><span·class="p">.</span><span·class="w">
  
214 </span><span·class="nf">c_break</span><span·class="p"·data-group-id="1253118301-4">(</span><span·class="n">Bindings</span><span·class="p"·data-group-id="1253118301-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="8862204515-4">(</span><span·class="n">Bindings</span><span·class="p"·data-group-id="8862204515-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="1253118301-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="1253118301-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="8862204515-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="8862204515-5">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
216 ········</span><span·class="p"·data-group-id="1253118301-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="1253118301-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">216 ········</span><span·class="p"·data-group-id="8862204515-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="8862204515-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="0904448536-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="0904448536-2">{</span><span·class="ss">badarith</span><span·class="p">,</span><span·class="p"·data-group-id="0904448536-3">[</span><span·clas[·...·truncated·by·diffoscope;·len:·507,·SHA:·0bef342ec32d6c5d94f62e81652698e995b21d7f2ba74bf6296f6f443772d1e6·...·]-4">}</span><span·class="p">,</span><span·class="w">238 </span><span·class="p"·data-group-id="2204308221-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2204308221-2">{</span><span·class="ss">badarith</span><span·class="p">,</span><span·class="p"·data-group-id="2204308221-3">[</span><span·clas[·...·truncated·by·diffoscope;·len:·507,·SHA:·3878a0dfe93c56ddc7a731450100fb432de7eedabac30dbb69174d6ca9541eb2·...·]-4">}</span><span·class="p">,</span><span·class="w">
239 ···················</span><span·class="p"·data-group-id="0904448536-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="0904448536-8">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·490,·SHA:·7967fb8ec4a1bf31336f93126cd09806ce384fa03717ae2af0bd59be45147aeb·...·]-7">}</span><span·class="p">,</span><span·class="w">239 ···················</span><span·class="p"·data-group-id="2204308221-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="2204308221-8">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·490,·SHA:·7ef3285f4bd773459b2582a6ff41957e2711872a8079b2e814c4f95657a57b81·...·]-7">}</span><span·class="p">,</span><span·class="w">
240 ···················</span><span·class="p"·data-group-id="0904448536-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="0904448536-12">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·491,·SHA:·830ea97421c1e4f7e2fd533571aa86532364f8949ecf06821aa4b4d07cbb7dac·...·]-11">}</span><span·class="p">,</span><span·class="w">240 ···················</span><span·class="p"·data-group-id="2204308221-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="2204308221-12">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·491,·SHA:·0c7c6e207825653bbb68c7ad1ff420bd0ec5ab53cf7632c371acfd53210eed29·...·]-11">}</span><span·class="p">,</span><span·class="w">
241 ···················</span><span·class="p"·data-group-id="0904448536-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="0904448536-16">[</span><span·class="p"·data-group-id="0904448536-17">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="s">&quot;shell.erl&quot;</span><span·class="p"·data-group-id="0904448536-17">}</span><span·class="p">,</span><span·class="p"·data-group-id="0904448536-18">{</span><span·class="ss">line</span><span·class="p">,</span><span·class="mi">674</span><span·class="p"·data-group-id="0904448536-18">}</span><span·class="p"·data-group-id="0904448536-16">]</span><span·class="p"·data-group-id="0904448536-15">}</span><span·class="p">,</span><span·class="w"> 
242 ···················</span><span·class="p"·data-group-id="0904448536-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="0904448536-20">[</span><span·class="p"·data-group-id="0904448536-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="0904448536-21">}</span><span·class="p">,</span><span·class="p"·data-group-id="0904448536-22">{</span><span·class="ss">line</span><span·class="p">,</span><span·class="mi">629</span><span·class="p"·data-group-id="0904448536-22">}</span><span·class="p"·data-group-id="0904448536-20">]</span><span·class="p"·data-group-id="0904448536-19">}</span><span·class="p">,</span><span·class="w"> 
243 ···················</span><span·class="p"·data-group-id="0904448536-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="0904448536-24">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·724,·SHA:·3de9da493689700f9648716dde0f7824c7965b063caddac8341cd92180d3710c·...·]241 ···················</span><span·class="p"·data-group-id="2204308221-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="2204308221-16">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·539,·SHA:·ecece5f965106c05fa9e81c68282ca5674da7076f6ffbcb07f39ddbafd8a8943·...·]
 242 ···················</span><span·class="p"·data-group-id="2204308221-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="2204308221-20">[</span><span·class="p"·data-group-id="2204308221-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="2204308221-21">}</span><span·class="p">,</span><span·class="p"·data-group-id="2204308221-22">{</span><span·class="ss">line</span><span·class="p">,</span><span·class="mi">629</span><span·class="p"·data-group-id="2204308221-22">}</span><span·class="p"·data-group-id="2204308221-20">]</span><span·class="p"·data-group-id="2204308221-19">}</span><span·class="p">,</span><span·class="w">
 243 ···················</span><span·class="p"·data-group-id="2204308221-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="2204308221-24">[</span><span·class="p"·data-group-id="2204308221-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="2204308221-25">}</span><span·class="p">,</span><span·class="p"·data-group-id="2204308221-26">{</span><span·class="ss">line</span><span·class="p">,</span><span·class="mi">614</span><span·class="p"·data-group-id="2204308221-26">}</span><span·class="p"·data-group-id="2204308221-24">]</span><span·class="p"·data-group-id="2204308221-23">}</span><span·class="p"·data-group-id="2204308221-3">]</span><span·class="p"·data-group-id="2204308221-2">}</span><span·class="p"·data-group-id="2204308221-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-6.0/doc/html/i.html
    
Offset 130, 17 lines modifiedOffset 130, 17 lines modified
130 ····<section·id="moduledoc">130 ····<section·id="moduledoc">
131 <p>Debugger/Interpreter·Interface.</p><p>The·<code·class="inline">i</code>·module·provides·short·forms·for·some·of·the·functions·used·by·the131 <p>Debugger/Interpreter·Interface.</p><p>The·<code·class="inline">i</code>·module·provides·short·forms·for·some·of·the·functions·used·by·the
132 graphical·Debugger·and·some·of·the·functions·in·module·<a·href="int.html"><code·class="inline">int</code></a>,·the·Erlang132 graphical·Debugger·and·some·of·the·functions·in·module·<a·href="int.html"><code·class="inline">int</code></a>,·the·Erlang
133 interpreter.</p><p>This·module·also·provides·facilities·for·displaying·status·information·about133 interpreter.</p><p>This·module·also·provides·facilities·for·displaying·status·information·about
134 interpreted·processes·and·break·points.</p><p>It·is·possible·to·attach·to·interpreted·processes·by·only·giving·the·corresponding134 interpreted·processes·and·break·points.</p><p>It·is·possible·to·attach·to·interpreted·processes·by·only·giving·the·corresponding
135 process·identity.·By·default,·an·attachment·window·is·displayed.·Processes135 process·identity.·By·default,·an·attachment·window·is·displayed.·Processes
136 at·other·Erlang·nodes·can·be·attached·manually·or·automatically.</p><p>The·functions·in·this·module·are·defined·in·the·Erlang·shell.·That·is,136 at·other·Erlang·nodes·can·be·attached·manually·or·automatically.</p><p>The·functions·in·this·module·are·defined·in·the·Erlang·shell.·That·is,
137 they·can·be·called·without·the·<code·class="inline">i:</code>·prefix.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">ii</span><span·class="p"·data-group-id="7952529433-1">(</span><span·class="ss">t</span><span·class="p"·data-group-id="7952529433-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="9179117372-1">(</span><span·class="ss">t</span><span·class="p"·data-group-id="9179117372-1">)</span><span·class="p">.</span><span·class="w">
138 </span><span·class="p"·data-group-id="7952529433-2">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">t</span><span·class="p"·data-group-id="7952529433-2">}</span><span·class="gp·unselectable">138 </span><span·class="p"·data-group-id="9179117372-2">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">t</span><span·class="p"·data-group-id="9179117372-2">}</span><span·class="gp·unselectable">
139 2&gt;·</span><span·class="nf">iaa</span><span·class="p"·data-group-id="7952529433-3">(</span><span·class="p"·data-group-id="7952529433-4">[</span><span·class="ss">init</span><span·class="p"·data-group-id="7952529433-4">]</span><span·class="p"·data-group-id="7952529433-3">)</span><span·class="p">.</span><span·class="w">139 2&gt;·</span><span·class="nf">iaa</span><span·class="p"·data-group-id="9179117372-3">(</span><span·class="p"·data-group-id="9179117372-4">[</span><span·class="ss">init</span><span·class="p"·data-group-id="9179117372-4">]</span><span·class="p"·data-group-id="9179117372-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.21 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/int.html
    
Offset 670, 15 lines modifiedOffset 670, 15 lines modified
670 ·························Args·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>670 ·························Args·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>
  
671 ······</div>671 ······</div>
  
672 <p>Sets·when·and·how·to·attach·automatically·to·a·process·executing·code672 <p>Sets·when·and·how·to·attach·automatically·to·a·process·executing·code
673 in·interpreted·modules.</p><p>By·default·when·the·interpreter·is·started,·automatic·attach·is·disabled.</p><p>If·<code·class="inline">Flags</code>·is·an·empty·list,·automatic·attach·is·disabled.</p><p>Otherwise·<code·class="inline">Flags</code>·should·be·a·list·containing··at·least·one·of·the·following673 in·interpreted·modules.</p><p>By·default·when·the·interpreter·is·started,·automatic·attach·is·disabled.</p><p>If·<code·class="inline">Flags</code>·is·an·empty·list,·automatic·attach·is·disabled.</p><p>Otherwise·<code·class="inline">Flags</code>·should·be·a·list·containing··at·least·one·of·the·following
674 flags:</p><ul><li><code·class="inline">init</code>·-·Attach·when·a·process·for·the·first·time·calls·an·interpreted674 flags:</p><ul><li><code·class="inline">init</code>·-·Attach·when·a·process·for·the·first·time·calls·an·interpreted
675 function.</li><li><code·class="inline">break</code>·-·Attach·whenever·a·process·reaches·a·breakpoint.</li><li><code·class="inline">exit</code>·-·Attach·when·a·process·terminates.</li></ul><p>When·the·specified·event·occurs,·the·function·<code·class="inline">Function</code>·is·called·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">spawn</span><span·class="p"·data-group-id="6593520158-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="6593520158-2">[</span><span·class="n">Pid</span><sp[·...·truncated·by·diffoscope;·len:·190,·SHA:·a7083f0db417960d4e9e68310f36655da7650e51a5e2eece62c8a32b54ad0b9e·...·]-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="1871296701-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="1871296701-2">[</span><span·class="n">Pid</span><sp[·...·truncated·by·diffoscope;·len:·190,·SHA:·37837ba2aa564a202cc8cbb6a64ee4db7fef50eab2237ee29b862891701523ff·...·]-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-6.0/doc/html/introduction.html
    
Offset 188, 15 lines modifiedOffset 188, 15 lines modified
188 ······<p·class="built-using">188 ······<p·class="built-using">
189 ········Built·using189 ········Built·using
190 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the190 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
191 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>191 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
192 ······</p>192 ······</p>
193 <p>Copyright·©·1996-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
17.5 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/notes.html
    
Offset 139, 44 lines modifiedOffset 139, 44 lines modified
139 </h3>139 </h3>
140 <ul><li><p>Error·handling·has·been·improved·when·modules·fail·to·load.</p><p>Own·Id:·OTP-19484·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7819"·title="">GH-7819</a>,·<a·href="https://github.com/erlang/otp/pull/9399"·title="">PR-9399</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>Error·handling·has·been·improved·when·modules·fail·to·load.</p><p>Own·Id:·OTP-19484·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7819"·title="">GH-7819</a>,·<a·href="https://github.com/erlang/otp/pull/9399"·title="">PR-9399</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="2291225064-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="2291225064-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="2291225064-2">]</span><span·class="w">·</span><span·class="p">&amp;&amp;</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="2291225064-3">[</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="2291225064-3">]</span><span·class="p"·data-group-id="2291225064-1">]</span><span·class="p">.</span><span·class="w"> 
147 </span><span·class="p"·data-group-id="2291225064-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="2291225064-4">]</span></code></pre><p>Own·I[·...·truncated·by·diffoscope;·len:·254,·SHA:·aea8f84eb547c5302d7ead60733acbc5a524ebf2be7cf3ca1d1712a6880aedc8·...·]146 <ul><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·cla[·...·truncated·by·diffoscope;·len:·1021,·SHA:·098b3e73d3c4ccb6c86b88a9c5bb6d0636769d2104d12e3d34ee137a6631cb10·...·]
 147 </span><span·class="p"·data-group-id="8545933800-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="8545933800-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the
148 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching148 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching
149 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="5036718723-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="5036718723-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="[·...·truncated·by·diffoscope;·len:·750,·SHA:·06e22a4dc11419aeb966a652dae84cc753219fce87bc722823fb24fbec4cb98d·...·]-1">]</span><span·class="p">.</span><span·class="w">149 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="5174214859-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="5174214859-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="[·...·truncated·by·diffoscope;·len:·750,·SHA:·5fc5cb83c0140afbf821a228a659a9917616b759cfc3126ca00a8f2db4919456·...·]-1">]</span><span·class="p">.</span><span·class="w">
150 </span><span·class="p"·data-group-id="5036718723-6">[</span><span·class="p"·data-group-id="5036718723-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5036718723-7">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·195,·SHA:·c23d9dbb5aea2c34634f9e067db50a9d4a11acd40514b67e0282f11c5caefd9d·...·]-6">]</span></code></pre><p>If·the·intention·is·that·all·lists·processed·by·a·list·comprehension·must·only150 </span><span·class="p"·data-group-id="5174214859-6">[</span><span·class="p"·data-group-id="5174214859-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5174214859-7">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·195,·SHA:·3b98803a4ab8ffc91ef554dbbf1c7b9061f85f5f9a3e7ff9d7bc826e3d7e8df7·...·]-6">]</span></code></pre><p>If·the·intention·is·that·all·lists·processed·by·a·list·comprehension·must·only
151 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures151 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures
152 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="6457170334-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="6457170334-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·9f35da80d5807b73c11c3fdea21389280cd36207c12a96702a9217c7c0a87c6a·...·]-1">]</span><span·class="p">.</span><span·class="w">152 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="1212336146-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="1212336146-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·5e0ac77d5d1287ded28f8d8c4819436a704bcbc503da06b3268a4df783910a66·...·]-1">]</span><span·class="p">.</span><span·class="w">
153 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="debugger-5-5"·class="section-heading">153 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="debugger-5-5"·class="section-heading">
154 ··<a·href="#debugger-5-5"·class="hover-link">154 ··<a·href="#debugger-5-5"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Debugger·5.5</span>157 ··<span·class="text">Debugger·5.5</span>
158 </h2>158 </h2>
159 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">159 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">
160 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">160 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">
161 ····<i·class="ri-link-m"·aria-hidden="true"></i>161 ····<i·class="ri-link-m"·aria-hidden="true"></i>
162 ··</a>162 ··</a>
163 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>163 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
164 </h3>164 </h3>
165 <ul><li><p>Defining·a·fun·in·the·shell·using·the·syntax·<code·class="inline">fun·Name/Arity</code>·would·fail.·This·has·been·corrected·so·that·the·following·now·works:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nb">is_atom</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">165 <ul><li><p>Defining·a·fun·in·the·shell·using·the·syntax·<code·class="inline">fun·Name/Arity</code>·would·fail.·This·has·been·corrected·so·that·the·following·now·works:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nb">is_atom</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">
166 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">166 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">
167 &gt;·</span><span·class="n">F</span><span·class="p"·data-group-id="7579201012-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="7579201012-1">)</span><span·class="p">.</span><span·class="w">167 &gt;·</span><span·class="n">F</span><span·class="p"·data-group-id="6444337780-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="6444337780-1">)</span><span·class="p">.</span><span·class="w">
168 </span><span·class="ss">true</span><span·class="gp·unselectable">168 </span><span·class="ss">true</span><span·class="gp·unselectable">
169 3&gt;·</span><span·class="n">Id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">169 3&gt;·</span><span·class="n">Id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">
170 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">170 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">
171 4&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="7579201012-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="7579201012-2">)</span><span·class="p">.</span><span·class="w">171 4&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="6444337780-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="6444337780-2">)</span><span·class="p">.</span><span·class="w">
172 </span><span·class="gt">**·exception·error:·undefined·shell·command·id/1</span><span·class="gp·unselectable">172 </span><span·class="gt">**·exception·error:·undefined·shell·command·id/1</span><span·class="gp·unselectable">
173 5&gt;·</span><span·class="nf">id</span><span·class="p"·data-group-id="7579201012-3">(</span><span·class="n">I</span><span·class="p"·data-group-id="7579201012-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">I</span><span·class="p">.</span><span·class="w">173 5&gt;·</span><span·class="nf">id</span><span·class="p"·data-group-id="6444337780-3">(</span><span·class="n">I</span><span·class="p"·data-group-id="6444337780-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">I</span><span·class="p">.</span><span·class="w">
174 </span><span·class="ss">ok</span><span·class="gp·unselectable">174 </span><span·class="ss">ok</span><span·class="gp·unselectable">
175 6&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="7579201012-4">(</span><span·class="mi">42</span><span·class="p"·data-group-id="7579201012-4">)</span><span·class="p">.</span><span·class="w">175 6&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="6444337780-4">(</span><span·class="mi">42</span><span·class="p"·data-group-id="6444337780-4">)</span><span·class="p">.</span><span·class="w">
176 </span><span·class="mi">42</span></code></pre><p>The·Debugger·has·also·been·corrected·to·correctly·handle·this·syntax·for·a·BIF.</p><p>Own·Id:·OTP-19322·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8963"·title="">GH-8963</a>,·<a·href="https://github.com/erlang/otp/pull/8987"·title="">PR-8987</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">176 </span><span·class="mi">42</span></code></pre><p>The·Debugger·has·also·been·corrected·to·correctly·handle·this·syntax·for·a·BIF.</p><p>Own·Id:·OTP-19322·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8963"·title="">GH-8963</a>,·<a·href="https://github.com/erlang/otp/pull/8987"·title="">PR-8987</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">
177 ··<a·href="#improvements-and-new-features-1"·class="hover-link">177 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
178 ····<i·class="ri-link-m"·aria-hidden="true"></i>178 ····<i·class="ri-link-m"·aria-hidden="true"></i>
179 ··</a>179 ··</a>
180 ··<span·class="text">Improvements·and·New·Features</span>180 ··<span·class="text">Improvements·and·New·Features</span>
181 </h3>181 </h3>
182 <ul><li><p>Erlang/OTP·type·specifications·has·been·updated·to·eliminate·overlapping·domains.</p><p>Own·Id:·OTP-19310·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8810"·title="">GH-8810</a>,·<a·href="https://github.com/erlang/otp/issues/8821"·title="">GH-8821</a>,·<a·href="https://github.com/erlang/otp/pull/8986"·title="">PR-8986</a></p></li></ul><h2·id="debugger-5-4"·class="section-heading">182 <ul><li><p>Erlang/OTP·type·specifications·has·been·updated·to·eliminate·overlapping·domains.</p><p>Own·Id:·OTP-19310·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8810"·title="">GH-8810</a>,·<a·href="https://github.com/erlang/otp/issues/8821"·title="">GH-8821</a>,·<a·href="https://github.com/erlang/otp/pull/8986"·title="">PR-8986</a></p></li></ul><h2·id="debugger-5-4"·class="section-heading">
Offset 1013, 15 lines modifiedOffset 1013, 15 lines modified
1013 ······<p·class="built-using">1013 ······<p·class="built-using">
1014 ········Built·using1014 ········Built·using
1015 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1015 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1016 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1016 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1017 ······</p>1017 ······</p>
1018 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1018 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1019 ····</footer>1019 ····</footer>
1020 ··</div>1020 ··</div>
1021 </main>1021 </main>
1022 </div>1022 </div>
1023 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1023 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1024 ··<script>1024 ··<script>
1025 ··let·initialized·=·false;1025 ··let·initialized·=·false;
698 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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/dialyzer-5.4/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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/dialyzer-5.4/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-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;
704 B
html2text {}
Max HTML report size reached
116 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer.epub
2.24 KB
zipinfo {}
Max HTML report size reached
68.6 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
10.3 KB
OEBPS/notes.xhtml
Max HTML report size reached
18.8 KB
OEBPS/dialyzer_chapter.xhtml
Max HTML report size reached
14.8 KB
OEBPS/dialyzer.xhtml
Max HTML report size reached
1.23 KB
OEBPS/content.opf
Max HTML report size reached
16.2 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer.html
    
Offset 266, 35 lines modifiedOffset 266, 35 lines modified
266 the·value·is·a·list,·it·is·used·as·is.·If·it·is·not·a·list,·it·is·put·into·a266 the·value·is·a·list,·it·is·used·as·is.·If·it·is·not·a·list,·it·is·put·into·a
267 list.</p><p>The·list·is·appended·to·any·options·given·to·<a·href="#run/1"><code·class="inline">run/1</code></a>·or·on·the·command·line.</p><p>The·list·can·be·retrieved·with·<a·href="../../../../lib/compiler-9.0/doc/html/compile.html#env_compiler_options/0"><code·class="inline">compile:env_compiler_options/0</code></a>.</p><p>Currently·the·only·option·used·is·the267 list.</p><p>The·list·is·appended·to·any·options·given·to·<a·href="#run/1"><code·class="inline">run/1</code></a>·or·on·the·command·line.</p><p>The·list·can·be·retrieved·with·<a·href="../../../../lib/compiler-9.0/doc/html/compile.html#env_compiler_options/0"><code·class="inline">compile:env_compiler_options/0</code></a>.</p><p>Currently·the·only·option·used·is·the
268 <a·href="dialyzer.html#error_location"><code·class="inline">error_location</code></a>·option.</p><p><em>Dialyzer·configuration·file:</em></p><p>Dialyzer's·configuration·file·may·also·be·used·to·augment·the·default·options268 <a·href="dialyzer.html#error_location"><code·class="inline">error_location</code></a>·option.</p><p><em>Dialyzer·configuration·file:</em></p><p>Dialyzer's·configuration·file·may·also·be·used·to·augment·the·default·options
269 and·those·given·directly·to·the·Dialyzer·command.·It·is·commonly·used·to·avoid269 and·those·given·directly·to·the·Dialyzer·command.·It·is·commonly·used·to·avoid
270 repeating·options·which·would·otherwise·need·to·be·given·explicitly·to·Dialyzer270 repeating·options·which·would·otherwise·need·to·be·given·explicitly·to·Dialyzer
271 on·every·invocation.</p><p>The·location·of·the·configuration·file·can·be·set·via·the·<code·class="inline">DIALYZER_CONFIG</code>271 on·every·invocation.</p><p>The·location·of·the·configuration·file·can·be·set·via·the·<code·class="inline">DIALYZER_CONFIG</code>
272 environment·variable,·and·defaults·to·within·the·<code·class="inline">user_config</code>·from272 environment·variable,·and·defaults·to·within·the·<code·class="inline">user_config</code>·from
273 <a·href="../../../../lib/stdlib-7.0/doc/html/filename.html#basedir/3"><code·class="inline">filename:basedir/3</code></a>.</p><p>An·example·configuration·file's·contents·might·be:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="6627367352-1">{</span><span·class="ss">incremental</span><span·class="p">,</span><span·class="w">273 <a·href="../../../../lib/stdlib-7.0/doc/html/filename.html#basedir/3"><code·class="inline">filename:basedir/3</code></a>.</p><p>An·example·configuration·file's·contents·might·be:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="2908656393-1">{</span><span·class="ss">incremental</span><span·class="p">,</span><span·class="w">
274 ········</span><span·class="p"·data-group-id="6627367352-2">{</span><span·class="ss">default_apps</span><span·class="p">,</span><span·class="p"·data-group-id="6627367352-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:·4f29d15e76460893219dd421f32ff786e680d957ec7e5c4cc1ac75b8e3e5701a·...·]-2">}</span><span·class="p">,</span><span·class="w">274 ········</span><span·class="p"·data-group-id="2908656393-2">{</span><span·class="ss">default_apps</span><span·class="p">,</span><span·class="p"·data-group-id="2908656393-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:·f6aacd47e0813d9b65f3dd83c8565ddbf550e9639f125c12ed1b19210b370a52·...·]-2">}</span><span·class="p">,</span><span·class="w">
275 ········</span><span·class="p"·data-group-id="6627367352-4">{</span><span·class="ss">default_warning_apps</span><span·class="p">,</span><span·class="p"·data-group-id="6627367352-5">[</span><span·class="ss">stdlib</span><span·class="p"·data-group-id="6627367352-5">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·f7ec0228b6da1e9ddf76220c568d5640a4be3a6e8ad2eed52a9c1dac8979ef9a·...·]-4">}</span><span·class="w">275 ········</span><span·class="p"·data-group-id="2908656393-4">{</span><span·class="ss">default_warning_apps</span><span·class="p">,</span><span·class="p"·data-group-id="2908656393-5">[</span><span·class="ss">stdlib</span><span·class="p"·data-group-id="2908656393-5">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·56020c567c53913f6c5b89306ef833773d51cdfea3aed01bd5ee79efa6b5ffa3·...·]-4">}</span><span·class="w">
276 ······</span><span·class="p"·data-group-id="6627367352-1">}</span><span·class="p">.</span><span·class="w">276 ······</span><span·class="p"·data-group-id="2908656393-1">}</span><span·class="p">.</span><span·class="w">
277 ······</span><span·class="p"·data-group-id="6627367352-6">{</span><span·class="ss">warnings</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6627367352-7">[</span><span·class="ss">no_improper_lists</span><span·class="p"·data-group-id="6627367352-7">]</span><span·class="p"·data-group-id="6627367352-6">}</span><span·class="p">.</span><span·class="w"> 
278 ······</span><span·class="p"·data-group-id="6627367352-8">{</span><span·class="ss">add_pathsa</span><span·class="p">,</span><span·class="p"·data-group-id="6627367352-9">[</span><span·class="s">&quot;/users/samwise/potatoes/ebin&quot;</span><span·class="p"·data-group-id="6627367352-9">]</span><span·c[·...·truncated·by·diffoscope;·len:·36,·SHA:·ab38d36a2ccbf743e2f87449ccee4afefa22946b1b033125c6bc7d164d938eaf·...·]">}</span><span·class="p">.</span><span·class="w">277 ······</span><span·class="p"·data-group-id="2908656393-6">{</span><span·class="ss">warnings</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2908656393-7">[</span><span·class="ss">no_improper_lists</span><span·class="p"·data-group-id="2908656393-7">]</span><span·c[·...·truncated·by·diffoscope;·len:·36,·SHA:·c0323ab1da8f5fb295a5ad6be1a45b341dbe81de3e6c659a3cee649ebf14d25b·...·]">}</span><span·class="p">.</span><span·class="w">
 278 ······</span><span·class="p"·data-group-id="2908656393-8">{</span><span·class="ss">add_pathsa</span><span·class="p">,</span><span·class="p"·data-group-id="2908656393-9">[</span><span·class="s">&quot;/users/samwise/potatoes/ebin&quot;</span><span·class="p"·data-group-id="2908656393-9">]</span><span·class="p"·data-group-id="2908656393-8">}</span><span·class="p">.</span><span·class="w">
279 ······</span><span·class="p"·data-group-id="6627367352-10">{</span><span·class="ss">add_pathsz</span><span·class="p">,</span><span·class="p"·data-group-id="6627367352-11">[</span><span·class="s">&quot;/users/smeagol/fish/ebin&quot;</span><span·class="p"·data-group-id="6627367352-11">]</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·b4e03c85340a29de6a2063ae7cfc818c92a32c8aaea28d00004d781554bb77e3·...·]-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="2908656393-10">{</span><span·class="ss">add_pathsz</span><span·class="p">,</span><span·class="p"·data-group-id="2908656393-11">[</span><span·class="s">&quot;/users/smeagol/fish/ebin&quot;</span><span·class="p"·data-group-id="2908656393-11">]</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·99528676cfe2d955478ebeb14d2cd4397c6f517f3a3bb8e01dfacc2f9be88295·...·]-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="8636357752-1">(</span><span·class="p"·data-group-id="8636357752-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:·9c68dfcb730d2bd23e074944c36b1f5bf5f44f3fb777918109fd0a5910426c0c·...·]-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="5487225905-1">(</span><span·class="p"·data-group-id="5487225905-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:·d472181bcea722b8687b47f1ded9c6d98b454bfb00071b6b9a12656044cd27ef·...·]-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="7429230497-1">(</span><span·class="p"·data-group-id="7429230497-2">[</span><span·class="p"·data-group-id="7429230497-3">{</span><span·class="ss">nowarn_function</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7429230497[·...·truncated·by·diffoscope;·len:·1867,·SHA:·b02c89c9c96c104c84265e277cdbc49b04c8bfeb261d59049d351f9c3542c393·...·]-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="3202645140-1">(</span><span·class="p"·data-group-id="3202645140-2">[</span><span·class="p"·data-group-id="3202645140-3">{</span><span·class="ss">nowarn_function</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3202645140[·...·truncated·by·diffoscope;·len:·1867,·SHA:·afd7cd6d3077b90d7035f5427306c81aacd2e597f99810e6c1b4e558bc3c5247·...·]-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="3762893227-1">(</span><span·class="p"·data-group-id="3762893227-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:·6ff2aa12b8b759a4f13f961f38ea057ece63f172cf33a6c0d9c97e93a6574a22·...·]-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="9436085902-1">(</span><span·class="p"·data-group-id="9436085902-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:·13bc1bbdd102f9ee41ebc03902e51e9d0af04db63f15845393696e1ad2f36e71·...·]-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.4/doc/html/dialyzer_chapter.html
    
Offset 205, 37 lines modifiedOffset 205, 37 lines modified
205 spec·is·invalid·with·respect·to·the·implementation.·However,·if·they·do·overlap,205 spec·is·invalid·with·respect·to·the·implementation.·However,·if·they·do·overlap,
206 Dialyzer·will·proceed·under·the·assumption·that·the·correct·type·for·the·given206 Dialyzer·will·proceed·under·the·assumption·that·the·correct·type·for·the·given
207 function·is·the·intersection·of·the·inferred·type·and·the·specified·type·(the207 function·is·the·intersection·of·the·inferred·type·and·the·specified·type·(the
208 rationale·being·that·the·user·may·know·something·that·Dialyzer·itself·cannot208 rationale·being·that·the·user·may·know·something·that·Dialyzer·itself·cannot
209 deduce).·One·implication·of·this·is·that·if·the·user·gives·a·spec·for·a·function209 deduce).·One·implication·of·this·is·that·if·the·user·gives·a·spec·for·a·function
210 which·overlaps·with·Dialyzer's·inferred·type,·but·is·more·restrictive,·Dialyzer210 which·overlaps·with·Dialyzer's·inferred·type,·but·is·more·restrictive,·Dialyzer
211 will·trust·those·restrictions.·This·may·then·generate·an·error·elsewhere·that211 will·trust·those·restrictions.·This·may·then·generate·an·error·elsewhere·that
212 follows·from·the·erroneously·restricted·spec.</p><p><em>Examples:</em></p><p>Non-overlapping·argument:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="0897581550-1">(</span><span·class="nf">boolean</span><span·class="p"·data-group-id="0897581550-2">(</span><span·class="p"·data-group-id="0897581550-2">)</span><span·class="p"·data-group-id="0897581550-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·1aaa22298cdf690f22efd72385e3b9145d46d39c736c0fa146167ecfce23c157·...·]-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="6607016173-1">(</span><span·class="nf">boolean</span><span·class="p"·data-group-id="6607016173-2">(</span><span·class="p"·data-group-id="6607016173-2">)</span><span·class="p"·data-group-id="6607016173-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·a0ae2f9082b89132ec4cbdea20b4d8a553c0281b7c08295245f4ab14928461ba·...·]-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="0897581550-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="0897581550-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="6607016173-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="6607016173-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="0897581550-5">(</span><span·class="n">N</span><span·class="p"·data-group-id="0897581550-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="6607016173-5">(</span><span·class="n">N</span><span·class="p"·data-group-id="6607016173-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="5636029824-1">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="5636029824-2">(</span><span·class="p"·data-group-id="5636029824-2">)</span><span·class="p"·data-group-id="5636029824-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·d34955c9a5f4330b801174706a4c67c3b9b18f7173e20b1156d2e2c7c95d9921·...·]-3">)</span><span·class="w">218 ··········</span><span·class="p"·data-group-id="9985618268-1">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="9985618268-2">(</span><span·class="p"·data-group-id="9985618268-2">)</span><span·class="p"·data-group-id="9985618268-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·c1cda6ed728c02e3a23044788584ed24c74bc336ba39581c393f8cf09d774df5·...·]-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="5636029824-4">(</span><span·class="nf">boolean</span><span·class="p"·data-group-id="5636029824-5">(</span><span·class="p"·data-group-id="5636029824-5">)</span><span·class="p"·data-group-id="5636029824-4">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·5a0ef8794405a6a2be410a6784604b253b7b3f25449c50e12b225d818b501267·...·]-6">)</span><span·class="w">220 ··········</span><span·class="p"·data-group-id="9985618268-4">(</span><span·class="nf">boolean</span><span·class="p"·data-group-id="9985618268-5">(</span><span·class="p"·data-group-id="9985618268-5">)</span><span·class="p"·data-group-id="9985618268-4">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·ceba757eed7e2c37bb045d4c1d099132c0e4596b9dd9b8071a46c1813ba2fecf·...·]-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="7715394247-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="7715394247-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·c[·...·truncated·by·diffoscope;·len:·139,·SHA:·f8d3246d9e8a3122d46564f49516a6c7e0868c826ba1f4cfab4dff447f218877·...·]-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="6198979662-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="6198979662-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·c[·...·truncated·by·diffoscope;·len:·139,·SHA:·568879de66101ada0bf15ef6fbcb9c5c3b539c26ab9613842f6d09de436a22d0·...·]-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="7715394247-3">(</span><span·class="ss">a</span><span·class="p"·data-group-id="7715394247-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7715394247-4">&lt;&lt;</span><span·class="s">&quot;a&quot;</span><span·class="p"·data-group-id="7715394247-4">&gt;&gt;</span><span·class="p">;</span><span·class="w"> 
224 </span><span·class="nf">bar</span><span·class="p"·data-group-id="7715394247-5">(</span><span·class="ss">b</span><span·class="p"·data-group-id="7715394247-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7715394247-6">&lt;&lt;</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·196,·SHA:·8ae21bb3238605c336aa8bd674be28c5ba1df1a5b0675f1459ee121c488a37b1·...·]223 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6198979662-3">(</span><span·class="ss">a</span><span·class="p"·data-group-id="6198979662-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6198979662-4">&lt;&lt;</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·116,·SHA:·66a02fd9fa0fd59362aa754ee6975ac7478754fe1c559c86781716bbddc09d36·...·]
 224 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6198979662-5">(</span><span·class="ss">b</span><span·class="p"·data-group-id="6198979662-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6198979662-6">&lt;&lt;</span><span·class="s">&quot;b&quot;</span><span·class="p"·data-group-id="6198979662-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="2341589885-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="2341589885-1">)</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·211,·SHA:·3f0953704803f02496175eae360223cfaf2e00077e154ce68c5a22ad218f5257·...·]-2">&gt;&gt;</span><span·class="w">227 ··········</span><span·class="p"·data-group-id="5864424611-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="5864424611-1">)</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·211,·SHA:·9174fa6b8b7820867240cd3747b6dafd1fa5d936436330b51ac76103d10b11ef·...·]-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="2341589885-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="2341589885-3">)</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·159,·SHA:·a79b6707e7e952a826eb5bb17ed3a039e3252a114b20306900aac00f9a2fca46·...·]-4">)</span><span·class="w">229 ··········</span><span·class="p"·data-group-id="5864424611-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="5864424611-3">)</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·159,·SHA:·39ed51f89d95bd0b1cf89477896b49ad2a2c407a9de2d1e0ddcedb2885796829·...·]-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="7499838782-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="7499838782-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·c[·...·truncated·by·diffoscope;·len:·149,·SHA:·b612ee8c7010e33f7aab19e44cfd036bfceb2127bbebb3a4ce917f57d74f1d54·...·]2-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="1393456812-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="1393456812-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·c[·...·truncated·by·diffoscope;·len:·149,·SHA:·ee9c897416db7de46e68bb112b64339624946b789b8605fd3efcb0ac7f31cc85·...·]2-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="7499838782-3">(</span><span·class="ss">b</span><span·class="p"·data-group-id="7499838782-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="1393456812-3">(</span><span·class="ss">b</span><span·class="p"·data-group-id="1393456812-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="7499838782-4">(</span><span·class="ss">c</span><span·class="p"·data-group-id="7499838782-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="1393456812-4">(</span><span·class="ss">c</span><span·class="p"·data-group-id="1393456812-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="7499838782-5">(</span><span·class="ss">d</span><span·class="p"·data-group-id="7499838782-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="1393456812-5">(</span><span·class="ss">d</span><span·class="p"·data-group-id="1393456812-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
11.9 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/notes.html
    
Offset 139, 17 lines modifiedOffset 139, 17 lines modified
139 </h3>139 </h3>
140 <ul><li><p>The·<code·class="inline">-Wno_unknown</code>·option·will·now·prevent·a·warning·being·printed·to·standard·output·when·the·command·line·interface·is·used.</p><p>Own·Id:·OTP-19262·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8822"·title="">GH-8822</a>,·<a·href="https://github.com/erlang/otp/pull/8885"·title="">PR-8885</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>The·<code·class="inline">-Wno_unknown</code>·option·will·now·prevent·a·warning·being·printed·to·standard·output·when·the·command·line·interface·is·used.</p><p>Own·Id:·OTP-19262·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8822"·title="">GH-8822</a>,·<a·href="https://github.com/erlang/otp/pull/8885"·title="">PR-8885</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="8607115297-1">(</span><span·class="p"·data-group-id="8607115297-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8607115297-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·552281a9f8971123f3c0c974d45200aeca010c39d774fc38206dff3615e50000·...·]-2">)</span><span·class="p">.</span><span·class="w">146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="4115137053-1">(</span><span·class="p"·data-group-id="4115137053-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4115137053-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·5b82d23615d072384a3c892c265d2bee69daf7f35e852e57697d06d4d196c132·...·]-2">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8607115297-3">(</span><span·class="p"·data-group-id="8607115297-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8607115297-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·ff922e50fadaa3bba231975a4f2f44ca5583c7ef4f847d762f0ecf6cc1dfe941·...·]-2">)</span><span·class="p">.</span><span·class="w">147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="4115137053-3">(</span><span·class="p"·data-group-id="4115137053-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4115137053-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·72270ac12fe2a383458f3ddfbcbf150421094b8d473ada364e58e0e8fc2a825a·...·]-2">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8739954856-3">(</span><span·class="p"·data-group-id="8739954856-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8739954856-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·a2362fe328e40ff47794547d9f1319474005ed0b5f9607cd5ab6311b3e6becdd·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="dialyzer-5-3-1"·class="section-heading">148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="0507328599-3">(</span><span·class="p"·data-group-id="0507328599-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0507328599-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·b36d0687862ce7799550f8e8c83918cf9f9d4b34f71807e2533042fadf857e59·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="dialyzer-5-3-1"·class="section-heading">
149 ··<a·href="#dialyzer-5-3-1"·class="hover-link">149 ··<a·href="#dialyzer-5-3-1"·class="hover-link">
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">Dialyzer·5.3.1</span>152 ··<span·class="text">Dialyzer·5.3.1</span>
153 </h2>153 </h2>
154 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">154 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">
155 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">155 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">
Offset 1907, 15 lines modifiedOffset 1907, 15 lines modified
1907 ······<p·class="built-using">1907 ······<p·class="built-using">
1908 ········Built·using1908 ········Built·using
1909 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1909 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1910 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1910 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1911 ······</p>1911 ······</p>
1912 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1912 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1913 ····</footer>1913 ····</footer>
1914 ··</div>1914 ··</div>
1915 </main>1915 </main>
1916 </div>1916 </div>
1917 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1917 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1918 ··<script>1918 ··<script>
1919 ··let·initialized·=·false;1919 ··let·initialized·=·false;
709 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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/dialyzer-5.4/doc/html/typer_cmd.html
    
Offset 196, 15 lines modifiedOffset 196, 15 lines modified
196 ······<p·class="built-using">196 ······<p·class="built-using">
197 ········Built·using197 ········Built·using
198 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the198 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
199 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>199 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
200 ······</p>200 ······</p>
201 <p>Copyright·©·1996-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
1.46 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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/diameter-2.5/doc/html/api-reference.html
    
Offset 242, 15 lines modifiedOffset 242, 15 lines modified
242 ······<p·class="built-using">242 ······<p·class="built-using">
243 ········Built·using243 ········Built·using
244 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the244 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
245 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>245 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
246 ······</p>246 ······</p>
247 <p>Copyright·©·1996-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
626 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter.epub
3.87 KB
zipinfo {}
Max HTML report size reached
98.2 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
9.84 KB
OEBPS/notes.xhtml
Max HTML report size reached
1.51 KB
OEBPS/diameterc_cmd.xhtml
Max HTML report size reached
17.4 KB
OEBPS/diameter_dict.xhtml
Max HTML report size reached
2.31 KB
OEBPS/diameter_codec.xhtml
Max HTML report size reached
7.47 KB
OEBPS/diameter_app.xhtml
Max HTML report size reached
483 KB
OEBPS/diameter.xhtml
Max HTML report size reached
1.24 KB
OEBPS/content.opf
Max HTML report size reached
199 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter.html
Max HTML report size reached
8.97 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_app.html
    
Offset 697, 20 lines modifiedOffset 697, 20 lines modified
697 ······</div>697 ······</div>
  
698 <p>Invoked·when·a·request·message·is·received·from·a·peer.·The·application·in·which698 <p>Invoked·when·a·request·message·is·received·from·a·peer.·The·application·in·which
699 the·callback·takes·place·(that·is,·the·callback·module·as·configured·with699 the·callback·takes·place·(that·is,·the·callback·module·as·configured·with
700 <a·href="diameter.html#start_service/2"><code·class="inline">diameter:start_service/2</code></a>)·is·determined·by·the·Application·Identifier·in·the700 <a·href="diameter.html#start_service/2"><code·class="inline">diameter:start_service/2</code></a>)·is·determined·by·the·Application·Identifier·in·the
701 header·of·the·incoming·request·message,·the·selected·module·being·the·one·whose701 header·of·the·incoming·request·message,·the·selected·module·being·the·one·whose
702 corresponding·dictionary·declares·itself·as·defining·either·the·application·in702 corresponding·dictionary·declares·itself·as·defining·either·the·application·in
703 question·or·the·Relay·application.</p><p>The·argument·<a·href="#t:packet/0">packet()</a>·has·the·following·signature.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">diameter_packet</span><span·class="p"·data-group-id="8722802728-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="8722802728-2">{</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·24,·SHA:·61295c7e74e5f90d0b8146535d50ac0799abdfa933017b5d94476962c22ccfd1·...·]8-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="9456421048-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="9456421048-2">{</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·24,·SHA:·169d7fb5a0cb9797c79a4a86d62564b8202e9fa1571ddca77e12b00fb9d22d4d·...·]8-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="8722802728-3">[</span><span·class="o">#</span><span·class="ss">diameter_avp</span><span·class="p"·data-group-id="8722802728-4">{</span><span·class="p"·data-group-id="8722802728-4">}</span><span·class="p"·data-group-id="8722802728-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="9456421048-3">[</span><span·class="o">#</span><span·class="ss">diameter_avp</span><span·class="p"·data-group-id="9456421048-4">{</span><span·class="p"·data-group-id="9456421048-4">}</span><span·class="p"·data-group-id="9456421048-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="8722802728-5">(</span><span·class="p"·data-group-id="8722802728-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="9456421048-5">(</span><span·class="p"·data-group-id="9456421048-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="8722802728-6">[</span><span·class="n">Unsigned32</span><span·class="p"·data-group-id="8722802728-7">(</span><span·class="p"·data-group-id="8722802728-7">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·478,·SHA:·a478c481bb30d8d46e4197e582a4daebe067361d2e537ebe7a2935256b39348a·...·]8-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="9456421048-6">[</span><span·class="n">Unsigned32</span><span·class="p"·data-group-id="9456421048-7">(</span><span·class="p"·data-group-id="9456421048-7">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·478,·SHA:·8f7d62e223bb8c158e9f13aeae8529ddfdc083c0f3ee5f433908a83cab97d581·...·]8-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="8722802728-11">(</span><span·class="p"·data-group-id="8722802728-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="9456421048-11">(</span><span·class="p"·data-group-id="9456421048-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="8722802728-12">(</span><span·class="p"·data-group-id="8722802728-12">)</span><span·class="p"·data-group-id="8722802728-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="9456421048-12">(</span><span·class="p"·data-group-id="9456421048-12">)</span><span·class="p"·data-group-id="9456421048-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.73 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_codec.html
    
Offset 135, 15 lines modifiedOffset 135, 15 lines modified
135 encode/decode.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>The·diameter·user·does·not·need·to·call·functions·here·explicitly·when·sending135 encode/decode.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>The·diameter·user·does·not·need·to·call·functions·here·explicitly·when·sending
136 and·receiving·messages·using·<a·href="diameter.html#call/4"><code·class="inline">diameter:call/4</code></a>·and·the·callback·interface136 and·receiving·messages·using·<a·href="diameter.html#call/4"><code·class="inline">diameter:call/4</code></a>·and·the·callback·interface
137 documented·in·<a·href="diameter_app.html"><code·class="inline">diameter_app</code></a>:·diameter·itself·provides·encode/decode·as·a137 documented·in·<a·href="diameter_app.html"><code·class="inline">diameter_app</code></a>:·diameter·itself·provides·encode/decode·as·a
138 consequence·of·configuration·passed·to·<a·href="diameter.html#start_service/2"><code·class="inline">diameter:start_service/2</code></a>,·and·the138 consequence·of·configuration·passed·to·<a·href="diameter.html#start_service/2"><code·class="inline">diameter:start_service/2</code></a>,·and·the
139 results·may·differ·from·those·returned·by·the·functions·documented·here,139 results·may·differ·from·those·returned·by·the·functions·documented·here,
140 depending·on·configuration.</p></section><p>The·<a·href="diameter_codec.html#header">header()</a>·and140 depending·on·configuration.</p></section><p>The·<a·href="diameter_codec.html#header">header()</a>·and
141 <a·href="diameter_codec.html#packet">packet()</a>·records·below·are·defined·in·diameter.hrl,141 <a·href="diameter_codec.html#packet">packet()</a>·records·below·are·defined·in·diameter.hrl,
142 which·can·be·included·as·follows.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="5739147113-1">(</span><span·class="s">&quot;diameter/include/diameter.hrl&quot;</span><span·class="p"·data-group-id="5739147113-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="1660340934-1">(</span><span·class="s">&quot;diameter/include/diameter.hrl&quot;</span><span·class="p"·data-group-id="1660340934-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.5/doc/html/diameter_dict.html
    
Offset 305, 37 lines modifiedOffset 305, 37 lines modified
305 (&quot;Derived·AVP·Data·Formats&quot;)·of·RFC·6733·are·encoded·as·values·of·the·types305 (&quot;Derived·AVP·Data·Formats&quot;)·of·RFC·6733·are·encoded·as·values·of·the·types
306 defined·here.·Values·are·passed·to·<a·href="diameter.html#call/4"><code·class="inline">diameter:call/4</code></a>·in·a·request·record·when306 defined·here.·Values·are·passed·to·<a·href="diameter.html#call/4"><code·class="inline">diameter:call/4</code></a>·in·a·request·record·when
307 sending·a·request,·returned·in·a·resulting·answer·record·and·passed·to·a307 sending·a·request,·returned·in·a·resulting·answer·record·and·passed·to·a
308 <a·href="diameter_app.html#c:handle_request/3">handle_request/3</a>·callback·upon·reception·of308 <a·href="diameter_app.html#c:handle_request/3">handle_request/3</a>·callback·upon·reception·of
309 an·incoming·request.</p><p>In·cases·in·which·there·is·a·choice·between·string()·and·binary()·types·for309 an·incoming·request.</p><p>In·cases·in·which·there·is·a·choice·between·string()·and·binary()·types·for
310 OctetString()·and·derived·types,·the·representation·is·determined·by·the·value310 OctetString()·and·derived·types,·the·representation·is·determined·by·the·value
311 of·<a·href="diameter.html#service_opt">diameter:service_opt()</a>311 of·<a·href="diameter.html#service_opt">diameter:service_opt()</a>
312 <a·href="diameter.html#string_decode">string_decode</a>.</p><p><em>Basic·AVP·Data·Formats</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">OctetString</span><span·class="p"·data-group-id="4402029665-1">(</span><span·class="p"·data-group-id="4402029665-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="4402029665-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·223,·SHA:·9c8ef0be3c71752e11c4fb94156ae2fdd268e356e5b57594d6fbf1ef5da163d6·...·]-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="0176322231-1">(</span><span·class="p"·data-group-id="0176322231-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="0176322231-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·223,·SHA:·29f6ac634ddd21b1374da7fc2a31db58c41b9c3d0e66b95d44cf8cf10fa597fe·...·]-3">)</span><span·class="w">
313 </span><span·class="n">Integer32</span><span·class="p"·data-group-id="4402029665-4">(</span><span·class="p"·data-group-id="4402029665-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="0176322231-4">(</span><span·class="p"·data-group-id="0176322231-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="4402029665-5">(</span><span·class="p"·data-group-id="4402029665-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="0176322231-5">(</span><span·class="p"·data-group-id="0176322231-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="4402029665-6">(</span><span·class="p"·data-group-id="4402029665-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="0176322231-6">(</span><span·class="p"·data-group-id="0176322231-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="4402029665-7">(</span><span·class="p"·data-group-id="4402029665-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="0176322231-7">(</span><span·class="p"·data-group-id="0176322231-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="4402029665-8">(</span><span·class="p"·data-group-id="4402029665-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:·f6be6ef7daeee9637b92f5db9a4295be0559ffa79a277ae40d4d6aeb1da8670b·...·]-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="0176322231-8">(</span><span·class="p"·data-group-id="0176322231-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:·772566d2e4f3611ee1662b12fb6efcae7708e5b18e92afc49cd48287e86e94eb·...·]-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="4402029665-10">(</span><span·class="p"·data-group-id="4402029665-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:·927f01256c515598f6117faf4dd1f590d87c29bce3af1371a19e59f2750a09ac·...·]-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="0176322231-10">(</span><span·class="p"·data-group-id="0176322231-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:·90e927e010e613d84bbeaba7a1e76923fe9642df732adac7f98b36e7b1943060·...·]-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="4402029665-12">(</span><span·class="p"·data-group-id="4402029665-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="4402029665-13">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·9c876f3d8d411395bb34ecd1437a1b3b3743567de801b2a72d32e93d32d5f8e5·...·]-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="0176322231-12">(</span><span·class="p"·data-group-id="0176322231-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="0176322231-13">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·9be2aedff82775336fb57899fcb60249a6aa703487ab18882a3e6cce334de0bd·...·]-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="1606397393-1">(</span><span·class="p"·data-group-id="1606397393-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1606397393-2">{</span><span·class="nf">date</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·301,·SHA:·4a1550ad9ba27f09bc85fe3b0ec67dc321326e15f09db30212656a6a81f85fc3·...·]-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="4451454500-1">(</span><span·class="p"·data-group-id="4451454500-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4451454500-2">{</span><span·class="nf">date</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·301,·SHA:·11c7f72d7a013403ebc410be0c3e335b4991a5c07f167043617ea236356ac93b·...·]-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="1606397393-5">(</span><span·class="p"·data-group-id="1606397393-5">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1606397393-6">{</span><span·class="n">Year</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·162,·SHA:·75c462b39e0381f3b46e84189e9a4d498d31683ebaf73f64deff4c89b952214e·...·]-6">}</span><span·class="w">329 ··</span><span·class="nf">date</span><span·class="p"·data-group-id="4451454500-5">(</span><span·class="p"·data-group-id="4451454500-5">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4451454500-6">{</span><span·class="n">Year</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·162,·SHA:·95e9252ef0be6c32d1e263fbb5b20d7423b6cc4e84556d45ac2b31e7c03189dc·...·]-6">}</span><span·class="w">
330 ··</span><span·class="nf">time</span><span·class="p"·data-group-id="1606397393-7">(</span><span·class="p"·data-group-id="1606397393-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1606397393-8">{</span><span·class="n">Hour</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·166,·SHA:·acf029b9120fa34099181d812c8a39e2b1e8cebe54cfa4f0e47e27e09854734f·...·]-8">}</span><span·class="w">330 ··</span><span·class="nf">time</span><span·class="p"·data-group-id="4451454500-7">(</span><span·class="p"·data-group-id="4451454500-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4451454500-8">{</span><span·class="n">Hour</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·166,·SHA:·bd7396b50f1beaf5f57ab808a890286276da602357b9ab789a21ca364e969875·...·]-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="1606397393-9">(</span><span·class="p"·data-group-id="1606397393-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="4451454500-9">(</span><span·class="p"·data-group-id="4451454500-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="4985380291-1">(</span><span·class="p"·data-group-id="4985380291-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="4985380291-2">(</span><span·class="p"·data-group-id="4985380291-2">)</span><span·class="w"> 
363 </span><span·class="n">QoSFilterRule</span><span·class="p"·data-group-id="4985380291-3">(</span><span·class="p"·data-group-id="4985380291-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">OctetString</span><[·...·truncated·by·diffoscope;·len:·224,·SHA:·1244bdc6188971e6aa4806f3dccde410c5a4b253bcdb8adc71ba193ef0dc32aa·...·]">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="5196811418-1">(</span><span·class="p"·data-group-id="5[·...·truncated·by·diffoscope;·len:·248,·SHA:·d701fb1424364055a955a62fbdeca93aa91fb630a42f6beeaa5dc6e0bc434e0a·...·]">
 363 </span><span·class="n">QoSFilterRule</span><span·class="p"·data-group-id="5196811418-3">(</span><span·class="p"·data-group-id="5196811418-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="5196811418-4">(</span><span·class="p"·data-group-id="5196811418-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.5/doc/html/diameter_examples.html
    
Offset 172, 15 lines modifiedOffset 172, 15 lines modified
172 ······<p·class="built-using">172 ······<p·class="built-using">
173 ········Built·using173 ········Built·using
174 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the174 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
175 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>175 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
176 ······</p>176 ······</p>
177 <p>Copyright·©·1996-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.5/doc/html/diameter_intro.html
    
Offset 200, 15 lines modifiedOffset 200, 15 lines modified
200 ······<p·class="built-using">200 ······<p·class="built-using">
201 ········Built·using201 ········Built·using
202 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the202 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
203 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>203 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
204 ······</p>204 ······</p>
205 <p>Copyright·©·1996-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.5/doc/html/diameter_make.html
    
Offset 519, 15 lines modifiedOffset 519, 15 lines modified
519 ······<p·class="built-using">519 ······<p·class="built-using">
520 ········Built·using520 ········Built·using
521 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the521 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
522 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>522 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
523 ······</p>523 ······</p>
524 <p>Copyright·©·1996-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.5/doc/html/diameter_sctp.html
    
Offset 437, 15 lines modifiedOffset 437, 15 lines modified
437 ······<p·class="built-using">437 ······<p·class="built-using">
438 ········Built·using438 ········Built·using
439 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the439 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
440 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>440 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
441 ······</p>441 ······</p>
442 <p>Copyright·©·1996-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.5/doc/html/diameter_service.html
    
Offset 214, 15 lines modifiedOffset 214, 15 lines modified
214 ······<p·class="built-using">214 ······<p·class="built-using">
215 ········Built·using215 ········Built·using
216 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the216 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
217 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>217 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
218 ······</p>218 ······</p>
219 <p>Copyright·©·1996-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.5/doc/html/diameter_soc.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ······<p·class="built-using">186 ······<p·class="built-using">
187 ········Built·using187 ········Built·using
188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
190 ······</p>190 ······</p>
191 <p>Copyright·©·1996-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.5/doc/html/diameter_tcp.html
    
Offset 472, 15 lines modifiedOffset 472, 15 lines modified
472 ······<p·class="built-using">472 ······<p·class="built-using">
473 ········Built·using473 ········Built·using
474 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the474 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
475 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>475 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
476 ······</p>476 ······</p>
477 <p>Copyright·©·1996-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.52 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_transport.html
    
Offset 317, 15 lines modifiedOffset 317, 15 lines modified
317 ······<p·class="built-using">317 ······<p·class="built-using">
318 ········Built·using318 ········Built·using
319 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the319 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
320 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>320 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
321 ······</p>321 ······</p>
322 <p>Copyright·©·1996-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.5/doc/html/diameter_using.html
    
Offset 172, 15 lines modifiedOffset 172, 15 lines modified
172 ······<p·class="built-using">172 ······<p·class="built-using">
173 ········Built·using173 ········Built·using
174 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the174 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
175 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>175 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
176 ······</p>176 ······</p>
177 <p>Copyright·©·1996-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.5/doc/html/diameterc_cmd.html
    
Offset 127, 15 lines modifiedOffset 127, 15 lines modified
  
127 <p>Compile·a·diameter·dictionary·to·Erlang·source.</p><h2·id="synopsis"·class="section-heading">127 <p>Compile·a·diameter·dictionary·to·Erlang·source.</p><h2·id="synopsis"·class="section-heading">
128 ··<a·href="#synopsis"·class="hover-link">128 ··<a·href="#synopsis"·class="hover-link">
129 ····<i·class="ri-link-m"·aria-hidden="true"></i>129 ····<i·class="ri-link-m"·aria-hidden="true"></i>
130 ··</a>130 ··</a>
131 ··<span·class="text">Synopsis</span>131 ··<span·class="text">Synopsis</span>
132 </h2>132 </h2>
133 <pre><code·class="makeup·erlang"·translate="no"><span·class="ss">diameterc</span><span·class="w">·</span><span·class="p"·data-group-id="1151199745-1">[</span><span·class="o">&lt;</span><span·class="ss">options</span><span·class="o">&gt;</span><span·class="p"·data-group-id="1151199745-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="9908945357-1">[</span><span·class="o">&lt;</span><span·class="ss">options</span><span·class="o">&gt;</span><span·class="p"·data-group-id="9908945357-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
11.3 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/notes.html
    
Offset 139, 17 lines modifiedOffset 139, 17 lines modified
139 </h3>139 </h3>
140 <ul><li><p>With·this·change·diameter·will·not·crash·when·decoding·a·DiameterURI·without·port·number.</p><p>Own·Id:·OTP-19620·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9321"·title="">PR-9321</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>With·this·change·diameter·will·not·crash·when·decoding·a·DiameterURI·without·port·number.</p><p>Own·Id:·OTP-19620·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9321"·title="">PR-9321</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="6096006477-1">(</span><span·class="p"·data-group-id="6096006477-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6096006477-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·c129643a2f18e9ef8f4ee2f7b2ec95158132b9e33a8cc4f054e7e14c1f8245db·...·]-2">)</span><span·class="p">.</span><span·class="w">146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="5070762859-1">(</span><span·class="p"·data-group-id="5070762859-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5070762859-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·7c653542b2bd10d7553df2a93114cf1ed41689f5dfc383caef3100b456e521b6·...·]-2">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="6096006477-3">(</span><span·class="p"·data-group-id="6096006477-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6096006477-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·8c82c1794265b51aecbe7bc7578aaf012b4095ac537dc51beb20031a8cfe9935·...·]-2">)</span><span·class="p">.</span><span·class="w">147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="5070762859-3">(</span><span·class="p"·data-group-id="5070762859-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5070762859-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·a476e953c6664d13a85d9ad35c4b35845057912bf89703998883bef60a22d091·...·]-2">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="4228886692-3">(</span><span·class="p"·data-group-id="4228886692-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4228886692-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·eeca783236c93c014462493eed7e2597c700deded72a7fac2259f8248a99cc6e·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>With·this·change·diameter·will·not·use·slave·terminology</p><p>Own·Id:·OTP-19621·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9786"·title="">PR-9786</a></p></li></ul><h2·id="diameter-2-4-1"·class="section-heading">148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="3305421478-3">(</span><span·class="p"·data-group-id="3305421478-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3305421478-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·d7c4f5f0515c06a2db72e891ac3e525fa10dc149aa34f3656304430f00d73caf·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>With·this·change·diameter·will·not·use·slave·terminology</p><p>Own·Id:·OTP-19621·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9786"·title="">PR-9786</a></p></li></ul><h2·id="diameter-2-4-1"·class="section-heading">
149 ··<a·href="#diameter-2-4-1"·class="hover-link">149 ··<a·href="#diameter-2-4-1"·class="hover-link">
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">diameter·2.4.1</span>152 ··<span·class="text">diameter·2.4.1</span>
153 </h2>153 </h2>
154 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">154 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">
155 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">155 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">
Offset 1378, 15 lines modifiedOffset 1378, 15 lines modified
1378 ······<p·class="built-using">1378 ······<p·class="built-using">
1379 ········Built·using1379 ········Built·using
1380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1382 ······</p>1382 ······</p>
1383 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1383 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1384 ····</footer>1384 ····</footer>
1385 ··</div>1385 ··</div>
1386 </main>1386 </main>
1387 </div>1387 </div>
1388 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1388 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1389 ··<script>1389 ··<script>
1390 ··let·initialized·=·false;1390 ··let·initialized·=·false;
740 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.39 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/404.html
    
Offset 139, 15 lines modifiedOffset 139, 15 lines modified
139 ······<p·class="built-using">139 ······<p·class="built-using">
140 ········Built·using140 ········Built·using
141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
143 ······</p>143 ······</p>
144 <p>Copyright·©·1996-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.34 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/api-reference.html
    
Offset 258, 15 lines modifiedOffset 258, 15 lines modified
258 ······<p·class="built-using">258 ······<p·class="built-using">
259 ········Built·using259 ········Built·using
260 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the260 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
261 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>261 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
262 ······</p>262 ······</p>
263 <p>Copyright·©·1996-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.4/doc/html/chapter.html
    
Offset 833, 15 lines modifiedOffset 833, 15 lines modified
833 ······<p·class="built-using">833 ······<p·class="built-using">
834 ········Built·using834 ········Built·using
835 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the835 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
836 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>836 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
837 ······</p>837 ······</p>
838 <p>Copyright·©·1996-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.41 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/doc_storage.html
    
Offset 232, 15 lines modifiedOffset 232, 15 lines modified
232 ······<p·class="built-using">232 ······<p·class="built-using">
233 ········Built·using233 ········Built·using
234 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the234 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
235 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>235 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
236 ······</p>236 ······</p>
237 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc.html
    
Offset 1341, 15 lines modifiedOffset 1341, 15 lines modified
1341 ······<p·class="built-using">1341 ······<p·class="built-using">
1342 ········Built·using1342 ········Built·using
1343 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1343 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1344 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1344 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1345 ······</p>1345 ······</p>
1346 <p>Copyright·©·1996-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.4/doc/html/edoc_cmd.html
    
Offset 183, 15 lines modifiedOffset 183, 15 lines modified
183 ······<p·class="built-using">183 ······<p·class="built-using">
184 ········Built·using184 ········Built·using
185 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the185 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
186 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>186 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
187 ······</p>187 ······</p>
188 <p>Copyright·©·1996-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.4/doc/html/edoc_doclet.html
    
Offset 428, 15 lines modifiedOffset 428, 15 lines modified
428 ······<p·class="built-using">428 ······<p·class="built-using">
429 ········Built·using429 ········Built·using
430 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the430 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
431 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>431 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
432 ······</p>432 ······</p>
433 <p>Copyright·©·1996-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.4/doc/html/edoc_doclet_chunks.html
    
Offset 212, 15 lines modifiedOffset 212, 15 lines modified
212 ······<p·class="built-using">212 ······<p·class="built-using">
213 ········Built·using213 ········Built·using
214 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the214 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
215 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>215 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
216 ······</p>216 ······</p>
217 <p>Copyright·©·1996-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.4/doc/html/edoc_doclet_markdown.html
    
Offset 124, 16 lines modifiedOffset 124, 16 lines modified
124 ····<span·translate="no">edoc_doclet_markdown</span>·124 ····<span·translate="no">edoc_doclet_markdown</span>·
125 ····<small·class="app-vsn"·translate="no">(edoc·v1.4)</small>125 ····<small·class="app-vsn"·translate="no">(edoc·v1.4)</small>
  
126 ··</h1>126 ··</h1>
  
  
127 ····<section·id="moduledoc">127 ····<section·id="moduledoc">
128 <p>Doclet·converting·an·edoc·application·to·use·<a·href="https://www.erlang.org/eeps/eep-0059">EEP-59</a>·and·Markdown.</p><p>This·doclet·has·to·be·used·together·with·<a·href="edoc_layout_chunks.html"><code>edoc_layout_chunks</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">edoc</span><span·class="p">:</span><span·class="nf">application</span><span·class="p"·data-group-id="7066733645-1">(</span><span·class="ss">example</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7066733645-2">[</span><span·class="p"·data-group-id="7066733645-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="7066733645-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7066733645-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="7066733645-4">}</span><span·class="p">,</span><span·class="w"> 
129 ·······</span><span·class="p"·data-group-id="7066733645-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="7066733645-5">}</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·603,·SHA:·a96c8b10592bf53e87a86e6b0490ee2e305352802c8de844c78c1af276c57a80·...·]>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:·fe31ec6f8405df18b0c1af73ae859b64b5e2a6d768e19ce9a757c20a5a64f543·...·]>
 129 ·······</span><span·class="p"·data-group-id="8807146259-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="8807146259-5">}</span><span·class="p"·data-group-id="8807146259-2">]</span><span·class="p"·data-group-id="8807146259-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.4/doc/html/edoc_extract.html
    
Offset 627, 15 lines modifiedOffset 627, 15 lines modified
627 ······<p·class="built-using">627 ······<p·class="built-using">
628 ········Built·using628 ········Built·using
629 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the629 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
630 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>630 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
631 ······</p>631 ······</p>
632 <p>Copyright·©·1996-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.51 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_html_to_markdown.html
    
Offset 213, 15 lines modifiedOffset 213, 15 lines modified
213 ······<p·class="built-using">213 ······<p·class="built-using">
214 ········Built·using214 ········Built·using
215 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the215 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
216 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>216 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
217 ······</p>217 ······</p>
218 <p>Copyright·©·1996-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.52 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_layout.html
    
Offset 391, 15 lines modifiedOffset 391, 15 lines modified
391 ······<p·class="built-using">391 ······<p·class="built-using">
392 ········Built·using392 ········Built·using
393 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the393 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
394 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>394 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
395 ······</p>395 ······</p>
396 <p>Copyright·©·1996-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.66 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_layout_chunks.html
    
Offset 716, 15 lines modifiedOffset 716, 15 lines modified
716 ······<p·class="built-using">716 ······<p·class="built-using">
717 ········Built·using717 ········Built·using
718 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the718 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
719 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>719 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
720 ······</p>720 ······</p>
721 <p>Copyright·©·1996-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.4/doc/html/edoc_lib.html
    
Offset 431, 15 lines modifiedOffset 431, 15 lines modified
431 ······<p·class="built-using">431 ······<p·class="built-using">
432 ········Built·using432 ········Built·using
433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
435 ······</p>435 ······</p>
436 <p>Copyright·©·1996-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.4/doc/html/edoc_run.html
    
Offset 346, 15 lines modifiedOffset 346, 15 lines modified
346 ······<p·class="built-using">346 ······<p·class="built-using">
347 ········Built·using347 ········Built·using
348 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the348 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
349 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>349 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
350 ······</p>350 ······</p>
351 <p>Copyright·©·1996-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
10.8 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/notes.html
    
Offset 139, 17 lines modifiedOffset 139, 17 lines modified
139 </h3>139 </h3>
140 <ul><li><p>Refactor·code·to·not·rely·on·<code·class="inline">+nowarn_shadow_vars</code>.</p><p>Own·Id:·OTP-19574·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9678"·title="">PR-9678</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>Refactor·code·to·not·rely·on·<code·class="inline">+nowarn_shadow_vars</code>.</p><p>Own·Id:·OTP-19574·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9678"·title="">PR-9678</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="6084504381-1">(</span><span·class="p"·data-group-id="6084504381-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6084504381-2">(</span><s[·...·truncated·by·diffoscope;·len:·38,·SHA:·58a3d925ddf9709868283389701a73331f8154c0b94bfb08839255c3fcd2487f·...·]1-2">)</span><span·class="p">.</span><span·class="w">146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="6592068751-1">(</span><span·class="p"·data-group-id="6592068751-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6592068751-2">(</span><s[·...·truncated·by·diffoscope;·len:·38,·SHA:·41d029d8379aea0124ec83e71feea5dfd5498e171ad4ba7fb035e8fda4f2b875·...·]1-2">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="6084504381-3">(</span><span·class="p"·data-group-id="6084504381-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6084504381-4">(</span><s[·...·truncated·by·diffoscope;·len:·1060,·SHA:·4c447b33bc27c12587528b9e2cd4ed9656b59a5e43fceb9c23ca4707a7ea5710·...·]-2">)</span><span·class="p">.</span><span·class="w">147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="6592068751-3">(</span><span·class="p"·data-group-id="6592068751-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6592068751-4">(</span><s[·...·truncated·by·diffoscope;·len:·1060,·SHA:·09227883f1b679efb010ee42ebb4dae6340a6ccda3648480cd58011e4eb3d21c·...·]-2">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2071834661-3">(</span><span·class="p"·data-group-id="2071834661-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2071834661-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·b7c9b73fae711b14918a077ea36e6d1a95653f8dbdef2a2c954b5cafae3b443e·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="edoc-1-3-2"·class="section-heading">148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="0820072044-3">(</span><span·class="p"·data-group-id="0820072044-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0820072044-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·ef300f99fbfdcebd945f00913e1c147a72f34bd9f06f43f04ffb567695f49151·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="edoc-1-3-2"·class="section-heading">
149 ··<a·href="#edoc-1-3-2"·class="hover-link">149 ··<a·href="#edoc-1-3-2"·class="hover-link">
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">Edoc·1.3.2</span>152 ··<span·class="text">Edoc·1.3.2</span>
153 </h2>153 </h2>
154 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">154 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">
155 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">155 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">
Offset 872, 15 lines modifiedOffset 872, 15 lines modified
872 ······<p·class="built-using">872 ······<p·class="built-using">
873 ········Built·using873 ········Built·using
874 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the874 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
875 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>875 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
876 ······</p>876 ······</p>
877 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>877 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
878 ····</footer>878 ····</footer>
879 ··</div>879 ··</div>
880 </main>880 </main>
881 </div>881 </div>
882 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>882 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
883 ··<script>883 ··<script>
884 ··let·initialized·=·false;884 ··let·initialized·=·false;
553 B
html2text {}
Max HTML report size reached
1.2 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/search.html
    
Offset 137, 15 lines modifiedOffset 137, 15 lines modified
137 ······<p·class="built-using">137 ······<p·class="built-using">
138 ········Built·using138 ········Built·using
139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
141 ······</p>141 ······</p>
142 <p>Copyright·©·1996-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;
395 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.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;
626 B
html2text {}
Max HTML report size reached
92.6 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/eldap.epub
1.92 KB
zipinfo {}
Max HTML report size reached
59.7 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
29.3 KB
OEBPS/eldap.xhtml
Max HTML report size reached
1.19 KB
OEBPS/content.opf
Max HTML report size reached
30.6 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/eldap.html
    
Offset 951, 21 lines modifiedOffset 951, 21 lines modified
951 ·················Dn·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),951 ·················Dn·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
952 ·················Attributes·::·[<a·href="#t:attribute/0">attribute</a>()],952 ·················Attributes·::·[<a·href="#t:attribute/0">attribute</a>()],
953 ·················Refs·::·{referral,·<a·href="#t:referrals/0">referrals</a>()},953 ·················Refs·::·{referral,·<a·href="#t:referrals/0">referrals</a>()},
954 ·················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>954 ·················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
955 ······</div>955 ······</div>
  
956 <p>Add·an·entry.·The·entry·must·not·exist.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nf">add</span><span·class="p"·data-group-id="3503816588-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="4422170471-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="3503816588-2">[</span><span·class="p"·data-group-id="3503816588-3">{</span><span·class="s">&quot;objectclass&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3503816588-4">[</span><span·class="s">&quot;person&quot;[·...·truncated·by·diffoscope;·len:·101,·SHA:·719c57ffd21cc523b1b092e620be8434c1cb74a5407a51b4f3ebeabf8902004d·...·]-3">}</span><span·class="p">,</span><span·class="w">958 ·······</span><span·class="p"·data-group-id="4422170471-2">[</span><span·class="p"·data-group-id="4422170471-3">{</span><span·class="s">&quot;objectclass&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4422170471-4">[</span><span·class="s">&quot;person&quot;[·...·truncated·by·diffoscope;·len:·101,·SHA:·8f3f8ab37f6001806d73c60a0fe5925104547d7add08af2dac6a044c95d07dad·...·]-3">}</span><span·class="p">,</span><span·class="w">
959 ········</span><span·class="p"·data-group-id="3503816588-5">{</span><span·class="s">&quot;cn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3503816588-6">[</span><span·class="s">&quot;Bill·Valentine&quot;</span><span·class="p"·data-group-id="3503816588-6">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·4e7659c286a4115b3377bcd7a93d11f02621cbcdf84fa45d647b2a54e2525273·...·]-5">}</span><span·class="p">,</span><span·class="w">959 ········</span><span·class="p"·data-group-id="4422170471-5">{</span><span·class="s">&quot;cn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4422170471-6">[</span><span·class="s">&quot;Bill·Valentine&quot;</span><span·class="p"·data-group-id="4422170471-6">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·e6ab6d77570792fa10869dddae13d11082c7eeb853e59144e82cad0dd5731f3b·...·]-5">}</span><span·class="p">,</span><span·class="w">
960 ········</span><span·class="p"·data-group-id="3503816588-7">{</span><span·class="s">&quot;sn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3503816588-8">[</span><span·class="s">&quot;Valentine&quot;</span><span·class="p"·data-group-id="3503816588-8">]</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·aadb9590a822e55a00dc52b278594a2c28482f2f64f2118fd38a4ef7549137f0·...·]-7">}</span><span·class="p">,</span><span·class="w">960 ········</span><span·class="p"·data-group-id="4422170471-7">{</span><span·class="s">&quot;sn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4422170471-8">[</span><span·class="s">&quot;Valentine&quot;</span><span·class="p"·data-group-id="4422170471-8">]</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·bb00df01d8d9bc9c3f551c52ba9632f5eb7cc7f4d92d73d7d99b790b12bacee5·...·]-7">}</span><span·class="p">,</span><span·class="w">
961 ········</span><span·class="p"·data-group-id="3503816588-9">{</span><span·class="s">&quot;telephoneNumber&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3503816588-10">[</span><span·class="s">&quot;545·555·00&quot;</span><span·class="p"·data-group-id="350381[·...·truncated·by·diffoscope;·len:·111,·SHA:·a3dd37f1e2b7afb0de3d798eb030b53f4c9544ff13dcf7ca25eac2a04b3cffa8·...·]-2">]</span><span·class="w">961 ········</span><span·class="p"·data-group-id="4422170471-9">{</span><span·class="s">&quot;telephoneNumber&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4422170471-10">[</span><span·class="s">&quot;545·555·00&quot;</span><span·class="p"·data-group-id="442217[·...·truncated·by·diffoscope;·len:·111,·SHA:·cea6a999107313649242e6c705a114d67783498acb70355e2f55cf5cbad9fbb9·...·]-2">]</span><span·class="w">
962 ·····</span><span·class="p"·data-group-id="3503816588-1">)</span></code></pre>962 ·····</span><span·class="p"·data-group-id="4422170471-1">)</span></code></pre>
963 ··</section>963 ··</section>
964 </section>964 </section>
965 <section·class="detail"·id="and/1">965 <section·class="detail"·id="and/1">
  
966 ··<div·class="detail-header">966 ··<div·class="detail-header">
967 ····<a·href="#and/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">967 ····<a·href="#and/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
968 ······<i·class="ri-link-m"·aria-hidden="true"></i>968 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1249, 15 lines modifiedOffset 1249, 15 lines modified
1249 ·····························OptionalAttrs·::1249 ·····························OptionalAttrs·::
1250 ·································[{matchingRule,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()}·|1250 ·································[{matchingRule,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()}·|
1251 ··································{type,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()}·|1251 ··································{type,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()}·|
1252 ··································{dnAttributes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()}].</pre>1252 ··································{dnAttributes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()}].</pre>
  
1253 ······</div>1253 ······</div>
  
1254 <p>Creates·an·extensible·match·filter.·For·example,</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">extensibleMatch</span><span·class="p"·data-group-id="2111239791-1">(</span><span·class="s">&quot;Bar&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2111239791-2">[</span><span·class="p"·data-group-id="2111239791-3">{</span><span·class="ss">type</span><span·class="p[·...·truncated·by·diffoscope;·len:·457,·SHA:·560ac790337ee84055bf04b38337130366e1492aebcabdda3d5ca0adf2a59249·...·]-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="6673814995-1">(</span><span·class="s">&quot;Bar&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6673814995-2">[</span><span·class="p"·data-group-id="6673814995-3">{</span><span·class="ss">type</span><span·class="p[·...·truncated·by·diffoscope;·len:·457,·SHA:·01c8445973da94ba86464f847a86ab6a4faf09fa8171219185a56d6ba1b4628f·...·]-1">)</span><span·class="p">)</span></code></pre><p>creates·a·filter·which·performs·a·<code·class="inline">caseExactMatch</code>·on·the·attribute·<code·class="inline">sn</code>·and
1255 matches·with·the·value·<code·class="inline">&quot;Bar&quot;</code>.·The·default·value·of·<code·class="inline">dnAttributes</code>·is·<code·class="inline">false</code>.</p>1255 matches·with·the·value·<code·class="inline">&quot;Bar&quot;</code>.·The·default·value·of·<code·class="inline">dnAttributes</code>·is·<code·class="inline">false</code>.</p>
1256 ··</section>1256 ··</section>
1257 </section>1257 </section>
1258 <section·class="detail"·id="greaterOrEqual/2">1258 <section·class="detail"·id="greaterOrEqual/2">
  
1259 ··<div·class="detail-header">1259 ··<div·class="detail-header">
1260 ····<a·href="#greaterOrEqual/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1260 ····<a·href="#greaterOrEqual/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1453, 17 lines modifiedOffset 1453, 17 lines modified
1453 ····················Dn·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),1453 ····················Dn·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
1454 ····················ModifyOps·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],1454 ····················ModifyOps·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],
1455 ····················Refs·::·{referral,·<a·href="#t:referrals/0">referrals</a>()},1455 ····················Refs·::·{referral,·<a·href="#t:referrals/0">referrals</a>()},
1456 ····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>1456 ····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1457 ······</div>1457 ······</div>
  
1458 <p>Modify·an·entry.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nf">modify</span><span·class="p"·data-group-id="1425492239-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="5101812775-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="1425492239-2">[</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">mod_replace</span><span·class="p"·data-group-id="1425492239-3">(</span><span·class="s">&quot;telephoneNumber&quot;</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·197,·SHA:·9d00396a1344c3c7e4d81d7b09a6824ab7e4032d3281c09cd51989093a811855·...·]-3">)</span><span·class="p">,</span><span·class="w">1459 ·········</span><span·class="p"·data-group-id="5101812775-2">[</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">mod_replace</span><span·class="p"·data-group-id="5101812775-3">(</span><span·class="s">&quot;telephoneNumber&quot;</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·197,·SHA:·b13e796408fb75f78165c1245a76b0b7efe7720a8c0fdc95be97160a3b325d18·...·]-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="1425492239-5">(</span><span·class="s">&quot;description&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1425492239-6">[</span><span·class="s">&quot;LDAP·Hacker&quot;</span><span·class="p"·data-group-id="1425492239[·...·truncated·by·diffoscope;·len:·183,·SHA:·84ba50871a26c7bb525d5084a74a6a499cc7deca9ab813ac88c73370a5b08b0c·...·]-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="5101812775-5">(</span><span·class="s">&quot;description&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5101812775-6">[</span><span·class="s">&quot;LDAP·Hacker&quot;</span><span·class="p"·data-group-id="5101812775[·...·truncated·by·diffoscope;·len:·183,·SHA:·38568600e973c4051a9aa228e197887b0567adb913ce9c8922dffee8310a3c37·...·]-1">)</span></code></pre>
1461 ··</section>1461 ··</section>
1462 </section>1462 </section>
1463 <section·class="detail"·id="modify_dn/5">1463 <section·class="detail"·id="modify_dn/5">
  
1464 ··<div·class="detail-header">1464 ··<div·class="detail-header">
1465 ····<a·href="#modify_dn/5"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1465 ····<a·href="#modify_dn/5"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1466 ······<i·class="ri-link-m"·aria-hidden="true"></i>1466 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1757, 16 lines modifiedOffset 1757, 16 lines modified
  
1757 ··········<pre·translate="no"><span·class="attribute">-spec</span>·paged_result_control(PageSize)·->·{control,·ControlOID,·true,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}1757 ··········<pre·translate="no"><span·class="attribute">-spec</span>·paged_result_control(PageSize)·->·{control,·ControlOID,·true,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}
1758 ······························when·PageSize·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·ControlOID·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>().</pre>1758 ······························when·PageSize·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·ControlOID·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>().</pre>
  
1759 ······</div>1759 ······</div>
  
1760 <p>Paged·results·is·an·extension·to·the·LDAP·protocol·specified·by·RFC2696</p><p>This·function·creates·a·control·with·the·specified·page·size·for·use·in1760 <p>Paged·results·is·an·extension·to·the·LDAP·protocol·specified·by·RFC2696</p><p>This·function·creates·a·control·with·the·specified·page·size·for·use·in
1761 <code·class="inline">search/3</code>,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Control</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">paged_result_control</span><span·class="p"·data-group-id="7824036475-1">(</span><span·class="mi">50</span><span·class="p"·data-group-id="7824036475-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="1193431645-1">(</span><span·class="mi">50</span><span·class="p"·data-group-id="1193431645-1">)</span><span·class="p">,</span><span·class="w">
1762 </span><span·class="p"·data-group-id="7824036475-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="7824036475-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·726,·SHA:·c5ebafcf5b8e0d58d1a70e694520b4a615056fc433e995673bfbb6ac2f3396b3·...·]5-3">)</span><span·class="p">,</span></code></pre>1762 </span><span·class="p"·data-group-id="1193431645-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="1193431645-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·726,·SHA:·0936b03ce4053b89904b5d4a76aba56d4f4a9fe49a134d2377459ed6bd82d1df·...·]5-3">)</span><span·class="p">,</span></code></pre>
1763 ··</section>1763 ··</section>
1764 </section>1764 </section>
1765 <section·class="detail"·id="paged_result_control/2">1765 <section·class="detail"·id="paged_result_control/2">
  
1766 ··<div·class="detail-header">1766 ··<div·class="detail-header">
1767 ····<a·href="#paged_result_control/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1767 ····<a·href="#paged_result_control/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1768 ······<i·class="ri-link-m"·aria-hidden="true"></i>1768 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1789, 20 lines modifiedOffset 1789, 20 lines modified
1789 ··········<pre·translate="no"><span·class="attribute">-spec</span>·paged_result_control(PageSize,·Cookie)·->·{control,·ControlOID,·true,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}1789 ··········<pre·translate="no"><span·class="attribute">-spec</span>·paged_result_control(PageSize,·Cookie)·->·{control,·ControlOID,·true,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}
1790 ······························when·PageSize·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·Cookie·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),·ControlOID·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>().</pre>1790 ······························when·PageSize·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·Cookie·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),·ControlOID·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>().</pre>
  
1791 ······</div>1791 ······</div>
  
1792 <p>Paged·results·is·an·extension·to·the·LDAP·protocol·specified·by·RFC2696</p><p>This·function·creates·a·control·with·the·specified·page·size·and·cookie·for·use1792 <p>Paged·results·is·an·extension·to·the·LDAP·protocol·specified·by·RFC2696</p><p>This·function·creates·a·control·with·the·specified·page·size·and·cookie·for·use
1793 in·<code·class="inline">search/3</code>·to·retrieve·the·next·results·page.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">PageSize</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">50</span><span·class="p">,</span><span·class="w">1793 in·<code·class="inline">search/3</code>·to·retrieve·the·next·results·page.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">PageSize</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">50</span><span·class="p">,</span><span·class="w">
1794 </span><span·class="n">Control1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">paged_result_control</span><span·class="p"·data-group-id="5437144075-1">(</span><span·class="n">PageSize</span><span·class="p"·data-group-id="5437144075-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="7984396910-1">(</span><span·class="n">PageSize</span><span·class="p"·data-group-id="7984396910-1">)</span><span·class="p">,</span><span·class="w">
1795 </span><span·class="p"·data-group-id="5437144075-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="5437144075-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·729,·SHA:·4d74fda89b7deaba18e3029ef9b1ec2f175f257480a4f9b4b7e3da9cf3560bfa·...·]-3">)</span><span·class="p">,</span><span·class="w">1795 </span><span·class="p"·data-group-id="7984396910-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="7984396910-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·729,·SHA:·436644c3ecd870037ccad4605c035890b5313d020dce128ff9f950314e5500e8·...·]-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="5437144075-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="5437144075-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·222,·SHA:·e7c0d06cdb2f9bf2531c3ff791005b2ae954f1428f2d2de904889f1a0f691368·...·]-8">)</span><span·class="p">,</span><span·class="w">1797 </span><span·class="p"·data-group-id="7984396910-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="7984396910-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·222,·SHA:·fcc55127b0592ff4f21607cb958ae21939069d84948f3df3146160c73f5b2587·...·]-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="5437144075-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="5437144075-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="7984396910-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="7984396910-9">)</span><span·class="p">,</span><span·class="w">
1799 </span><span·class="p"·data-group-id="5437144075-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="5437144075-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·790,·SHA:·4b3ae8986b59392679860eb516d53076c0aec85d48c5230b70c96fc8384a1b99·...·]-11">)</span><span·class="p">,</span><span·class="w">1799 </span><span·class="p"·data-group-id="7984396910-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="7984396910-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·790,·SHA:·063e1d3997b515bf9d411d138e4de8e8816611409e0f7cd4f3f8e8f55af8e45a·...·]-11">)</span><span·class="p">,</span><span·class="w">
1800 </span><span·class="c1">%%·etc</span></code></pre>1800 </span><span·class="c1">%%·etc</span></code></pre>
1801 ··</section>1801 ··</section>
1802 </section>1802 </section>
1803 <section·class="detail"·id="paged_result_cookie/1">1803 <section·class="detail"·id="paged_result_cookie/1">
  
1804 ··<div·class="detail-header">1804 ··<div·class="detail-header">
1805 ····<a·href="#paged_result_cookie/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1805 ····<a·href="#paged_result_cookie/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1908, 16 lines modifiedOffset 1908, 16 lines modified
1908 ····················Refs·::·{referral,·<a·href="#t:referrals/0">referrals</a>()},1908 ····················Refs·::·{referral,·<a·href="#t:referrals/0">referrals</a>()},
1909 ····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>1909 ····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1910 ······</div>1910 ······</div>
  
1911 <p>Search·the·directory·with·the·supplied·the·SearchOptions.</p><p>The·base·and·filter1911 <p>Search·the·directory·with·the·supplied·the·SearchOptions.</p><p>The·base·and·filter
1912 options·must·be·supplied.·Default·values:·scope·is·<a·href="#wholeSubtree/0"><code·class="inline">wholeSubtree/0</code></a>,·deref·is1912 options·must·be·supplied.·Default·values:·scope·is·<a·href="#wholeSubtree/0"><code·class="inline">wholeSubtree/0</code></a>,·deref·is
1913 <a·href="#derefAlways/0"><code·class="inline">derefAlways/0</code></a>,·types_only·is·<code·class="inline">false</code>·and·timeout·is·<code·class="inline">0</code>·(meaning·infinity).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="n">Filter</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">substrings</span><span·class="p"·data-group-id="8209126552-1">(</span><span·class="s">&quot;cn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8209126552-2">[</span><span·class="p"·data-group-id="8209126552-3">{</span><span·class="ss">any</span><span·class="p">[·...·truncated·by·diffoscope;·len:·191,·SHA:·ede6e7ddc2cc2f0512f57507c8d9a1c6766581b727b64c2bafd5ce1da9627588·...·]-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="9744720824-1">(</span><span·class="s">&quot;cn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9744720824-2">[</span><span·class="p"·data-group-id="9744720824-3">{</span><span·class="ss">any</span><span·class="p">[·...·truncated·by·diffoscope;·len:·191,·SHA:·4767750995c59838837370f52d93637168cb0789f1745f9fa7868f9c465e3a3d·...·]-1">)</span><span·class="p">,</span><span·class="w">
1914 ··</span><span·class="nf">search</span><span·class="p"·data-group-id="8209126552-4">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8209126552-5">[</span><span·class="p"·data-group-id="8209126552-6">{</span><span·class="ss">base</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·865,·SHA:·f6302154cc6364101379f19013456c35f564deec7dc2e511ab667b90f7ebf321·...·]-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="9744720824-4">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9744720824-5">[</span><span·class="p"·data-group-id="9744720824-6">{</span><span·class="ss">base</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·865,·SHA:·cdedb3b2d1f9d67b5a28b78a0051ef704556999ebc13bc6690bb86a3645109b8·...·]-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.15/doc/html/notes.html
    
Offset 529, 15 lines modifiedOffset 529, 15 lines modified
529 ······<p·class="built-using">529 ······<p·class="built-using">
530 ········Built·using530 ········Built·using
531 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the531 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
532 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>532 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
533 ······</p>533 ······</p>
534 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>534 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
535 ····</footer>535 ····</footer>
536 ··</div>536 ··</div>
537 </main>537 </main>
538 </div>538 </div>
539 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>539 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
540 ··<script>540 ··<script>
541 ··let·initialized·=·false;541 ··let·initialized·=·false;
575 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.6/doc/html/404.html
    
Offset 131, 15 lines modifiedOffset 131, 15 lines modified
131 ······<p·class="built-using">131 ······<p·class="built-using">
132 ········Built·using132 ········Built·using
133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
135 ······</p>135 ······</p>
136 <p>Copyright·©·1996-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.44 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/ei.html
    
Offset 1023, 15 lines modifiedOffset 1023, 15 lines modified
1023 ······<p·class="built-using">1023 ······<p·class="built-using">
1024 ········Built·using1024 ········Built·using
1025 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1025 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1026 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1026 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1027 ······</p>1027 ······</p>
1028 <p>Copyright·©·1996-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.6/doc/html/ei_connect.html
    
Offset 871, 15 lines modifiedOffset 871, 15 lines modified
871 ······<p·class="built-using">871 ······<p·class="built-using">
872 ········Built·using872 ········Built·using
873 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the873 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
874 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>874 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
875 ······</p>875 ······</p>
876 <p>Copyright·©·1996-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.5 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/ei_global.html
    
Offset 200, 15 lines modifiedOffset 200, 15 lines modified
200 ······<p·class="built-using">200 ······<p·class="built-using">
201 ········Built·using201 ········Built·using
202 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the202 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
203 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>203 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
204 ······</p>204 ······</p>
205 <p>Copyright·©·1996-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.51 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/ei_users_guide.html
    
Offset 425, 15 lines modifiedOffset 425, 15 lines modified
425 ······<p·class="built-using">425 ······<p·class="built-using">
426 ········Built·using426 ········Built·using
427 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the427 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
428 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>428 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
429 ······</p>429 ······</p>
430 <p>Copyright·©·1996-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.01 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/erl_call_cmd.html
    
Offset 247, 16 lines modifiedOffset 247, 16 lines modified
247 ·{&lt;madonna@chivas.du.etx.ericsson.se,17,0&gt;,247 ·{&lt;madonna@chivas.du.etx.ericsson.se,17,0&gt;,
248 ··················{registered_name,code_server}},248 ··················{registered_name,code_server}},
249 ·{&lt;madonna@chivas.du.etx.ericsson.se,20,0&gt;,249 ·{&lt;madonna@chivas.du.etx.ericsson.se,20,0&gt;,
250 ··················{registered_name,user}},250 ··················{registered_name,user}},
251 ·{&lt;madonna@chivas.du.etx.ericsson.se,38,0&gt;,251 ·{&lt;madonna@chivas.du.etx.ericsson.se,38,0&gt;,
252 ··················[]}]</code></pre><p>To·forward·standard·output·without·printing·the·result·term·(<em>again,·the·input252 ··················[]}]</code></pre><p>To·forward·standard·output·without·printing·the·result·term·(<em>again,·the·input
253 ends·with·EOF·(Control-D)</em>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">erl_call</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">s</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">e</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">sname</span><span·class="w">·</span><span·class="ss">madonna</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">fetch_stdout</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">no_result_term</span><span·class="w">253 ends·with·EOF·(Control-D)</em>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">erl_call</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">s</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">e</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">sname</span><span·class="w">·</span><span·class="ss">madonna</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">fetch_stdout</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">no_result_term</span><span·class="w">
254 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5477055357-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="5477055357-2">[</span><s[·...·truncated·by·diffoscope;·len:·321,·SHA:·ef995b6ea6fb28810793fd4e13f02b20f3fa20029506ba870f7f818c5004f308·...·]-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="5681445931-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="5681445931-2">[</span><s[·...·truncated·by·diffoscope;·len:·321,·SHA:·021088cdd79d1f4c406db28b1913c233dd76673302765bfb1136f09c88789e09·...·]-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="5477055357-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="5477055357-5">[</span[·...·truncated·by·diffoscope;·len:·342,·SHA:·9773a1f6d098ead3e7cb701d4ba5fe7dd3bb273924983b13faa3fda377928801·...·]-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="5681445931-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="5681445931-5">[</span[·...·truncated·by·diffoscope;·len:·342,·SHA:·1eb0891bc3f569143a127f6ba6c15ad00ccd31ac754cd56c66e829bf86b6669b·...·]-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
54.7 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/erl_interface.epub
2.41 KB
zipinfo {}
Max HTML report size reached
46.0 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
4.57 KB
OEBPS/erl_call_cmd.xhtml
Max HTML report size reached
1.25 KB
OEBPS/content.opf
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/notes.html
    
Offset 1821, 15 lines modifiedOffset 1821, 15 lines modified
1821 ······<p·class="built-using">1821 ······<p·class="built-using">
1822 ········Built·using1822 ········Built·using
1823 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1823 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1824 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1824 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1825 ······</p>1825 ······</p>
1826 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1826 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1827 ····</footer>1827 ····</footer>
1828 ··</div>1828 ··</div>
1829 </main>1829 </main>
1830 </div>1830 </div>
1831 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1831 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1832 ··<script>1832 ··<script>
1833 ··let·initialized·=·false;1833 ··let·initialized·=·false;
711 B
html2text {}
Max HTML report size reached
1.31 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/search.html
    
Offset 131, 15 lines modifiedOffset 131, 15 lines modified
131 ······<p·class="built-using">131 ······<p·class="built-using">
132 ········Built·using132 ········Built·using
133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
135 ······</p>135 ······</p>
136 <p>Copyright·©·1996-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;
494 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.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;
667 B
html2text {}
Max HTML report size reached
448 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/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)
Max HTML report size reached
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
1.2 KB
OEBPS/content.opf
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/et.html
    
Offset 536, 15 lines modifiedOffset 536, 15 lines modified
536 ······<p·class="built-using">536 ······<p·class="built-using">
537 ········Built·using537 ········Built·using
538 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the538 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
539 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>539 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
540 ······</p>540 ······</p>
541 <p>Copyright·©·1996-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.2/doc/html/et_collector.html
    
Offset 1473, 15 lines modifiedOffset 1473, 15 lines modified
1473 ······<p·class="built-using">1473 ······<p·class="built-using">
1474 ········Built·using1474 ········Built·using
1475 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1475 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1476 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1476 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1477 ······</p>1477 ······</p>
1478 <p>Copyright·©·1996-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.2/doc/html/et_desc.html
    
Offset 134, 41 lines modifiedOffset 134, 41 lines modified
134 <p>The·two·major·components·of·the·<code·class="inline">Event·Tracer·(ET)</code>·tool·is·a·graphical·sequence134 <p>The·two·major·components·of·the·<code·class="inline">Event·Tracer·(ET)</code>·tool·is·a·graphical·sequence
135 chart·viewer·(<code·class="inline">et_viewer</code>)·and·its·backing·storage·(<code·class="inline">et_collector</code>).·One135 chart·viewer·(<code·class="inline">et_viewer</code>)·and·its·backing·storage·(<code·class="inline">et_collector</code>).·One
136 <code·class="inline">Collector</code>·may·be·used·as·backing·storage·for·several·simultaneous·<code·class="inline">Viewers</code>136 <code·class="inline">Collector</code>·may·be·used·as·backing·storage·for·several·simultaneous·<code·class="inline">Viewers</code>
137 where·each·one·may·display·a·different·view·of·the·same·trace·data.</p><p>The·interface·between·the·<code·class="inline">Collector</code>·and·its·<code·class="inline">Viewers</code>·is·public·in·order·to137 where·each·one·may·display·a·different·view·of·the·same·trace·data.</p><p>The·interface·between·the·<code·class="inline">Collector</code>·and·its·<code·class="inline">Viewers</code>·is·public·in·order·to
138 enable·other·types·of·<code·class="inline">Viewers</code>.·However·in·the·following·text·we·will·focus·on138 enable·other·types·of·<code·class="inline">Viewers</code>.·However·in·the·following·text·we·will·focus·on
139 usage·of·the·<code·class="inline">et_viewer</code>.</p><p>The·main·start·function·is·<a·href="et_viewer.html#start/1"><code·class="inline">et_viewer:start/1</code></a>.·By·default·it·will·start·both·an139 usage·of·the·<code·class="inline">et_viewer</code>.</p><p>The·main·start·function·is·<a·href="et_viewer.html#start/1"><code·class="inline">et_viewer:start/1</code></a>.·By·default·it·will·start·both·an
140 <code·class="inline">et_collector</code>·and·an·<code·class="inline">et_viewer</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-pa·et/examples</span><span·class="w">140 <code·class="inline">et_collector</code>·and·an·<code·class="inline">et_viewer</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-pa·et/examples</span><span·class="w">
141 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R13B03</span><span·class="w">·</span><span·class="p"·data-group-id="6830009972-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="6830009972-1">)</span><span·class="w">·</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·1129,·SHA:·2cd2df4b478b94f6c21be117f11fdd290594b22bd5d1a2ecaa4aec0dbb5a7840·...·]-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="6292289834-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="6292289834-1">)</span><span·class="w">·</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·1129,·SHA:·be5c94e10fb176d345550ca7ce9e530c5fa8c3462521383328517161019f6e4e·...·]-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="6830009972-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="6830009972-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="6292289834-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="6292289834-7">)</span><span·class="gp·unselectable">
143 1&gt;·</span><span·class="p"·data-group-id="6830009972-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="6830009972-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·281,·SHA:·bc092d46f08282af0cec3d070a8da921e71c79893936aaf4dcc50b13c265c806·...·]-9">)</span><span·class="p">.</span><span·class="w">143 1&gt;·</span><span·class="p"·data-group-id="6292289834-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="6292289834-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·281,·SHA:·187697c8c0a1a8ed6814ce8db877585822859712256b556f978ff42ce952a010·...·]-9">)</span><span·class="p">.</span><span·class="w">
144 </span><span·class="p"·data-group-id="6830009972-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="6830009972-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="6292289834-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="6292289834-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="5625795398-1">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="5625795398-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="2773855496-1">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-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="5625795398-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="2773855496-9">)</span><span·class="p">.</span><span·class="w">
164 </span><span·class="p"·data-group-id="5625795398-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5625795398-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="2773855496-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2773855496-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="5625795398-11">}</span><span·class="p"·data-group-id="5625795398-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="2773855496-11">}</span><span·class="p"·data-group-id="2773855496-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="6272973500-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6272973500-2">(</span><span·class="p"·data-group-id="6272973500-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:·bd21e18008bc20a19cd3c54a6a4b0c0beff3306b873aaf2f77aa5ef2696c8b26·...·]-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="8892636252-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="8892636252-2">(</span><span·class="p"·data-group-id="8892636252-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:·d417ddc99d689bbba02d50d4648ba8748c7b47b9903144d9f7b1bb9d306dcb3f·...·]-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="7506045504-1">(</span><span·class="n">TraceData</span><span·class="p"·data-group-id="7506045504-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:·8891d902fdb21506dcfb80e7ef7151a38bfcd16d634ba86aea1c295aa4abfb39·...·]-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="2712394876-1">(</span><span·class="n">TraceData</span><span·class="p"·data-group-id="2712394876-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:·040e868a589b71145226165b9c5fe1efc1abe3a16a947264c18b6d957207b55e·...·]-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="7506045504-3">(</span><span·class="p"·data-group-id="7506045504-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="2712394876-3">(</span><span·class="p"·data-group-id="2712394876-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="7506045504-4">{</span><span·class="p"·data-group-id="7506045504-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="2712394876-4">{</span><span·class="p"·data-group-id="2712394876-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="7506045504-5">{</span><span·class="p"·data-group-id="7506045504-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="2712394876-5">{</span><span·class="p"·data-group-id="2712394876-5">}</span></code></pre><p>The·interface·of·the·filter·function·is·the·same·as·the·the·filter·functions·for
188 the·good·old·<a·href="../../../../lib/stdlib-7.0/doc/html/lists.html#filtermap/2"><code·class="inline">lists:filtermap/2</code></a>.·If·the·filter·returns·<code·class="inline">false</code>·it·means·that188 the·good·old·<a·href="../../../../lib/stdlib-7.0/doc/html/lists.html#filtermap/2"><code·class="inline">lists:filtermap/2</code></a>.·If·the·filter·returns·<code·class="inline">false</code>·it·means·that
189 the·trace·data·should·silently·be·dropped.·<code·class="inline">true</code>·means·that·the·trace·data·data189 the·trace·data·should·silently·be·dropped.·<code·class="inline">true</code>·means·that·the·trace·data·data
190 already·is·an·<code·class="inline">Event·Record</code>·and·that·it·should·be·kept·as·it·is.·<code·class="inline">true</code>·means190 already·is·an·<code·class="inline">Event·Record</code>·and·that·it·should·be·kept·as·it·is.·<code·class="inline">true</code>·means
191 that·the·<code·class="inline">TraceData</code>·already·is·an·<code·class="inline">Event·Record</code>·and·that·it·should·be·kept·as191 that·the·<code·class="inline">TraceData</code>·already·is·an·<code·class="inline">Event·Record</code>·and·that·it·should·be·kept·as
192 it·is.·<code·class="inline">{true,·NewEvent}</code>·means·that·the·original·trace·data·should·be·replaced192 it·is.·<code·class="inline">{true,·NewEvent}</code>·means·that·the·original·trace·data·should·be·replaced
193 with·<code·class="inline">Event</code>.·This·provides·means·to·get·rid·of·unwanted·<code·class="inline">Events</code>·as·well·as193 with·<code·class="inline">Event</code>.·This·provides·means·to·get·rid·of·unwanted·<code·class="inline">Events</code>·as·well·as
194 enabling·alternate·views·of·an·<code·class="inline">Event</code>.</p><p>The·first·filter·that·the·trace·data·is·exposed·for·is·the·<code·class="inline">Collector·Filter</code>.194 enabling·alternate·views·of·an·<code·class="inline">Event</code>.</p><p>The·first·filter·that·the·trace·data·is·exposed·for·is·the·<code·class="inline">Collector·Filter</code>.
Offset 208, 29 lines modifiedOffset 208, 29 lines modified
208 When·a·<code·class="inline">Viewer</code>·is·started·it·is·registered·as·a·subscriber·of·dictionary208 When·a·<code·class="inline">Viewer</code>·is·started·it·is·registered·as·a·subscriber·of·dictionary
209 updates.</p><p>In·each·<code·class="inline">Viewer</code>·there·is·only·one·filter·that·is·active·and·all·trace·<code·class="inline">Events</code>209 updates.</p><p>In·each·<code·class="inline">Viewer</code>·there·is·only·one·filter·that·is·active·and·all·trace·<code·class="inline">Events</code>
210 that·the·<code·class="inline">Viewer</code>·gets·from·the·<code·class="inline">Collector</code>·will·pass·thru·that·filter.·By210 that·the·<code·class="inline">Viewer</code>·gets·from·the·<code·class="inline">Collector</code>·will·pass·thru·that·filter.·By
211 writing·clever·filters·it·is·possible·to·customize·how·the·<code·class="inline">Events</code>·looks·like211 writing·clever·filters·it·is·possible·to·customize·how·the·<code·class="inline">Events</code>·looks·like
212 in·the·viewer.·The·following·filter·in·<code·class="inline">et/examples/et_demo.erl</code>·replaces·the212 in·the·viewer.·The·following·filter·in·<code·class="inline">et/examples/et_demo.erl</code>·replaces·the
213 actor·names·<code·class="inline">mnesia_tm</code>·and·<code·class="inline">mnesia_locker</code>·and·leaves·everything·else·in·the213 actor·names·<code·class="inline">mnesia_tm</code>·and·<code·class="inline">mnesia_locker</code>·and·leaves·everything·else·in·the
214 record·as·it·was:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">214 record·as·it·was:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">
215 </span><span·class="nf">mgr_actors</span><span·class="p"·data-group-id="3745468867-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="3745468867-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="3745468867-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·113b37d47047175f125162e7688dd039012abb4568f875cbad0713545ddb98e2·...·]-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="2614332492-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="2614332492-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="2614332492-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·06feb77404a0f3e9f9df7371a408e0d97905aea2668845b99ebec1076ecba5fe·...·]-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="3745468867-3">(</span><span·class="n">A</span><span·class="p"·data-group-id="3745468867-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="2614332492-3">(</span><span·class="n">A</span><span·class="p"·data-group-id="2614332492-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="3745468867-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="3745468867-5">{</span><span·class="ss">from</span>[·...·truncated·by·diffoscope;·len:·323,·SHA:·e7947d43d8d5de881bf4ee218371bf6985f4ced8c09e55b9f727b4599f3f0f92·...·]-6">)</span><span·class="p">,</span><span·class="w">223 ····</span><span·class="p"·data-group-id="2614332492-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="2614332492-5">{</span><span·class="ss">from</span>[·...·truncated·by·diffoscope;·len:·323,·SHA:·4ce8ef2cbbb40cb00d3e2bd7b4a188043ee287dbba834e7b0e96b9bae54eb95f·...·]-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="3745468867-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="3745468867-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="2614332492-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="2614332492-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="3745468867-8">[</span><span·class="p"·data-group-id="3745468867-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:·e0f6a9feebe9fe2ece530873188cca4dd5bb60a2457cf2ce58d162f5439dd706·...·]-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="2614332492-8">[</span><span·class="p"·data-group-id="2614332492-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:·c78c8460cd01420e721b20ade1c5073b04ff801fa729af38461b42a3a91fe630·...·]-9">}</span><span·class="p">,</span><span·class="w">
226 ·······························</span><span·class="p"·data-group-id="3745468867-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:·b77ce81f0d931dab73bc92817478b1942fe822380841ca228832de2258e35dff·...·]-10">}</span><span·class="p">,</span><span·class="w">226 ·······························</span><span·class="p"·data-group-id="2614332492-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:·dad8735684f8d85ae3c6672f2d3ad38b82c885780c431a974f4396ae1f8517df·...·]-10">}</span><span·class="p">,</span><span·class="w">
227 ·······························</span><span·class="p"·data-group-id="3745468867-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:·e0888b0bf4f52619099ab08acb192a427edea2e48153e2ff799570db73cf7e2d·...·]-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="2614332492-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:·fd9cb9e8ad1935bde8b329f9369d7ce33fbcee87a2ee67caddfae7b334f779c6·...·]-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="9736245031-3">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9736245031-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:·62a9e229b634b2e837946322e4bf5f935da10e0d00cf3d09d7610736d7f1c9ab·...·]-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="4482615953-3">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4482615953-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:·1de5e11c9619112625c46621c993bc9b5b7a683d89873fb306c04fe1ca7a62ad·...·]-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.2/doc/html/et_examples.html
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/et_intro.html
    
Offset 211, 15 lines modifiedOffset 211, 15 lines modified
211 ······<p·class="built-using">211 ······<p·class="built-using">
212 ········Built·using212 ········Built·using
213 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the213 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
214 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>214 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
215 ······</p>215 ······</p>
216 <p>Copyright·©·1996-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.2/doc/html/et_selector.html
    
Offset 415, 15 lines modifiedOffset 415, 15 lines modified
415 ······<p·class="built-using">415 ······<p·class="built-using">
416 ········Built·using416 ········Built·using
417 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the417 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
418 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>418 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
419 ······</p>419 ······</p>
420 <p>Copyright·©·1996-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.2/doc/html/et_tutorial.html
    
Offset 129, 49 lines modifiedOffset 129, 49 lines modified
129 ··<a·href="#visualizing-message-sequence-charts"·class="hover-link">129 ··<a·href="#visualizing-message-sequence-charts"·class="hover-link">
130 ····<i·class="ri-link-m"·aria-hidden="true"></i>130 ····<i·class="ri-link-m"·aria-hidden="true"></i>
131 ··</a>131 ··</a>
132 ··<span·class="text">Visualizing·Message·Sequence·Charts</span>132 ··<span·class="text">Visualizing·Message·Sequence·Charts</span>
133 </h2>133 </h2>
134 <p>The·easiest·way·of·using·<code·class="inline">ET</code>,·is·to·just·use·it·as·a·graphical·tool·for134 <p>The·easiest·way·of·using·<code·class="inline">ET</code>,·is·to·just·use·it·as·a·graphical·tool·for
135 displaying·message·sequence·charts.·In·order·to·do·that·you·need·to·first·start135 displaying·message·sequence·charts.·In·order·to·do·that·you·need·to·first·start
136 a·<code·class="inline">Viewer</code>·(which·by·default·starts·a·<code·class="inline">Collector</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="9928936045-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="9928936045-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·489,·SHA:·729e2ad44ca74c46f5ded0a6270c5979290f1380e4e465cf8b4ae53ac479ba33·...·]-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="1989034910-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="1989034910-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·489,·SHA:·7023dceb6bebdfdec165f0314e030b5551de161cc8e3b8998751ca4dc6fb0b10·...·]-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="9928936045-5">(</span><span·class="n">ViewerPid</span><span·class="p"·data-group-id="9928936045-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="1989034910-5">(</span><span·class="n">ViewerPid</span><span·class="p"·data-group-id="1989034910-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="1467264559-1">(</span><span·class="ss">et_display_demo</span><span·class="p"·data-group-id="1467264559-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="7355255889-1">(</span><span·class="ss">et_display_demo</span><span·class="p"·data-group-id="7355255889-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="1467264559-2">(</span><span·class="p"·data-group-id="1467264559-3">[</span><span·class="ss">test</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1467264559-3">]</span><span·class="p"·data-group-id="1467264559-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="7355255889-2">(</span><span·class="p"·data-group-id="7355255889-3">[</span><span·class="ss">test</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7355255889-3">]</span><span·class="p"·data-group-id="7355255889-2">)</span><span·class="p">.</span><span·class="w">
  
150 </span><span·class="nf">test</span><span·class="p"·data-group-id="1467264559-4">(</span><span·class="p"·data-group-id="1467264559-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="7355255889-4">(</span><span·class="p"·data-group-id="7355255889-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
151 ····</span><span·class="p"·data-group-id="1467264559-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="1467264559-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·723,·SHA:·f78077706b5dfe7baff5d64ab31b85a1bef89a67ef5f98c5e2902a787305e7a1·...·]9-6">)</span><span·class="p">,</span><span·class="w">151 ····</span><span·class="p"·data-group-id="7355255889-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="7355255889-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·723,·SHA:·3bede0b33df3d7b85e703c6edc486a1419d20acbe55b8bc674bb79a8ace2fe1f·...·]9-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="1467264559-10">{</span><span·class="ss">drink</span><span·class="p">,</span><span·class="ss">iced_chai_latte</span><span·class="p"·data-group-id="1467264559-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="7355255889-10">{</span><span·class="ss">drink</span><span·class="p">,</span><span·class="ss">iced_chai_latte</span><span·class="p"·data-group-id="7355255889-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="1467264559-11">{</span><span·class="nb">size</span><span·class="p">,</span><span·class="ss">grande</span><span·class="p"·data-group-id="1467264559-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="7355255889-11">{</span><span·class="nb">size</span><span·class="p">,</span><span·class="ss">grande</span><span·class="p"·data-group-id="7355255889-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="1467264559-12">{</span><span·class="ss">milk</span><span·class="p">,</span><span·class="ss">whole</span><span·class="p"·data-group-id="1467264559-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="7355255889-12">{</span><span·class="ss">milk</span><span·class="p">,</span><span·class="ss">whole</span><span·class="p"·data-group-id="7355255889-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="1467264559-13">{</span><span·class="ss">flavor</span><span·class="p">,</span><span·class="ss">vanilla</span><span·class="p"·data-group-id="1467264559-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="7355255889-13">{</span><span·class="ss">flavor</span><span·class="p">,</span><span·class="ss">vanilla</span><span·class="p"·data-group-id="7355255889-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="1467264559-14">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="1467264559-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="7355255889-14">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="7355255889-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="1467264559-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:·368,·SHA:·a51d1481fb209bf159a57f2dd9a7ca98654df2d0bc3b016216fba89610405e0a·...·]9-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="7355255889-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:·368,·SHA:·1e1ca4a751e68392386fc55878ff7a2eea5a4a7727ce30fbea61134d29bfe63e·...·]9-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="1467264559-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:·317,·SHA:·c0e1300d25294d7c58223a0f563f8aeb1adc2d2b53119cdef774eadb056cf351·...·]9-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="7355255889-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:·317,·SHA:·a9ca57cf99ace1fb5e715a8dd4eac92a5d3e6cba19583c79572310b57ed674a1·...·]9-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="1467264559-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:·113,·SHA:·95072ba55bd001b91792bd0b97b3232a451558fd7b219ecf5400468b107867bd·...·]9-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="7355255889-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:·113,·SHA:·943dbf8a489e079ee33e90e1dc598008d76ec284d54e4ae66481f8f990ed1663·...·]9-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="1467264559-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:·261,·SHA:·578b78ee3670d9acc0e6821a43d5e78ffa8f6b66ab3e3c5f4ac58af29c1453fe·...·]9-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="7355255889-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:·261,·SHA:·d65ac9bcf90216fc82a5ea97df10b7b6fb2c889a6ac5b9b380ecde201c401c6b·...·]9-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="1467264559-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:·183,·SHA:·fc804e64707f401f724d7d9b539d7b8b4147794a0871822e0b6cb7c717365359·...·]9-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="7355255889-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:·183,·SHA:·9a47ae16c3130509e50e68485b1ded15db5bca29358a38525c1a7acc78ea1785·...·]9-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="1467264559-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:·116,·SHA:·f7d3e1f183033fe370bcdc7e39e5734dab38ca35d172f77f532ee6ce70d7c68d·...·]9-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="7355255889-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:·116,·SHA:·f1ba407d8b7ece9a251414a086ddf13006a7bd24ae80852e1b676d0ecc89f4b5·...·]9-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="1467264559-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:·112,·SHA:·4c9d766b9e75f8dc7ae90d2bb65b0eb699a9768e26102180578c8df1a40a1e49·...·]9-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="7355255889-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:·112,·SHA:·0a3948a8ae9c950867d9acd30e89b7c0af36162fb05b22f0d90b3ce06cd43c21·...·]9-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="1467264559-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:·187,·SHA:·5112025b4a5423016c2afd8675d09403b8858adc0eb7d0da0ed1362016c62ca6·...·]9-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="7355255889-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:·187,·SHA:·40240ba01b0943848766d0f796186f4783aada005388e1e9364c064820b50c97·...·]9-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="1467264559-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:·214,·SHA:·1e5c5cf7fe94b7e75923394d18caf44ed3e98b741e25c658b36aa20e895a2f78·...·]9-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="7355255889-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:·214,·SHA:·5a196838d64169268d1ca391e49a702ce6554d2584911245fef2c64abae11db1·...·]9-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="1467264559-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:·210,·SHA:·40e3b19a8d877f5e4c18dd4f805b4b9476c4a40542692686802429b6d6270114·...·]9-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="7355255889-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:·210,·SHA:·de0f3697b503b7097d552b6e14417eda3fb434bde0a80a236c2587838a5eaa5c·...·]9-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="1467264559-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:·182,·SHA:·ad4b18ad5c77faf3497070539943a4ef868425b149a2e9f5c25bf046f95a2f5b·...·]9-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="7355255889-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:·182,·SHA:·78bef829c1f6cf0d3fb193e6d7b20b90fb08742b01d048220841e45d69dc3d98·...·]9-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="1467264559-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:·180,·SHA:·6eeed77f40d4943150a86644be4ec6de98ed3bbf4f102c39654dcf81587d42c9·...·]9-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="7355255889-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:·180,·SHA:·3623534d04028a97529dccb5600a1921ab656aab96e2731b322d64ddb5c232cc·...·]9-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="1467264559-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:·272,·SHA:·a03a3cf6bd9b351a39bbef2649636ea6dd62f16ac718dee44b2a7998fc14adb7·...·]9-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="7355255889-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:·272,·SHA:·b2fca4456f0ced65ae2ca18e4a79e52aac5b1a597f46d5cca3b2bda74ffc46c5·...·]9-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="6572130679-1">(</span><span·class="p"·data-group-id="6572130679-2">[</span><span·class="p"·data-group-id="6572130679-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:·6dccefb41cdf85025bed12c9df09931a2098b42ea8bb3c09ff33e0ef9ce3cb26·...·]-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="2071119554-1">(</span><span·class="p"·data-group-id="2071119554-2">[</span><span·class="p"·data-group-id="2071119554-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:·c4ad5991bff5e98b7b3aca86e979329d8ced02973fff3b2d504c3de6abb3f1fa·...·]-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="1266502403-1">(</span><span·class="ss">et_trace_demo</span><span·class="p"·data-group-id="1266502403-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="6226068969-1">(</span><span·class="ss">et_trace_demo</span><span·class="p"·data-group-id="6226068969-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="1266502403-2">(</span><span·class="p"·data-group-id="1266502403-3">[</span><span·class="ss">test</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1266502403-3">]</span><span·class="p"·data-group-id="1266502403-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="6226068969-2">(</span><span·class="p"·data-group-id="6226068969-3">[</span><span·class="ss">test</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6226068969-3">]</span><span·class="p"·data-group-id="6226068969-2">)</span><span·class="p">.</span><span·class="w">
  
261 </span><span·class="nf">test</span><span·class="p"·data-group-id="1266502403-4">(</span><span·class="p"·data-group-id="1266502403-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="6226068969-4">(</span><span·class="p"·data-group-id="6226068969-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="1266502403-5">(</span><span·class="p"·data-group-id="1266502403-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="6226068969-5">(</span><span·class="p"·data-group-id="6226068969-6">[</span><span·class="w">
263 ········</span><span·class="p"·data-group-id="1266502403-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="1266502403-7">}</span><span·class="p">,</span><span·class="w">263 ········</span><span·class="p"·data-group-id="6226068969-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="6226068969-7">}</span><span·class="p">,</span><span·class="w">
264 ········</span><span·class="p"·data-group-id="1266502403-8">{</span><span·class="ss">trace_global</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="1266502403-8">}</span><span·class="p">,</span><span·class="w">264 ········</span><span·class="p"·data-group-id="6226068969-8">{</span><span·class="ss">trace_global</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="6226068969-8">}</span><span·class="p">,</span><span·class="w">
265 ········</span><span·class="p"·data-group-id="1266502403-9">{</span><span·class="nb">trace_pattern</span><span·class="p">,</span><span·class="p"·data-group-id="1266502403-10">{</span><span·class="ss">et</span><span·class="p">,</span><span·class="ss">max</span><span·class="p"·data-group-id="1266502403-[·...·truncated·by·diffoscope;·len:·53,·SHA:·9efb211706d3074016148b5cbccf8d7756b41a981be04694e37ce7e03a66eb72·...·]-9">}</span><span·class="p">,</span><span·class="w">265 ········</span><span·class="p"·data-group-id="6226068969-9">{</span><span·class="nb">trace_pattern</span><span·class="p">,</span><span·class="p"·data-group-id="6226068969-10">{</span><span·class="ss">et</span><span·class="p">,</span><span·class="ss">max</span><span·class="p"·data-group-id="6226068969-[·...·truncated·by·diffoscope;·len:·53,·SHA:·cfa8d6412aef7c899afbc24dc709efbc3a91b32ee3da8cd378f3fb503e304700·...·]-9">}</span><span·class="p">,</span><span·class="w">
266 ········</span><span·class="p"·data-group-id="1266502403-11">{</span><span·class="ss">max_actors</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="1266502403-11">}</span><span·class="w">266 ········</span><span·class="p"·data-group-id="6226068969-11">{</span><span·class="ss">max_actors</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="6226068969-11">}</span><span·class="w">
267 ······</span><span·class="p"·data-group-id="1266502403-6">]</span><span·class="p"·data-group-id="1266502403-5">)</span><span·class="p">,</span><span·class="w">267 ······</span><span·class="p"·data-group-id="6226068969-6">]</span><span·class="p"·data-group-id="6226068969-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="1266502403-12">{</span><span·class="ss">drink</span><span·class="p">,</span><span·class="ss">iced_chai_latte</span><span·class="p"·data-group-id="1266502403-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="6226068969-12">{</span><span·class="ss">drink</span><span·class="p">,</span><span·class="ss">iced_chai_latte</span><span·class="p"·data-group-id="6226068969-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="1266502403-13">{</span><span·class="nb">size</span><span·class="p">,</span><span·class="ss">grande</span><span·class="p"·data-group-id="1266502403-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="6226068969-13">{</span><span·class="nb">size</span><span·class="p">,</span><span·class="ss">grande</span><span·class="p"·data-group-id="6226068969-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="1266502403-14">{</span><span·class="ss">milk</span><span·class="p">,</span><span·class="ss">whole</span><span·class="p"·data-group-id="1266502403-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="6226068969-14">{</span><span·class="ss">milk</span><span·class="p">,</span><span·class="ss">whole</span><span·class="p"·data-group-id="6226068969-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="1266502403-15">{</span><span·class="ss">flavor</span><span·class="p">,</span><span·class="ss">vanilla</span><span·class="p"·data-group-id="1266502403-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="6226068969-15">{</span><span·class="ss">flavor</span><span·class="p">,</span><span·class="ss">vanilla</span><span·class="p"·data-group-id="6226068969-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="1266502403-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:·e3d03f4c2afc5d8a06df560e66e079dfb2c29b16a5af4419b50376bc2cf75ccd·...·]-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="6226068969-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:·8c7dfd52b4e5d0ef06ba0a4347bc7aff3bd03a13e95b6a65c90ad22e2070928d·...·]-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="1266502403-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:·b1e57e30e765dc1410974dc960af77df4a7c864f170eea2503e8279073bb31b4·...·]-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="6226068969-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:·fd8ade8bcc9d80d6421dfa330308a4636ef398060233793cbaa0fe0511d6c656·...·]-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="1266502403-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:·d0de73b27008c2cc0b10de573f9bc1b81f94302dbd361618dd06dc47f48ef5fe·...·]-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="6226068969-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:·868875e05900014ccc8cb9f042f1b8ed40e587545cd00c0c9c184f86980d86ad·...·]-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="1266502403-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:·fcc0dcedaac97ab5f2af6c02558f54e8f00c294a7841929fcb1420703aa29687·...·]-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="6226068969-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:·423f5ca1cfa67d1ad6c50a21533b465d2f876bfb4fb02f901e1f527ea2ded0c5·...·]-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="1266502403-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:·8e16c57433acde997aabf4daa081adf8f7b7cdf7e6032843b3ce649a65e99635·...·]-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="6226068969-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:·1591b6c21c2a24211e53e62e3301f17063d308efacbb905d12395c7c6c72ba18·...·]-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="1266502403-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:·1e3cd4585a6e55ab3b79df0c5b749f0b769020ed6a72a49dd5df21eb43bfbde7·...·]-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="6226068969-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:·80861accde78bfa154c77498092357d07163710afb961616d412f796f943f548·...·]-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="1266502403-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:·029fbe9d74796c541f34f75e1b7e40e738123cc24027afb3f6bded7c89f6c8a8·...·]-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="6226068969-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:·e4bc64c7659525e0fc7c0f6ef2dab14a99217c8061633de422fe963ecf742c73·...·]-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="1266502403-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:·f854528511be11a9f905d5de73cf528bc02698afb66ba67c6321c693cb5854f1·...·]-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="6226068969-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:·239e9d5b769b0cde3f3faa7e86de8bea3d743f20f08cc30c56755460208e5bf1·...·]-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="1266502403-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:·1ce2999fb2a79959b393deab2504b1cd6c1d3e666e02cfdb41661a3cefd037b3·...·]-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="6226068969-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:·58032f62bf1d98deb235c6185b8f77f5fa1563ef1b752eb16aed4962e8b63eea·...·]-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="1266502403-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:·262b19f2485ab756131bd12fd28106e1b342ee4d475a22dce2340c5cf5852af2·...·]-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="6226068969-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:·eebac2c42f3857672bf99b4ad5af0ebd90c69be2f763751b4c85040fabaeb832·...·]-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="1266502403-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:·571808914ee436981dba684cf52c3a8b368d2959c677ed115c887794e53f2bcc·...·]-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="6226068969-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:·2b74d416667838d2bc234ab25578e82a188fccc7fd852f29ac2f6fdc69de1659·...·]-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="1266502403-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:·74fb4c3d16e47871bfffa779852e250bff2bbd7b0faf1a7bb4a1664945f7bea5·...·]-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="6226068969-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:·57c6c228f0166bc3d1c0d994f200f3331daefc557f04bc437c4ce1a4a3a18af0·...·]-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="1266502403-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:·0bf8e4a710e21f82b387aa036024eaa0053c9d0031cf3bf0eed1e6cd10b17911·...·]-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="6226068969-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:·eb1f7c1080b3c26b2dbdbe878c7b80058c05914b05e73338c76a081c5893b9c2·...·]-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.2/doc/html/et_viewer.html
    
Offset 549, 15 lines modifiedOffset 549, 15 lines modified
549 ······<p·class="built-using">549 ······<p·class="built-using">
550 ········Built·using550 ········Built·using
551 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the551 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
552 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>552 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
553 ······</p>553 ······</p>
554 <p>Copyright·©·1996-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.2/doc/html/notes.html
    
Offset 558, 15 lines modifiedOffset 558, 15 lines modified
558 ······<p·class="built-using">558 ······<p·class="built-using">
559 ········Built·using559 ········Built·using
560 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the560 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
561 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>561 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
562 ······</p>562 ······</p>
563 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>563 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
564 ····</footer>564 ····</footer>
565 ··</div>565 ··</div>
566 </main>566 </main>
567 </div>567 </div>
568 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>568 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
569 ··<script>569 ··<script>
570 ··let·initialized·=·false;570 ··let·initialized·=·false;
734 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.46 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.10/doc/html/api-reference.html
    
Offset 191, 15 lines modifiedOffset 191, 15 lines modified
191 ······<p·class="built-using">191 ······<p·class="built-using">
192 ········Built·using192 ········Built·using
193 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the193 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
194 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>194 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
195 ······</p>195 ······</p>
196 <p>Copyright·©·1996-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.10/doc/html/chapter.html
    
Offset 790, 15 lines modifiedOffset 790, 15 lines modified
790 ······<p·class="built-using">790 ······<p·class="built-using">
791 ········Built·using791 ········Built·using
792 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the792 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
793 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>793 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
794 ······</p>794 ······</p>
795 <p>Copyright·©·1996-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
87.7 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/eunit.epub
2.23 KB
zipinfo {}
Max HTML report size reached
73.5 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
10.4 KB
OEBPS/notes.xhtml
Max HTML report size reached
1.19 KB
OEBPS/content.opf
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/eunit.html
    
Offset 338, 15 lines modifiedOffset 338, 15 lines modified
338 ······<p·class="built-using">338 ······<p·class="built-using">
339 ········Built·using339 ········Built·using
340 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the340 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
341 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>341 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
342 ······</p>342 ······</p>
343 <p>Copyright·©·1996-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.10/doc/html/eunit_surefire.html
    
Offset 154, 15 lines modifiedOffset 154, 15 lines modified
154 ······<p·class="built-using">154 ······<p·class="built-using">
155 ········Built·using155 ········Built·using
156 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the156 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
157 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>157 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
158 ······</p>158 ······</p>
159 <p>Copyright·©·1996-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
12.0 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/notes.html
    
Offset 139, 17 lines modifiedOffset 139, 17 lines modified
139 </h3>139 </h3>
140 <ul><li><p>Fix·so·that·when·running·tests·in·parallel·and·one·test·is·cancelled·due·to·a·failing·setup,·it·is·report·as·cancelled.·Before·this·fix·the·cancellation·was·ignored.</p><p>Own·Id:·OTP-19630·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9794"·title="">PR-9794</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>Fix·so·that·when·running·tests·in·parallel·and·one·test·is·cancelled·due·to·a·failing·setup,·it·is·report·as·cancelled.·Before·this·fix·the·cancellation·was·ignored.</p><p>Own·Id:·OTP-19630·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9794"·title="">PR-9794</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="3432317848-1">(</span><span·class="p"·data-group-id="3432317848-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3432317848-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·3d906ed8e8ed9793a644966832169a83dad13d99adba1d01c5003b35429c49e1·...·]-2">)</span><span·class="p">.</span><span·class="w">146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="9651071772-1">(</span><span·class="p"·data-group-id="9651071772-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9651071772-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·b12265c543981446fc742777988e53cae7526baa0f361f52fd21feaa7dad83de·...·]-2">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="3432317848-3">(</span><span·class="p"·data-group-id="3432317848-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3432317848-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·2743ba48be4830cdf13d8159cc45a5a71ab72b7605d7eca0e541a449ee718d83·...·]-2">)</span><span·class="p">.</span><span·class="w">147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="9651071772-3">(</span><span·class="p"·data-group-id="9651071772-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9651071772-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·a80e09f39be8f623725a5b5ead2de6c341ddf655551ec1a708492858f4daf1f4·...·]-2">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2409325467-3">(</span><span·class="p"·data-group-id="2409325467-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2409325467-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·00d8fcc0b6e1bffcb031b881d128063c0f5f0df80e3148f8561d579fa3698370·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="eunit-2-9-1"·class="section-heading">148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="5754396563-3">(</span><span·class="p"·data-group-id="5754396563-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5754396563-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·2a8da3d62d385d2a184956490bf499a517b0517828b1304d1aae2ca47749efcf·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="eunit-2-9-1"·class="section-heading">
149 ··<a·href="#eunit-2-9-1"·class="hover-link">149 ··<a·href="#eunit-2-9-1"·class="hover-link">
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">Eunit·2.9.1</span>152 ··<span·class="text">Eunit·2.9.1</span>
153 </h2>153 </h2>
154 <h3·id="improvements-and-new-features-1"·class="section-heading">154 <h3·id="improvements-and-new-features-1"·class="section-heading">
155 ··<a·href="#improvements-and-new-features-1"·class="hover-link">155 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
Offset 789, 15 lines modifiedOffset 789, 15 lines modified
789 ······<p·class="built-using">789 ······<p·class="built-using">
790 ········Built·using790 ········Built·using
791 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the791 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
792 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>792 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
793 ······</p>793 ······</p>
794 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>794 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
795 ····</footer>795 ····</footer>
796 ··</div>796 ··</div>
797 </main>797 </main>
798 </div>798 </div>
799 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>799 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
800 ··<script>800 ··<script>
801 ··let·initialized·=·false;801 ··let·initialized·=·false;
865 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.46 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.4/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.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;
626 B
html2text {}
Max HTML report size reached
81.7 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.4/doc/html/ftp.epub
2.22 KB
zipinfo {}
Max HTML report size reached
66.0 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
11.8 KB
OEBPS/ftp_client.xhtml
Max HTML report size reached
1.21 KB
OEBPS/content.opf
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.4/doc/html/ftp.html
    
Offset 1840, 15 lines modifiedOffset 1840, 15 lines modified
1840 ······<p·class="built-using">1840 ······<p·class="built-using">
1841 ········Built·using1841 ········Built·using
1842 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1842 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1843 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1843 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1844 ······</p>1844 ······</p>
1845 <p>Copyright·©·1996-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.4/doc/html/ftp_client.html
    
Offset 122, 33 lines modifiedOffset 122, 33 lines modified
122 ······</a>122 ······</a>
  
  
123 ····<span>Examples</span>123 ····<span>Examples</span>
124 ··</h1>124 ··</h1>
  
125 <p>The·following·is·a·simple·example·of·an·FTP·session,·where·the·user·<code·class="inline">guest</code>·with125 <p>The·following·is·a·simple·example·of·an·FTP·session,·where·the·user·<code·class="inline">guest</code>·with
126 password·<code·class="inline">password</code>·logs·on·to·the·remote·host·<code·class="inline">erlang.org</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="5298460335-1">(</span><span·class="p"·data-group-id="5298460335-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="5188120808-1">(</span><span·class="p"·data-group-id="5188120808-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="5298460335-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="5298460335-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·496,·SHA:·aff65fb851377a526bfcfc2cc148f4788188a97216efdc192f5df6d21b0e55b7·...·]-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="5188120808-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="5188120808-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·496,·SHA:·e14cd57ea0ef31ea1f0a45d8b3738b7f4760f3902ab89a96ae2a53ef2f46d827·...·]-3">)</span><span·class="p">.</span><span·class="w">
129 ······</span><span·class="p"·data-group-id="5298460335-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="5298460335-6">}</span><span·class="w">129 ······</span><span·class="p"·data-group-id="5188120808-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="5188120808-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="5298460335-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:·11,·SHA:·15f1eda27beeab6ca4027c50db616978063901bfd817cb3677fcba2eca772537·...·]-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="5188120808-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:·11,·SHA:·457c0673161eb7576b2e69a54d4d142b6ce4b5abc4830c45d7ee6baae64ce1c1·...·]-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="5298460335-8">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="5298460335-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="5188120808-8">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="5188120808-8">)</span><span·class="p">.</span><span·class="w">
133 ······</span><span·class="p"·data-group-id="5298460335-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="5298460335-9">}</span><span·class="w">133 ······</span><span·class="p"·data-group-id="5188120808-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="5188120808-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="5298460335-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="5298460335-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="5188120808-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="5188120808-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="5298460335-11">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="5298460335-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="5188120808-11">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="5188120808-11">)</span><span·class="p">.</span><span·class="w">
137 ······</span><span·class="p"·data-group-id="5298460335-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="5298460335-12">}</span><span·class="p">.</span><span·class="w">137 ······</span><span·class="p"·data-group-id="5188120808-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="5188120808-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="5298460335-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="5298460335-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="5188120808-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="5188120808-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="5298460335-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="5298460335-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="5188120808-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="5188120808-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="5298460335-15">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="5298460335-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="5188120808-15">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="5188120808-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="5298460335-16">(</span><span·class="p"·data-group-id="5298460335-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="5188120808-16">(</span><span·class="p"·data-group-id="5188120808-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.4/doc/html/introduction.html
    
Offset 177, 15 lines modifiedOffset 177, 15 lines modified
177 ······<p·class="built-using">177 ······<p·class="built-using">
178 ········Built·using178 ········Built·using
179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
181 ······</p>181 ······</p>
182 <p>Copyright·©·1996-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.4/doc/html/notes.html
    
Offset 464, 15 lines modifiedOffset 464, 15 lines modified
464 ······<p·class="built-using">464 ······<p·class="built-using">
465 ········Built·using465 ········Built·using
466 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the466 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
467 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>467 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
468 ······</p>468 ······</p>
469 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>469 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
470 ····</footer>470 ····</footer>
471 ··</div>471 ··</div>
472 </main>472 </main>
473 </div>473 </div>
474 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>474 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
475 ··<script>475 ··<script>
476 ··let·initialized·=·false;476 ··let·initialized·=·false;
715 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.4/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.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.4 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/api-reference.html
    
Offset 273, 15 lines modifiedOffset 273, 15 lines modified
273 ······<p·class="built-using">273 ······<p·class="built-using">
274 ········Built·using274 ········Built·using
275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
277 ······</p>277 ······</p>
278 <p>Copyright·©·1996-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.4/doc/html/http_client.html
    
Offset 134, 40 lines modifiedOffset 134, 40 lines modified
134 <p>The·HTTP·client·default·profile·is·started·when·the·<code·class="inline">Inets</code>·application·is134 <p>The·HTTP·client·default·profile·is·started·when·the·<code·class="inline">Inets</code>·application·is
135 started·and·is·then·available·to·all·processes·on·that·Erlang·node.·Other135 started·and·is·then·available·to·all·processes·on·that·Erlang·node.·Other
136 profiles·can·also·be·started·at·application·startup,·or·profiles·can·be·started136 profiles·can·also·be·started·at·application·startup,·or·profiles·can·be·started
137 and·stopped·dynamically·in·runtime.·Each·client·profile·spawns·a·new·process·to137 and·stopped·dynamically·in·runtime.·Each·client·profile·spawns·a·new·process·to
138 handle·each·request,·unless·a·persistent·connection·can·be·used·with·or·without138 handle·each·request,·unless·a·persistent·connection·can·be·used·with·or·without
139 pipelining.·The·client·adds·a·<code·class="inline">host</code>·header·and·an·empty·<code·class="inline">te</code>·header·if·there139 pipelining.·The·client·adds·a·<code·class="inline">host</code>·header·and·an·empty·<code·class="inline">te</code>·header·if·there
140 are·no·such·headers·present·in·the·request.</p><p>The·client·supports·IPv6·as·long·as·the·underlying·mechanisms·also·do·so.</p><p>The·following·is·to·be·put·in·the·Erlang·node·application·configuration·file·to140 are·no·such·headers·present·in·the·request.</p><p>The·client·supports·IPv6·as·long·as·the·underlying·mechanisms·also·do·so.</p><p>The·following·is·to·be·put·in·the·Erlang·node·application·configuration·file·to
141 start·a·profile·at·application·startup:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1079958142-1">[</span><span·class="p"·data-group-id="1079958142-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1079958142-3">[</span><span·class="p"·data-group-id="1079958142-4">{</spa[·...·truncated·by·diffoscope;·len:·606,·SHA:·692e2e322457da86743535aa84738cb9022cb3fa709b788238c16d2127cce68a·...·]-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="0766397296-1">[</span><span·class="p"·data-group-id="0766397296-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0766397296-3">[</span><span·class="p"·data-group-id="0766397296-4">{</spa[·...·truncated·by·diffoscope;·len:·606,·SHA:·4658994d44ac4ae5126932d1753423f3254c27b4327d194c54686300b824ddf6·...·]-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="2086232609-1">(</span><span·class="p"·data-group-id="2086232609-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="8908243141-1">(</span><span·class="p"·data-group-id="8908243141-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="8404112923-1">(</span><span·class="p"·data-group-id="8404112923-2">[</span><span·class="p"·data-group-id="8404112923-3">{</span><span·class="ss">proxy</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8404112923-4">{</spa[·...·truncated·by·diffoscope;·len:·230,·SHA:·5ffea1d77901bdd9475112e729e7ed1584931b2dc4c0d872e498e6bfdf05db8f·...·]-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="6450392502-1">(</span><span·class="p"·data-group-id="6450392502-2">[</span><span·class="p"·data-group-id="6450392502-3">{</span><span·class="ss">proxy</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6450392502-4">{</spa[·...·truncated·by·diffoscope;·len:·230,·SHA:·1c30b001c786cdf18958f9d9bdd9f493bb523d3f2694f390cda29be105a05802·...·]-5">}</span><span·class="p">,</span><span·class="w">
151 </span><span·class="p"·data-group-id="8404112923-6">[</span><span·class="s">&quot;localhost&quot;</span><span·class="p"·data-group-id="8404112923-6">]</span><span·class="p"·data-group-id="8404112923-4">}</span><span·class="p"·data-group-id="8404112923-3">}</span><span·class="p"·data-group-id="8404112923-2">]</span><span·class="p"·data-group-id="8404112923-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="8213850015-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8213850015-2">{</span><span·class="p"·data-group-id="8213850015-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="8213850015-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="8213850015-2">}</span><span·class="p"·data-group-id="8213850015-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="8213850015-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·805,·SHA:·b76b557dc48cc5900f473fd1eb0402de97329e2da15b44f5d7a441750b6af069·...·]151 </span><span·class="p"·data-group-id="6450392502-6">[</span><span·class="s">&quot;localhost&quot;</span><span·class="p"·data-group-id="6450392502-6">]</span><span·class="p"·data-group-id="6450392502-4">}</span><span·class="p"·data-group-id="6450392502-3">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·131,·SHA:·b470bea4bccbaa0e4973fdb3e5d5b468dbcd43460a97cc01af2f6c1ef78b1f05·...·]
 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="7935531166-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7935531166-2">{</span><span·class="p"·data-group-id="7935531166-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="7935531166-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="7935531166-2">}</span><span·class="p"·data-group-id="7935531166-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="7935531166-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7935531166-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="7935531166-6">[</span><span·class="p"·data-group-id="7935531166-6">]</span><span·class="p"·data-group-id="7935531166-5">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7935531166-7">[</span><span·class="p"·data-group-id="7935531166-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7935531166-8">[</span><span·class="p"·data-group-id="7935531166-8">]</span><span·class="p"·data-group-id="7935531166-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="9394631196-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9394631196-2">{</span><span·class="p"·data-group-id="9394631196-3">{</span><span·class="n">Version</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·434,·SHA:·52714b6cad600913b31bbea85e06749f934515cd3f6127de669869f637044609·...·]-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">154 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="p"·data-group-id="8272299431-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8272299431-2">{</span><span·class="p"·data-group-id="8272299431-3">{</span><span·class="n">Version</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·434,·SHA:·3e5fe66467ee6e199835279af5cf4221ef009c870af841bf29cc8204af813c3c·...·]-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="9394631196-4">(</span><span·class="s">&quot;http://www.erlang.org&quot;</span><span·class="p"·data-group-id="9394631196-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="1889813221-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1889813221-2">{</span><span·class="p"·data-group-id="1889813221-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="1889813221-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="1889813221-2">}</span><span·class="p"·data-group-id="1889813221-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="1889813221-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1889813221-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="1889813221-6">[</span><span·class="p"·data-group-id="1889813221-6">]</span><span·class="p"·data-group-id="1889813221-5">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1889813221-7">[</span><span·class="p"·data-group-id="1889813221-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="1889813221-9">(</span><span·class="ss">true</span><span·class="p"·data-group-id="1889813221-9">)</span><span·class="p"·data-group-id="1889813221-8">}</span><span·class="p"·data-group-id="1889813221-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1889813221-10">[</span><span·class="p"·data-group-id="1889813221-10">]</span><span·class="p"·data-group-id="1889813221-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="9057256377-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="9057256377-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="9057256377-2">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9057256377-3">{</span><span·class="s">&quot;http://www.erlang.org&quot;</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·950,·SHA:·b83543ae4c1d7c31d5d8c75af0fbd37fa97bdc0dc42dce8b5a96a266d11961a2·...·]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="8272299431-4">(</span><span·class="s">&quot;http://www.erlang.org&quot;</span><span·class="p"·data-group-id="8272299431-4">)</span><span·class="p">.</span></code></pre><p>The·following·is·a·https·request·and·with·verification·of·the·host:</p><pre><code·cla[·...·truncated·by·diffoscope;·len:·874,·SHA:·4e4ca8c1078c10a2230d7deed9b9d0cfa7866340d972779406e3d3c028af1f1b·...·]
 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="2691669654-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2691669654-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="2691669654-6">[</span><span·class="p"·data-group-id="2691669654-6">]</span><span·class="p"·data-group-id="2691669654-5">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2691669654-7">[</span><span·class="p"·data-group-id="2691669654-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="2691669654-9">(</span><span·class="ss">true</span><span·class="p"·data-group-id="2691669654-9">)</span><span·class="p"·data-group-id="2691669654-8">}</span><span·class="p"·data-group-id="2691669654-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2691669654-10">[</span><span·class="p"·data-group-id="2691669654-10">]</span><span·class="p"·data-group-id="2691669654-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="0183114294-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="0183114294-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="0183114294-2">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0183114294-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="0183114294-4">[</span><span·class="p"·data-group-id="0183114294-4">]</span><span·class="p"·data-group-id="0183114294-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0183114294-5">[</span><span·class="p"·data-group-id="0183114294-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0183114294-6">[</span><span·class="p"·data-group-id="0183114294-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="0183114294-7">}</span><span·class="p"·data-group-id="0183114294-6">]</span><span·class="p"·data-group-id="0183114294-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="3372109118-1">{</span><span·class="ss">http</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3372109118-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:·dc7e7e2be0e5f9d3a21bc1fe1ce89415bbce5ada14a0e51e131d7bdf05133f7f·...·]-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="8415785219-1">{</span><span·class="ss">http</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8415785219-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:·22f2cb85c6cbc7bce8ebb8b9c69392c6e0f13b49521f2a2024225a7644251ff9·...·]-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="2824962533-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2824962533-2">{</span><span·class="p"·data-group-id="2824962533-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="2824962533-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="2824962533-2">}</span><span·class="p"·data-group-id="2824962533-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="2824962533-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2824962533-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="2824962533-6">[</span><span·class="p"·data-group-id="2824962533-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="2824962533-7">}</span><span·class="p"·data-group-id="2824962533-6">]</span><span·class="p"·data-group-id="2824962533-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="2824962533-8">[</span><span·class="p"·data-group-id="2824962533-8">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2824962533-9[·...·truncated·by·diffoscope;·len:·1167,·SHA:·96fcca80a6d5aea06eb979112bc4e5a8c1723064793473a795e954ff807a5830·...·]">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="6910827442-1">{</span><span·class="ss">ok</sp[·...·truncated·by·diffoscope;·len:·731,·SHA:·0447398db869983ac46680312212deae608bd5ef71b36d28edd0804ff378cf08·...·]">
 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="6910827442-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6910827442-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="6910827442-6">[</span><span·class="p"·data-group-id="6910827442-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="6910827442-7">}</span><span·class="p"·data-group-id="6910827442-6">]</span><span·class="p"·data-group-id="6910827442-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="6910827442-8">[</span><span·class="p"·data-group-id="6910827442-8">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6910827442-9">[</span><span·class="p"·data-group-id="6910827442-9">]</span><span·class="p"·data-group-id="6910827442-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="7606931805-1">(</span><span·class="p"·data-group-id="7606931805-2">[</span><span·class="p"·data-group-id="7606931805-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="7606931805-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7606931805-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="7606931805-4">}</span><span·class="p"·data-group-id="7606931805-2">]</span><span·class="p"·data-group-id="7606931805-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
162 10&gt;·</span><span·class="p"·data-group-id="1161712673-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1161712673-6">{</span><span·class="p"·data-group-id="1161712673-7">{</span><span·class="n">NewVersion</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·446,·SHA:·a28fe020212569fcba3744c608992f72f5880190f685e854a0ea9319ed61ed1d·...·]-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">162 10&gt;·</span><span·class="p"·data-group-id="7606931805-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7606931805-6">{</span><span·class="p"·data-group-id="7606931805-7">{</span><span·class="n">NewVersion</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·446,·SHA:·4183758e0f3aefd9cd496f4f4cfc8d650349a93fe160e9722f76bf881f45b44c·...·]-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="1161712673-8">(</span><span·class="nb">put</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1161712673-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:·14dbe72f646ef788365dc84d301679bf8fc2347d121cbf7015ede2e68cfdb4bb·...·]-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="7606931805-8">(</span><span·class="nb">put</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7606931805-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:·bae72e6d4668b48fa698b42f01d7c42de993b42e14ce86e0b9f742dbbeda7730·...·]-2">)</span><span·class="p">.</span><span·class="w">
164 </span><span·class="p"·data-group-id="9290032870-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.45</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·513,·SHA:·bf99fc5c2ac995910319f5758105c607e09ee12ad0c391ba17e5485c688d7509·...·]-1">)</span><span·class="p">.</span><span·class="w">164 </span><span·class="p"·data-group-id="6878329629-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.45</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·513,·SHA:·2fe0a7045e4a83d3525ff9c405e21805a088f5a5ef1e231a4e59e6a3d0e9a08e·...·]-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="2822639842-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="2822639842-2">}</span></code></pre><p>Stop·the·HTTP·client·profile:</p><pre><code·class="m[·...·truncated·by·diffoscope;·len:·352,·SHA:·f567e3099cc25bd9299ea2f2865c29d732a67abe9038ce917f8be8a1317d93b2·...·]-1">)</span><span·class="p">.</span><span·class="w">165 </span><span·class="p"·data-group-id="8767045748-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="8767045748-2">}</span></code></pre><p>Stop·the·HTTP·client·profile:</p><pre><code·class="m[·...·truncated·by·diffoscope;·len:·352,·SHA:·38459414f7c7f89a1cbec5a8d2440025483be310135747784c9e4078070b05d6·...·]-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="2098238832-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="2098238832-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="2685675934-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="2685675934-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.6 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/http_server.html
    
Offset 137, 54 lines modifiedOffset 137, 54 lines modified
137 underlying·mechanisms·also·do·so.</p><p>The·server·implements·numerous·features,·such·as:</p><ul><li>Secure·Sockets·Layer·(SSL)</li><li>Erlang·Scripting·Interface·(ESI)</li><li>Common·Gateway·Interface·(CGI)</li><li>User·Authentication·(using·Mnesia,·Dets·or·plain·text·database)</li><li>Common·Logfile·Format·(with·or·without·disk_log(3)·support)</li><li>URL·Aliasing</li><li>Action·Mappings</li><li>Directory·Listings</li></ul><p>The·configuration·of·the·server·is·provided·as·an·Erlang·property·list.</p><p>As·of·<code·class="inline">Inets</code>·5.0·the·HTTP·server·is·an·easy·to·start/stop·and·customize·web137 underlying·mechanisms·also·do·so.</p><p>The·server·implements·numerous·features,·such·as:</p><ul><li>Secure·Sockets·Layer·(SSL)</li><li>Erlang·Scripting·Interface·(ESI)</li><li>Common·Gateway·Interface·(CGI)</li><li>User·Authentication·(using·Mnesia,·Dets·or·plain·text·database)</li><li>Common·Logfile·Format·(with·or·without·disk_log(3)·support)</li><li>URL·Aliasing</li><li>Action·Mappings</li><li>Directory·Listings</li></ul><p>The·configuration·of·the·server·is·provided·as·an·Erlang·property·list.</p><p>As·of·<code·class="inline">Inets</code>·5.0·the·HTTP·server·is·an·easy·to·start/stop·and·customize·web
138 server·providing·the·most·basic·web·server·functionality.·Inets·is·designed·for138 server·providing·the·most·basic·web·server·functionality.·Inets·is·designed·for
139 embedded·systems·and·if·you·want·a·full-fledged·web·server·there·are·other139 embedded·systems·and·if·you·want·a·full-fledged·web·server·there·are·other
140 erlang·open·source·alternatives.</p><p>Almost·all·server·functionality·has·been·implemented·using·an·especially·crafted140 erlang·open·source·alternatives.</p><p>Almost·all·server·functionality·has·been·implemented·using·an·especially·crafted
141 server·API,·which·is·described·in·the·Erlang·Web·Server·API.·This·API·can·be141 server·API,·which·is·described·in·the·Erlang·Web·Server·API.·This·API·can·be
142 used·to·enhance·the·core·server·functionality,·for·example·with·custom·logging142 used·to·enhance·the·core·server·functionality,·for·example·with·custom·logging
143 and·authentication.</p><p>The·following·is·to·be·put·in·the·Erlang·node·application·configuration·file·to143 and·authentication.</p><p>The·following·is·to·be·put·in·the·Erlang·node·application·configuration·file·to
144 start·an·HTTP·server·at·application·startup:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5637051621-1">[</span><span·class="p"·data-group-id="5637051621-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5637051621-3">[</span><span·class="p"·data-group-id="5637051621-4">{</span><span·class="ss">services</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5637051621-5">[</span><span·class="p"·data-group-id="5637051621-6">{</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5637051621-7">[</span><span·class="p"·data-group-id="5637051621-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="5637051621-8">}</span><span·class="p"·data-group-id="5637051621-7">]</span><span·class="p"·data-group-id="5637051621-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="4907223559-1">[</span><span·class="p"·data-group-id="4907223559-2">{</span><span·class="ss">inets</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·528,·SHA:·9b580827461a904e2e88a6aba1b8f52e816dbd8c569f843308ac38b5457a439b·...·]</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="4907223559-8">}</span><span·class="p"·data-group-id="4907223559-7">]</span><span·class="p"·data-group-id="4907223559-6">}</span><span·class="p">,</span><span·class="w">
146 ··········</span><span·class="p"·data-group-id="5637051621-9">{</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5637051621-10">[</span><span·class="p"·data-group-id="5637051621-11">{</span><span·class="ss">proplist_file</span><span·class="p">,</span><span·class="w">146 ··········</span><span·class="p"·data-group-id="4907223559-9">{</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4907223559-10">[</span><span·class="p"·data-group-id="4907223559-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="5637051621-11">}</span><span·class="p"·data-group-id="5637051621-10">]</span><span·class="p"·data-group-id="5637051621-9">}</span><span·class="p"·data-group-id="5637051621-5">]</span><span·class="p"·data-group-id="5637051621-4">}</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·127,·SHA:·29697311b45ab38a04a9af5d91464bda2bda72ae4204afdf122c93e1e3cb1e4b·...·]-1">]</span><span·class="p">.</span></code></pre><p>The·server·is·configured·using·an·Erlang·property·list.·For·the·available147 ···········</span><span·class="s">&quot;/var/tmp/server_root/conf/8080_props.conf&quot;</span><span·class="p"·data-group-id="4907223559-11">}</span><span·class="p"·data-group-id="4907223559-10">]</span><span·class="p"·data-group-id="4907223559-9">}</span><span·class="p"·data-group-id="4907223559-5">]</span><span·class="p"·data-group-id="4907223559-4">}</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·127,·SHA:·6ec5893ee37e9e8fd1d1fa9b3806cb4fad42e479a227cdb28376fc80690e81d2·...·]-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="3718302152-1">(</span><span·class="p"·data-group-id="3718302152-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3718302152-2">{</span><span·class="ss">httpd</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·201,·SHA:·60c4ec5d98969d3a31629f3177a3ed6175881528e80c6b6f97961bc22b135775·...·]-2">}</span><span·class="w">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="8198443014-1">(</span><span·class="p"·data-group-id="8198443014-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8198443014-2">{</span><span·class="ss">httpd</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·201,·SHA:·f1999fcd8e43fffd8696ae9ba33cf993bb4ee04932c30b93e9296f48e45c2eaf·...·]-2">}</span><span·class="w">
149 </span><span·class="nf">httpd</span><span·class="p"·data-group-id="3718302152-4">(</span><span·class="p"·data-group-id="3718302152-4">)</span><span·class="w">·········</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3718302152-5">[</span><span·class="nf">httpd_config</span><span·cl[·...·truncated·by·diffoscope;·len:·139,·SHA:·15c994e88be7d87346be3e27b0b71aaf2d1c72ae65cc6294a94d871ca0edfa59·...·]-5">]</span><span·class="w">149 </span><span·class="nf">httpd</span><span·class="p"·data-group-id="8198443014-4">(</span><span·class="p"·data-group-id="8198443014-4">)</span><span·class="w">·········</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8198443014-5">[</span><span·class="nf">httpd_config</span><span·cl[·...·truncated·by·diffoscope;·len:·139,·SHA:·d41e35adc89ec8bd6dd8e9fe9e8da1b724900ba6b6c1eca859da7cf14184af3a·...·]-5">]</span><span·class="w">
150 </span><span·class="nf">httpd_config</span><span·class="p"·data-group-id="3718302152-7">(</span><span·class="p"·data-group-id="3718302152-7">)</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3718302152-8">{</span><span·class="ss">proplist_file</span><span·class="p[·...·truncated·by·diffoscope;·len:·209,·SHA:·18bb6a39fc7149e89e0002a3e433b3d4b6a4218f61f4918a082a2fbb57dc5152·...·]-8">}</span><span·class="w">150 </span><span·class="nf">httpd_config</span><span·class="p"·data-group-id="8198443014-7">(</span><span·class="p"·data-group-id="8198443014-7">)</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8198443014-8">{</span><span·class="ss">proplist_file</span><span·class="p[·...·truncated·by·diffoscope;·len:·209,·SHA:·0f3ca9e3af989da2b34d174765101109701589e6fd275c6d298d91b8a4e8fdae·...·]-8">}</span><span·class="w">
151 ···················</span><span·class="p"·data-group-id="3718302152-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="3718302152-11">(</span><span·class="p"·data-group-id="3718302152-11">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·435a784e73288cc57a4605a74aaff65cd3f4611ec3c135d384129ee273ac9725·...·]-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">151 ···················</span><span·class="p"·data-group-id="8198443014-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="8198443014-11">(</span><span·class="p"·data-group-id="8198443014-11">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·50ffab1935b448dcfe485c1b09312efda547c3812729b9673ce1c29d51a5906f·...·]-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
152 ···················</span><span·class="p"·data-group-id="3718302152-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="3718302152-13">(</span><span·class="p"·data-group-id="3718302152-13">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·27f1fe68728316385e61bf5bc796ab6b1d6ed5a7c85fbd749e0750ec96517202·...·]-12">}</span><span·class="w">152 ···················</span><span·class="p"·data-group-id="8198443014-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="8198443014-13">(</span><span·class="p"·data-group-id="8198443014-13">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·31de6554e6dedab43b1b2ea39c7f0024410805d5de32dfd33eb71e97594b70a5·...·]-12">}</span><span·class="w">
153 </span><span·class="nf">debug</span><span·class="p"·data-group-id="3718302152-14">(</span><span·class="p"·data-group-id="3718302152-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">[·...·truncated·by·diffoscope;·len:·248,·SHA:·77d0434f21b134c412942ca6681e97bdb9977e206deb671bc3025c2e98b36351·...·]-15">]</span><span·class="w">153 </span><span·class="nf">debug</span><span·class="p"·data-group-id="8198443014-14">(</span><span·class="p"·data-group-id="8198443014-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">[·...·truncated·by·diffoscope;·len:·248,·SHA:·8922b183c96ab3d819b412cc9f2d6c24a09a039784890213a03e71fbd27caf66·...·]-15">]</span><span·class="w">
154 </span><span·class="nf">debug_options</span><span·class="p"·data-group-id="3718302152-17">(</span><span·class="p"·data-group-id="3718302152-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3718302152-18">{</span><span·class="ss">all_functions</span><span·class=[·...·truncated·by·diffoscope;·len:·216,·SHA:·42fad70ac6d77c6e8c2df3a92155bd4a1bfba7c7b007994fde9037e96a284ed0·...·]-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="8198443014-17">(</span><span·class="p"·data-group-id="8198443014-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8198443014-18">{</span><span·class="ss">all_functions</span><span·class=[·...·truncated·by·diffoscope;·len:·216,·SHA:·841848418c45deb947e9875652a73da9308d9f937f85a793bf31f4022cb76bdb·...·]-18">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
155 ···················</span><span·class="p"·data-group-id="3718302152-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="3718302152-21">(</span><span·class="p"·data-group-id="3718302152-21">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·09462f56fa07e4d1c3bfd689e63567ce4fa6ee54dd1472fdbfa991679f3f26b1·...·]-20">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">155 ···················</span><span·class="p"·data-group-id="8198443014-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="8198443014-21">(</span><span·class="p"·data-group-id="8198443014-21">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·960c8c134ecd56bb8f70d8e16474618b1f4df422ba279c1372f31db6604d8d77·...·]-20">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
156 ···················</span><span·class="p"·data-group-id="3718302152-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="3718302152-23">(</span><span·class="p"·data-group-id="3718302152-23">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·6221303f20838759694a291c4a2e126612ce56256aa72c6fe1a341276a62c797·...·]-22">}</span><span·class="w">156 ···················</span><span·class="p"·data-group-id="8198443014-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="8198443014-23">(</span><span·class="p"·data-group-id="8198443014-23">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·411a0b378f5570f2543371763fb695864ac3c0c64b1d3147891b8e682a592433·...·]-22">}</span><span·class="w">
157 </span><span·class="nf">modules</span><span·class="p"·data-group-id="3718302152-24">(</span><span·class="p"·data-group-id="3718302152-24">)</span><span·class="w">·······</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3718302152-25">[</span><span·class="nf">atom</span><span·class="p"[·...·truncated·by·diffoscope;·len:·134,·SHA:·873e0c4eac84ff47f68b8a3f6cff2851591694bd64c7e79bd0e0e6cb8aca49ef·...·]-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="8198443014-24">(</span><span·class="p"·data-group-id="8198443014-24">)</span><span·class="w">·······</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8198443014-25">[</span><span·class="nf">atom</span><span·class="p"[·...·truncated·by·diffoscope;·len:·134,·SHA:·6bc65354e4c61c9145d50bc527576ede5293b5d60b28fba42ed6afceff8c4afb·...·]-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="8502084649-1">(</span><span·class="p"·data-group-id="8502084649-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="0554819247-1">(</span><span·class="p"·data-group-id="0554819247-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="3141270432-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="3141270432-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·703,·SHA:·17530b946aebba11147674034c43ae1201ad8a5e52889a82d1d34fd1101232fb·...·]-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="5644234886-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="5644234886-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·703,·SHA:·ec797ae9e08d4394dc07c884fc6c4f80c5ed107b03ea6895db60022b251c6a44·...·]-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="3141270432-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="3141270432-6">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·302,·SHA:·23727dcf47b424ecc471799140f0ac5730b2905df57963abb00d1a25a988e233·...·]-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="5644234886-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="5644234886-6">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·302,·SHA:·da2d22983dfcccf91fd49b1d2d59981d46631812a3962ed0b0fdecfe56cd97a5·...·]-2">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="p"·data-group-id="3141270432-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="3141270432-8">}</span></code></pre><p>Call·<code·cla[·...·truncated·by·diffoscope;·len:·320,·SHA:·81f1efbbbb5e970d962cc89deed71ab14a16a6eb1ee0aef1f692efcb426fc164·...·]-1">)</span><span·class="p">.</span><span·class="w">171 </span><span·class="p"·data-group-id="5644234886-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="5644234886-8">}</span></code></pre><p>Call·<code·cla[·...·truncated·by·diffoscope;·len:·320,·SHA:·28ba80209c0e81248caf80b14ff24b36cd71a8d2be77b58242e7209fa05a2fa9·...·]-1">)</span><span·class="p">.</span><span·class="w">
172 </span><span·class="p"·data-group-id="0219690119-2">[</span><span·class="p"·data-group-id="0219690119-3">{</span><span·class="ss">mime_types</span><span·class="p">,</span><span·class="p"·data-group-id="0219690119-4">[</span><span·class="p"·data-group-id="0219690119-5">{</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·473,·SHA:·b4c545c65e548aeda3fa114fd04ad4c5fc30fb6d8ed49c84c6f1edbe5f261a45·...·]-3">}</span><span·class="p">,</span><span·class="w">172 </span><span·class="p"·data-group-id="4544435567-2">[</span><span·class="p"·data-group-id="4544435567-3">{</span><span·class="ss">mime_types</span><span·class="p">,</span><span·class="p"·data-group-id="4544435567-4">[</span><span·class="p"·data-group-id="4544435567-5">{</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·473,·SHA:·93ec8efa525edef1c16d4fa50de3e89f5e677bcb401e78a4de655dc9ab42558a·...·]-3">}</span><span·class="p">,</span><span·class="w">
173 ·</span><span·class="p"·data-group-id="0219690119-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="0219690119-7">}</span><span·class="p">,</span><span·class="w">173 ·</span><span·class="p"·data-group-id="4544435567-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="4544435567-7">}</span><span·class="p">,</span><span·class="w">
174 ·</span><span·class="p"·data-group-id="0219690119-8">{</span><span·class="ss">bind_address</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0219690119-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:·d6a766f8c1b2dcad9826acb633d3ac64bc8422225d759252f105c481ea41ab7f·...·]-8">}</span><span·class="p">,</span><span·class="w">174 ·</span><span·class="p"·data-group-id="4544435567-8">{</span><span·class="ss">bind_address</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4544435567-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:·695dc8df1034ee5134a2c63f700d98f46e97e7d89101f7078201a485a9c073c4·...·]-8">}</span><span·class="p">,</span><span·class="w">
175 ·</span><span·class="p"·data-group-id="0219690119-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="0219690119-10">}</span><span·class="p">,</span><span·class="w">175 ·</span><span·class="p"·data-group-id="4544435567-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="4544435567-10">}</span><span·class="p">,</span><span·class="w">
176 ·</span><span·class="p"·data-group-id="0219690119-11">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="mi">59408</span><span·class="p"·data-group-id="0219690119-11">}</span><span·class="p">,</span><span·class="w">176 ·</span><span·class="p"·data-group-id="4544435567-11">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="mi">59408</span><span·class="p"·data-group-id="4544435567-11">}</span><span·class="p">,</span><span·class="w">
177 ·</span><span·class="p"·data-group-id="0219690119-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="0219690119-12">}</span><span·class="p">,</span><span·class="w">177 ·</span><span·class="p"·data-group-id="4544435567-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="4544435567-12">}</span><span·class="p">,</span><span·class="w">
178 ·</span><span·class="p"·data-group-id="0219690119-13">{</span><span·class="ss">ipfamily</span><span·class="p">,</span><span·class="ss">inet</span><span·class="p"·data-group-id="0219690119-13">}</span><span·class="p"·data-group-id="0219690119-2">]</span></code></pre><p>Reload·the·configuration·w[·...·truncated·by·diffoscope;·len:·519,·SHA:·1805d7bd49efe2796b332d8b1eafc877f1a6a34bc2c11f86a7591ab8455001bb·...·]-3">}</span><span·class="p">,</span><span·class="w">178 ·</span><span·class="p"·data-group-id="4544435567-13">{</span><span·class="ss">ipfamily</span><span·class="p">,</span><span·class="ss">inet</span><span·class="p"·data-group-id="4544435567-13">}</span><span·class="p"·data-group-id="4544435567-2">]</span></code></pre><p>Reload·the·configuration·w[·...·truncated·by·diffoscope;·len:·519,·SHA:·751debad32b0bba029dd40300a84ac6ac3ea4be37ae7be25eb17c6fea269ea8c·...·]-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="2360892245-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="2360892245-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·184,·SHA:·590a70968307e9eaf934d3a04d2f0fa30855ae3b6d87b1aa5746fb2f60857b38·...·]-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="0804422117-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="0804422117-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·184,·SHA:·5a1b88360cc567c6ce7b44424162ea529e2cd278bd9a05a779e10f51a9aabc6e·...·]-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="2360892245-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="2360892245-6">}</span><span·class="p"·data-group-id="2360892245-2">]</span>[·...·truncated·by·diffoscope;·len:·127,·SHA:·b4a014adb6f5ed2c24a2b769be05e4b1e245401c930fb61325addce7be1cfd8b·...·]-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="0804422117-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="0804422117-6">}</span><span·class="p"·data-group-id="0804422117-2">]</span>[·...·truncated·by·diffoscope;·len:·127,·SHA:·9c366c4f5e8d6c4c50c9b8405bf54a927c4622dde9f79a253a4bac394f3b945e·...·]-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="5281903287-1">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5281903287-2">[</span><span·class="ss">server_root</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">document_root</span><span·class="p"·data-group-id="5281903287-2">]</span><span·class="p"·data-group-id="5281903287-1">)</span><span·class="p">.</span><span·class="w"> 
183 </span><span·class="p"·data-group-id="5281903287-3">[</span><span·class="p"·data-group-id="5281903287-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="52819[·...·truncated·by·diffoscope;·len:·1948,·SHA:·94183f3064aa4a6ce3f4ed2f372959f8874ea3a05e00056823aa360330e01743·...·]>182 server·during·the·reload·get·a·service·temporary·unavailable·answer.</p></section><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">httpd</span><span·class="p">:</span><span·class="nf">info</span><s[·...·truncated·by·diffoscope;·len:·443,·SHA:·4ca6c34be78282bbfd8b02840ceea63cb127833b0528f14d64ae50c22a65a195·...·]>
 183 </span><span·class="p"·data-group-id="9276024699-3">[</span><span·class="p"·data-group-id="9276024699-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="9276024699-4">}</span><span·class="p">,</span><span·class="p"·data-group-id="9276024699-5">{</span><span·class="ss">document_root</span><span·class="p">,</span><span·class="s">&quot;/tmp/www_test/htdocs&quot;</span><span·class="p"·data-group-id="9276024699-5">}</span><span·class="p"·data-group-id="9276024699-3">]</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">inets</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="9710321985-1">(</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="9710321985-1">)</span><span·class="p">.</span></code></pre><p>Alternative:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">inets</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="2240765862-1">(</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2240765862-2">{</span><span·class="p"·data-group-id="2240765862-3">{</span><span·class="mi">127</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2240765862-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">59408</span><span·class="p"·data-group-id="2240765862-2">}</span><span·class="p"·data-group-id="2240765862-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="1392548129-1">(</span><span·class="ss">mnesia_test</span><span·class="p"·data-group-id="1392548129-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="1392548129-2">(</span><span·class="p"·data-group-id="1392548129-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class[·...·truncated·by·diffoscope;·len:·191,·SHA:·2b4c287aea7ccccf1c85701d595c216781adcec9fbafab0dbd9a2cd18a0b3158·...·]">)</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="0393394057-1">(</span><span·class="ss">mnesia_test</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·27,·SHA:·111728ea1e04ade56259a4b30bd8ad4f8e30622fefc5cbd67846691adb344924·...·]">)</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="0393394057-2">(</span><span·class="p"·data-group-id="0393394057-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="ss">load_data</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0393394057-3">]</span><span·class="p"·data-group-id="0393394057-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="1392548129-4">(</span><span·class="s">&quot;mod_auth.hrl&quot;</span><span·class="p"·data-group-id="1392548129-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="0393394057-4">(</span><span·class="s">&quot;mod_auth.hrl&quot;</span><span·class="p"·data-group-id="0393394057-4">)</span><span·class="p">.</span><span·class="w">
  
311 </span><span·class="nf">first_start</span><span·class="p"·data-group-id="1392548129-5">(</span><span·class="p"·data-group-id="1392548129-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="0393394057-5">(</span><span·class="p"·data-group-id="0393394057-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="1392548129-6">(</span><span·class="p"·data-group-id="1392548129-7">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1392548129-8">(</span><span·class="p"·data-group-id="1392548129-8">)</span><span·class="p"·data-group-id="1392548129-7">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·84071bcfb7de440ab3fbd5b6493624d45b5ead6729088a7ecfde13425ff018d7·...·]-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="0393394057-6">(</span><span·class="p"·data-group-id="0393394057-7">[</span><span·class="nf">node</span><span·class="p"·data-group-id="0393394057-8">(</span><span·class="p"·data-group-id="0393394057-8">)</span><span·class="p"·data-group-id="0393394057-7">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·89c25479a54384b459b5e4e3863cbd06516ac5b19d8817b77db77813451b0e5a·...·]-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="1392548129-9">(</span><span·class="p"·data-group-id="1392548129-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="0393394057-9">(</span><span·class="p"·data-group-id="0393394057-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="1392548129-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="0393394057-10">(</span><span·class="ss">httpd_user</span><span·class="p">,</span><span·class="w">
315 ························</span><span·class="p"·data-group-id="1392548129-11">[</span><span·class="p"·data-group-id="1392548129-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="1392548129-12">}</span><span·class="p">,</span><span·class="w">315 ························</span><span·class="p"·data-group-id="0393394057-11">[</span><span·class="p"·data-group-id="0393394057-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="0393394057-12">}</span><span·class="p">,</span><span·class="w">
316 ·························</span><span·class="p"·data-group-id="1392548129-13">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1392548129-14">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1392548129-15">(</span><span·class="p[·...·truncated·by·diffoscope;·len:·135,·SHA:·d2a7756dfb92dc8d94ae7884fcab7bb129cfd89df646d196a894a5f4964d13b3·...·]-13">}</span><span·class="p">,</span><span·class="w">316 ·························</span><span·class="p"·data-group-id="0393394057-13">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0393394057-14">[</span><span·class="nf">node</span><span·class="p"·data-group-id="0393394057-15">(</span><span·class="p[·...·truncated·by·diffoscope;·len:·135,·SHA:·77124543e6078b70b3bda4474db2b9cf9506e18398e8ca37f9a7fbf5e5c98944·...·]-13">}</span><span·class="p">,</span><span·class="w">
317 ·························</span><span·class="p"·data-group-id="1392548129-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="1392548129-17">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">317 ·························</span><span·class="p"·data-group-id="0393394057-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="0393394057-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="1392548129-17">)</span><span·class="p"·data-group-id="1392548129-16">}</span><span·class="p"·data-group-id="1392548129-11">]</span><span·class="p"·data-group-id="1392548129-10">)</span><span·class="p">,</span><span·class="w">318 ··················································</span><span·class="ss">httpd_user</span><span·class="p"·data-group-id="0393394057-17">)</span><span·class="p"·data-group-id="0393394057-16">}</span><span·class="p"·data-group-id="0393394057-11">]</span><span·class="p"·data-group-id="0393394057-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="1392548129-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="0393394057-18">(</span><span·class="ss">httpd_group</span><span·class="p">,</span><span·class="w">
320 ························</span><span·class="p"·data-group-id="1392548129-19">[</span><span·class="p"·data-group-id="1392548129-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="1392548129-20">}</span><span·class="p">,</span><span·class="w">320 ························</span><span·class="p"·data-group-id="0393394057-19">[</span><span·class="p"·data-group-id="0393394057-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="0393394057-20">}</span><span·class="p">,</span><span·class="w">
321 ·························</span><span·class="p"·data-group-id="1392548129-21">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1392548129-22">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1392548129-23">(</span><span·class="p[·...·truncated·by·diffoscope;·len:·135,·SHA:·1b17ba94bdc8ba3f769fdb5ae315620d392b25419941b70af7076a489d1c506b·...·]-21">}</span><span·class="p">,</span><span·class="w">321 ·························</span><span·class="p"·data-group-id="0393394057-21">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0393394057-22">[</span><span·class="nf">node</span><span·class="p"·data-group-id="0393394057-23">(</span><span·class="p[·...·truncated·by·diffoscope;·len:·135,·SHA:·db00ddd531825f0062b502bd23d6385ed39bb5b496b67ed929dde5b4d130a64a·...·]-21">}</span><span·class="p">,</span><span·class="w">
322 ·························</span><span·class="p"·data-group-id="1392548129-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="1392548129-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="1392548129-25">)</span><span·class="p"·data-group-id="1392548129-24">}</span><span·class="p"·data-group-id="1392548129-19">]</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·20,·SHA:·7482cd4c85efb89b000d8f31ff2ea12731f0c8afe3480cbb1ddf835d175ffdfb·...·]</span><span·class="p">,</span><span·class="w">322 ·························</span><span·class="p"·data-group-id="0393394057-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="0393394057-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="0393394057-25">)</span><span·class="p"·data-group-id="0393394057-24">}</span><span·class="p"·data-group-id="0393394057-19">]</span><span·class="p"·data-group-id="0393394057-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="1392548129-26">(</span><span·class="p"·data-group-id="1392548129-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="1392548129-27">]</span><span·cl[·...·truncated·by·diffoscope;·len:·110,·SHA:·1391aaf2861206d1578e5c828ec48092c3d1d80abbc8f992875f11abf5252abd·...·]-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="0393394057-26">(</span><span·class="p"·data-group-id="0393394057-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="0393394057-27">]</span><span·cl[·...·truncated·by·diffoscope;·len:·110,·SHA:·19bb3b17e508844cc01da952db444f88fea98041e34bb596862036dcdd98a3b5·...·]-26">)</span><span·class="p">.</span><span·class="w">
  
325 </span><span·class="nf">start</span><span·class="p"·data-group-id="1392548129-28">(</span><span·class="p"·data-group-id="1392548129-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="0393394057-28">(</span><span·class="p"·data-group-id="0393394057-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="1392548129-29">(</span><span·class="p"·data-group-id="1392548129-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="0393394057-29">(</span><span·class="p"·data-group-id="0393394057-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="1392548129-30">(</span><span·class="p"·data-group-id="1392548129-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="1392548129-31">]</span><span·cl[·...·truncated·by·diffoscope;·len:·110,·SHA:·1391aaf2861206d1578e5c828ec48092c3d1d80abbc8f992875f11abf5252abd·...·]-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="0393394057-30">(</span><span·class="p"·data-group-id="0393394057-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="0393394057-31">]</span><span·cl[·...·truncated·by·diffoscope;·len:·110,·SHA:·19bb3b17e508844cc01da952db444f88fea98041e34bb596862036dcdd98a3b5·...·]-30">)</span><span·class="p">.</span></code></pre><p>To·create·the·Mnesia·tables,·we·use·two·records·defined·in·<code·class="inline">mod_auth.hrl</code>,·so
328 that·file·must·be·included.·<code·class="inline">first_start/0</code>·creates·a·schema·that·specifies·on328 that·file·must·be·included.·<code·class="inline">first_start/0</code>·creates·a·schema·that·specifies·on
329 which·nodes·the·database·is·to·reside.·Then·it·starts·Mnesia·and·creates·the329 which·nodes·the·database·is·to·reside.·Then·it·starts·Mnesia·and·creates·the
330 tables.·The·first·argument·is·the·name·of·the·tables,·the·second·argument·is·a330 tables.·The·first·argument·is·the·name·of·the·tables,·the·second·argument·is·a
331 list·of·options·of·how·to·create·the·table,·see·<a·href="../../../../lib/mnesia-4.24/doc/html/mnesia.html"><code·class="inline">mnesia</code></a>,·documentation·for331 list·of·options·of·how·to·create·the·table,·see·<a·href="../../../../lib/mnesia-4.24/doc/html/mnesia.html"><code·class="inline">mnesia</code></a>,·documentation·for
332 more·information.·As·the·implementation·of·the·<code·class="inline">mod_auth_mnesia</code>·saves·one·row332 more·information.·As·the·implementation·of·the·<code·class="inline">mod_auth_mnesia</code>·saves·one·row
333 for·each·user,·the·type·must·be·<code·class="inline">bag</code>.·When·the·schema·and·the·tables·are333 for·each·user,·the·type·must·be·<code·class="inline">bag</code>.·When·the·schema·and·the·tables·are
334 created,·function·<a·href="../../../../lib/mnesia-4.24/doc/html/mnesia.html#start/0"><code·class="inline">mnesia:start/0</code></a>·is·used·to·start·Mnesia·and·waits·for·the334 created,·function·<a·href="../../../../lib/mnesia-4.24/doc/html/mnesia.html#start/0"><code·class="inline">mnesia:start/0</code></a>·is·used·to·start·Mnesia·and·waits·for·the
Offset 481, 15 lines modifiedOffset 481, 15 lines modified
481 ······<p·class="built-using">481 ······<p·class="built-using">
482 ········Built·using482 ········Built·using
483 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the483 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
484 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>484 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
485 ······</p>485 ······</p>
486 <p>Copyright·©·1996-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.4/doc/html/http_uri.html
    
Offset 277, 15 lines modifiedOffset 277, 15 lines modified
277 ······<p·class="built-using">277 ······<p·class="built-using">
278 ········Built·using278 ········Built·using
279 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the279 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
280 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>280 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
281 ······</p>281 ······</p>
282 <p>Copyright·©·1996-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.91 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/httpc.html
    
Offset 1037, 21 lines modifiedOffset 1037, 21 lines modified
1037 options.</p></section><p>By·default·the·socket·options·set·by·function1037 options.</p></section><p>By·default·the·socket·options·set·by·function
1038 <a·href="#set_options/1">set_options/1,2</a>·are·used·when·establishing·a·connection.</p></li><li><p><strong><code·class="inline">receiver</code></strong>·-·Defines·how·the·client·delivers·the·result·of·an·asynchronous1038 <a·href="#set_options/1">set_options/1,2</a>·are·used·when·establishing·a·connection.</p></li><li><p><strong><code·class="inline">receiver</code></strong>·-·Defines·how·the·client·delivers·the·result·of·an·asynchronous
1039 request·(<code·class="inline">sync</code>·has·the·value·<code·class="inline">false</code>).</p><ul><li><p><strong><a·href="../../../../erts-16.0/doc/html/erlang.html#t:pid/0"><code·class="inline">pid/0</code></a></strong>·-·Messages·are·sent·to·this·process·in·the·format1039 request·(<code·class="inline">sync</code>·has·the·value·<code·class="inline">false</code>).</p><ul><li><p><strong><a·href="../../../../erts-16.0/doc/html/erlang.html#t:pid/0"><code·class="inline">pid/0</code></a></strong>·-·Messages·are·sent·to·this·process·in·the·format
1040 <code·class="inline">{http,·ReplyInfo}</code>.</p></li><li><p><strong><a·href="../../../../erts-16.0/doc/html/erlang.html#alias/0"><code·class="inline">alias/0</code></a></strong>·-·Messages·are·sent·to·this·special·reference·in·the·format1040 <code·class="inline">{http,·ReplyInfo}</code>.</p></li><li><p><strong><a·href="../../../../erts-16.0/doc/html/erlang.html#alias/0"><code·class="inline">alias/0</code></a></strong>·-·Messages·are·sent·to·this·special·reference·in·the·format
1041 <code·class="inline">{http,·ReplyInfo}</code>.</p></li><li><p><strong><code·class="inline">function/1</code></strong>·-·Information·is·delivered·to·the·receiver·through·calls·to1041 <code·class="inline">{http,·ReplyInfo}</code>.</p></li><li><p><strong><code·class="inline">function/1</code></strong>·-·Information·is·delivered·to·the·receiver·through·calls·to
1042 the·provided·fun·<code·class="inline">Receiver(ReplyInfo)</code>.</p></li><li><p><strong><code·class="inline">{Module,·Function,·Args}</code></strong>·-·Information·is·delivered·to·the·receiver1042 the·provided·fun·<code·class="inline">Receiver(ReplyInfo)</code>.</p></li><li><p><strong><code·class="inline">{Module,·Function,·Args}</code></strong>·-·Information·is·delivered·to·the·receiver
1043 through·calls·to·the·callback·function1043 through·calls·to·the·callback·function
1044 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(Module,·Function,·[ReplyInfo·|·Args])</code></a>.</p></li></ul><p>In·all·of·these·cases,·<code·class="inline">ReplyInfo</code>·has·the·following·structure:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="p"·data-group-id="2491268952-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="2491268952-1">}</span><span·class="w">1044 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(Module,·Function,·[ReplyInfo·|·Args])</code></a>.</p></li></ul><p>In·all·of·these·cases,·<code·class="inline">ReplyInfo</code>·has·the·following·structure:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="p"·data-group-id="3483384374-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="3483384374-1">}</span><span·class="w">
1045 ·</span><span·class="p"·data-group-id="2491268952-2">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2491268952-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:·431d16bfc5e193705810a770fafea2a6e19d64a4f9a85a50a3479671d43b8158·...·]-2">}</span><span·class="w">1045 ·</span><span·class="p"·data-group-id="3483384374-2">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3483384374-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:·c2d401656bcef92c7a5ec648c9bcfffc283789c28ea65dd2cd975bf37f0c3853·...·]-2">}</span><span·class="w">
1046 ·</span><span·class="p"·data-group-id="2491268952-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="2491268952-4">}</span><span·class="w">1046 ·</span><span·class="p"·data-group-id="3483384374-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="3483384374-4">}</span><span·class="w">
1047 ·</span><span·class="p"·data-group-id="2491268952-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="249126895[·...·truncated·by·diffoscope;·len:·1,·SHA:·d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35·...·]-5">}</span><span·class="w">1047 ·</span><span·class="p"·data-group-id="3483384374-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="348338437[·...·truncated·by·diffoscope;·len:·1,·SHA:·4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a·...·]-5">}</span><span·class="w">
1048 ·</span><span·class="p"·data-group-id="2491268952-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:·126c19856f3728b4207918d025efbba2f761fd66b7caba4df062a4e7867cd579·...·]-6">}</span><span·class="w">1048 ·</span><span·class="p"·data-group-id="3483384374-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:·4bd944be5f38fe59d47ddf6054d4a7f258cd91f11d9f6bd2282f37268b4c3132·...·]-6">}</span><span·class="w">
1049 ·</span><span·class="p"·data-group-id="2491268952-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="2491268952-7">}</span><span·class="w">1049 ·</span><span·class="p"·data-group-id="3483384374-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="3483384374-7">}</span><span·class="w">
1050 ·</span><span·class="p"·data-group-id="2491268952-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="2491268952-8">}</span></code></pre><p>Default·is·the·<code·class="inline">pid</code>·of·the·process·calling·the·request·function·(<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>).</p><p><a·href=""·id="ipv6_host_with_brackets"></a></p></li><li><p><strong><code·class="inline">ipv6_host_with_brackets</code></strong>·-·Defines·when·parsing·the·Host-Port·part·of·an1050 ·</span><span·class="p"·data-group-id="3483384374-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="3483384374-8">}</span></code></pre><p>Default·is·the·<code·class="inline">pid</code>·of·the·process·calling·the·request·function·(<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>).</p><p><a·href=""·id="ipv6_host_with_brackets"></a></p></li><li><p><strong><code·class="inline">ipv6_host_with_brackets</code></strong>·-·Defines·when·parsing·the·Host-Port·part·of·an
1051 URI·with·an·IPv6·address·with·brackets,·if·those·brackets·are·to·be·retained1051 URI·with·an·IPv6·address·with·brackets,·if·those·brackets·are·to·be·retained
1052 (<code·class="inline">true</code>)·or·stripped·(<code·class="inline">false</code>).</p><p>Default·is·<code·class="inline">false</code>.</p></li></ul>1052 (<code·class="inline">true</code>)·or·stripped·(<code·class="inline">false</code>).</p><p>Default·is·<code·class="inline">false</code>.</p></li></ul>
1053 ··</section>1053 ··</section>
1054 </section>1054 </section>
1055 <section·class="detail"·id="reset_cookies/0">1055 <section·class="detail"·id="reset_cookies/0">
  
1056 ··<div·class="detail-header">1056 ··<div·class="detail-header">
Offset 1561, 15 lines modifiedOffset 1561, 15 lines modified
1561 ······<p·class="built-using">1561 ······<p·class="built-using">
1562 ········Built·using1562 ········Built·using
1563 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1563 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1564 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1564 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1565 ······</p>1565 ······</p>
1566 <p>Copyright·©·1996-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.4/doc/html/httpd.html
    
Offset 246, 57 lines modifiedOffset 246, 57 lines modified
246 }</code></pre><p>An·example·of·a·log·entry·with·only·default·settings·of·logger</p><pre><code·class="text">=ERROR·REPORT====·9-Oct-2019::09:33:27.350235·===246 }</code></pre><p>An·example·of·a·log·entry·with·only·default·settings·of·logger</p><pre><code·class="text">=ERROR·REPORT====·9-Oct-2019::09:33:27.350235·===
247 ···Server:·My·Server247 ···Server:·My·Server
248 ·Protocol:·HTTP248 ·Protocol:·HTTP
249 Transport:·TLS249 Transport:·TLS
250 ······URI:·/not_there250 ······URI:·/not_there
251 ·····Host:·127.0.1.1:80251 ·····Host:·127.0.1.1:80
252 ·····Peer:·127.0.0.1:45253252 ·····Peer:·127.0.0.1:45253
253 ···Reason:·[{statuscode,404},{description,&quot;Object·Not·Found&quot;}]</code></pre><p>Using·this·option·makes·mod_log·and·mod_disk_log·error·logs·redundant.</p><p>Add·the·filter</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1048323398-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="5602221704-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="1048323398-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="1048323398-3">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="ss">inets</sp[·...·truncated·by·diffoscope;·len:·330,·SHA:·ba3534816d02d967f43da46b42dc04a7d2f4d58317846db914aef41096f6e94a·...·]-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="5602221704-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="5602221704-3">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="ss">inets</sp[·...·truncated·by·diffoscope;·len:·330,·SHA:·72e7f7337b5551bb7eeca1b7f7a13beb3c6a20da79e80b7b1bccc01043e4fb23·...·]-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="6785248531-1">[</span><span·class="p"·data-group-id="6785248531-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="5905759620-1">[</span><span·class="p"·data-group-id="5905759620-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
257 ·</span><span·class="p"·data-group-id="6785248531-3">[</span><span·class="p"·data-group-id="6785248531-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">257 ·</span><span·class="p"·data-group-id="5905759620-3">[</span><span·class="p"·data-group-id="5905759620-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
258 ··</span><span·class="p"·data-group-id="6785248531-5">[</span><span·class="p"·data-group-id="6785248531-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="5905759620-5">[</span><span·class="p"·data-group-id="5905759620-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="6785248531-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="6785248531-8">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·173,·SHA:·deb050bdf7fcb245d092e09fcc806c247c5257b2e2d6810b24f4967f4e6adb75·...·]-8">}</span><span·class="p">,</span><span·class="w">259 ····</span><span·class="p"·data-group-id="5905759620-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="5905759620-8">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·173,·SHA:·dedbc355afdb4fd0c0e105fff8ff18fadf2e5be070fbe6967b5f46c9aa6a169d·...·]-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="6785248531-9">[</span><span·class="p"·data-group-id="6785248531-10">{</span><span·class="ss">inets_httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6785248531-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="5905759620-9">[</span><span·class="p"·data-group-id="5905759620-10">{</span><span·class="ss">inets_httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5905759620-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="6785248531-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="5905759620-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="6785248531-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:·e6adfd45c846a919cf1c087bfc6a38b96990824f31e80c7b3c0624525ae9bb40·...·]-13">]</span><span·class="w">262 ··································</span><span·class="p"·data-group-id="5905759620-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:·17e78a27d487dd39ff738d42cc90d9c0dcd6e18f812d4f05e188fdba3cc82945·...·]-13">]</span><span·class="w">
263 ·································</span><span·class="p"·data-group-id="6785248531-12">}</span><span·class="p"·data-group-id="6785248531-11">}</span><span·class="p"·data-group-id="6785248531-10">}</span><span·class="p"·data-group-id="6785248531-9">]</span><span·class="p">,</span><span·class="w">263 ·································</span><span·class="p"·data-group-id="5905759620-12">}</span><span·class="p"·data-group-id="5905759620-11">}</span><span·class="p"·data-group-id="5905759620-10">}</span><span·class="p"·data-group-id="5905759620-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="6785248531-7">}</span><span·class="p"·data-group-id="6785248531-6">}</span><span·class="p"·data-group-id="6785248531-5">]</span><span·class="p"·data-group-id="6785248531-4">}</span><span·class="p"·data-group-id="6785248531-3">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·371,·SHA:·03b72ad41c04aa2a7f24c85c4dbf3a5cd80d6ddeae69fd37cea2c703dca4d120·...·]-1">(</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">264 ······</span><span·class="ss">filter_default</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">stop</span><span·class="w">·</span><span·class="p"·data-group-id="5905759620-7">}</span><span·class="p"·data-group-id="5905759620-6">}</span><span·class="p"·data-group-id="5905759620-5">]</span><span·class="p"·data-group-id="5905759620-4">}</span><span·class="p"·data-group-id="5905759620-3">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·371,·SHA:·0e7bae1e9e433ff991ad6fc68f82036420a002c6336db43e27b3b1b54859e072·...·]-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="0485756767-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="7370005038-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="0485756767-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="7370005038-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="0485756767-4">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·305,·SHA:·2fbc83a9d6fffcf634f1e1dad2f23cd081392d786cf793c23cb22dab0623061d·...·]-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="7370005038-4">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·305,·SHA:·0a3c4f877575cdf405eb3e555fd38ac15332c0e8bde1ad409c0dca8dabb9fc2a·...·]-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="0556137325-1">(</span><span·class="s">&quot;[</span><span·class="si">~s</span><span·class="s">]·</span><span·class="si">~s</span><span·class="s">,·reason:·</span><span·class="si">~n</span><span·class="s">·</span><span·class="si">~p</span><span·class="s">·<[·...·truncated·by·diffoscope;·len:·1381,·SHA:·b9bb4ace9573cc76b90bedf942dc456f1327d8a5b285f54f4b3b3fc4fad310d3·...·]-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="9247650354-1">(</span><span·class="s">&quot;[</span><span·class="si">~s</span><span·class="s">]·</span><span·class="si">~s</span><span·class="s">,·reason:·</span><span·class="si">~n</span><span·class="s">·</span><span·class="si">~p</span><span·class="s">·<[·...·truncated·by·diffoscope;·len:·1381,·SHA:·350422c49426b26490eb4fa9332897e0fd3c9bc3450f07c4533cc7853f8a2944·...·]-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="0549924779-1">{</span><span·class="ss">alias</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0549924779-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:·192e8abbdfc15a115a2d6ff99e97754b391e59ba3e75bac2be2878768da5d7ae·...·]-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="4746208684-1">{</span><span·class="ss">alias</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4746208684-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:·21f19e3d9f8de3c00425bfa9cb2919b4cf8f90c70b01673d7ba09611385d4012·...·]-1">}</span></code></pre><p>Access·to·<a·href="http://your.server.org/image/foo.gif">http://your.server.org/image/foo.gif</a>·would·refer·to·the·file
288 /ftp/pub/image/foo.gif.</p></li><li><p><a·href=""·id="prop_re_write"></a>·<strong><code·class="inline">{re_write,·{Re,·Replacement}}</code></strong><br/><code·class="inline">Re·=·string()</code>·and·<code·class="inline">Replacement·=·string()</code>.·<code·class="inline">re_write</code>·allows·documents·to288 /ftp/pub/image/foo.gif.</p></li><li><p><a·href=""·id="prop_re_write"></a>·<strong><code·class="inline">{re_write,·{Re,·Replacement}}</code></strong><br/><code·class="inline">Re·=·string()</code>·and·<code·class="inline">Replacement·=·string()</code>.·<code·class="inline">re_write</code>·allows·documents·to
289 be·stored·in·the·local·file·system·instead·of·the·<code·class="inline">document_root</code>·location.289 be·stored·in·the·local·file·system·instead·of·the·<code·class="inline">document_root</code>·location.
290 URLs·are·rewritten·by·<a·href="../../../../lib/stdlib-7.0/doc/html/re.html#replace/3"><code·class="inline">re:replace/3</code></a>·to·produce·a·path·in·the·local290 URLs·are·rewritten·by·<a·href="../../../../lib/stdlib-7.0/doc/html/re.html#replace/3"><code·class="inline">re:replace/3</code></a>·to·produce·a·path·in·the·local
291 file-system,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9159950465-1">{</span><span·class="ss">re_write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9159950465-2">{</span><span·class="s">&quot;^/[~]([^/]+)(.*)$&quot;</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·147,·SHA:·90451f33d7613e1d6d956d649ba6d1f73ff29de6f4d113b9d69a499f539d2031·...·]-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="8976553819-1">{</span><span·class="ss">re_write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8976553819-2">{</span><span·class="s">&quot;^/[~]([^/]+)(.*)$&quot;</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·147,·SHA:·060e2541537ce4d9c6df6e07177df47e78c1b80f8ef3e94859e0e6cb5c83dff9·...·]-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="9719192190-1">{</span><span·class="ss">directory_index</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9719192190-2">[</span><span·class="s">&quot;index.html&quot;</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·140,·SHA:·82c0830a505e88a251c21d71e5b5c1c19c5b817796ddd812ec38388a6c52a95d·...·]-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="2713976461-1">{</span><span·class="ss">directory_index</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2713976461-2">[</span><span·class="s">&quot;index.html&quot;</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·140,·SHA:·401188977a560b392bd0c117d67738af5ce6d8b6ca53f9038aad412b5b79abf6·...·]-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="4118137623-1">{</span><span·class="ss">script</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4118137623-2">{</span><span·class="s">&quot;PUT&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·124,·SHA:·921a727de77668d3b5bb7bfdaa25758ec70bcafc25d70c67068fa8fc49f3e777·...·]-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="1243040009-1">{</span><span·class="ss">script</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1243040009-2">{</span><span·class="s">&quot;PUT&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·124,·SHA:·199c6ad3f46e9e6e39375ca1e977b0992abe72b1892c2cc7c262bf14343f4bc0·...·]-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="4235696883-1">{</span><span·class="ss">erl_script_alias</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4235696883-2">{</span><span·class="s">&quot;/cgi-bin/example&quot;</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·243,·SHA:·bb657a3f5ece274ebde38b42377b9ac38d9f96fe904fd069f3602ee156b31599·...·]-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="9924407316-1">{</span><span·class="ss">erl_script_alias</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9924407316-2">{</span><span·class="s">&quot;/cgi-bin/example&quot;</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·243,·SHA:·eefabbae572b0c220b09482a1779c7dd06e658cc1a0eff9f53f384e54c721b79·...·]-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="3360708346-1">{</span><span·class="ss">directory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3360708346-2">{</span><span·class="nf">path</span><span·class="p"·data-group-id="3360708346-3">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·1509,·SHA:·af88bd7bbe293e05ff617f4f78a2b138eb558fc9373c63ba54701bab03e3ba22·...·]4-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="7612020933-1">{</span><span·class="ss">directory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7612020933-2">{</span><span·class="nf">path</span><span·class="p"·data-group-id="7612020933-3">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·1509,·SHA:·1d2a97bea60951a434b3b1600bc81882c35a6eaf777f7f509f270afb453ce556·...·]4-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="5851319852-1">{</span><span·class="ss">security_directory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5851319852-2">{</span><span·class="nf">path</span><span·class="p"·data-group-id="5851319852-3">(</span><span·clas[·...·truncated·by·diffoscope;·len:·717,·SHA:·b4ad217dee679f00baaedba5f45f4bec898a5229501c4750c9c61bc0bc767efd·...·]-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="8022841091-1">{</span><span·class="ss">security_directory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8022841091-2">{</span><span·class="nf">path</span><span·class="p"·data-group-id="8022841091-3">(</span><span·clas[·...·truncated·by·diffoscope;·len:·717,·SHA:·6694f844f4a6ae531dd5c6b137c8172951de3927022b6537acf9fb8c3e68ea52·...·]-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="4566143406-1">{</span><span·class="p"·data-group-id="4566143406-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="6761171017-1">{</span><span·class="p"·data-group-id="6761171017-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="4566143406-2">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4566143406-3">{</span><span·class="w">435 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6761171017-2">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6761171017-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="4566143406-4">[</span><span·class="p"·data-group-id="4566143406-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="6761171017-4">[</span><span·class="p"·data-group-id="6761171017-4">]</span><span·class="p">,</span><span·class="w">
437 ····</span><span·class="ss">socket_type</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">ip_comm</span><span·class="p">,</span><span·class="w">437 ····</span><span·class="ss">socket_type</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">ip_comm</span><span·class="p">,</span><span·class="w">
438 ····</span><span·class="ss">socket</span><span·class="p">,</span><span·class="w">438 ····</span><span·class="ss">socket</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 4530/50184 bytes (9.03%) of diff not shown.
681 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/httpd_custom_api.html
    
Offset 309, 15 lines modifiedOffset 309, 15 lines modified
309 ······<p·class="built-using">309 ······<p·class="built-using">
310 ········Built·using310 ········Built·using
311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
313 ······</p>313 ······</p>
314 <p>Copyright·©·1996-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.4/doc/html/httpd_socket.html
    
Offset 311, 15 lines modifiedOffset 311, 15 lines modified
311 ······<p·class="built-using">311 ······<p·class="built-using">
312 ········Built·using312 ········Built·using
313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
315 ······</p>315 ······</p>
316 <p>Copyright·©·1996-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.4/doc/html/httpd_util.html
    
Offset 949, 15 lines modifiedOffset 949, 15 lines modified
949 ······<p·class="built-using">949 ······<p·class="built-using">
950 ········Built·using950 ········Built·using
951 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the951 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
952 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>952 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
953 ······</p>953 ······</p>
954 <p>Copyright·©·1996-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
290 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/inets.epub
4.03 KB
zipinfo {}
Max HTML report size reached
133 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
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
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/inets.html
    
Offset 653, 15 lines modifiedOffset 653, 15 lines modified
653 ······<p·class="built-using">653 ······<p·class="built-using">
654 ········Built·using654 ········Built·using
655 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the655 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
656 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>656 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
657 ······</p>657 ······</p>
658 <p>Copyright·©·1996-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.4/doc/html/inets_services.html
    
Offset 137, 15 lines modifiedOffset 137, 15 lines modified
137 takeover,·configure·the·services·to·be·started·at·application·startup.·When137 takeover,·configure·the·services·to·be·started·at·application·startup.·When
138 starting·the·<code·class="inline">Inets</code>·application,·the·<code·class="inline">Inets</code>·top·supervisor·starts·a·number·of138 starting·the·<code·class="inline">Inets</code>·application,·the·<code·class="inline">Inets</code>·top·supervisor·starts·a·number·of
139 subsupervisors·and·worker·processes·for·handling·the·provided·services.·When139 subsupervisors·and·worker·processes·for·handling·the·provided·services.·When
140 starting·services·dynamically,·new·children·are·added·to·the·supervision·tree,140 starting·services·dynamically,·new·children·are·added·to·the·supervision·tree,
141 unless·the·service·is·started·with·the·standalone·option.·In·this·case·the141 unless·the·service·is·started·with·the·standalone·option.·In·this·case·the
142 service·is·linked·to·the·calling·process·and·all·OTP·application·features,·such142 service·is·linked·to·the·calling·process·and·all·OTP·application·features,·such
143 as·soft·upgrade,·are·lost.</p><p>Services·to·be·configured·for·startup·at·application·startup·are·to·be·put·into143 as·soft·upgrade,·are·lost.</p><p>Services·to·be·configured·for·startup·at·application·startup·are·to·be·put·into
144 the·Erlang·node·configuration·file·on·the·following·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4351723957-1">[</span><span·class="p"·data-group-id="4351723957-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4351723957-3">[</span><span·class="p"·data-group-id="4351723957-4">{</spa[·...·truncated·by·diffoscope;·len:·329,·SHA:·d23d88e37cf6fb94c25b0cfcdeae26d9b9fa9aa4643f6e354391334031e097a1·...·]-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="1951828452-1">[</span><span·class="p"·data-group-id="1951828452-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1951828452-3">[</span><span·class="p"·data-group-id="1951828452-4">{</spa[·...·truncated·by·diffoscope;·len:·329,·SHA:·0d9f8bfc2a2a0822b7773e8c16d742641264170be00c09b52c01e869bd8c00c9·...·]-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.52 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/introduction.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ······<p·class="built-using">186 ······<p·class="built-using">
187 ········Built·using187 ········Built·using
188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
190 ······</p>190 ······</p>
191 <p>Copyright·©·1996-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.4/doc/html/mod_alias.html
    
Offset 401, 15 lines modifiedOffset 401, 15 lines modified
401 ······<p·class="built-using">401 ······<p·class="built-using">
402 ········Built·using402 ········Built·using
403 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the403 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
404 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>404 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
405 ······</p>405 ······</p>
406 <p>Copyright·©·1996-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.59 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/mod_auth.html
    
Offset 1625, 15 lines modifiedOffset 1625, 15 lines modified
1625 ······<p·class="built-using">1625 ······<p·class="built-using">
1626 ········Built·using1626 ········Built·using
1627 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1627 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1628 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1628 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1629 ······</p>1629 ······</p>
1630 <p>Copyright·©·1996-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.56 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/mod_esi.html
    
Offset 445, 15 lines modifiedOffset 445, 15 lines modified
445 ······<p·class="built-using">445 ······<p·class="built-using">
446 ········Built·using446 ········Built·using
447 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the447 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
448 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>448 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
449 ······</p>449 ······</p>
450 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>450 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
451 ····</footer>451 ····</footer>
452 ··</div>452 ··</div>
453 </main>453 </main>
454 </div>454 </div>
455 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>455 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
456 ··<script>456 ··<script>
457 ··let·initialized·=·false;457 ··let·initialized·=·false;
769 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/mod_security.html
    
Offset 767, 15 lines modifiedOffset 767, 15 lines modified
767 ······<p·class="built-using">767 ······<p·class="built-using">
768 ········Built·using768 ········Built·using
769 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the769 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
770 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>770 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
771 ······</p>771 ······</p>
772 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/notes.html
    
Offset 2509, 15 lines modifiedOffset 2509, 15 lines modified
2509 ······<p·class="built-using">2509 ······<p·class="built-using">
2510 ········Built·using2510 ········Built·using
2511 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2511 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2512 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2512 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2513 ······</p>2513 ······</p>
2514 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2514 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2515 ····</footer>2515 ····</footer>
2516 ··</div>2516 ··</div>
2517 </main>2517 </main>
2518 </div>2518 </div>
2519 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2519 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2520 ··<script>2520 ··<script>
2521 ··let·initialized·=·false;2521 ··let·initialized·=·false;
656 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.41 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/404.html
    
Offset 127, 15 lines modifiedOffset 127, 15 lines modified
127 ······<p·class="built-using">127 ······<p·class="built-using">
128 ········Built·using128 ········Built·using
129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
131 ······</p>131 ······</p>
132 <p>Copyright·©·1996-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.15/doc/html/assets/java/allclasses-index.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="class·index">9 <meta·name="description"·content="class·index">
10 <meta·name="generator"·content="javadoc/AllClassesIndexWriter">10 <meta·name="generator"·content="javadoc/AllClassesIndexWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.15 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/allpackages-index.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="package·index">9 <meta·name="description"·content="package·index">
10 <meta·name="generator"·content="javadoc/AllPackagesIndexWriter">10 <meta·name="generator"·content="javadoc/AllPackagesIndexWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/AbstractConnection.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·AbstractConnection">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·AbstractConnection">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/AbstractNode.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·AbstractNode">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·AbstractNode">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/GenericQueue.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·GenericQueue">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·GenericQueue">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.31 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpAuthException.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpAuthException">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpAuthException">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpConnection.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpConnection">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpConnection">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpCookedConnection.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpCookedConnection">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpCookedConnection">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.27 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpEpmd.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpEpmd">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpEpmd">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangAtom.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangAtom">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangAtom">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangBinary.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangBinary">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangBinary">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangBitstr.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangBitstr">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangBitstr">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.31 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangBoolean.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangBoolean">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangBoolean">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangByte.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangByte">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangByte">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangChar.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangChar">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangChar">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.34 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangDecodeException.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangDecodeException">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangDecodeException">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangDouble.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangDouble">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangDouble">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangException.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangException">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangException">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangExit.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangExit">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangExit">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangExternalFun.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangExternalFun">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangExternalFun">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangFloat.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangFloat">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangFloat">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangFun.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangFun">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangFun">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangInt.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangInt">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangInt">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.33 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangList.SubList.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangList,·class:·SubList">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangList,·class:·SubList">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangList.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangList">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangList">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangLong.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangLong">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangLong">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangMap.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangMap">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangMap">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.33 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangObject.Hash.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangObject,·class:·Hash">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangObject,·class:·Hash">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangObject.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangObject">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangObject">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangPid.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangPid">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangPid">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangPort.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangPort">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangPort">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.33 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangRangeException.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangRangeException">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangRangeException">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangRef.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangRef">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangRef">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangShort.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangShort">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangShort">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangString.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangString">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangString">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangTuple.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangTuple">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangTuple">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangUInt.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangUInt">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangUInt">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangUShort.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangUShort">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangUShort">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpException.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpException">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpException">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpExternal.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpExternal">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpExternal">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.35 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpGenericTransportFactory.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpGenericTransportFactory">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpGenericTransportFactory">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpInputStream.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpInputStream">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpInputStream">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpLocalNode.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpLocalNode">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpLocalNode">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.27 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpMbox.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpMbox">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpMbox">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.27 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpMsg.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpMsg">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpMsg">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpNode.Acceptor.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNode,·class:·Acceptor">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNode,·class:·Acceptor">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpNode.Mailboxes.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNode,·class:·Mailboxes">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNode,·class:·Mailboxes">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.27 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpNode.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNode">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNode">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpNodeStatus.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNodeStatus">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNodeStatus">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpOutputStream.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpOutputStream">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpOutputStream">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.27 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpPeer.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpPeer">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpPeer">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.27 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpSelf.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpSelf">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpSelf">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.28 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpServer.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpServer">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpServer">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.34 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpServerSocketTransport.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpServerSocketTransport">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpServerSocketTransport">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpServerTransport.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·interface:·OtpServerTransport">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·interface:·OtpServerTransport">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpSocketTransport.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpSocketTransport">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpSocketTransport">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.34 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpSocketTransportFactory.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpSocketTransportFactory">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpSocketTransportFactory">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpTransport.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·interface:·OtpTransport">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·interface:·OtpTransport">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpTransportFactory.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·interface:·OtpTransportFactory">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·interface:·OtpTransportFactory">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/package-summary.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang">
10 <meta·name="generator"·content="javadoc/PackageWriterImpl">10 <meta·name="generator"·content="javadoc/PackageWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/package-tree.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="tree:·package:·com.ericsson.otp.erlang">9 <meta·name="description"·content="tree:·package:·com.ericsson.otp.erlang">
10 <meta·name="generator"·content="javadoc/PackageTreeWriter">10 <meta·name="generator"·content="javadoc/PackageTreeWriter">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.17 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/constant-values.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="summary·of·constants">9 <meta·name="description"·content="summary·of·constants">
10 <meta·name="generator"·content="javadoc/ConstantsSummaryWriterImpl">10 <meta·name="generator"·content="javadoc/ConstantsSummaryWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.15 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/deprecated-list.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="deprecated·elements">9 <meta·name="description"·content="deprecated·elements">
10 <meta·name="generator"·content="javadoc/DeprecatedListWriter">10 <meta·name="generator"·content="javadoc/DeprecatedListWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.11 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/help-doc.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="help">9 <meta·name="description"·content="help">
10 <meta·name="generator"·content="javadoc/HelpWriter">10 <meta·name="generator"·content="javadoc/HelpWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.11 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/index-all.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="index">9 <meta·name="description"·content="index">
10 <meta·name="generator"·content="javadoc/IndexWriter">10 <meta·name="generator"·content="javadoc/IndexWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.09 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/index.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="index·redirect">9 <meta·name="description"·content="index·redirect">
10 <meta·name="generator"·content="javadoc/IndexRedirectWriter">10 <meta·name="generator"·content="javadoc/IndexRedirectWriter">
11 <link·rel="canonical"·href="com/ericsson/otp/erlang/package-summary.html">11 <link·rel="canonical"·href="com/ericsson/otp/erlang/package-summary.html">
12 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
13 <script·type="text/javascript">window.location.replace('com/ericsson/otp/erlang/package-summary.html')</script>13 <script·type="text/javascript">window.location.replace('com/ericsson/otp/erlang/package-summary.html')</script>
14 <noscript>14 <noscript>
15 <meta·http-equiv="Refresh"·content="0;com/ericsson/otp/erlang/package-summary.html">15 <meta·http-equiv="Refresh"·content="0;com/ericsson/otp/erlang/package-summary.html">
1.13 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/overview-tree.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="class·tree">9 <meta·name="description"·content="class·tree">
10 <meta·name="generator"·content="javadoc/TreeWriter">10 <meta·name="generator"·content="javadoc/TreeWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.11 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/search.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="search">9 <meta·name="description"·content="search">
10 <meta·name="generator"·content="javadoc/SearchWriter">10 <meta·name="generator"·content="javadoc/SearchWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.16 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/serialized-form.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Wed·Jul·08·08:35:41·GMT·2026·-->4 <!--·Generated·by·javadoc·(21)·on·Thu·Jun·05·02:28:48·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-08">8 <meta·name="dc.created"·content="2025-06-05">
9 <meta·name="description"·content="serialized·forms">9 <meta·name="description"·content="serialized·forms">
10 <meta·name="generator"·content="javadoc/SerializedFormWriterImpl">10 <meta·name="generator"·content="javadoc/SerializedFormWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.48 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/jinterface_users_guide.html
    
Offset 418, 15 lines modifiedOffset 418, 15 lines modified
418 ······<p·class="built-using">418 ······<p·class="built-using">
419 ········Built·using419 ········Built·using
420 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the420 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
421 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>421 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
422 ······</p>422 ······</p>
423 <p>Copyright·©·1996-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.15/doc/html/notes.html
    
Offset 842, 15 lines modifiedOffset 842, 15 lines modified
842 ······<p·class="built-using">842 ······<p·class="built-using">
843 ········Built·using843 ········Built·using
844 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the844 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
845 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>845 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
846 ······</p>846 ······</p>
847 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>847 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
848 ····</footer>848 ····</footer>
849 ··</div>849 ··</div>
850 </main>850 </main>
851 </div>851 </div>
852 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>852 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
853 ··<script>853 ··<script>
854 ··let·initialized·=·false;854 ··let·initialized·=·false;
650 B
html2text {}
Max HTML report size reached
1.23 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/search.html
    
Offset 127, 15 lines modifiedOffset 127, 15 lines modified
127 ······<p·class="built-using">127 ······<p·class="built-using">
128 ········Built·using128 ········Built·using
129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
131 ······</p>131 ······</p>
132 <p>Copyright·©·1996-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;
419 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.3/doc/html/api-reference.html
    
Offset 499, 15 lines modifiedOffset 499, 15 lines modified
499 ······<p·class="built-using">499 ······<p·class="built-using">
500 ········Built·using500 ········Built·using
501 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the501 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
502 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>502 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
503 ······</p>503 ······</p>
504 <p>Copyright·©·1996-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;
606 B
html2text {}
Max HTML report size reached
27.6 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/app.html
    
Offset 140, 49 lines modifiedOffset 140, 49 lines modified
140 ····<i·class="ri-link-m"·aria-hidden="true"></i>140 ····<i·class="ri-link-m"·aria-hidden="true"></i>
141 ··</a>141 ··</a>
142 ··<span·class="text">File·Syntax</span>142 ··<span·class="text">File·Syntax</span>
143 </h2>143 </h2>
144 <p>The·application·resource·file·is·to·be·called·<code·class="inline">Application.app</code>,·where144 <p>The·application·resource·file·is·to·be·called·<code·class="inline">Application.app</code>,·where
145 <code·class="inline">Application</code>·is·the·application·name.·The·file·is·to·be·located·in·directory145 <code·class="inline">Application</code>·is·the·application·name.·The·file·is·to·be·located·in·directory
146 <code·class="inline">ebin</code>·for·the·application.</p><p>The·file·must·contain·a·single·Erlang·term,·which·is·called·an·<em>application146 <code·class="inline">ebin</code>·for·the·application.</p><p>The·file·must·contain·a·single·Erlang·term,·which·is·called·an·<em>application
147 specification</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3556430882-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="9096719033-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="3556430882-2">[</span><span·class="p"·data-group-id="3556430882-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="3556430882-3">}</span><span·class="p">,</span><span·class="w">148 ··</span><span·class="p"·data-group-id="9096719033-2">[</span><span·class="p"·data-group-id="9096719033-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="9096719033-3">}</span><span·class="p">,</span><span·class="w">
149 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-4">}</span><span·class="p">,</span><span·class="w">149 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-4">}</span><span·class="p">,</span><span·class="w">
150 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-5">}</span><span·class="p">,</span><span·class="w">150 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-5">}</span><span·class="p">,</span><span·class="w">
151 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-6">}</span><span·class="p">,</span><span·class="w">151 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-6">}</span><span·class="p">,</span><span·class="w">
152 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-7">}</span><span·class="p">,</span><span·class="w">152 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-7">}</span><span·class="p">,</span><span·class="w">
153 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-8">}</span><span·class="p">,</span><span·class="w">153 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-8">}</span><span·class="p">,</span><span·class="w">
154 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-9">}</span><span·class="p">,</span><span·class="w">154 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-9">}</span><span·class="p">,</span><span·class="w">
155 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-10">}</span><span·class="p">,</span><span·class="w">155 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-10">}</span><span·class="p">,</span><span·class="w">
156 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-11">}</span><span·class="p">,</span><span·class="w">156 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-11">}</span><span·class="p">,</span><span·class="w">
157 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-12">}</span><span·class="p">,</span><span·class="w">157 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-12">}</span><span·class="p">,</span><span·class="w">
158 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-13">}</span><span·class="p">,</span><span·class="w">158 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-13">}</span><span·class="p">,</span><span·class="w">
159 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-14">}</span><span·class="p">,</span><span·class="w">159 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-14">}</span><span·class="p">,</span><span·class="w">
160 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-15">}</span><span·class="p">,</span><span·class="w">160 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-15">}</span><span·class="p">,</span><span·class="w">
161 ···</span><span·class="p"·data-group-id="3556430882-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="3556430882-16">}</span><span·class="p"·data-group-id="3556430882-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·f0a9730991c6b34a5d066be731a5ba66f0cb647a0f317b10117a8c667181e11e·...·]-1">}</span><span·class="p">.</span><span·class="w">161 ···</span><span·class="p"·data-group-id="9096719033-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="9096719033-16">}</span><span·class="p"·data-group-id="9096719033-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·dd4b04165b5cdd65b5443b541aef12c2f3301b37fc839b3480a444859d546917·...·]-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="3556430882-17">(</span><span·class="p"·data-group-id="3556430882-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="9096719033-17">(</span><span·class="p"·data-group-id="9096719033-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="3556430882-18">(</span><span·class="p"·data-group-id="3556430882-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="9096719033-18">(</span><span·class="p"·data-group-id="9096719033-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="3556430882-19">(</span><span·class="p"·data-group-id="3556430882-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="9096719033-19">(</span><span·class="p"·data-group-id="9096719033-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="3556430882-20">(</span><span·class="p"·data-group-id="3556430882-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="9096719033-20">(</span><span·class="p"·data-group-id="9096719033-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="3556430882-21">[</span><span·class="n">Module</span><span·class="p"·data-group-id="3556430882-21">]</span><span·class="w">·············</span><span·class="p"·data-group-id="3556430882-22">[</span><span·class="p"·data-group-id="3556430882-22">]</span><span·class="w">168 </span><span·class="n">Modules</span><span·class="w">······</span><span·class="p"·data-group-id="9096719033-21">[</span><span·class="n">Module</span><span·class="p"·data-group-id="9096719033-21">]</span><span·class="w">·············</span><span·class="p"·data-group-id="9096719033-22">[</span><span·class="p"·data-group-id="9096719033-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="3556430882-23">(</span><span·class="p"·data-group-id="3556430882-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="9096719033-23">(</span><span·class="p"·data-group-id="9096719033-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="3556430882-24">(</span><span·class="p"·data-group-id="3556430882-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="9096719033-24">(</span><span·class="p"·data-group-id="9096719033-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="3556430882-25">[</span><span·class="n">Name</span><span·class="p"·data-group-id="3556430882-25">]</span><span·class="w">···············</span><span·class="p"·data-group-id="3556430882-26">[</span><span·class="p"·data-group-id="3556430882-26">]</span><span·class="w">171 </span><span·class="n">Names</span><span·class="w">········</span><span·class="p"·data-group-id="9096719033-25">[</span><span·class="n">Name</span><span·class="p"·data-group-id="9096719033-25">]</span><span·class="w">···············</span><span·class="p"·data-group-id="9096719033-26">[</span><span·class="p"·data-group-id="9096719033-26">]</span><span·class="w">
172 </span><span·class="n">Apps</span><span·class="w">·········</span><span·class="p"·data-group-id="3556430882-27">[</span><span·class="n">App</span><span·class="p"·data-group-id="3556430882-27">]</span><span·class="w">················</span><span·class="p"·data-group-id="3556430882-28">[</span><span·class="p"·data-group-id="3556430882-28">]</span><span·class="w">172 </span><span·class="n">Apps</span><span·class="w">·········</span><span·class="p"·data-group-id="9096719033-27">[</span><span·class="n">App</span><span·class="p"·data-group-id="9096719033-27">]</span><span·class="w">················</span><span·class="p"·data-group-id="9096719033-28">[</span><span·class="p"·data-group-id="9096719033-28">]</span><span·class="w">
173 </span><span·class="n">Env</span><span·class="w">··········</span><span·class="p"·data-group-id="3556430882-29">[</span><span·class="p"·data-group-id="3556430882-30">{</span><span·class="n">Par</span><span·class="p">,</span><span·class="n">Val</span><span·class="p"·data-group-id="3556430882-30">}</span><span·class="p"·data-group-id="3556430882-29">]</[·...·truncated·by·diffoscope;·len:·133,·SHA:·2269a70a5679c0072309d776531bcedfd79d78745579c2dd4fde0387a434774d·...·]-31">]</span><span·class="w">173 </span><span·class="n">Env</span><span·class="w">··········</span><span·class="p"·data-group-id="9096719033-29">[</span><span·class="p"·data-group-id="9096719033-30">{</span><span·class="n">Par</span><span·class="p">,</span><span·class="n">Val</span><span·class="p"·data-group-id="9096719033-30">}</span><span·class="p"·data-group-id="9096719033-29">]</[·...·truncated·by·diffoscope;·len:·133,·SHA:·25f8ed5c8e77914de298c3c9f49a21d4d0fb651801552f9e603ffb4be909c50a·...·]-31">]</span><span·class="w">
174 </span><span·class="n">Start</span><span·class="w">········</span><span·class="p"·data-group-id="3556430882-32">{</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">StartArgs</span><span·class="p"·data-group-id="3556430882-32">}</span><span·class="w">···</span><span·class="p"·data-group-id="3556430882-33">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·eb1068a8e470eebe30753395549110ac3c1a43b4281ead059d650974600df46e·...·]-33">]</span><span·class="w">174 </span><span·class="n">Start</span><span·class="w">········</span><span·class="p"·data-group-id="9096719033-32">{</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">StartArgs</span><span·class="p"·data-group-id="9096719033-32">}</span><span·class="w">···</span><span·class="p"·data-group-id="9096719033-33">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·518311ba5df310174ab3dc2f53f5609285eb54560d39259906d01d43330751c0·...·]-33">]</span><span·class="w">
175 </span><span·class="n">Phases</span><span·class="w">·······</span><span·class="p"·data-group-id="3556430882-34">[</span><span·class="p"·data-group-id="3556430882-35">{</span><span·class="n">Phase</span><span·class="p">,</span><span·class="n">PhaseArgs</span><span·class="p"·data-group-id="3556430882-35">}</span><span·class="p"·data-group-id="3556430882-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="9096719033-34">[</span><span·class="p"·data-group-id="9096719033-35">{</span><span·class="n">Phase</span><span·class="p">,</span><span·class="n">PhaseArgs</span><span·class="p"·data-group-id="9096719033-35">}</span><span·class="p"·data-group-id="9096719033-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="3556430882-36">[</span><span·class="n">ApplicationVersion</span><span·class="p"·data-group-id="3556430882-36">]</span><span·class="w">·</span><span·class="p"·data-group-id="3556430882-37">[</span><span·class="p"·data-group-id="3556430882-37">]</span><span·class="w">176 </span><span·class="n">RTDeps</span><span·class="w">·······</span><span·class="p"·data-group-id="9096719033-36">[</span><span·class="n">ApplicationVersion</span><span·class="p"·data-group-id="9096719033-36">]</span><span·class="w">·</span><span·class="p"·data-group-id="9096719033-37">[</span><span·class="p"·data-group-id="9096719033-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="3556430882-38">(</span><span·class="p"·data-group-id="3556430882-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="9096719033-38">(</span><span·class="p"·data-group-id="9096719033-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="3556430882-39">(</span><span·class="p"·data-group-id="3556430882-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="9096719033-39">(</span><span·class="p"·data-group-id="9096719033-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="3556430882-40">(</span><span·class="p"·data-group-id="3556430882-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="9096719033-40">(</span><span·class="p"·data-group-id="9096719033-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="8765551834-1">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8765551834-2">{</span><span·class="ss">application_starter</span><span·class="p">,</span><span·class="p"·data-group-id="87655518[·...·truncated·by·diffoscope;·len:·246,·SHA:·23a2c89d187928835dd235cd0a8200531ac8d6d132919089f5d0a0d0712624e4·...·]-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="9246587771-1">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9246587771-2">{</span><span·class="ss">application_starter</span><span·class="p">,</span><span·class="p"·data-group-id="92465877[·...·truncated·by·diffoscope;·len:·246,·SHA:·40aa1f7d0c153c0c4ad3b9fa15498d5e42fe1415b27a1515a6bbf7d74ec5129c·...·]-1">}</span></code></pre><p>The·application·master·then·calls·<code·class="inline">Module:start/2</code>·for·the·primary
215 application,·followed·by·calls·to·<code·class="inline">Module:start_phase/3</code>·for·each·start·phase215 application,·followed·by·calls·to·<code·class="inline">Module:start_phase/3</code>·for·each·start·phase
216 (as·defined·for·the·primary·application),·both·for·the·primary·application·and216 (as·defined·for·the·primary·application),·both·for·the·primary·application·and
217 for·each·of·its·included·applications,·for·which·the·start·phase·is·defined.</p><p>This·implies·that·for·an·included·application,·the·set·of·start·phases·must·be217 for·each·of·its·included·applications,·for·which·the·start·phase·is·defined.</p><p>This·implies·that·for·an·included·application,·the·set·of·start·phases·must·be
218 a·subset·of·the·set·of·phases·defined·for·the·primary·application.·For·more218 a·subset·of·the·set·of·phases·defined·for·the·primary·application.·For·more
219 information,·see·<a·href="../../../../doc/system/applications.html"><em>Applications</em>·in·<em>OTP·Design·Principles</em></a>.</p></li><li><p><strong><code·class="inline"·id="runtime_dependencies">runtime_dependencies</code></strong>·-·A·list·of·application219 information,·see·<a·href="../../../../doc/system/applications.html"><em>Applications</em>·in·<em>OTP·Design·Principles</em></a>.</p></li><li><p><strong><code·class="inline"·id="runtime_dependencies">runtime_dependencies</code></strong>·-·A·list·of·application
220 versions·that·the·application·depends·on.·An·example·of·such·an·application220 versions·that·the·application·depends·on.·An·example·of·such·an·application
221 version·is·<code·class="inline">&quot;kernel-3.0&quot;</code>.·Application·versions·specified·as·runtime221 version·is·<code·class="inline">&quot;kernel-3.0&quot;</code>.·Application·versions·specified·as·runtime
Offset 280, 15 lines modifiedOffset 280, 15 lines modified
280 ······<p·class="built-using">280 ······<p·class="built-using">
281 ········Built·using281 ········Built·using
282 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the282 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
283 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>283 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
284 ······</p>284 ······</p>
285 <p>Copyright·©·1996-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.07 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/application.html
    
Offset 1591, 15 lines modifiedOffset 1591, 15 lines modified
1591 distributed.·The·argument·overrides·the·value·for·the·application·in·the·Kernel1591 distributed.·The·argument·overrides·the·value·for·the·application·in·the·Kernel
1592 configuration·parameter·<code·class="inline">distributed</code>.·<code·class="inline">Application</code>·must·be·the·application1592 configuration·parameter·<code·class="inline">distributed</code>.·<code·class="inline">Application</code>·must·be·the·application
1593 name·(same·as·in·the·first·argument).·If·a·node·crashes·and·<code·class="inline">Time</code>·is·specified,1593 name·(same·as·in·the·first·argument).·If·a·node·crashes·and·<code·class="inline">Time</code>·is·specified,
1594 the·application·controller·waits·for·<code·class="inline">Time</code>·milliseconds·before·attempting·to1594 the·application·controller·waits·for·<code·class="inline">Time</code>·milliseconds·before·attempting·to
1595 restart·the·application·on·another·node.·If·<code·class="inline">Time</code>·is·not·specified,·it·defaults1595 restart·the·application·on·another·node.·If·<code·class="inline">Time</code>·is·not·specified,·it·defaults
1596 to·<code·class="inline">0</code>·and·the·application·is·restarted·immediately.</p><p><code·class="inline">Nodes</code>·is·a·list·of·node·names·where·the·application·can·run,·in·priority·from1596 to·<code·class="inline">0</code>·and·the·application·is·restarted·immediately.</p><p><code·class="inline">Nodes</code>·is·a·list·of·node·names·where·the·application·can·run,·in·priority·from
1597 left·to·right.·Node·names·can·be·grouped·using·tuples·to·indicate·that·they·have1597 left·to·right.·Node·names·can·be·grouped·using·tuples·to·indicate·that·they·have
1598 the·same·priority.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Nodes</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1140837782-1">[</span><span·class="ss">cp1@cave</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1140837782-2">{</span><span·class="ss">cp2@cave</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cp3@[·...·truncated·by·diffoscope;·len:·105,·SHA:·30a1f3a8b972ab7af8d27c524542cf35c7a86a181434fe17d7320c9fdb046eca·...·]-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="3079147259-1">[</span><span·class="ss">cp1@cave</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3079147259-2">{</span><span·class="ss">cp2@cave</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cp3@[·...·truncated·by·diffoscope;·len:·105,·SHA:·520b2aa0b0cdb3b6eebea3ce38f3699ba39a659a80681aceb8356682cd5d7d7e·...·]-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.3/doc/html/auth.html
    
Offset 457, 15 lines modifiedOffset 457, 15 lines modified
457 ······<p·class="built-using">457 ······<p·class="built-using">
458 ········Built·using458 ········Built·using
459 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the459 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
460 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>460 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
461 ······</p>461 ······</p>
462 <p>Copyright·©·1996-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.3/doc/html/code.html
    
Offset 189, 19 lines modifiedOffset 189, 19 lines modified
189 <a·href="#lib_dir/2"><code·class="inline">code:lib_dir/2</code></a>·and·<a·href="../../../../erts-16.0/doc/html/erl_prim_loader.html"><code·class="inline">erl_prim_loader</code></a>.</p></section><p>The·Erlang·archives·are·<code·class="inline">ZIP</code>·files·with·extension·<code·class="inline">.ez</code>.·Erlang·archives·can189 <a·href="#lib_dir/2"><code·class="inline">code:lib_dir/2</code></a>·and·<a·href="../../../../erts-16.0/doc/html/erl_prim_loader.html"><code·class="inline">erl_prim_loader</code></a>.</p></section><p>The·Erlang·archives·are·<code·class="inline">ZIP</code>·files·with·extension·<code·class="inline">.ez</code>.·Erlang·archives·can
190 also·be·<a·href="../../../../lib/stdlib-7.0/doc/html/escript.html">enclosed·in·<code·class="inline">escript</code></a>·files·whose·file·extension·is·arbitrary.</p><p>Erlang·archive·files·can·contain·entire·Erlang·applications·or·parts·of190 also·be·<a·href="../../../../lib/stdlib-7.0/doc/html/escript.html">enclosed·in·<code·class="inline">escript</code></a>·files·whose·file·extension·is·arbitrary.</p><p>Erlang·archive·files·can·contain·entire·Erlang·applications·or·parts·of
191 applications.·The·structure·in·an·archive·file·is·the·same·as·the·directory191 applications.·The·structure·in·an·archive·file·is·the·same·as·the·directory
192 structure·for·an·application.·If·you,·for·example,·create·an·archive·of192 structure·for·an·application.·If·you,·for·example,·create·an·archive·of
193 <code·class="inline">mnesia-4.4.7</code>,·the·archive·file·must·be·named·<code·class="inline">mnesia-4.4.7.ez</code>·and·it·must193 <code·class="inline">mnesia-4.4.7</code>,·the·archive·file·must·be·named·<code·class="inline">mnesia-4.4.7.ez</code>·and·it·must
194 contain·a·top·directory·named·<code·class="inline">mnesia-4.4.7</code>.·If·the·version·part·of·the·name·is194 contain·a·top·directory·named·<code·class="inline">mnesia-4.4.7</code>.·If·the·version·part·of·the·name·is
195 omitted,·it·must·also·be·omitted·in·the·archive.·That·is,·a·<code·class="inline">mnesia.ez</code>·archive195 omitted,·it·must·also·be·omitted·in·the·archive.·That·is,·a·<code·class="inline">mnesia.ez</code>·archive
196 must·contain·a·<code·class="inline">mnesia</code>·top·directory.</p><p>An·archive·file·for·an·application·can,·for·example,·be·created·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">zip</span><span·class="p">:</span><span·class="nf">create</span><span·class="p"·data-group-id="0922566600-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="7792755650-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="0922566600-2">[</span><span·class="s">&quot;mnesia-4.4.7&quot;</span><span·class="p"·data-group-id="0922566600-2">]</span><span·class="p">,</span><span·class="w">197 »       </span><span·class="p"·data-group-id="7792755650-2">[</span><span·class="s">&quot;mnesia-4.4.7&quot;</span><span·class="p"·data-group-id="7792755650-2">]</span><span·class="p">,</span><span·class="w">
198 »       </span><span·class="p"·data-group-id="0922566600-3">[</span><span·class="p"·data-group-id="0922566600-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:·123,·SHA:·a658459a2300f847ef5e0fabdd6d5a6f689cba0ba20e902e4a29a64f868cb59b·...·]0-4">}</span><span·class="p">,</span><span·class="w">198 »       </span><span·class="p"·data-group-id="7792755650-3">[</span><span·class="p"·data-group-id="7792755650-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:·123,·SHA:·e533fb75efc3de82f3fb3765b6e052f8ec122033e2bbfd78f7a47eb258fec587·...·]0-4">}</span><span·class="p">,</span><span·class="w">
199 »       ·</span><span·class="p"·data-group-id="0922566600-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="0922566600-6">}</span><span·class="p">,</span><span·class="w">199 »       ·</span><span·class="p"·data-group-id="7792755650-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="7792755650-6">}</span><span·class="p">,</span><span·class="w">
200 »       ·</span><span·class="p"·data-group-id="0922566600-7">{</span><span·class="ss">uncompress</span><span·class="p">,</span><span·class="p"·data-group-id="0922566600-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:·179,·SHA:·192183f2c79fb65c015e8ec5c850e590fa6070f27685880a3d7d4b1b5492d31c·...·]0-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="7792755650-7">{</span><span·class="ss">uncompress</span><span·class="p">,</span><span·class="p"·data-group-id="7792755650-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:·179,·SHA:·f6cf93b264f66214865e1111688fdf8bb183fb4f69e5e26485cb9408ba07ff79·...·]0-1">)</span><span·class="p">.</span></code></pre><p>Any·file·in·the·archive·can·be·compressed,·but·to·speed·up·the·access·of
201 frequently·read·files,·it·can·be·a·good·idea·to·store·<code·class="inline">beam</code>·and·<code·class="inline">app</code>·files201 frequently·read·files,·it·can·be·a·good·idea·to·store·<code·class="inline">beam</code>·and·<code·class="inline">app</code>·files
202 uncompressed·in·the·archive.</p><p>Normally·the·top·directory·of·an·application·is·located·in·library·directory202 uncompressed·in·the·archive.</p><p>Normally·the·top·directory·of·an·application·is·located·in·library·directory
203 <code·class="inline">$OTPROOT/lib</code>·or·in·a·directory·referred·to·by·environment·variable·<code·class="inline">ERL_LIBS</code>.203 <code·class="inline">$OTPROOT/lib</code>·or·in·a·directory·referred·to·by·environment·variable·<code·class="inline">ERL_LIBS</code>.
204 At·startup,·when·the·initial·code·path·is·computed,·the·code·server·also·looks204 At·startup,·when·the·initial·code·path·is·computed,·the·code·server·also·looks
205 for·archive·files·in·these·directories·and·possibly·adds·<code·class="inline">ebin</code>·directories·in205 for·archive·files·in·these·directories·and·possibly·adds·<code·class="inline">ebin</code>·directories·in
206 archives·to·the·code·path.·The·code·path·then·contains·paths·to·directories·that206 archives·to·the·code·path.·The·code·path·then·contains·paths·to·directories·that
207 look·like·<code·class="inline">$OTPROOT/lib/mnesia.ez/mnesia/ebin</code>·or207 look·like·<code·class="inline">$OTPROOT/lib/mnesia.ez/mnesia/ebin</code>·or
Offset 2031, 18 lines modifiedOffset 2031, 18 lines modified
2031 none·of·the·modules·are·loaded·if·there·is·a·problem·with·any·of·the2031 none·of·the·modules·are·loaded·if·there·is·a·problem·with·any·of·the
2032 modules.</p><p>Loading·can·fail·for·one·the·following·reasons:</p><ul><li><p><strong><code·class="inline">badfile</code></strong>·-·The·object·code·has·an·incorrect·format·or·the·module·name·in2032 modules.</p><p>Loading·can·fail·for·one·the·following·reasons:</p><ul><li><p><strong><code·class="inline">badfile</code></strong>·-·The·object·code·has·an·incorrect·format·or·the·module·name·in
2033 the·object·code·is·not·the·expected·module·name.</p></li><li><p><strong><code·class="inline">nofile</code></strong>·-·No·file·with·object·code·exists.</p></li><li><p><strong><code·class="inline">on_load_not_allowed</code></strong>·-·A·module·contains·an2033 the·object·code·is·not·the·expected·module·name.</p></li><li><p><strong><code·class="inline">nofile</code></strong>·-·No·file·with·object·code·exists.</p></li><li><p><strong><code·class="inline">on_load_not_allowed</code></strong>·-·A·module·contains·an
2034 <a·href="../../../../doc/system/code_loading.html#on_load">-on_load·function</a>.</p></li><li><p><strong><code·class="inline">duplicated</code></strong>·-·A·module·is·included·more·than·once·in·<code·class="inline">Modules</code>.</p></li><li><p><strong><code·class="inline">not_purged</code></strong>·-·The·object·code·cannot·be·loaded·because·an·old·version·of2034 <a·href="../../../../doc/system/code_loading.html#on_load">-on_load·function</a>.</p></li><li><p><strong><code·class="inline">duplicated</code></strong>·-·A·module·is·included·more·than·once·in·<code·class="inline">Modules</code>.</p></li><li><p><strong><code·class="inline">not_purged</code></strong>·-·The·object·code·cannot·be·loaded·because·an·old·version·of
2035 the·code·already·exists.</p></li><li><p><strong><code·class="inline">sticky_directory</code></strong>·-·The·object·code·resides·in·a·sticky·directory.</p></li><li><p><strong><code·class="inline">pending_on_load</code></strong>·-·A·previously·loaded·module·contains·an·<code·class="inline">-on_load</code>2035 the·code·already·exists.</p></li><li><p><strong><code·class="inline">sticky_directory</code></strong>·-·The·object·code·resides·in·a·sticky·directory.</p></li><li><p><strong><code·class="inline">pending_on_load</code></strong>·-·A·previously·loaded·module·contains·an·<code·class="inline">-on_load</code>
2036 function·that·never·finished.</p></li></ul><p>If·it·is·important·to·minimize·the·time·that·an·application·is·inactive·while2036 function·that·never·finished.</p></li></ul><p>If·it·is·important·to·minimize·the·time·that·an·application·is·inactive·while
2037 changing·code,·use·<a·href="#prepare_loading/1"><code·class="inline">prepare_loading/1</code></a>·and·<a·href="#finish_loading/1"><code·class="inline">finish_loading/1</code></a>·instead·of2037 changing·code,·use·<a·href="#prepare_loading/1"><code·class="inline">prepare_loading/1</code></a>·and·<a·href="#finish_loading/1"><code·class="inline">finish_loading/1</code></a>·instead·of
2038 <a·href="#atomic_load/1"><code·class="inline">atomic_load/1</code></a>.·Here·is·an·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2762649376-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Prepared</span><span·class="p"·data-group-id="2762649376-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:·7346e9e9a0d1097c091ce91e8e9dacb9abe476ed19748f2e93a18e63c6768c4e·...·]-2">)</span><span·class="p">,</span><span·class="w">2038 <a·href="#atomic_load/1"><code·class="inline">atomic_load/1</code></a>.·Here·is·an·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0128650180-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Prepared</span><span·class="p"·data-group-id="0128650180-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:·065b5073e0a6708d25b44ca15343defa53f289b232b08f0451672c1bbacdae53·...·]-2">)</span><span·class="p">,</span><span·class="w">
2039 </span><span·class="c1">%%·Put·the·application·into·an·inactive·state·or·do·any</span><span·class="w">2039 </span><span·class="c1">%%·Put·the·application·into·an·inactive·state·or·do·any</span><span·class="w">
2040 </span><span·class="c1">%%·other·preparation·needed·before·changing·the·code.</span><span·class="w">2040 </span><span·class="c1">%%·other·preparation·needed·before·changing·the·code.</span><span·class="w">
2041 </span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">finish_loading</span><span·class="p"·data-group-id="2762649376-3">(</span><span·class="n">Prepared</span><span·class="p"·data-group-id="2762649376-3">)</span><span·class="p">,</span><span·class="w">2041 </span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">finish_loading</span><span·class="p"·data-group-id="0128650180-3">(</span><span·class="n">Prepared</span><span·class="p"·data-group-id="0128650180-3">)</span><span·class="p">,</span><span·class="w">
2042 </span><span·class="c1">%%·Resume·the·application.</span></code></pre>2042 </span><span·class="c1">%%·Resume·the·application.</span></code></pre>
2043 ··</section>2043 ··</section>
2044 </section>2044 </section>
2045 <section·class="detail"·id="clash/0">2045 <section·class="detail"·id="clash/0">
  
2046 ··<div·class="detail-header">2046 ··<div·class="detail-header">
2047 ····<a·href="#clash/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2047 ····<a·href="#clash/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2583, 16 lines modifiedOffset 2583, 16 lines modified
2583 ······</div>2583 ······</div>
  
2584 <p>Returns·the·object·code·for·module·<code·class="inline">Module</code>·if·found·in·the·code·path.</p><p>Returns·<code·class="inline">{Module,·Binary,·Filename}</code>·if·successful,·otherwise2584 <p>Returns·the·object·code·for·module·<code·class="inline">Module</code>·if·found·in·the·code·path.</p><p>Returns·<code·class="inline">{Module,·Binary,·Filename}</code>·if·successful,·otherwise
2585 <code·class="inline">error</code>.·<code·class="inline">Binary</code>·is·a·binary·data·object,·which·contains·the·object2585 <code·class="inline">error</code>.·<code·class="inline">Binary</code>·is·a·binary·data·object,·which·contains·the·object
2586 code·for·the·module.·This·is·useful·if·code·is·to·be·loaded·on·a2586 code·for·the·module.·This·is·useful·if·code·is·to·be·loaded·on·a
2587 remote·node·in·a·distributed·system.·For·example,·loading·module2587 remote·node·in·a·distributed·system.·For·example,·loading·module
2588 <code·class="inline">Module</code>·on·a·node·<code·class="inline">Node</code>·is·done·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">2588 <code·class="inline">Module</code>·on·a·node·<code·class="inline">Node</code>·is·done·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
2589 </span><span·class="p"·data-group-id="6345956546-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:·a26ffb19326726b44527f0ff22847f2b76716abafc9655dfbd011a16d3abf132·...·]-2">)</span><span·class="p">,</span><span·class="w">2589 </span><span·class="p"·data-group-id="0811669807-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:·483c95b5aa36db2270faeeda2d760f7e9d16c06ad594af0dd2d264446069d488·...·]-2">)</span><span·class="p">,</span><span·class="w">
2590 </span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="6345956546-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:·d4d29337e0ddf9fe5781dbd348f47072cffe44e587a4b10c63f342738d6a2e0c·...·]-3">)</span><span·class="p">,</span><span·class="w">2590 </span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="0811669807-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:·cb517e72dd7a0086118a5153347c96ac68b695f0c33bfc86dcd025a1ed07da09·...·]-3">)</span><span·class="p">,</span><span·class="w">
2591 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>2591 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>
2592 ··</section>2592 ··</section>
2593 </section>2593 </section>
2594 <section·class="detail"·id="get_path/0">2594 <section·class="detail"·id="get_path/0">
  
2595 ··<div·class="detail-header">2595 ··<div·class="detail-header">
2596 ····<a·href="#get_path/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2596 ····<a·href="#get_path/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2695, 15 lines modifiedOffset 2695, 15 lines modified
2695 ······<div·class="specs">2695 ······<div·class="specs">
  
2696 ··········<pre·translate="no"><span·class="attribute">-spec</span>·lib_dir()·->·<a·href="file.html#t:filename/0">file:filename</a>().</pre>2696 ··········<pre·translate="no"><span·class="attribute">-spec</span>·lib_dir()·->·<a·href="file.html#t:filename/0">file:filename</a>().</pre>
  
2697 ······</div>2697 ······</div>
  
2698 <p>Returns·the·library·directory,·<code·class="inline">$OTPROOT/lib</code>,·where·<code·class="inline">$OTPROOT</code>·is·the·root2698 <p>Returns·the·library·directory,·<code·class="inline">$OTPROOT/lib</code>,·where·<code·class="inline">$OTPROOT</code>·is·the·root
2699 directory·of·Erlang/OTP.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="9356959938-1">(</span><span·class="p"·data-group-id="9356959938-1">)</span><span·class="p">.</span><span·class="w">2699 directory·of·Erlang/OTP.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="6905633751-1">(</span><span·class="p"·data-group-id="6905633751-1">)</span><span·class="p">.</span><span·class="w">
2700 </span><span·class="s">&quot;/usr/local/otp/lib&quot;</span></code></pre>2700 </span><span·class="s">&quot;/usr/local/otp/lib&quot;</span></code></pre>
2701 ··</section>2701 ··</section>
2702 </section>2702 </section>
2703 <section·class="detail"·id="lib_dir/1">2703 <section·class="detail"·id="lib_dir/1">
  
2704 ··<div·class="detail-header">2704 ··<div·class="detail-header">
2705 ····<a·href="#lib_dir/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2705 ····<a·href="#lib_dir/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2732, 15 lines modifiedOffset 2732, 15 lines modified
2732 an·<code·class="inline">ebin</code>·subdirectory,·the·path·to·this·directory·is·returned·(not·the·<code·class="inline">ebin</code>2732 an·<code·class="inline">ebin</code>·subdirectory,·the·path·to·this·directory·is·returned·(not·the·<code·class="inline">ebin</code>
2733 directory).</p><p>If·the·directory·refers·to·a·directory·in·an·archive,·the·archive·name·is2733 directory).</p><p>If·the·directory·refers·to·a·directory·in·an·archive,·the·archive·name·is
2734 stripped·away·before·the·path·is·returned.·For·example,·if·directory2734 stripped·away·before·the·path·is·returned.·For·example,·if·directory
2735 <code·class="inline">/usr/local/otp/lib/mnesia-4.2.2.ez/mnesia-4.2.2/ebin</code>·is·in·the·path,2735 <code·class="inline">/usr/local/otp/lib/mnesia-4.2.2.ez/mnesia-4.2.2/ebin</code>·is·in·the·path,
2736 <code·class="inline">/usr/local/otp/lib/mnesia-4.2.2/ebin</code>·is·returned.·This·means·that·the·library2736 <code·class="inline">/usr/local/otp/lib/mnesia-4.2.2/ebin</code>·is·returned.·This·means·that·the·library
2737 directory·for·an·application·is·the·same,·regardless·if·the·application·resides2737 directory·for·an·application·is·the·same,·regardless·if·the·application·resides
2738 in·an·archive·or·not.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Warning</h4><p>Archives·are·experimental.·In·a·future·release,·they·can·be·removed·or2738 in·an·archive·or·not.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Warning</h4><p>Archives·are·experimental.·In·a·future·release,·they·can·be·removed·or
2739 their·behavior·can·change.</p></section><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="2496797364-1">(</span><span·class="ss">mnesia</span><span·class="p"·data-group-id="2496797364-1">)</span><span·class="p">.</span><span·class="w">2739 their·behavior·can·change.</p></section><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="0525878633-1">(</span><span·class="ss">mnesia</span><span·class="p"·data-group-id="0525878633-1">)</span><span·class="p">.</span><span·class="w">
2740 </span><span·class="s">&quot;/usr/local/otp/lib/mnesia-4.23&quot;</span></code></pre><p>Returns·<code·class="inline">{error,·bad_name}</code>·if·<code·class="inline">Name</code>·is·not·the·name·of·an·application·under2740 </span><span·class="s">&quot;/usr/local/otp/lib/mnesia-4.23&quot;</span></code></pre><p>Returns·<code·class="inline">{error,·bad_name}</code>·if·<code·class="inline">Name</code>·is·not·the·name·of·an·application·under
2741 <code·class="inline">$OTPROOT/lib</code>·or·on·a·directory·referred·to·through·environment·variable2741 <code·class="inline">$OTPROOT/lib</code>·or·on·a·directory·referred·to·through·environment·variable
2742 <code·class="inline">ERL_LIBS</code>.·Fails·with·an·exception·if·<code·class="inline">Name</code>·has·the·wrong·type.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>For·backward·compatibility,·<code·class="inline">Name</code>·is·also·allowed·to·be·a·string.·That·will2742 <code·class="inline">ERL_LIBS</code>.·Fails·with·an·exception·if·<code·class="inline">Name</code>·has·the·wrong·type.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>For·backward·compatibility,·<code·class="inline">Name</code>·is·also·allowed·to·be·a·string.·That·will
2743 probably·change·in·a·future·release.</p></section>2743 probably·change·in·a·future·release.</p></section>
2744 ··</section>2744 ··</section>
2745 </section>2745 </section>
2746 <section·class="detail"·id="lib_dir/2">2746 <section·class="detail"·id="lib_dir/2">
Offset 2773, 15 lines modifiedOffset 2773, 15 lines modified
2773 <p>Returns·the·path·to·a·subdirectory·directly·under·the·top·directory·of·an2773 <p>Returns·the·path·to·a·subdirectory·directly·under·the·top·directory·of·an
2774 application.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>This·function·is·part·of·the·archive·support,·which·is·an·experimental2774 application.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>This·function·is·part·of·the·archive·support,·which·is·an·experimental
2775 feature·that·will·be·changed·or·removed·in·a·future·release.</p></section><p>Normally·the·subdirectories·reside·under·the·top·directory·for·the2775 feature·that·will·be·changed·or·removed·in·a·future·release.</p></section><p>Normally·the·subdirectories·reside·under·the·top·directory·for·the
2776 application,·but·when·applications·at·least·partly·reside·in·an·archive,·the2776 application,·but·when·applications·at·least·partly·reside·in·an·archive,·the
2777 situation·is·different.·Some·of·the·subdirectories·can·reside·as·regular2777 situation·is·different.·Some·of·the·subdirectories·can·reside·as·regular
2778 directories·while·others·reside·in·an·archive·file.·It·is·not·checked·whether2778 directories·while·others·reside·in·an·archive·file.·It·is·not·checked·whether
2779 this·directory·exists.</p><p>Instead·of·using·this·function,·use·<a·href="#lib_dir/1"><code·class="inline">code:lib_dir/1</code></a>2779 this·directory·exists.</p><p>Instead·of·using·this·function,·use·<a·href="#lib_dir/1"><code·class="inline">code:lib_dir/1</code></a>
2780 and·<a·href="../../../../lib/stdlib-7.0/doc/html/filename.html#join/2"><code·class="inline">filename:join/2</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="1045278499-1">(</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="1045278499-2">(</span><span·class="ss">megaco</span><span·class="p"·data-group-id="1045278499-2">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·113,·SHA:·ede7dd90ef78ee23de0110781bd302d473d224c44513137c797b32a70e1173ef·...·]-1">)</span><span·class="p">.</span><span·class="w">2780 and·<a·href="../../../../lib/stdlib-7.0/doc/html/filename.html#join/2"><code·class="inline">filename:join/2</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="5536973744-1">(</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="5536973744-2">(</span><span·class="ss">megaco</span><span·class="p"·data-group-id="5536973744-2">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·113,·SHA:·ef35eb16057541554908dacbce64f09e28ce455eabde8a0df6a652257ecdb36d·...·]-1">)</span><span·class="p">.</span><span·class="w">
2781 </span><span·class="s">&quot;/usr/local/otp/lib/megaco-3.9.1.1/priv&quot;</span></code></pre><p>Fails·with·an·exception·if·<code·class="inline">Name</code>·or·<code·class="inline">SubDir</code>·has·the·wrong·type.</p>2781 </span><span·class="s">&quot;/usr/local/otp/lib/megaco-3.9.1.1/priv&quot;</span></code></pre><p>Fails·with·an·exception·if·<code·class="inline">Name</code>·or·<code·class="inline">SubDir</code>·has·the·wrong·type.</p>
2782 ··</section>2782 ··</section>
2783 </section>2783 </section>
2784 <section·class="detail"·id="load_abs/1">2784 <section·class="detail"·id="load_abs/1">
  
2785 ··<div·class="detail-header">2785 ··<div·class="detail-header">
2786 ····<a·href="#load_abs/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2786 ····<a·href="#load_abs/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 3204, 15 lines modifiedOffset 3204, 15 lines modified
3204 ······<div·class="specs">3204 ······<div·class="specs">
  
3205 ··········<pre·translate="no"><span·class="attribute">-spec</span>·root_dir()·->·<a·href="file.html#t:filename/0">file:filename</a>().</pre>3205 ··········<pre·translate="no"><span·class="attribute">-spec</span>·root_dir()·->·<a·href="file.html#t:filename/0">file:filename</a>().</pre>
  
3206 ······</div>3206 ······</div>
  
3207 <p>Returns·the·root·directory·of·Erlang/OTP,·which·is·the·directory·where·it·is3207 <p>Returns·the·root·directory·of·Erlang/OTP,·which·is·the·directory·where·it·is
3208 installed.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">root_dir</span><span·class="p"·data-group-id="7186767732-1">(</span><span·class="p"·data-group-id="7186767732-1">)</span><span·class="p">.</span><span·class="w">3208 installed.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">root_dir</span><span·class="p"·data-group-id="4264616377-1">(</span><span·class="p"·data-group-id="4264616377-1">)</span><span·class="p">.</span><span·class="w">
3209 </span><span·class="s">&quot;/usr/local/otp&quot;</span></code></pre>3209 </span><span·class="s">&quot;/usr/local/otp&quot;</span></code></pre>
3210 ··</section>3210 ··</section>
3211 </section>3211 </section>
3212 <section·class="detail"·id="set_coverage_mode/1">3212 <section·class="detail"·id="set_coverage_mode/1">
  
3213 ··<div·class="detail-header">3213 ··<div·class="detail-header">
3214 ····<a·href="#set_coverage_mode/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3214 ····<a·href="#set_coverage_mode/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 3480, 15 lines modifiedOffset 3480, 15 lines modified
3480 ······<p·class="built-using">3480 ······<p·class="built-using">
3481 ········Built·using3481 ········Built·using
3482 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3482 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3483 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3483 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3484 ······</p>3484 ······</p>
Max diff block lines reached; 164/22221 bytes (0.74%) of diff not shown.
665 B
html2text {}
Max HTML report size reached
6.46 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/config.html
    
Offset 148, 17 lines modifiedOffset 148, 17 lines modified
148 (see·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html"><code·class="inline">erts:erl(1)</code></a>).</p><p>The·value·of·a·configuration·parameter·is·retrieved·by·calling148 (see·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html"><code·class="inline">erts:erl(1)</code></a>).</p><p>The·value·of·a·configuration·parameter·is·retrieved·by·calling
149 <code·class="inline">application:get_env/1,2</code>.</p><h2·id="file-syntax"·class="section-heading">149 <code·class="inline">application:get_env/1,2</code>.</p><h2·id="file-syntax"·class="section-heading">
150 ··<a·href="#file-syntax"·class="hover-link">150 ··<a·href="#file-syntax"·class="hover-link">
151 ····<i·class="ri-link-m"·aria-hidden="true"></i>151 ····<i·class="ri-link-m"·aria-hidden="true"></i>
152 ··</a>152 ··</a>
153 ··<span·class="text">File·Syntax</span>153 ··<span·class="text">File·Syntax</span>
154 </h2>154 </h2>
155 <p>The·configuration·file·is·to·be·called·<code·class="inline">Name.config</code>,·where·<code·class="inline">Name</code>·is·any·name.</p><p>File·<code·class="inline">.config</code>·contains·a·single·Erlang·term·and·has·the·following·syntax:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2687459581-1">[</span><span·class="p"·data-group-id="2687459581-2">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2687459581-3">[</span><span·class="p"·data-group-id="2687459581-4">[·...·truncated·by·diffoscope;·len:·379,·SHA:·82b3285469bac71c768ceaeee3f8c96bfa9fb5df8f4129520651bf7469390472·...·]-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="0191972783-1">[</span><span·class="p"·data-group-id="0191972783-2">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0191972783-3">[</span><span·class="p"·data-group-id="0191972783-4">[·...·truncated·by·diffoscope;·len:·379,·SHA:·71589bfcda19809ad45a996184e6050a74ee25104ae4ea7b5f2ceb546ee8d37b·...·]-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="2687459581-5">{</span><span·class="n">ApplicationN</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2687459581-6">[</span><span·class="p"·data-group-id="2687459581-7">{</span><span·class="n">ParN1</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·379,·SHA:·8be50b9f14cb8022ba733ac3d28174a96e16f4712d6dd3928cd2cf10ccc2116f·...·]-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="0191972783-5">{</span><span·class="n">ApplicationN</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0191972783-6">[</span><span·class="p"·data-group-id="0191972783-7">{</span><span·class="n">ParN1</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·379,·SHA:·0240c9d0efad59aefe1d9c0462d567a1e2ba0dfe58aaed184478bc6af2ee8558·...·]-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.52 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/disk_log.html
    
Offset 2950, 15 lines modifiedOffset 2950, 15 lines modified
2950 ······<p·class="built-using">2950 ······<p·class="built-using">
2951 ········Built·using2951 ········Built·using
2952 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2952 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2953 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2953 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2954 ······</p>2954 ······</p>
2955 <p>Copyright·©·1996-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.3/doc/html/eep48_chapter.html
    
Offset 150, 28 lines modifiedOffset 150, 28 lines modified
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">The·&quot;Docs&quot;·format</span>152 ··<span·class="text">The·&quot;Docs&quot;·format</span>
153 </h2>153 </h2>
154 <p>In·both·storages,·the·documentation·is·written·in·the·exactly·same·format:·an154 <p>In·both·storages,·the·documentation·is·written·in·the·exactly·same·format:·an
155 Erlang·term·serialized·to·binary·via155 Erlang·term·serialized·to·binary·via
156 <a·href="../../../../erts-16.0/doc/html/erlang.html#term_to_binary/1"><code·class="inline">term_to_binary/1</code></a>.·The·term·can·be·optionally156 <a·href="../../../../erts-16.0/doc/html/erlang.html#term_to_binary/1"><code·class="inline">term_to_binary/1</code></a>.·The·term·can·be·optionally
157 compressed·when·serialized.·It·must·follow·the·type·specification·below:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2391148651-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="6785617691-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="2391148651-2">(</span><span·class="p"·data-group-id="2391148651-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="6785617691-2">(</span><span·class="p"·data-group-id="6785617691-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="2391148651-3">(</span><span·class="p"·data-group-id="2391148651-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="6785617691-3">(</span><span·class="p"·data-group-id="6785617691-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="2391148651-4">(</span><span·class="p"·data-group-id="2391148651-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="6785617691-4">(</span><span·class="p"·data-group-id="6785617691-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="2391148651-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="2391148651-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="6785617691-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="6785617691-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="2391148651-6">(</span><span·class="p"·data-group-id="2391148651-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="6785617691-6">(</span><span·class="p"·data-group-id="6785617691-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="2391148651-7">[</span><span·class="p"·data-group-id="2391148651-8">{</span><span·class="p"·data-group-id="2391148651-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:·90,·SHA:·15bedb9b9c302b8620346bce65d37af664e9be5a69526eb360b7852e01c8f1cb·...·]1-9">}</span><span·class="p">,</span><span·class="w">164 ···</span><span·class="p"·data-group-id="6785617691-7">[</span><span·class="p"·data-group-id="6785617691-8">{</span><span·class="p"·data-group-id="6785617691-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:·90,·SHA:·0a35a6954426073969840ec5ccf3292d4c8d7b0209760ff9d29a04c5693c101d·...·]1-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="2391148651-10">(</span><span·class="p"·data-group-id="2391148651-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="6785617691-10">(</span><span·class="p"·data-group-id="6785617691-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="2391148651-11">[</span><span·class="nf">binary</span><span·class="p"·data-group-id="2391148651-12">(</span><span·class="p"·data-group-id="2391148651-12">)</span><span·class="p"·data-group-id="2391148651-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="6785617691-11">[</span><span·class="nf">binary</span><span·class="p"·data-group-id="6785617691-12">(</span><span·class="p"·data-group-id="6785617691-12">)</span><span·class="p"·data-group-id="6785617691-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="2391148651-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="2391148651-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="6785617691-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="6785617691-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="2391148651-14">(</span><span·class="p"·data-group-id="2391148651-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="6785617691-14">(</span><span·class="p"·data-group-id="6785617691-14">)</span><span·class="w">
169 ····</span><span·class="p"·data-group-id="2391148651-8">}</span><span·class="p"·data-group-id="2391148651-7">]</span><span·class="p"·data-group-id="2391148651-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:·201,·SHA:·4b0558bfc47f3a66a184eb242d12eb31bddd511a3e75690e02d8a3bdda7d026c·...·]1-15">)</span><span·class="p">,</span><span·class="w">169 ····</span><span·class="p"·data-group-id="6785617691-8">}</span><span·class="p"·data-group-id="6785617691-7">]</span><span·class="p"·data-group-id="6785617691-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:·201,·SHA:·80dd6fdf7ae934cf15e4e30db346480a64c4fa0f25cd98ea274190cef2b1bd39·...·]1-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="2391148651-16">(</span><span·class="p"·data-group-id="2391148651-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="2391148651-17">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·15,·SHA:·a6450a26999958f0c1410880a07316deb8351c151d83353b8cd724518bb27d9b·...·]1-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="6785617691-16">(</span><span·class="p"·data-group-id="6785617691-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="6785617691-17">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·15,·SHA:·5f719fb6bce17552a7c41288e95e32e7965f21ca387547aca9eed4f3f7ac9c3e·...·]1-17">)</span></code></pre><p>where·in·the·root·tuple·we·have:</p><ul><li><p><strong><code·class="inline">Anno</code></strong>·-·annotation·(line,·column,·file)·of·the·definition·itself·(see
171 <a·href="../../../../lib/stdlib-7.0/doc/html/erl_anno.html"><code·class="inline">erl_anno</code></a>)</p></li><li><p><strong><code·class="inline">BeamLanguage</code></strong>·-·an·atom·representing·the·language,·for·example:·<code·class="inline">erlang</code>,171 <a·href="../../../../lib/stdlib-7.0/doc/html/erl_anno.html"><code·class="inline">erl_anno</code></a>)</p></li><li><p><strong><code·class="inline">BeamLanguage</code></strong>·-·an·atom·representing·the·language,·for·example:·<code·class="inline">erlang</code>,
172 <code·class="inline">elixir</code>,·<code·class="inline">lfe</code>,·<code·class="inline">alpaca</code>,·and·so·on</p></li><li><p><strong><code·class="inline">Format</code></strong>·-·the·mime·type·of·the·documentation,·such·as·<code·class="inline">&lt;&lt;&quot;text/markdown&quot;&gt;&gt;</code>172 <code·class="inline">elixir</code>,·<code·class="inline">lfe</code>,·<code·class="inline">alpaca</code>,·and·so·on</p></li><li><p><strong><code·class="inline">Format</code></strong>·-·the·mime·type·of·the·documentation,·such·as·<code·class="inline">&lt;&lt;&quot;text/markdown&quot;&gt;&gt;</code>
173 or·<code·class="inline">&lt;&lt;&quot;application/erlang+html&quot;&gt;&gt;</code>.·For·details·of·the·format·used·by·Erlang173 or·<code·class="inline">&lt;&lt;&quot;application/erlang+html&quot;&gt;&gt;</code>.·For·details·of·the·format·used·by·Erlang
174 see·the·<a·href="../../../../lib/edoc-1.4/doc/html/doc_storage.html"><code·class="inline">EEP-48·Chapter</code></a>·in·EDoc's·User's174 see·the·<a·href="../../../../lib/edoc-1.4/doc/html/doc_storage.html"><code·class="inline">EEP-48·Chapter</code></a>·in·EDoc's·User's
175 Guide.</p></li><li><p><strong><code·class="inline">ModuleDoc</code></strong>·-·a·map·with·the·documentation·language·as·key,·such·as175 Guide.</p></li><li><p><strong><code·class="inline">ModuleDoc</code></strong>·-·a·map·with·the·documentation·language·as·key,·such·as
176 <code·class="inline">&lt;&lt;&quot;en&quot;&gt;&gt;</code>·or·<code·class="inline">&lt;&lt;&quot;pt_BR&quot;&gt;&gt;</code>,·and·the·documentation·as·a·binary·value.·It·can176 <code·class="inline">&lt;&lt;&quot;en&quot;&gt;&gt;</code>·or·<code·class="inline">&lt;&lt;&quot;pt_BR&quot;&gt;&gt;</code>,·and·the·documentation·as·a·binary·value.·It·can
177 be·atom·<code·class="inline">none</code>·if·no·documentation·exists·or·the·atom·<code·class="inline">hidden</code>·if177 be·atom·<code·class="inline">none</code>·if·no·documentation·exists·or·the·atom·<code·class="inline">hidden</code>·if
Offset 263, 15 lines modifiedOffset 263, 15 lines modified
263 ······<p·class="built-using">263 ······<p·class="built-using">
264 ········Built·using264 ········Built·using
265 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the265 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
266 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>266 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
267 ······</p>267 ······</p>
268 <p>Copyright·©·1996-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;
806 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/erl_boot_server.html
    
Offset 399, 15 lines modifiedOffset 399, 15 lines modified
399 ······<p·class="built-using">399 ······<p·class="built-using">
400 ········Built·using400 ········Built·using
401 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the401 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
402 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>402 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
403 ······</p>403 ······</p>
404 <p>Copyright·©·1996-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.3/doc/html/erl_ddll.html
    
Offset 1311, 15 lines modifiedOffset 1311, 15 lines modified
1311 ······<p·class="built-using">1311 ······<p·class="built-using">
1312 ········Built·using1312 ········Built·using
1313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1315 ······</p>1315 ······</p>
1316 <p>Copyright·©·1996-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
1.51 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/erl_debugger.html
    
Offset 1095, 15 lines modifiedOffset 1095, 15 lines modified
1095 ······<p·class="built-using">1095 ······<p·class="built-using">
1096 ········Built·using1096 ········Built·using
1097 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1097 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1098 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1098 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1099 ······</p>1099 ······</p>
1100 <p>Copyright·©·1996-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;
700 B
html2text {}
Max HTML report size reached
3.93 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/erl_epmd.html
    
Offset 351, 16 lines modifiedOffset 351, 16 lines modified
351 ···················Reason·::·address·|·<a·href="file.html#t:posix/0">file:posix</a>().</pre>351 ···················Reason·::·address·|·<a·href="file.html#t:posix/0">file:posix</a>().</pre>
  
352 ······</div>352 ······</div>
  
353 <p>Called·by·<a·href="net_adm.html"><code·class="inline">net_adm:names/0</code></a>.·<code·class="inline">Host</code>·defaults·to·the·localhost.353 <p>Called·by·<a·href="net_adm.html"><code·class="inline">net_adm:names/0</code></a>.·<code·class="inline">Host</code>·defaults·to·the·localhost.
354 Returns·the·names·and·associated·port·numbers·of·the·Erlang·nodes·that·<code·class="inline">epmd</code>354 Returns·the·names·and·associated·port·numbers·of·the·Erlang·nodes·that·<code·class="inline">epmd</code>
355 registered·at·the·specified·host.·Returns·<code·class="inline">{error,·address}</code>·if·<code·class="inline">epmd</code>·is·not355 registered·at·the·specified·host.·Returns·<code·class="inline">{error,·address}</code>·if·<code·class="inline">epmd</code>·is·not
356 operational.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(arne@dunn)1&gt;·</span><span·class="nc">erl_epmd</span><span·class="p">:</span><span·class="nf">names</span><span·class="p"·data-group-id="3649926008-1">(</span><span·class="ss">localhost</span><span·class="p"·data-group-id="3649926008-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="1330141824-1">(</span><span·class="ss">localhost</span><span·class="p"·data-group-id="1330141824-1">)</span><span·class="p">.</span><span·class="w">
357 </span><span·class="p"·data-group-id="3649926008-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3649926008-3">[</span><span·class="p"·data-group-id="3649926008-4">{</span><span·class="s">&quot;arne&quot;</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·161,·SHA:·77faccbac7cf56d3461121a7b72438a1a3d628ce600685abe874a7aa6e8b16db·...·]-2">}</span></code></pre>357 </span><span·class="p"·data-group-id="1330141824-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1330141824-3">[</span><span·class="p"·data-group-id="1330141824-4">{</span><span·class="s">&quot;arne&quot;</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·161,·SHA:·bb28342b72bfc1f7251cdfade57651ecad5522dfc4d3f1eb89e006e9300e0600·...·]-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.3 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/erpc.html
    
Offset 1232, 28 lines modifiedOffset 1232, 28 lines modified
1232 at·the·client·side.</li></ul><p>The·call·<code·class="inline">erpc:multicall(Nodes,·Module,·Function,·Args)</code>·is·equivalent·to·the1232 at·the·client·side.</li></ul><p>The·call·<code·class="inline">erpc:multicall(Nodes,·Module,·Function,·Args)</code>·is·equivalent·to·the
1233 call·<code·class="inline">erpc:multicall(Nodes,·Module,·Function,·Args,·infinity)</code>.·These·calls·are1233 call·<code·class="inline">erpc:multicall(Nodes,·Module,·Function,·Args,·infinity)</code>.·These·calls·are
1234 also·equivalent·to·calling·<code·class="inline">my_multicall(Nodes,·Module,·Function,·Args)</code>·below1234 also·equivalent·to·calling·<code·class="inline">my_multicall(Nodes,·Module,·Function,·Args)</code>·below
1235 if·one·disregard·performance·and·failure·behavior.·<code·class="inline">multicall()</code>·can·utilize·a1235 if·one·disregard·performance·and·failure·behavior.·<code·class="inline">multicall()</code>·can·utilize·a
1236 selective·receive·optimization·which·removes·the·need·to·scan·the·message·queue1236 selective·receive·optimization·which·removes·the·need·to·scan·the·message·queue
1237 from·the·beginning·in·order·to·find·a·matching·message.·The1237 from·the·beginning·in·order·to·find·a·matching·message.·The
1238 <code·class="inline">send_request()/receive_response()</code>·combination·can,·however,·not·utilize·this1238 <code·class="inline">send_request()/receive_response()</code>·combination·can,·however,·not·utilize·this
1239 optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_multicall</span><span·class="p"·data-group-id="3641644565-1">(</span><span·class="n">Nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·66,·SHA:·a25c904adb211808c3f28934795032c989453bc29b68a2867254942008f4494f·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1239 optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_multicall</span><span·class="p"·data-group-id="5480558958-1">(</span><span·class="n">Nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·66,·SHA:·eff2c37a4adc898b74771b4711dad11a74368361f372299c10909bcecccb4b64·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1240 ··</span><span·class="n">ReqIds</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="3641644565-2">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="3641644565-3">(</span><span·class="n">Node</span><span·class="p"·data-group-id="3641644565-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1240 ··</span><span·class="n">ReqIds</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="5480558958-2">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5480558958-3">(</span><span·class="n">Node</span><span·class="p"·data-group-id="5480558958-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1241 ·······················</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="3641644565-4">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·65,·SHA:·9b9f4942fb58dd06ce5d5f618250adcf4bcda5836ab2e68a2e30f2a0c5a106ec·...·]-4">)</span><span·class="w">1241 ·······················</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="5480558958-4">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·65,·SHA:·2ed12e0a1c7ee919606937b2055ad4fa833dd78c32d9c4ca8314b1898057aa4a·...·]-4">)</span><span·class="w">
1242 ·····················</span><span·class="k">end</span><span·class="p">,</span><span·class="w">1242 ·····················</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
1243 ·····················</span><span·class="n">Nodes</span><span·class="p"·data-group-id="3641644565-2">)</span><span·class="p">,</span><span·class="w">1243 ·····················</span><span·class="n">Nodes</span><span·class="p"·data-group-id="5480558958-2">)</span><span·class="p">,</span><span·class="w">
1244 ··</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="3641644565-5">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="3641644565-6">(</span><span·class="n">ReqId</span><span·class="p"·data-group-id="3641644565-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1244 ··</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="5480558958-5">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5480558958-6">(</span><span·class="n">ReqId</span><span·class="p"·data-group-id="5480558958-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1245 ··············</span><span·class="k">try</span><span·class="w">1245 ··············</span><span·class="k">try</span><span·class="w">
1246 ················</span><span·class="p"·data-group-id="3641644565-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="3641644565-8">(</span><span·class="n"[·...·truncated·by·diffoscope;·len:·187,·SHA:·01cfef58b07e5858952bd677b727acd7f09a903ba700fb2a4e940fe6953c67b0·...·]-7">}</span><span·class="w">1246 ················</span><span·class="p"·data-group-id="5480558958-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="5480558958-8">(</span><span·class="n"[·...·truncated·by·diffoscope;·len:·187,·SHA:·6fd96da04ec543fbe73ca5573aaa4d8e7011061fe755b7ab71ecb408078aacc4·...·]-7">}</span><span·class="w">
1247 ··············</span><span·class="k">catch</span><span·class="w">1247 ··············</span><span·class="k">catch</span><span·class="w">
1248 ················</span><span·class="n">Class</span><span·class="p">:</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1248 ················</span><span·class="n">Class</span><span·class="p">:</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1249 ··················</span><span·class="p"·data-group-id="3641644565-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="3641644565-9">}</span><span·class="w">1249 ··················</span><span·class="p"·data-group-id="5480558958-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="5480558958-9">}</span><span·class="w">
1250 ··············</span><span·class="k">end</span><span·class="w">1250 ··············</span><span·class="k">end</span><span·class="w">
1251 ············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">1251 ············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
1252 ············</span><span·class="n">ReqIds</span><span·class="p"·data-group-id="3641644565-5">)</span><span·class="p">.</span></code></pre><p>If·an·<code·class="inline">erpc</code>·operation·fails,·but·it·is·unknown·if·the·function·is/will·be1252 ············</span><span·class="n">ReqIds</span><span·class="p"·data-group-id="5480558958-5">)</span><span·class="p">.</span></code></pre><p>If·an·<code·class="inline">erpc</code>·operation·fails,·but·it·is·unknown·if·the·function·is/will·be
1253 applied·(that·is,·a·timeout,·connection·loss,·or·an·improper·<code·class="inline">Nodes</code>·list),·the1253 applied·(that·is,·a·timeout,·connection·loss,·or·an·improper·<code·class="inline">Nodes</code>·list),·the
1254 caller·will·not·receive·any·further·information·about·the·result·if/when·the1254 caller·will·not·receive·any·further·information·about·the·result·if/when·the
1255 applied·function·completes.·If·the·applied·function·communicates·with·the1255 applied·function·completes.·If·the·applied·function·communicates·with·the
1256 calling·process,·such·communication·may,·of·course,·reach·the·calling·process.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>If·the·<code·class="inline">always_spawn</code>·option·is·<code·class="inline">false</code>·(which·is·the·default),·you·cannot·make1256 calling·process,·such·communication·may,·of·course,·reach·the·calling·process.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>If·the·<code·class="inline">always_spawn</code>·option·is·<code·class="inline">false</code>·(which·is·the·default),·you·cannot·make
1257 <em>any</em>·assumptions·about·the·processes·that·will·perform·the·<code·class="inline">apply()</code>s.·It·may·be1257 <em>any</em>·assumptions·about·the·processes·that·will·perform·the·<code·class="inline">apply()</code>s.·It·may·be
1258 the·calling·process·itself,·or·freshly·spawned·processes,·or·a·mix·of·both.</p></section>1258 the·calling·process·itself,·or·freshly·spawned·processes,·or·a·mix·of·both.</p></section>
1259 ··</section>1259 ··</section>
Offset 1394, 17 lines modifiedOffset 1394, 17 lines modified
1394 exception·if/when·an·invalid·<code·class="inline">RequestId</code>·is·detected·or·if·an·invalid·<code·class="inline">Timeout</code>1394 exception·if/when·an·invalid·<code·class="inline">RequestId</code>·is·detected·or·if·an·invalid·<code·class="inline">Timeout</code>
1395 is·passed.</p><p>A·call·to·the·function·<code·class="inline">my_call(Node,·Module,·Function,·Args,·Timeout)</code>·below·is1395 is·passed.</p><p>A·call·to·the·function·<code·class="inline">my_call(Node,·Module,·Function,·Args,·Timeout)</code>·below·is
1396 equivalent·to·the·call1396 equivalent·to·the·call
1397 <a·href="#call/5"><code·class="inline">erpc:call(Node,·Module,·Function,·Args,·Timeout)</code></a>·if·one·disregards1397 <a·href="#call/5"><code·class="inline">erpc:call(Node,·Module,·Function,·Args,·Timeout)</code></a>·if·one·disregards
1398 performance.·<code·class="inline">call()</code>·can·utilize·a·selective·receive·optimization·which·removes1398 performance.·<code·class="inline">call()</code>·can·utilize·a·selective·receive·optimization·which·removes
1399 the·need·to·scan·the·message·queue·from·the·beginning·in·order·to·find·a1399 the·need·to·scan·the·message·queue·from·the·beginning·in·order·to·find·a
1400 matching·message.·The·<code·class="inline">send_request()/receive_response()</code>·combination·can,1400 matching·message.·The·<code·class="inline">send_request()/receive_response()</code>·combination·can,
1401 however,·not·utilize·this·optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_call</span><span·class="p"·data-group-id="3977179260-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:·b946089ef9b01d030a8dd5eacf0b43613491ce054c8f560899c26885548ba647·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1401 however,·not·utilize·this·optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_call</span><span·class="p"·data-group-id="5469147854-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:·5091bcfe9d20fd34dbdc3e3c7e09688b2c142f2ad3eb71396a8b67c1a93ec0b1·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1402 ··</span><span·class="n">RequestId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="3977179260-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:·ca9315731ac1e3c331de32b6535aeecc305ce9bf4936c37bcc36bf86713227a9·...·]-2">)</span><span·class="p">,</span><span·class="w">1402 ··</span><span·class="n">RequestId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="5469147854-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:·178e3a266ff9b244fb9c5525b5ee2f2904b1fd76855a59cdd42d1cb9000ef331·...·]-2">)</span><span·class="p">,</span><span·class="w">
1403 ··</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="3977179260-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="3977179260-3">)</span><span·class="p">.</span></code></pre><p>If·the·<code·class="inline">erpc</code>·operation·fails,·but·it·is·unknown·if·the·function·is/will·be1403 ··</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="5469147854-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="5469147854-3">)</span><span·class="p">.</span></code></pre><p>If·the·<code·class="inline">erpc</code>·operation·fails,·but·it·is·unknown·if·the·function·is/will·be
1404 applied·(that·is,·a·timeout,·or·a·connection·loss),·the·caller·will·not·receive1404 applied·(that·is,·a·timeout,·or·a·connection·loss),·the·caller·will·not·receive
1405 any·further·information·about·the·result·if/when·the·applied·function·completes.1405 any·further·information·about·the·result·if/when·the·applied·function·completes.
1406 If·the·applied·function·explicitly·communicates·with·the·calling·process,·such1406 If·the·applied·function·explicitly·communicates·with·the·calling·process,·such
1407 communication·may,·of·course,·reach·the·calling·process.</p>1407 communication·may,·of·course,·reach·the·calling·process.</p>
1408 ··</section>1408 ··</section>
1409 </section>1409 </section>
1410 <section·class="detail"·id="receive_response/3">1410 <section·class="detail"·id="receive_response/3">
Offset 1684, 17 lines modifiedOffset 1684, 17 lines modified
1684 about·to·save·the·request·identifier·in·a·request·identifier·collection,·you·may1684 about·to·save·the·request·identifier·in·a·request·identifier·collection,·you·may
1685 want·to·consider·using·<a·href="#send_request/6"><code·class="inline">send_request/6</code></a>·instead.</p><p>A·call·to·the·function·<code·class="inline">my_call(Node,·Module,·Function,·Args,·Timeout)</code>·below·is1685 want·to·consider·using·<a·href="#send_request/6"><code·class="inline">send_request/6</code></a>·instead.</p><p>A·call·to·the·function·<code·class="inline">my_call(Node,·Module,·Function,·Args,·Timeout)</code>·below·is
1686 equivalent·to·the·call1686 equivalent·to·the·call
1687 <a·href="#call/5"><code·class="inline">erpc:call(Node,·Module,·Function,·Args,·Timeout)</code></a>·if·one·disregards1687 <a·href="#call/5"><code·class="inline">erpc:call(Node,·Module,·Function,·Args,·Timeout)</code></a>·if·one·disregards
1688 performance.·<code·class="inline">call()</code>·can·utilize·a·selective·receive·optimization·which·removes1688 performance.·<code·class="inline">call()</code>·can·utilize·a·selective·receive·optimization·which·removes
1689 the·need·to·scan·the·message·queue·from·the·beginning·in·order·to·find·a1689 the·need·to·scan·the·message·queue·from·the·beginning·in·order·to·find·a
1690 matching·message.·The·<code·class="inline">send_request()/receive_response()</code>·combination·can,1690 matching·message.·The·<code·class="inline">send_request()/receive_response()</code>·combination·can,
1691 however,·not·utilize·this·optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_call</span><span·class="p"·data-group-id="4716905847-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:·ab631cb2e516beb39edc119038ac8c2b35fa11f9b0df972256e844857d4ef53c·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1691 however,·not·utilize·this·optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_call</span><span·class="p"·data-group-id="5772408755-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:·42adb9e6043a34b9d2c800ddb45499da45dc091f45d6b423745216da141b6d46·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1692 ··</span><span·class="n">RequestId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="4716905847-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:·934c1635f872d62517e8d01892f5c8b80ac77b5d3bf7f7c2b4362252722f7156·...·]-2">)</span><span·class="p">,</span><span·class="w">1692 ··</span><span·class="n">RequestId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="5772408755-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:·201b865981050e8225541e40cfb4c8a7bf39d69b49a69737e2405ae8d33ad69d·...·]-2">)</span><span·class="p">,</span><span·class="w">
1693 ··</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="4716905847-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="4716905847-3">)</span><span·class="p">.</span></code></pre><p>Fails·with·an·<code·class="inline">{erpc,·badarg}</code>·<code·class="inline">error</code>·exception·if:</p><ul><li><code·class="inline">Node</code>·is·not·an·atom.</li><li><code·class="inline">Module</code>·is·not·an·atom.</li><li><code·class="inline">Function</code>·is·not·an·atom.</li><li><code·class="inline">Args</code>·is·not·a·list.·Note·that·the·list·is·not·verified·to·be·a·proper·list1693 ··</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="5772408755-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="5772408755-3">)</span><span·class="p">.</span></code></pre><p>Fails·with·an·<code·class="inline">{erpc,·badarg}</code>·<code·class="inline">error</code>·exception·if:</p><ul><li><code·class="inline">Node</code>·is·not·an·atom.</li><li><code·class="inline">Module</code>·is·not·an·atom.</li><li><code·class="inline">Function</code>·is·not·an·atom.</li><li><code·class="inline">Args</code>·is·not·a·list.·Note·that·the·list·is·not·verified·to·be·a·proper·list
1694 at·the·client·side.</li></ul><p>Equivalent·to1694 at·the·client·side.</li></ul><p>Equivalent·to
1695 <a·href="#send_request/6"><code·class="inline">erpc:send_request(Node,·erlang,·apply,·[Fun,[]]),·Label,·RequestIdCollection)</code></a>.</p><p>Fails·with·an·<code·class="inline">{erpc,·badarg}</code>·<code·class="inline">error</code>·exception·if:</p><ul><li><code·class="inline">Node</code>·is·not·an·atom.</li><li><code·class="inline">Fun</code>·is·not·a·fun·of·zero·arity.</li><li><code·class="inline">RequestIdCollection</code>·is·detected·not·to·be·request·identifier·collection.</li></ul>1695 <a·href="#send_request/6"><code·class="inline">erpc:send_request(Node,·erlang,·apply,·[Fun,[]]),·Label,·RequestIdCollection)</code></a>.</p><p>Fails·with·an·<code·class="inline">{erpc,·badarg}</code>·<code·class="inline">error</code>·exception·if:</p><ul><li><code·class="inline">Node</code>·is·not·an·atom.</li><li><code·class="inline">Fun</code>·is·not·a·fun·of·zero·arity.</li><li><code·class="inline">RequestIdCollection</code>·is·detected·not·to·be·request·identifier·collection.</li></ul>
1696 ··</section>1696 ··</section>
1697 </section>1697 </section>
1698 <section·class="detail"·id="send_request/6">1698 <section·class="detail"·id="send_request/6">
  
1699 ··<div·class="detail-header">1699 ··<div·class="detail-header">
Offset 1913, 15 lines modifiedOffset 1913, 15 lines modified
1913 ······<p·class="built-using">1913 ······<p·class="built-using">
1914 ········Built·using1914 ········Built·using
1915 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1915 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1916 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1916 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1917 ······</p>1917 ······</p>
1918 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1918 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1919 ····</footer>1919 ····</footer>
1920 ··</div>1920 ··</div>
1921 </main>1921 </main>
1922 </div>1922 </div>
1923 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1923 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1924 ··<script>1924 ··<script>
1925 ··let·initialized·=·false;1925 ··let·initialized·=·false;
730 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/error_handler.html
    
Offset 325, 15 lines modifiedOffset 325, 15 lines modified
325 ······<p·class="built-using">325 ······<p·class="built-using">
326 ········Built·using326 ········Built·using
327 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the327 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
328 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>328 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
329 ······</p>329 ······</p>
330 <p>Copyright·©·1996-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.3/doc/html/error_logger.html
    
Offset 1204, 15 lines modifiedOffset 1204, 15 lines modified
1204 ······<p·class="built-using">1204 ······<p·class="built-using">
1205 ········Built·using1205 ········Built·using
1206 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1206 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1207 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1207 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1208 ······</p>1208 ······</p>
1209 <p>Copyright·©·1996-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.6 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/file.html
    
Offset 175, 39 lines modifiedOffset 175, 39 lines modified
175 running·its·file·server·as·slave·to·the·file·server·of·another·node,·and·the175 running·its·file·server·as·slave·to·the·file·server·of·another·node,·and·the
176 other·node·runs·on·some·other·host·machine,·they·can·have·different·file176 other·node·runs·on·some·other·host·machine,·they·can·have·different·file
177 systems.·However,·this·is·seldom·a·problem.</p></section><p><a·href="#open/2"><code·class="inline">open/2</code></a>·can·be·given·the·options·<code·class="inline">delayed_write</code>·and·<code·class="inline">read_ahead</code>·to·turn·on177 systems.·However,·this·is·seldom·a·problem.</p></section><p><a·href="#open/2"><code·class="inline">open/2</code></a>·can·be·given·the·options·<code·class="inline">delayed_write</code>·and·<code·class="inline">read_ahead</code>·to·turn·on
178 caching,·which·will·reduce·the·number·of·operating·system·calls·and·greatly178 caching,·which·will·reduce·the·number·of·operating·system·calls·and·greatly
179 improve·performance·for·small·reads·and·writes.·However,·the·overhead·won't179 improve·performance·for·small·reads·and·writes.·However,·the·overhead·won't
180 disappear·completely·and·it's·best·to·keep·the·number·of·file·operations·to·a180 disappear·completely·and·it's·best·to·keep·the·number·of·file·operations·to·a
181 minimum.·As·a·contrived·example,·the·following·function·writes·4MB·in·2.5181 minimum.·As·a·contrived·example,·the·following·function·writes·4MB·in·2.5
182 seconds·when·tested:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="6644023253-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="6644023253-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">182 seconds·when·tested:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="1317741805-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="1317741805-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
183 ····</span><span·class="p"·data-group-id="6644023253-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="6644023253-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·612,·SHA:·769d512c950b77ec1b03129705da46aa29e65c131da903af23e3a84db6d634b0·...·]-3">)</span><span·class="p">,</span><span·class="w">183 ····</span><span·class="p"·data-group-id="1317741805-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="1317741805-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·612,·SHA:·807cf2435232bac2cde19d7f405533af8757a5baac525cddb796a216d0cfb56c·...·]-3">)</span><span·class="p">,</span><span·class="w">
184 ····</span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="6644023253-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="6644[·...·truncated·by·diffoscope;·len:·6,·SHA:·19ddca6d2d276bc05fca2b4df91c90ebeccdec13aa5043d23c12d9f273302ac7·...·]-5">)</span><span·class="p">,</span><span·class="w">184 ····</span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="1317741805-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="1317[·...·truncated·by·diffoscope;·len:·6,·SHA:·45104537097c7cf609e590bc60829bb0654ebc2879b448014fad354c8961d7a2·...·]-5">)</span><span·class="p">,</span><span·class="w">
185 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="6644023253-6">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="6644023253-6">)</span><span·class="p">.</span><span·class="w">185 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="1317741805-6">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="1317741805-6">)</span><span·class="p">.</span><span·class="w">
  
186 </span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="6644023253-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="6644023253-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">186 </span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="1317741805-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="1317741805-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
187 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">187 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
188 </span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="6644023253-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="6644023253-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">188 </span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="1317741805-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="1317741805-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
189 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="6644023253-9">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6644023253-10">&lt;&lt;</span><span·class="mi">0</span><span·class="p"·data-group-id="6644023253-10">&gt;&gt;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·3a72f98d7b972a10d019d599072313f989b03078b92a24f3b9da09dff4e4dcbe·...·]-9">)</span><span·class="p">,</span><span·class="w">189 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="1317741805-9">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1317741805-10">&lt;&lt;</span><span·class="mi">0</span><span·class="p"·data-group-id="1317741805-10">&gt;&gt;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·e75ee9b2c5f448f6a49b7c8d959caff9f2e2b24c08160626904a3a0226176b77·...·]-9">)</span><span·class="p">,</span><span·class="w">
190 ····</span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="6644023253-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="66440232[·...·truncated·by·diffoscope;·len:·2,·SHA:·2858dcd1057d3eae7f7d5f782167e24b61153c01551450a628cee722509f6529·...·]-11">)</span><span·class="p">.</span></code></pre><p>The·following·functionally·equivalent·code·writes·128·bytes·per·call·to190 ····</span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="1317741805-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="13177418[·...·truncated·by·diffoscope;·len:·2,·SHA:·c97550ce8213ef5cf6ed4ba48790c137df3ef6a5da20b48961001a634b6cead2·...·]-11">)</span><span·class="p">.</span></code></pre><p>The·following·functionally·equivalent·code·writes·128·bytes·per·call·to
191 <a·href="#write/2"><code·class="inline">write/2</code></a>·and·so·does·the·same·work·in·0.08·seconds,·which·is·roughly·30·times191 <a·href="#write/2"><code·class="inline">write/2</code></a>·and·so·does·the·same·work·in·0.08·seconds,·which·is·roughly·30·times
192 faster:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">create_file</span><span·class="p"·data-group-id="9333975650-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="9333975650-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">192 faster:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">create_file</span><span·class="p"·data-group-id="9841019509-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="9841019509-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="9333975650-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="9333975650-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·611,·SHA:·f00fde779a2f21ea40dbbad100c634b76fe633185317ec015da037bbcae2bd1c·...·]-3">)</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="p"·data-group-id="9841019509-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="9841019509-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·611,·SHA:·927565aec06fcb6f721f297559fe4b046147fd9e2b2744045e15065e4af7530a·...·]-3">)</span><span·class="p">,</span><span·class="w">
194 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="9333975650-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="93339[·...·truncated·by·diffoscope;·len:·5,·SHA:·56f27fdc95f0fda7475622b2d19cbea6a1761e7f46387ec30cf05032d9d50806·...·]-5">)</span><span·class="p">,</span><span·class="w">194 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="9841019509-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="98410[·...·truncated·by·diffoscope;·len:·5,·SHA:·6fb01d4d32b35f2c3c906c8b66d4919b1fdb6005ac06b6c2987e416adb360e21·...·]-5">)</span><span·class="p">,</span><span·class="w">
195 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="9333975650-6">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="9333975650-6">)</span><span·class="p">,</span><span·class="w">195 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="9841019509-6">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="9841019509-6">)</span><span·class="p">,</span><span·class="w">
196 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">196 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
197 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="9333975650-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="9333975650-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">197 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="9841019509-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="9841019509-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
198 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">198 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
199 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="9333975650-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="9333975650-8">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">M</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">128</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">199 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="9841019509-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="9841019509-8">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">M</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">128</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
200 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="9333975650-9">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9333975650-10">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="p"·data-group-id="9333975650-11">(</spa[·...·truncated·by·diffoscope;·len:·286,·SHA:·17bc5411926f8aec23752815793221d7ed4aee1abd76062310fe3243ee94950c·...·]-9">)</span><span·class="p">,</span><span·class="w">200 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="9841019509-9">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9841019509-10">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="p"·data-group-id="9841019509-11">(</spa[·...·truncated·by·diffoscope;·len:·286,·SHA:·c5f8884f0b353f1e41c36c7852ee0b5062ccbd85cb5f03fe2d55ab23cc1453fb·...·]-9">)</span><span·class="p">,</span><span·class="w">
201 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="9333975650-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="9333975[·...·truncated·by·diffoscope;·len:·3,·SHA:·2099a9b5f777e242d1f9e19d27e232cc71e2fa7964fc988a319fce5671ca7f73·...·]-12">)</span><span·class="p">;</span><span·class="w">201 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="9841019509-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="9841019[·...·truncated·by·diffoscope;·len:·3,·SHA:·a05198938c6ca8cd56289c6dba6bb8aaa68dfe8e0d7a37df2fb76e48eeba4244·...·]-12">)</span><span·class="p">;</span><span·class="w">
202 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="9333975650-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="9333975650-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="9841019509-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="9841019509-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="9333975650-14">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9333975650-15">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="p"·data-group-id="9333975650-16">(</sp[·...·truncated·by·diffoscope;·len:·284,·SHA:·687efcf2c30625c52519292096fba8e1d3709de0ee9d452a1c37e4881721853d·...·]-14">)</span><span·class="p">,</span><span·class="w">203 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="9841019509-14">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9841019509-15">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="p"·data-group-id="9841019509-16">(</sp[·...·truncated·by·diffoscope;·len:·284,·SHA:·7127dcf6eb0b8afd7411ea956bc51c52ebe36f0dc87dd4590f9108bed81f66ef·...·]-14">)</span><span·class="p">,</span><span·class="w">
204 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="9333975650-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="933397565[·...·truncated·by·diffoscope;·len:·1,·SHA:·5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9·...·]-17">)</span><span·class="p">.</span></code></pre><p>When·writing·data·it's·generally·more·efficient·to·write·a·list·of·binaries204 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="9841019509-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="984101950[·...·truncated·by·diffoscope;·len:·1,·SHA:·19581e27de7ced00ff1ce50b2047e7a567c76b1cbaebabe5ef03f7c3017bb5b7·...·]-17">)</span><span·class="p">.</span></code></pre><p>When·writing·data·it's·generally·more·efficient·to·write·a·list·of·binaries
205 rather·than·a·list·of·integers.·It·is·not·needed·to·flatten·a·deep·list·before205 rather·than·a·list·of·integers.·It·is·not·needed·to·flatten·a·deep·list·before
206 writing.·On·Unix·hosts,·scatter·output,·which·writes·a·set·of·buffers·in·one206 writing.·On·Unix·hosts,·scatter·output,·which·writes·a·set·of·buffers·in·one
207 operation,·is·used·when·possible.·In·this·way207 operation,·is·used·when·possible.·In·this·way
208 <a·href="#write/2"><code·class="inline">write(FD,·[Bin1,·Bin2·|·Bin3])</code></a>·writes·the·contents·of·the208 <a·href="#write/2"><code·class="inline">write(FD,·[Bin1,·Bin2·|·Bin3])</code></a>·writes·the·contents·of·the
209 binaries·without·copying·the·data·at·all,·except·for·perhaps·deep·down·in·the209 binaries·without·copying·the·data·at·all,·except·for·perhaps·deep·down·in·the
210 operating·system·kernel.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>If·an·error·occurs·when·accessing·an·open·file·with·module·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html"><code·class="inline">io</code></a>,·the·process210 operating·system·kernel.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>If·an·error·occurs·when·accessing·an·open·file·with·module·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html"><code·class="inline">io</code></a>,·the·process
211 handling·the·file·exits.·The·dead·file·process·can·hang·if·a·process·tries·to211 handling·the·file·exits.·The·dead·file·process·can·hang·if·a·process·tries·to
Offset 1954, 16 lines modifiedOffset 1954, 16 lines modified
1954 ······</div>1954 ······</div>
  
1955 <p>Reads·Erlang·terms,·separated·by·<code·class="inline">.</code>,·from·<code·class="inline">Filename</code>.·Returns·one·of·the1955 <p>Reads·Erlang·terms,·separated·by·<code·class="inline">.</code>,·from·<code·class="inline">Filename</code>.·Returns·one·of·the
1956 following:</p><ul><li><p><strong><code·class="inline">{ok,·Terms}</code></strong>·-·The·file·was·successfully·read.</p></li><li><p><strong><code·class="inline">{error,·atom()}</code></strong>·-·An·error·occurred·when·opening·the·file·or·reading·it.1956 following:</p><ul><li><p><strong><code·class="inline">{ok,·Terms}</code></strong>·-·The·file·was·successfully·read.</p></li><li><p><strong><code·class="inline">{error,·atom()}</code></strong>·-·An·error·occurred·when·opening·the·file·or·reading·it.
1957 For·a·list·of·typical·error·codes,·see·<a·href="#open/2"><code·class="inline">open/2</code></a>.</p></li><li><p><strong><code·class="inline">{error,·{Line,·Mod,·Term}}</code></strong>·-·An·error·occurred·when·interpreting·the1957 For·a·list·of·typical·error·codes,·see·<a·href="#open/2"><code·class="inline">open/2</code></a>.</p></li><li><p><strong><code·class="inline">{error,·{Line,·Mod,·Term}}</code></strong>·-·An·error·occurred·when·interpreting·the
1958 Erlang·terms·in·the·file.·To·convert·the·three-element·tuple·to·an·English1958 Erlang·terms·in·the·file.·To·convert·the·three-element·tuple·to·an·English
1959 description·of·the·error,·use·<a·href="#format_error/1"><code·class="inline">format_error/1</code></a>.</p></li></ul><p><em>Example:</em></p><pre><code·class="text">f.txt:··{person,·&quot;kalle&quot;,·25}.1959 description·of·the·error,·use·<a·href="#format_error/1"><code·class="inline">format_error/1</code></a>.</p></li></ul><p><em>Example:</em></p><pre><code·class="text">f.txt:··{person,·&quot;kalle&quot;,·25}.
1960 ········{person,·&quot;pelle&quot;,·30}.</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">consult</span><span·class="p"·data-group-id="9464643447-1">(</span><span·class="s">&quot;f.txt&quot;</span><span·class="p"·data-group-id="9464643447-1">)</span><span·class="p">.</span><span·class="w">1960 ········{person,·&quot;pelle&quot;,·30}.</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">consult</span><span·class="p"·data-group-id="4083551017-1">(</span><span·class="s">&quot;f.txt&quot;</span><span·class="p"·data-group-id="4083551017-1">)</span><span·class="p">.</span><span·class="w">
1961 </span><span·class="p"·data-group-id="9464643447-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9464643447-3">[</span><span·class="p"·data-group-id="9464643447-4">{</span><span·class="ss">person</span><span·class="p">,</span><span·class="s">&quot;ka[·...·truncated·by·diffoscope;·len:·486,·SHA:·d874b9b05fa1def6b6e17cdc594fb0cc20acc9eb8468e76b38adf0c562991a30·...·]7-2">}</span></code></pre><p>The·encoding·of·<code·class="inline">Filename</code>·can·be·set·by·a·comment,·as·described·in1961 </span><span·class="p"·data-group-id="4083551017-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4083551017-3">[</span><span·class="p"·data-group-id="4083551017-4">{</span><span·class="ss">person</span><span·class="p">,</span><span·class="s">&quot;ka[·...·truncated·by·diffoscope;·len:·486,·SHA:·ee508e4358055d1b28906d96be1e909712fd5a7aba22a4f36b8fa67199782ceb·...·]7-2">}</span></code></pre><p>The·encoding·of·<code·class="inline">Filename</code>·can·be·set·by·a·comment,·as·described·in
1962 <a·href="../../../../lib/stdlib-7.0/doc/html/epp.html#encoding"><code·class="inline">epp</code></a>.</p>1962 <a·href="../../../../lib/stdlib-7.0/doc/html/epp.html#encoding"><code·class="inline">epp</code></a>.</p>
1963 ··</section>1963 ··</section>
1964 </section>1964 </section>
1965 <section·class="detail"·id="copy/2">1965 <section·class="detail"·id="copy/2">
  
1966 ··<div·class="detail-header">1966 ··<div·class="detail-header">
1967 ····<a·href="#copy/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1967 ····<a·href="#copy/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 3243, 15 lines modifiedOffset 3243, 15 lines modified
3243 ····························FileInfo·::·<a·href="#t:file_info/0">file_info</a>(),3243 ····························FileInfo·::·<a·href="#t:file_info/0">file_info</a>(),
3244 ····························Reason·::·<a·href="#t:posix/0">posix</a>()·|·badarg.</pre>3244 ····························Reason·::·<a·href="#t:posix/0">posix</a>()·|·badarg.</pre>
  
3245 ······</div>3245 ······</div>
  
3246 <p>Retrieves·information·about·a·file.·Returns·<code·class="inline">{ok,·FileInfo}</code>·if·successful,3246 <p>Retrieves·information·about·a·file.·Returns·<code·class="inline">{ok,·FileInfo}</code>·if·successful,
3247 otherwise·<code·class="inline">{error,·Reason}</code>.</p><p><code·class="inline">FileInfo</code>·is·a·record·<code·class="inline">file_info</code>,·defined·in·the·Kernel·include·file·<code·class="inline">file.hrl</code>.3247 otherwise·<code·class="inline">{error,·Reason}</code>.</p><p><code·class="inline">FileInfo</code>·is·a·record·<code·class="inline">file_info</code>,·defined·in·the·Kernel·include·file·<code·class="inline">file.hrl</code>.
3248 Include·the·following·directive·in·the·module·from·which·the·function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="0519214697-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="0519214697-1">)</span><span·class="p">.</span></code></pre><p>The·time·type·returned·in·<code·class="inline">atime</code>,·<code·class="inline">mtime</code>,·and·<code·class="inline">ctime</code>·is·dependent·on·the·time3248 Include·the·following·directive·in·the·module·from·which·the·function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="4379279168-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="4379279168-1">)</span><span·class="p">.</span></code></pre><p>The·time·type·returned·in·<code·class="inline">atime</code>,·<code·class="inline">mtime</code>,·and·<code·class="inline">ctime</code>·is·dependent·on·the·time
3249 type·set·in·<code·class="inline">Opts·::·{time,·Type}</code>·as·follows:</p><ul><li><p><strong><code·class="inline">local</code></strong>·-·Returns·local·time.</p></li><li><p><strong><code·class="inline">universal</code></strong>·-·Returns·universal·time.</p></li><li><p><strong><code·class="inline">posix</code></strong>·-·Returns·seconds·since·or·before·Unix·time·epoch,·which·is3249 type·set·in·<code·class="inline">Opts·::·{time,·Type}</code>·as·follows:</p><ul><li><p><strong><code·class="inline">local</code></strong>·-·Returns·local·time.</p></li><li><p><strong><code·class="inline">universal</code></strong>·-·Returns·universal·time.</p></li><li><p><strong><code·class="inline">posix</code></strong>·-·Returns·seconds·since·or·before·Unix·time·epoch,·which·is
3250 1970-01-01·00:00·UTC.</p></li></ul><p>Default·is·<code·class="inline">{time,·local}</code>.</p><p>If·the·option·<code·class="inline">raw</code>·is·set,·the·file·server·is·not·called·and·only·information3250 1970-01-01·00:00·UTC.</p></li></ul><p>Default·is·<code·class="inline">{time,·local}</code>.</p><p>If·the·option·<code·class="inline">raw</code>·is·set,·the·file·server·is·not·called·and·only·information
3251 about·local·files·is·returned.·Note·that·this·will·break·this·module's·atomicity3251 about·local·files·is·returned.·Note·that·this·will·break·this·module's·atomicity
3252 guarantees·as·it·can·race·with·a·concurrent·call·to3252 guarantees·as·it·can·race·with·a·concurrent·call·to
3253 <a·href="#write_file_info/2"><code·class="inline">write_file_info/1,2</code>·</a>.</p><p>This·option·has·no·effect·when·the·function·is·given·an·I/O·device·instead·of·a3253 <a·href="#write_file_info/2"><code·class="inline">write_file_info/1,2</code>·</a>.</p><p>This·option·has·no·effect·when·the·function·is·given·an·I/O·device·instead·of·a
3254 file·name.·Use·<a·href="#open/2"><code·class="inline">open/2</code></a>·with·the·<code·class="inline">raw</code>·mode·to·obtain·a·file·descriptor·first.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>As·file·times·are·stored·in·POSIX·time·on·most·OS,·it·is·faster·to·query·file3254 file·name.·Use·<a·href="#open/2"><code·class="inline">open/2</code></a>·with·the·<code·class="inline">raw</code>·mode·to·obtain·a·file·descriptor·first.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>As·file·times·are·stored·in·POSIX·time·on·most·OS,·it·is·faster·to·query·file
3255 information·with·option·<code·class="inline">posix</code>.</p></section><p>The·record·<code·class="inline">file_info</code>·contains·the·following·fields:</p><ul><li><p><strong><code·class="inline">size·=</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·Size·of·file·in·bytes.</p></li><li><p><strong><code·class="inline">type·=·device·|·directory·|·other·|·regular</code></strong>·-·The·type·of·the·file.·Can3255 information·with·option·<code·class="inline">posix</code>.</p></section><p>The·record·<code·class="inline">file_info</code>·contains·the·following·fields:</p><ul><li><p><strong><code·class="inline">size·=</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·Size·of·file·in·bytes.</p></li><li><p><strong><code·class="inline">type·=·device·|·directory·|·other·|·regular</code></strong>·-·The·type·of·the·file.·Can
Offset 3897, 15 lines modifiedOffset 3897, 15 lines modified
3897 ·····························Reason·::·<a·href="#t:posix/0">posix</a>()·|·badarg.</pre>3897 ·····························Reason·::·<a·href="#t:posix/0">posix</a>()·|·badarg.</pre>
  
3898 ······</div>3898 ······</div>
  
3899 <p>Changes·file·information.·Returns·<code·class="inline">ok</code>·if·successful,·otherwise3899 <p>Changes·file·information.·Returns·<code·class="inline">ok</code>·if·successful,·otherwise
3900 <code·class="inline">{error,·Reason}</code>.</p><p><code·class="inline">FileInfo</code>·is·a·record·<code·class="inline">file_info</code>,·defined·in·the·Kernel3900 <code·class="inline">{error,·Reason}</code>.</p><p><code·class="inline">FileInfo</code>·is·a·record·<code·class="inline">file_info</code>,·defined·in·the·Kernel
3901 include·file·<code·class="inline">file.hrl</code>.·Include·the·following·directive·in·the·module·from3901 include·file·<code·class="inline">file.hrl</code>.·Include·the·following·directive·in·the·module·from
3902 which·the·function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="9308098620-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="9308098620-1">)</span><span·class="p">.</span></code></pre><p>The·time·type·set·in·<code·class="inline">atime</code>,·<code·class="inline">mtime</code>,·and·<code·class="inline">ctime</code>·depends·on·the·time·type·set3902 which·the·function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="3583939420-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="3583939420-1">)</span><span·class="p">.</span></code></pre><p>The·time·type·set·in·<code·class="inline">atime</code>,·<code·class="inline">mtime</code>,·and·<code·class="inline">ctime</code>·depends·on·the·time·type·set
3903 in·<code·class="inline">Opts·::·{time,·Type}</code>·as·follows:</p><ul><li><p><strong><code·class="inline">local</code></strong>·-·Interprets·the·time·set·as·local.</p></li><li><p><strong><code·class="inline">universal</code></strong>·-·Interprets·it·as·universal·time.</p></li><li><p><strong><code·class="inline">posix</code></strong>·-·Must·be·seconds·since·or·before·Unix·time·epoch,·which·is3903 in·<code·class="inline">Opts·::·{time,·Type}</code>·as·follows:</p><ul><li><p><strong><code·class="inline">local</code></strong>·-·Interprets·the·time·set·as·local.</p></li><li><p><strong><code·class="inline">universal</code></strong>·-·Interprets·it·as·universal·time.</p></li><li><p><strong><code·class="inline">posix</code></strong>·-·Must·be·seconds·since·or·before·Unix·time·epoch,·which·is
3904 1970-01-01·00:00·UTC.</p></li></ul><p>Default·is·<code·class="inline">{time,·local}</code>.</p><p>If·the·option·<code·class="inline">raw</code>·is·set,·the·file·server·is·not·called·and·only·information3904 1970-01-01·00:00·UTC.</p></li></ul><p>Default·is·<code·class="inline">{time,·local}</code>.</p><p>If·the·option·<code·class="inline">raw</code>·is·set,·the·file·server·is·not·called·and·only·information
3905 about·local·files·is·returned.</p><p>The·following·fields·are·used·from·the·record,·if·they·are·specified:</p><ul><li><p><strong><code·class="inline">atime·=</code>·<a·href="#t:date_time/0"><code·class="inline">date_time/0</code></a>·<code·class="inline">|</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·The·last·time·the·file·was3905 about·local·files·is·returned.</p><p>The·following·fields·are·used·from·the·record,·if·they·are·specified:</p><ul><li><p><strong><code·class="inline">atime·=</code>·<a·href="#t:date_time/0"><code·class="inline">date_time/0</code></a>·<code·class="inline">|</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·The·last·time·the·file·was
3906 read.</p></li><li><p><strong><code·class="inline">mtime·=</code>·<a·href="#t:date_time/0"><code·class="inline">date_time/0</code></a>·<code·class="inline">|</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·The·last·time·the·file·was3906 read.</p></li><li><p><strong><code·class="inline">mtime·=</code>·<a·href="#t:date_time/0"><code·class="inline">date_time/0</code></a>·<code·class="inline">|</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·The·last·time·the·file·was
3907 written.</p></li><li><p><strong><code·class="inline">ctime·=</code>·<a·href="#t:date_time/0"><code·class="inline">date_time/0</code></a>·<code·class="inline">|</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·On·Unix,·any·value3907 written.</p></li><li><p><strong><code·class="inline">ctime·=</code>·<a·href="#t:date_time/0"><code·class="inline">date_time/0</code></a>·<code·class="inline">|</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·On·Unix,·any·value
3908 specified·for·this·field·is·ignored·(the·&quot;ctime&quot;·for·the·file·is·set·to·the3908 specified·for·this·field·is·ignored·(the·&quot;ctime&quot;·for·the·file·is·set·to·the
3909 current·time).·On·Windows,·this·field·is·the·new·creation·time·to·set·for·the3909 current·time).·On·Windows,·this·field·is·the·new·creation·time·to·set·for·the
Offset 3939, 15 lines modifiedOffset 3939, 15 lines modified
3939 ······<p·class="built-using">3939 ······<p·class="built-using">
3940 ········Built·using3940 ········Built·using
3941 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3941 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3942 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3942 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3943 ······</p>3943 ······</p>
3944 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3944 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3945 ····</footer>3945 ····</footer>
3946 ··</div>3946 ··</div>
3947 </main>3947 </main>
3948 </div>3948 </div>
3949 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3949 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3950 ··<script>3950 ··<script>
3951 ··let·initialized·=·false;3951 ··let·initialized·=·false;
663 B
html2text {}
Max HTML report size reached
170 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/gen_sctp.html
Max HTML report size reached
61.0 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/gen_tcp.html
    
Offset 126, 35 lines modifiedOffset 126, 35 lines modified
  
126 ··</h1>126 ··</h1>
  
  
127 ····<section·id="moduledoc">127 ····<section·id="moduledoc">
128 <p>Interface·to·TCP/IP·sockets.</p><p>This·module·provides·functions·for·communicating·over·TCP/IP128 <p>Interface·to·TCP/IP·sockets.</p><p>This·module·provides·functions·for·communicating·over·TCP/IP
129 protocol·sockets.</p><p>The·following·code·fragment·is·a·simple·example·of·a·client·connecting·to·a129 protocol·sockets.</p><p>The·following·code·fragment·is·a·simple·example·of·a·client·connecting·to·a
130 server·at·port·5678,·transferring·a·binary,·and·closing·the·connection:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">client</span><span·class="p"·data-group-id="5544375413-1">(</span><span·class="p"·data-group-id="5544375413-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="3853915245-1">(</span><span·class="p"·data-group-id="3853915245-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="5544375413-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="5544375413-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·119,·SHA:·ceb81ea1abfed7fef9f4fa8fe605378bce5fa7d8db689572166e21f5af1db95b·...·]-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="3853915245-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="3853915245-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·119,·SHA:·4adac937b586c46dd29565fe2b0676542000ad6c3474ddeef580fbad7a23ed7c·...·]-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="5544375413-4">[</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5544375413-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:·7334e0d99e5070d9b2be151c0e8e6aa2cb43ff962c0b1c04902fe1603a379013·...·]-3">)</span><span·class="p">,</span><span·class="w">133 ·································</span><span·class="p"·data-group-id="3853915245-4">[</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3853915245-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:·c870c1b77da05c8c01d0a57d47f506744f00db9cb2b5fa1d9900799361a59f4d·...·]-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="5544375413-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="5544375413-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="3853915245-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="3853915245-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="5544375413-7">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="5544375413-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="3853915245-7">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="3853915245-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="9678112085-1">(</span><span·class="p"·data-group-id="9678112085-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="5737324264-1">(</span><span·class="p"·data-group-id="5737324264-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
137 ····</span><span·class="p"·data-group-id="9678112085-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="9678112085-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·535,·SHA:·e91494a46b584c2c70a8eea51ebec84bea792dc76fba6248a9fb8d0fd213335b·...·]-5">}</span><span·class="p">,</span><span·class="w">137 ····</span><span·class="p"·data-group-id="5737324264-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="5737324264-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·535,·SHA:·f915997d72515b432af7fd6377d09fe7be34d6f00f48fe90ed7ce3078cb8e3ba·...·]-5">}</span><span·class="p">,</span><span·class="w">
138 ········································</span><span·class="p"·data-group-id="9678112085-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="9678112085-6">}</span><span·class="p"·data-group-id="9678112085-4">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·4ab3dc91a65f79a482d45ffc3f769f33de410f793216167d667155d03f626da7·...·]-3">)</span><span·class="p">,</span><span·class="w">138 ········································</span><span·class="p"·data-group-id="5737324264-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="5737324264-6">}</span><span·class="p"·data-group-id="5737324264-4">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·f49a854ad93b490067033d8ca74579a0c9c5cee14cc40aa611b63feaf2bbf6bf·...·]-3">)</span><span·class="p">,</span><span·class="w">
139 ····</span><span·class="p"·data-group-id="9678112085-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="9678112085-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·199,·SHA:·c19391a1db889f1b420e5c1e89a93da344818d429c30a3133fe85dd2f404fd70·...·]-8">)</span><span·class="p">,</span><span·class="w">139 ····</span><span·class="p"·data-group-id="5737324264-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="5737324264-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·199,·SHA:·81465a95960350fee93ea91eae23d790f91c766f556a9c0ee41f53c1a1f80370·...·]-8">)</span><span·class="p">,</span><span·class="w">
140 ····</span><span·class="p"·data-group-id="9678112085-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="9678112085-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·300,·SHA:·1a3806f9252e46cdd0255a6ad6c8bf307ccb85cbe18847da8d5c67b2f003ab71·...·]-10">)</span><span·class="p">,</span><span·class="w">140 ····</span><span·class="p"·data-group-id="5737324264-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="5737324264-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·300,·SHA:·1d71d588f608c0e7e46716c4e8346d1f3ab90dfb38395c78f7e64fd6ccd26b61·...·]-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="9678112085-12">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="9678112085-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="5737324264-12">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="5737324264-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="9678112085-13">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="9678112085-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="5737324264-13">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="5737324264-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="9678112085-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="9678112085-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="5737324264-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="5737324264-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="9678112085-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="9678112085-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="5737324264-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="5737324264-15">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
146 ········</span><span·class="p"·data-group-id="9678112085-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="9678112085-16">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">146 ········</span><span·class="p"·data-group-id="5737324264-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="5737324264-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="9678112085-17">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9678112085-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:·88,·SHA:·a188fb2479d8aaeaadbeaa0bd7208c6ab1db92477a7803d9f493262f509b49c4·...·]-17">)</span><span·class="p">;</span><span·class="w">147 ············</span><span·class="nf">do_recv</span><span·class="p"·data-group-id="5737324264-17">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5737324264-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:·88,·SHA:·bbf5b28243c8014d78e8badcd69920f432e488e543e9f880dbe68c6698019be3·...·]-17">)</span><span·class="p">;</span><span·class="w">
148 ········</span><span·class="p"·data-group-id="9678112085-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="9678112085-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">148 ········</span><span·class="p"·data-group-id="5737324264-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="5737324264-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
149 ············</span><span·class="p"·data-group-id="9678112085-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="9678112085-21">(</span><span·class="n">Bs</span><span·class="p"·data-group-id="9678112085-[·...·truncated·by·diffoscope;·len:·53,·SHA:·b05e4288c1a56a777659c6f315386945fe0d0f5583828d9e4b0851410f6491f7·...·]-20">}</span><span·class="w">149 ············</span><span·class="p"·data-group-id="5737324264-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="5737324264-21">(</span><span·class="n">Bs</span><span·class="p"·data-group-id="5737324264-[·...·truncated·by·diffoscope;·len:·53,·SHA:·2f79ed22a29d34218f5ffb696efee5c2e62b3929d35bd2fa7a8268d8c96134fc·...·]-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="3239424839-1">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">LPort</span><span·class="p"·data-group-id="3239424839-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="4763351707-1">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">LPort</span><span·class="p"·data-group-id="4763351707-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="3239424839-2">(</span><span·class="n">LPort</span><span·class="p">,</span><span·class="p"·data-group-id="3239424839-3">[</span><span·class="p"·data-group-id="3239424839-4">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·d1bd44786f1eee5c5a0ec4009e8f64388ef02416614109dd866f8df697ec19ad·...·]-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="4763351707-2">(</span><span·class="n">LPort</span><span·class="p">,</span><span·class="p"·data-group-id="4763351707-3">[</span><span·class="p"·data-group-id="4763351707-4">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·08bb3fd1ef27617ded2b3b5359a53f94bc105e1061fae5930d5f8c4cd86986a6·...·]-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
194 ········</span><span·class="p"·data-group-id="3239424839-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="3239424839-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">194 ········</span><span·class="p"·data-group-id="4763351707-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="4763351707-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="3239424839-7">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">ListenSock</span><span·class="p"·data-group-id="3239424839-7">)</span><span·class="p">,</span><span·class="w">195 ············</span><span·class="nf">start_servers</span><span·class="p"·data-group-id="4763351707-7">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">ListenSock</span><span·class="p"·data-group-id="4763351707-7">)</span><span·class="p">,</span><span·class="w">
196 ············</span><span·class="p"·data-group-id="3239424839-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="3239424839-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·199,·SHA:·5c01f79085b753de5eb9b28971435e2518871f349073999e9aa0a7cc0c49fba0·...·]-9">)</span><span·class="p">,</span><span·class="w">196 ············</span><span·class="p"·data-group-id="4763351707-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="4763351707-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·199,·SHA:·bd91073093e10cda42943844e37029fef0da7f237568a182ecc9d5e14f2c2f86·...·]-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="3239424839-10">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Reason</span><span·class="p"·data-group-id="3239424839-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">198 ········</span><span·class="p"·data-group-id="4763351707-10">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Reason</span><span·class="p"·data-group-id="4763351707-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
199 ············</span><span·class="p"·data-group-id="3239424839-11">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Reason</span><span·class="p"·data-group-id="3239424839-11">}</span><span·class="w">199 ············</span><span·class="p"·data-group-id="4763351707-11">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Reason</span><span·class="p"·data-group-id="4763351707-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="3239424839-12">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="3239424839-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="4763351707-12">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="4763351707-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="3239424839-13">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">LS</span><span·class="p"·data-group-id="3239424839-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="4763351707-13">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">LS</span><span·class="p"·data-group-id="4763351707-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="3239424839-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="3239424839-15">[</span><span·class="n">LS</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·72,·SHA:·87cbd51bede8a28807ca143ac24207aa31d24ef1f8e4beb4281b78c91f462993·...·]-14">)</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="4763351707-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="4763351707-15">[</span><span·class="n">LS</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·72,·SHA:·9fea7c010798d48f26164d905b32aed0c0e744fbf2a24595e5faab8f8898db3d·...·]-14">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nf">start_servers</span><span·class="p"·data-group-id="3239424839-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="3239424839-16">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">start_servers</span><span·class="p"·data-group-id="4763351707-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="4763351707-16">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">server</span><span·class="p"·data-group-id="3239424839-17">(</span><span·class="n">LS</span><span·class="p"·data-group-id="3239424839-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="4763351707-17">(</span><span·class="n">LS</span><span·class="p"·data-group-id="4763351707-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="3239424839-18">(</span><span·class="n">LS</span><span·class="p"·data-group-id="3239424839-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="4763351707-18">(</span><span·class="n">LS</span><span·class="p"·data-group-id="4763351707-18">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
208 ········</span><span·class="p"·data-group-id="3239424839-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="3239424839-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 ········</span><span·class="p"·data-group-id="4763351707-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="4763351707-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="3239424839-20">(</span><span·class="n">S</span><span·class="p"·data-group-id="3239424839-20">)</span><span·class="p">,</span><span·class="w">209 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="4763351707-20">(</span><span·class="n">S</span><span·class="p"·data-group-id="4763351707-20">)</span><span·class="p">,</span><span·class="w">
210 ············</span><span·class="nf">server</span><span·class="p"·data-group-id="3239424839-21">(</span><span·class="n">LS</span><span·class="p"·data-group-id="3239424839-21">)</span><span·class="p">;</span><span·class="w">210 ············</span><span·class="nf">server</span><span·class="p"·data-group-id="4763351707-21">(</span><span·class="n">LS</span><span·class="p"·data-group-id="4763351707-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="3239424839-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="3239424839-23">[</[·...·truncated·by·diffoscope;·len:·128,·SHA:·b74deaf750e748efe958f3894ff0c344a6a08dd5db584ceead4614d285d219fb·...·]-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="4763351707-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="4763351707-23">[</[·...·truncated·by·diffoscope;·len:·128,·SHA:·12d908ad7eccda943a418f5a988e50d7082d4178d53d68c98511cf7151d3f179·...·]-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="3239424839-24">(</span><span·class="n">S</span><span·class="p"·data-group-id="3239424839-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="4763351707-24">(</span><span·class="n">S</span><span·class="p"·data-group-id="4763351707-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="3239424839-25">(</span><span·class="n">S</span><span·class="p">,</span><span·class="p"·data-group-id="3239424839-26">[</span><span·class="p"·data-group-id="3239424839-27">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="ss">once</[·...·truncated·by·diffoscope;·len:·154,·SHA:·617b74b54ee4b3fafc188c6c1bda99a60dfc193cafc09010ce5b368116085438·...·]-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="4763351707-25">(</span><span·class="n">S</span><span·class="p">,</span><span·class="p"·data-group-id="4763351707-26">[</span><span·class="p"·data-group-id="4763351707-27">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="ss">once</[·...·truncated·by·diffoscope;·len:·154,·SHA:·587156c207ece2acd13794d27ac9003b94a54d860610a112bec943f683425b1f·...·]-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="3239424839-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="3239424839-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">218 ········</span><span·class="p"·data-group-id="4763351707-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="4763351707-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="3239424839-29">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3239424839-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="4763351707-29">(</span><span·class="n">Data</span><span·class="p"·data-group-id="4763351707-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="3239424839-30">(</span><span·class="n">S</span><span·class="p">,</span><span·class="n">Answer</span><span·class="p"·data-group-id="3239424839-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="4763351707-30">(</span><span·class="n">S</span><span·class="p">,</span><span·class="n">Answer</span><span·class="p"·data-group-id="4763351707-30">)</span><span·class="p">,</span><span·class="w">
221 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="3239424839-31">(</span><span·class="n">S</span><span·class="p"·data-group-id="3239424839-31">)</span><span·class="p">;</span><span·class="w">221 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="4763351707-31">(</span><span·class="n">S</span><span·class="p"·data-group-id="4763351707-31">)</span><span·class="p">;</span><span·class="w">
222 ········</span><span·class="p"·data-group-id="3239424839-32">{</span><span·class="ss">tcp_closed</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="3239424839-32">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">222 ········</span><span·class="p"·data-group-id="4763351707-32">{</span><span·class="ss">tcp_closed</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="4763351707-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="3239424839-33">(</span><span·class="s">&quot;Socket·</span><span·class="si">~w</span><span·class="s">·closed·[</span><span·class="si">~w</span><span·class="s">]</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·323,·SHA:·00b711870f35998782ac5f96b38467fbab2c158a509a066dbeb7d308a7e0fe6d·...·]-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="4763351707-33">(</span><span·class="s">&quot;Socket·</span><span·class="si">~w</span><span·class="s">·closed·[</span><span·class="si">~w</span><span·class="s">]</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·323,·SHA:·2261874d3ec5d397cbf12c568646907989fc44690acfc34e6a664c602472d914·...·]-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="5253878908-1">(</span><span·class="n">PortNo</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="5253878908-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="1830664351-1">(</span><span·class="n">PortNo</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="1830664351-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
226 ····</span><span·class="p"·data-group-id="5253878908-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Sock</span><span·class="p"·data-group-id="5253878908-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><[·...·truncated·by·diffoscope;·len:·458,·SHA:·1bd218fa779e9b4fa93ab982da2607e9d862ee8725f411a6260711a360395de8·...·]-5">}</span><span·class="p">,</span><span·class="w">226 ····</span><span·class="p"·data-group-id="1830664351-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Sock</span><span·class="p"·data-group-id="1830664351-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><[·...·truncated·by·diffoscope;·len:·458,·SHA:·1300802212cd9f1c089926807d451046db3dcc99f4513758e9f4c26f7cf0ea14·...·]-5">}</span><span·class="p">,</span><span·class="w">
227 ····················································</span><span·class="p"·data-group-id="5253878908-6">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="5253878908-6">}</span><span·class="p"·data-group-id="5253878908-4">]</span><span·class="p"·data-group-id="5253878908-3">)</span><span·class="p">,</span><span·class="w">227 ····················································</span><span·class="p"·data-group-id="1830664351-6">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1830664351-6">}</span><span·class="p"·data-group-id="1830664351-4">]</span><span·class="p"·data-group-id="1830664351-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="5253878908-7">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="5253878908-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="1830664351-7">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="1830664351-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="5253878908-8">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="5253878908-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="1830664351-8">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1830664351-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="5253878908-9">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="5253878908-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="1830664351-9">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="1830664351-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="7249703475-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Sock</span><span·class="p"·data-group-id="7249703475-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><s[·...·truncated·by·diffoscope;·len:·94,·SHA:·b89867d570576b78e018b899a680d197429492fe60ed9827fc5d01ae81b9efd2·...·]-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="7173274197-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Sock</span><span·class="p"·data-group-id="7173274197-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><s[·...·truncated·by·diffoscope;·len:·94,·SHA:·e2b86e7368836743d7f019f54c313f3e063b258dca3887eda7cf7c89bc238e81·...·]-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="7249703475-3">[</span><span·class="p"·data-group-id="7249703475-4">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="7249703475-4">}</span><span·class="p">,</span><span·class="w">241 ····························</span><span·class="p"·data-group-id="7173274197-3">[</span><span·class="p"·data-group-id="7173274197-4">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="7173274197-4">}</span><span·class="p">,</span><span·class="w">
242 ·····························</span><span·class="p"·data-group-id="7249703475-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="7249703475-5">}</span><span·class="p">,</span><span·class="w">242 ·····························</span><span·class="p"·data-group-id="7173274197-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="7173274197-5">}</span><span·class="p">,</span><span·class="w">
243 ·····························</span><span·class="p"·data-group-id="7249703475-6">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7249703475-6">}</span><span·class="p"·data-group-id="7249703475-3">]</span><span·class="p"·data-group-id="7249703475-2">)</span><span·class="p">,</span><span·class="w">243 ·····························</span><span·class="p"·data-group-id="7173274197-6">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7173274197-6">}</span><span·class="p"·data-group-id="7173274197-3">]</span><span·class="p"·data-group-id="7173274197-2">)</span><span·class="p">,</span><span·class="w">
244 ················</span><span·class="nf">loop</span><span·class="p"·data-group-id="7249703475-7">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="7249703475-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="7173274197-7">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="7173274197-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="1686839032-1">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="1686839032-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="4677584245-1">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="4677584245-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="1686839032-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="1686839032-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">247 ········</span><span·class="p"·data-group-id="4677584245-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="4677584245-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="1686839032-3">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="p"·data-group-id="1686839032-4">[</span><span·class="n">Binary</span><span·class="p"·data-group-id="1686839032-4">]</span><span·class="p"·data-group-id="1686839032-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="4677584245-3">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="p"·data-group-id="4677584245-4">[</span><span·class="n">Binary</span><span·class="p"·data-group-id="4677584245-4">]</span><span·class="p"·data-group-id="4677584245-3">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
249 ················</span><span·class="p"·data-group-id="1686839032-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="1686839032-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">249 ················</span><span·class="p"·data-group-id="4677584245-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="4677584245-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="1686839032-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="4677584245-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="1686839032-7">[</span><span·class="p"·data-group-id="1686839032-7">]</span><span·class="p"·data-group-id="1686839032-6">)</span><span·class="p">,</span><span·class="w">251 ······························</span><span·class="p"·data-group-id="4677584245-7">[</span><span·class="p"·data-group-id="4677584245-7">]</span><span·class="p"·data-group-id="4677584245-6">)</span><span·class="p">,</span><span·class="w">
252 ····················</span><span·class="nf">handle_send_timeout</span><span·class="p"·data-group-id="1686839032-8">(</span><span·class="p"·data-group-id="1686839032-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="4677584245-8">(</span><span·class="p"·data-group-id="4677584245-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="1686839032-9">{</span><span·class="nf">self</span><span·class="p"·data-group-id="1686839032-10">(</span><span·class="p"·data-group-id="1686839032-10">)</span><span·class="p">,</span><span·class="p"·data-group-id="1686839032-11">{</span><span·class="ss">err[·...·truncated·by·diffoscope;·len:·191,·SHA:·c825a26bed54d2054c81000a6d95afee2963eae1ec496f023ad53e547f9ffe65·...·]-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="4677584245-9">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4677584245-10">(</span><span·class="p"·data-group-id="4677584245-10">)</span><span·class="p">,</span><span·class="p"·data-group-id="4677584245-11">{</span><span·class="ss">err[·...·truncated·by·diffoscope;·len:·191,·SHA:·9d9109f1b199299fd19a445fa6a9ee69c9c39496cd5356ee58b58eeb29d21e28·...·]-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="1686839032-12">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="1686839032-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="4677584245-12">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="4677584245-12">)</span><span·class="p">;</span><span·class="w">
258 ················</span><span·class="p"·data-group-id="1686839032-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="1686839032-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">258 ················</span><span·class="p"·data-group-id="4677584245-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="4677584245-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="1686839032-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="4677584245-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="1686839032-15">[</span><span·class="n">OtherSendError</span><span·class="p"·data-group-id="1686839032-15">]</span><span·class="p"·data-group-id="1686839032-14">)</span><span·class="p">,</span><span·class="w">260 ······························</span><span·class="p"·data-group-id="4677584245-15">[</span><span·class="n">OtherSendError</span><span·class="p"·data-group-id="4677584245-15">]</span><span·class="p"·data-group-id="4677584245-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="1686839032-16">{</span><span·class="nf">self</span><span·class="p"·data-group-id="1686839032-17">(</span><span·class="p"·data-group-id="1686839032-17">)</span><span·class="p">,</span><span·class="p"·data-group-id="1686839032-18">{</span><span·class="ss">er[·...·truncated·by·diffoscope;·len:·198,·SHA:·4e23d7a2a1d3800bf080007fcdd0f54601b2c78382ff7137087b6db037d5de54·...·]-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="4677584245-16">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4677584245-17">(</span><span·class="p"·data-group-id="4677584245-17">)</span><span·class="p">,</span><span·class="p"·data-group-id="4677584245-18">{</span><span·class="ss">er[·...·truncated·by·diffoscope;·len:·198,·SHA:·f4a28a73ff8a48eca5eb805181e84ebbc4e9c04dd15267446515b8d68487e28c·...·]-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="1686839032-19">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="1686839032-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="4677584245-19">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="4677584245-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="1686839032-20">{</span><span·class="nf">self</span><span·class="p"·data-group-id="1686839032-21">(</span><span·class="p"·data-group-id="1686839032-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:·736e7cc1a85f635d7a2f01c8fff3b82ee3fa7ccda906fde44e21423d5bbfa7fd·...·]-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="4677584245-20">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4677584245-21">(</span><span·class="p"·data-group-id="4677584245-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:·d8e86c223232db6039038298cf80667390c3b951244f9d664f55662f1f5d413a·...·]-20">}</span><span·class="p">,</span><span·class="w">
265 ····················</span><span·class="nf">loop</span><span·class="p"·data-group-id="1686839032-22">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="1686839032-22">)</span><span·class="w">265 ····················</span><span·class="nf">loop</span><span·class="p"·data-group-id="4677584245-22">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="4677584245-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.91 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/gen_udp.html
    
Offset 924, 25 lines modifiedOffset 924, 25 lines modified
924 time-to-live·(TTL)·for·outgoing·multicast·datagrams·to·control·the·scope·of924 time-to-live·(TTL)·for·outgoing·multicast·datagrams·to·control·the·scope·of
925 the·multicasts.</p><p>Datagrams·with·a·TTL·of·1·are·not·forwarded·beyond·the·local·network.925 the·multicasts.</p><p>Datagrams·with·a·TTL·of·1·are·not·forwarded·beyond·the·local·network.
926 Defaults·to·<code·class="inline">1</code>.</p></li><li><p><strong><code·class="inline">{add_membership, {MultiAddress, InterfaceAddress}}</code></strong>·-926 Defaults·to·<code·class="inline">1</code>.</p></li><li><p><strong><code·class="inline">{add_membership, {MultiAddress, InterfaceAddress}}</code></strong>·-
927 Joins·a·multicast·group.</p></li><li><p><strong><code·class="inline">{drop_membership, {MultiAddress, InterfaceAddress}}</code></strong>·-927 Joins·a·multicast·group.</p></li><li><p><strong><code·class="inline">{drop_membership, {MultiAddress, InterfaceAddress}}</code></strong>·-
928 Leaves·a·multicast·group.</p></li><li><p><strong><a·href="#t:option/0"><code·class="inline">option/0</code></a></strong>·-·See·<a·href="inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>.</p></li></ul><p>UDP·packets·are·sent·with·this·socket·using·<a·href="#send/3"><code·class="inline">send(Socket, ...)</code></a>.928 Leaves·a·multicast·group.</p></li><li><p><strong><a·href="#t:option/0"><code·class="inline">option/0</code></a></strong>·-·See·<a·href="inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>.</p></li></ul><p>UDP·packets·are·sent·with·this·socket·using·<a·href="#send/3"><code·class="inline">send(Socket, ...)</code></a>.
929 When·UDP·packets·arrive·to·the·<code·class="inline">Socket</code>'s·UDP·port,·and·the·socket·is·in929 When·UDP·packets·arrive·to·the·<code·class="inline">Socket</code>'s·UDP·port,·and·the·socket·is·in
930 an·<em>active·mode</em>,·the·packets·are·delivered·as·messages·to·the930 an·<em>active·mode</em>,·the·packets·are·delivered·as·messages·to·the
931 controlling·process·(socket·owner):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4877038733-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:·18f0bb6b711b73cf2317a7e4516b0b12e2d2920cba5cb24f4636669f96e30fe2·...·]-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="7474595056-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:·27b85402525d239063c1f8b9eceecd7cae8888efb24e8c77a64f7521c69bd9d7·...·]-1">}</span><span·class="w">·</span><span·class="c1">%·Without·ancillary·data</span><span·class="w">
932 </span><span·class="p"·data-group-id="4877038733-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:·8dbcd9a1c807af088b619c93cf00e482b5081520a2f775e373da2acd68adcdf4·...·]-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="7474595056-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:·09750fcb92ab1ca547c7640fde2d45d2a2753afe8fabded13a74f94d49fd0b02·...·]-2">}</span><span·class="w">·</span><span·class="c1">%·With·ancillary·data</span></code></pre><p><code·class="inline">PeerIP</code>·and·<code·class="inline">PeerPort</code>·are·the·address·from·which·<code·class="inline">Packet</code>·was·sent.
933 <code·class="inline">Packet</code>·is·a·list·of·bytes·(<code·class="inline">[</code><a·href="../../../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a><code·class="inline">]</code>·if·option·<code·class="inline">list</code>933 <code·class="inline">Packet</code>·is·a·list·of·bytes·(<code·class="inline">[</code><a·href="../../../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a><code·class="inline">]</code>·if·option·<code·class="inline">list</code>
934 is·active·and·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0"><code·class="inline">binary/0</code></a>·if·option·<code·class="inline">binary</code>is·active934 is·active·and·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0"><code·class="inline">binary/0</code></a>·if·option·<code·class="inline">binary</code>is·active
935 (they·are·mutually·exclusive).</p><p>The·message·contains·an·<code·class="inline">AncData</code>·field·only·if·any·of·the·socket935 (they·are·mutually·exclusive).</p><p>The·message·contains·an·<code·class="inline">AncData</code>·field·only·if·any·of·the·socket
936 <a·href="#t:option/0">options</a>·<a·href="inet.html#option-recvtos"><code·class="inline">recvtos</code></a>,936 <a·href="#t:option/0">options</a>·<a·href="inet.html#option-recvtos"><code·class="inline">recvtos</code></a>,
937 <a·href="inet.html#option-recvtclass"><code·class="inline">recvtclass</code></a>·or937 <a·href="inet.html#option-recvtclass"><code·class="inline">recvtclass</code></a>·or
938 <a·href="inet.html#option-recvttl"><code·class="inline">recvttl</code></a>·are·active.</p><p>When·a·socket·in·<code·class="inline">{active, N}</code>·mode·(see·<a·href="inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>·for·details),938 <a·href="inet.html#option-recvttl"><code·class="inline">recvttl</code></a>·are·active.</p><p>When·a·socket·in·<code·class="inline">{active, N}</code>·mode·(see·<a·href="inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>·for·details),
939 transitions·to·passive·(<code·class="inline">{active, false}</code>)·mode·(<code·class="inline">N</code>·counts·down·to·<code·class="inline">0</code>),939 transitions·to·passive·(<code·class="inline">{active, false}</code>)·mode·(<code·class="inline">N</code>·counts·down·to·<code·class="inline">0</code>),
940 the·controlling·process·is·notified·by·a·message·on·this·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1765844316-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="1765844316-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="8238042515-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:·40f533680ce169ab76abd21efa19210542fee3ed5b2fa9d7c97c7fd2389a808a·...·]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="8746493260-1">{</span><span·class="ss">udp_passive</span><span·class="p">,</span><span·class="err"> </span><spa[·...·truncated·by·diffoscope;·len:·165,·SHA:·797406e60f13285e5d622aa759bf26afc97a6bca32358db82d5d7e348cd840d1·...·]
 941 message·is·sent·to·the·controlling·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9124921037-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="9124921037-1">}</span></code></pre><p><code·class="inline">Reason</code>·is·mostly·a·<a·href="inet.html#posix-error-codes">POSIX·Error·Code</a>.</p><p>If·the·socket·is·in·<em>passive·mode</em>·(not·in·an·<em>active·mode</em>),·received·data
942 can·be·retrieved·with·the<code·class="inline">recv/2,3</code>](<a·href="#recv/2"><code·class="inline">recv/2</code></a>)·calls.·Note·that·incoming942 can·be·retrieved·with·the<code·class="inline">recv/2,3</code>](<a·href="#recv/2"><code·class="inline">recv/2</code></a>)·calls.·Note·that·incoming
943 UDP·packets·that·are·longer·than·the·receive·buffer·option·specifies943 UDP·packets·that·are·longer·than·the·receive·buffer·option·specifies
944 can·be·truncated·without·warning.</p><p>The·default·value·for·the·receive·buffer·option·is·<code·class="inline">{recbuf, 9216}</code>.</p>944 can·be·truncated·without·warning.</p><p>The·default·value·for·the·receive·buffer·option·is·<code·class="inline">{recbuf, 9216}</code>.</p>
945 ··</section>945 ··</section>
946 </section>946 </section>
947 <section·class="detail"·id="recv/2">947 <section·class="detail"·id="recv/2">
  
Offset 1225, 15 lines modifiedOffset 1225, 15 lines modified
1225 ······<p·class="built-using">1225 ······<p·class="built-using">
1226 ········Built·using1226 ········Built·using
1227 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1227 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1228 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1228 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1229 ······</p>1229 ······</p>
1230 <p>Copyright·©·1996-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.3/doc/html/global.html
    
Offset 1244, 15 lines modifiedOffset 1244, 15 lines modified
1244 ······<p·class="built-using">1244 ······<p·class="built-using">
1245 ········Built·using1245 ········Built·using
1246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1248 ······</p>1248 ······</p>
1249 <p>Copyright·©·1996-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.34 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/global_group.html
    
Offset 128, 15 lines modifiedOffset 128, 15 lines modified
  
  
128 ····<section·id="moduledoc">128 ····<section·id="moduledoc">
129 <p>Grouping·nodes·to·global·name·registration·groups.</p><p>This·module·makes·it·possible·to·partition·the·nodes·of·a·system·into·<em>global129 <p>Grouping·nodes·to·global·name·registration·groups.</p><p>This·module·makes·it·possible·to·partition·the·nodes·of·a·system·into·<em>global
130 groups</em>.·Each·global·group·has·its·own·global·namespace,·see·<a·href="global.html"><code·class="inline">global</code></a>.</p><p>The·main·advantage·of·dividing·systems·into·global·groups·is·that·the·background130 groups</em>.·Each·global·group·has·its·own·global·namespace,·see·<a·href="global.html"><code·class="inline">global</code></a>.</p><p>The·main·advantage·of·dividing·systems·into·global·groups·is·that·the·background
131 load·decreases·while·the·number·of·nodes·to·be·updated·is·reduced·when131 load·decreases·while·the·number·of·nodes·to·be·updated·is·reduced·when
132 manipulating·globally·registered·names.</p><p>The·Kernel·configuration·parameter·<a·href="kernel_app.html#global_groups"><code·class="inline">global_groups</code></a>132 manipulating·globally·registered·names.</p><p>The·Kernel·configuration·parameter·<a·href="kernel_app.html#global_groups"><code·class="inline">global_groups</code></a>
133 defines·the·global·groups:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2476182971-1">{</span><span·class="ss">global_groups</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2476182971-2">[</span><span·class="n">GroupTuple</span><span·class="w">·</span><span·class="p">:</span><span·class="p"[·...·truncated·by·diffoscope;·len:·267,·SHA:·cf8f3a77c6ae4864142550b7c5e42ac089663e356409e29c5e0a766d2f19f280·...·]1-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="0102442101-1">{</span><span·class="ss">global_groups</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0102442101-2">[</span><span·class="n">GroupTuple</span><span·class="w">·</span><span·class="p">:</span><span·class="p"[·...·truncated·by·diffoscope;·len:·267,·SHA:·75619f63d7b7e87ab0264cb477ae203f21521f025ccf3007cf8ae875c2837227·...·]1-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.47 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/heart.html
    
Offset 589, 15 lines modifiedOffset 589, 15 lines modified
589 ······<p·class="built-using">589 ······<p·class="built-using">
590 ········Built·using590 ········Built·using
591 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the591 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
592 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>592 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
593 ······</p>593 ······</p>
594 <p>Copyright·©·1996-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.3/doc/html/inet.html
    
Offset 151, 27 lines modifiedOffset 151, 27 lines modified
151 inet_default_listen_options·'[{delay_send,true}]'</code></pre><p><strong>Please·note</strong>·that·the·default·option·<code·class="inline">{active,·true}</code>·cannot·be·changed,151 inet_default_listen_options·'[{delay_send,true}]'</code></pre><p><strong>Please·note</strong>·that·the·default·option·<code·class="inline">{active,·true}</code>·cannot·be·changed,
152 for·internal·implementation·reasons.</p><p>Addresses·as·inputs·to·functions·can·be·either·a·string·or·a·tuple.152 for·internal·implementation·reasons.</p><p>Addresses·as·inputs·to·functions·can·be·either·a·string·or·a·tuple.
153 For·example,·the·IP·address·150.236.20.73·can·be·passed·to153 For·example,·the·IP·address·150.236.20.73·can·be·passed·to
154 <a·href="#gethostbyaddr/1"><code·class="inline">gethostbyaddr/1</code></a>,·either·as·a·string·<code·class="inline">&quot;150.236.20.73&quot;</code>154 <a·href="#gethostbyaddr/1"><code·class="inline">gethostbyaddr/1</code></a>,·either·as·a·string·<code·class="inline">&quot;150.236.20.73&quot;</code>
155 or·as·a·tuple·<code·class="inline">{150, 236, 20, 73}</code>.</p><p><em>IPv4·address·examples:</em></p><pre><code·class="text">Address··········ip_address()155 or·as·a·tuple·<code·class="inline">{150, 236, 20, 73}</code>.</p><p><em>IPv4·address·examples:</em></p><pre><code·class="text">Address··········ip_address()
156 -------··········------------156 -------··········------------
157 127.0.0.1········{127,0,0,1}157 127.0.0.1········{127,0,0,1}
158 192.168.42.2·····{192,168,42,2}</code></pre><p><em>IPv6·address·examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Address</span><span·class="w">··········</span><span·class="nf">ip_address</span><span·class="p"·data-group-id="2169968550-1">(</span><span·class="p"·data-group-id="2169968550-1">)</span><span·class="w">158 192.168.42.2·····{192,168,42,2}</code></pre><p><em>IPv6·address·examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Address</span><span·class="w">··········</span><span·class="nf">ip_address</span><span·class="p"·data-group-id="8006727464-1">(</span><span·class="p"·data-group-id="8006727464-1">)</span><span·class="w">
159 </span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">-</span><span·class="w">··········</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="w">159 </span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">-</span><span·class="w">··········</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="w">
160 </span><span·class="p">:</span><span·class="p">:</span><span·class="mi">1</span><span·class="w">·············</span><span·class="p"·data-group-id="2169968550-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:·6a2f6dd858f61419ca949a4e23d06ee3a80debaa35ac77fa71e6c9e32c380964·...·]-2">}</span><span·class="w">160 </span><span·class="p">:</span><span·class="p">:</span><span·class="mi">1</span><span·class="w">·············</span><span·class="p"·data-group-id="8006727464-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:·87316555e9a3826fac50eddbaa982fc9a33071103beb049979bfee45260d735d·...·]-2">}</span><span·class="w">
161 </span><span·class="p">:</span><span·class="p">:</span><span·class="mf">192.168</span><span·class="p">.</span><span·class="mf">42.2</span><span·class="w">··</span><span·class="p"·data-group-id="2169968550-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:·4b100c9130e6c5d8b0c39ee99add5353136234855a6b3013c4d91bf51df7eba7·...·]-3">}</span><span·class="w">161 </span><span·class="p">:</span><span·class="p">:</span><span·class="mf">192.168</span><span·class="p">.</span><span·class="mf">42.2</span><span·class="w">··</span><span·class="p"·data-group-id="8006727464-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:·15028e21a8f01e5c67b809e2392b00cb0f319bf94a9c1f01c97669d7fe76385f·...·]-3">}</span><span·class="w">
162 </span><span·class="p">:</span><span·class="p">:</span><span·class="n">FFFF</span><span·class="p">:</span><span·class="mf">192.168</span><span·class="p">.</span><span·class="mf">42.2</span><span·class="w">162 </span><span·class="p">:</span><span·class="p">:</span><span·class="n">FFFF</span><span·class="p">:</span><span·class="mf">192.168</span><span·class="p">.</span><span·class="mf">42.2</span><span·class="w">
163 ················</span><span·class="p"·data-group-id="2169968550-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:·c750e6e8e09df4493ac7c7dc219991833131b8de6fb59f39790233bbf3f349e6·...·]-6">}</span><span·class="w">163 ················</span><span·class="p"·data-group-id="8006727464-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:·50a9aebcaba8df0e8bee2580cb29f4ac743f10b6e981d36a22cdf7deb1bd6f01·...·]-6">}</span><span·class="w">
164 </span><span·class="mi">3</span><span·class="nc">ffe</span><span·class="p">:</span><span·class="nc">b80</span><span·class="p">:</span><span·class="mi">1</span><span·class="nc">f8d</span><span·class="p">:</span><span·class="mi">2</span><span·class="p">:</span><span·class="mi">204</span><span·class="p">:</span><span·class="nc">acff</span><span·class="p">:</span><span·class="nc">fe17</span><span·class="p">:</span><span·class="ss">bf38</span><span·class="w">164 </span><span·class="mi">3</span><span·class="nc">ffe</span><span·class="p">:</span><span·class="nc">b80</span><span·class="p">:</span><span·class="mi">1</span><span·class="nc">f8d</span><span·class="p">:</span><span·class="mi">2</span><span·class="p">:</span><span·class="mi">204</span><span·class="p">:</span><span·class="nc">acff</span><span·class="p">:</span><span·class="nc">fe17</span><span·class="p">:</span><span·class="ss">bf38</span><span·class="w">
165 ················</span><span·class="p"·data-group-id="2169968550-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:·6e9e5452167006086fbc50882394f6aace71602074047b81aa58f2f4aec5cf85·...·]-9">}</span><span·class="w">165 ················</span><span·class="p"·data-group-id="8006727464-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:·c1c27de7c27a84bbc8176756eb44ea8bae3c6c9c470b10507ddd92b69cadadee·...·]-9">}</span><span·class="w">
166 </span><span·class="nc">fe80</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">204</span><span·class="p">:</span><span·class="nc">acff</span><span·class="p">:</span><span·class="nc">fe17</span><span·class="p">:</span><span·class="ss">bf38</span><span·class="w">166 </span><span·class="nc">fe80</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">204</span><span·class="p">:</span><span·class="nc">acff</span><span·class="p">:</span><span·class="nc">fe17</span><span·class="p">:</span><span·class="ss">bf38</span><span·class="w">
167 ················</span><span·class="p"·data-group-id="2169968550-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:·4abf176c57f53580fa82c8427b52a3a2dc89164b9d28049e532d1ac1fad92d0a·...·]-1">)</span><span·class="p">.</span><span·class="w">167 ················</span><span·class="p"·data-group-id="8006727464-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:·f1bbc2246e36627722ad48ef2eebca769b9acbed58bee4ddeefe2d31cddd5944·...·]-1">)</span><span·class="p">.</span><span·class="w">
168 </span><span·class="p"·data-group-id="4018883858-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4018883858-3">{</span><span·class="mi">192</span><span·class="p">,</span><span·class="mi">168</span><span·class="p">,</span><span·class="mi">42</span><sp[·...·truncated·by·diffoscope;·len:·140,·SHA:·8a43e0d202246b7fa3e73dff2df0d6dfe377d3740fa74e8edc9b1378c93d5612·...·]-2">}</span><span·class="gp·unselectable">168 </span><span·class="p"·data-group-id="0997425556-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0997425556-3">{</span><span·class="mi">192</span><span·class="p">,</span><span·class="mi">168</span><span·class="p">,</span><span·class="mi">42</span><sp[·...·truncated·by·diffoscope;·len:·140,·SHA:·2a5269df9c02dc9f0567d5a27a475cd61cf43ea92268abb731d64c896ade4dd4·...·]-2">}</span><span·class="gp·unselectable">
169 2&gt;·</span><span·class="nc">inet</span><span·class="p">:</span><span·class="nf">parse_address</span><span·class="p"·data-group-id="4018883858-4">(</span><span·class="s">&quot;::FFFF:192.168.42.2&quot;</span><span·class="p"·data-group-id="4018883858-4">)</span><span·class="p">.</span><span·class="w">169 2&gt;·</span><span·class="nc">inet</span><span·class="p">:</span><span·class="nf">parse_address</span><span·class="p"·data-group-id="0997425556-4">(</span><span·class="s">&quot;::FFFF:192.168.42.2&quot;</span><span·class="p"·data-group-id="0997425556-4">)</span><span·class="p">.</span><span·class="w">
170 </span><span·class="p"·data-group-id="4018883858-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4018883858-6">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·cl[·...·truncated·by·diffoscope;·len:·343,·SHA:·d4f0bb2a748bf2ec343a5b01e1dc748257f0e7600702806bdc183d2ba867e8d3·...·]-5">}</span></code></pre><h2·id="module-posix-error-codes"·class="section-heading">170 </span><span·class="p"·data-group-id="0997425556-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0997425556-6">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·cl[·...·truncated·by·diffoscope;·len:·343,·SHA:·acef6f85fa4ab77ffe2bfe852a8bf1b7abbfbcbd5ad2c631c7cb0278bc1646f3·...·]-5">}</span></code></pre><h2·id="module-posix-error-codes"·class="section-heading">
171 ··<a·href="#module-posix-error-codes"·class="hover-link">171 ··<a·href="#module-posix-error-codes"·class="hover-link">
172 ····<i·class="ri-link-m"·aria-hidden="true"></i>172 ····<i·class="ri-link-m"·aria-hidden="true"></i>
173 ··</a>173 ··</a>
174 ··<span·class="text"><a·href=""·id="posix-error-codes"></a>·POSIX·Error·Codes</span>174 ··<span·class="text"><a·href=""·id="posix-error-codes"></a>·POSIX·Error·Codes</span>
175 </h2>175 </h2>
176 <ul><li><code·class="inline">e2big</code>·-·Too·long·argument·list</li><li><code·class="inline">eacces</code>·-·Permission·denied</li><li><code·class="inline">eaddrinuse</code>·-·Address·already·in·use</li><li><code·class="inline">eaddrnotavail</code>·-·Cannot·assign·requested·address</li><li><code·class="inline">eadv</code>·-·Advertise·error</li><li><code·class="inline">eafnosupport</code>·-·Address·family·not·supported·by·protocol·family</li><li><code·class="inline">eagain</code>·-·Resource·temporarily·unavailable</li><li><code·class="inline">ealign</code>·-·EALIGN</li><li><code·class="inline">ealready</code>·-·Operation·already·in·progress</li><li><code·class="inline">ebade</code>·-·Bad·exchange·descriptor</li><li><code·class="inline">ebadf</code>·-·Bad·file·number</li><li><code·class="inline">ebadfd</code>·-·File·descriptor·in·bad·state</li><li><code·class="inline">ebadmsg</code>·-·Not·a·data·message</li><li><code·class="inline">ebadr</code>·-·Bad·request·descriptor</li><li><code·class="inline">ebadrpc</code>·-·Bad·RPC·structure</li><li><code·class="inline">ebadrqc</code>·-·Bad·request·code</li><li><code·class="inline">ebadslt</code>·-·Invalid·slot</li><li><code·class="inline">ebfont</code>·-·Bad·font·file·format</li><li><code·class="inline">ebusy</code>·-·File·busy</li><li><code·class="inline">echild</code>·-·No·children</li><li><code·class="inline">echrng</code>·-·Channel·number·out·of·range</li><li><code·class="inline">ecomm</code>·-·Communication·error·on·send</li><li><code·class="inline">econnaborted</code>·-·Software·caused·connection·abort</li><li><code·class="inline">econnrefused</code>·-·Connection·refused</li><li><code·class="inline">econnreset</code>·-·Connection·reset·by·peer</li><li><code·class="inline">edeadlk</code>·-·Resource·deadlock·avoided</li><li><code·class="inline">edeadlock</code>·-·Resource·deadlock·avoided</li><li><code·class="inline">edestaddrreq</code>·-·Destination·address·required</li><li><code·class="inline">edirty</code>·-·Mounting·a·dirty·fs·without·force</li><li><code·class="inline">edom</code>·-·Math·argument·out·of·range</li><li><code·class="inline">edotdot</code>·-·Cross·mount·point</li><li><code·class="inline">edquot</code>·-·Disk·quota·exceeded</li><li><code·class="inline">eduppkg</code>·-·Duplicate·package·name</li><li><code·class="inline">eexist</code>·-·File·already·exists</li><li><code·class="inline">efault</code>·-·Bad·address·in·system·call·argument</li><li><code·class="inline">efbig</code>·-·File·too·large</li><li><code·class="inline">ehostdown</code>·-·Host·is·down</li><li><code·class="inline">ehostunreach</code>·-·Host·is·unreachable</li><li><code·class="inline">eidrm</code>·-·Identifier·removed</li><li><code·class="inline">einit</code>·-·Initialization·error</li><li><code·class="inline">einprogress</code>·-·Operation·now·in·progress</li><li><code·class="inline">eintr</code>·-·Interrupted·system·call</li><li><code·class="inline">einval</code>·-·Invalid·argument</li><li><code·class="inline">eio</code>·-·I/O·error</li><li><code·class="inline">eisconn</code>·-·Socket·is·already·connected</li><li><code·class="inline">eisdir</code>·-·Illegal·operation·on·a·directory</li><li><code·class="inline">eisnam</code>·-·Is·a·named·file</li><li><code·class="inline">el2hlt</code>·-·Level·2·halted</li><li><code·class="inline">el2nsync</code>·-·Level·2·not·synchronized</li><li><code·class="inline">el3hlt</code>·-·Level·3·halted</li><li><code·class="inline">el3rst</code>·-·Level·3·reset</li><li><code·class="inline">elbin</code>·-·ELBIN</li><li><code·class="inline">elibacc</code>·-·Cannot·access·a·needed·shared·library</li><li><code·class="inline">elibbad</code>·-·Accessing·a·corrupted·shared·library</li><li><code·class="inline">elibexec</code>·-·Cannot·exec·a·shared·library·directly</li><li><code·class="inline">elibmax</code>·-·Attempting·to·link·in·more·shared·libraries·than·system·limit</li><li><code·class="inline">elibscn</code>·-·<code·class="inline">.lib</code>·section·in·<code·class="inline">a.out</code>·corrupted</li><li><code·class="inline">elnrng</code>·-·Link·number·out·of·range</li><li><code·class="inline">eloop</code>·-·Too·many·levels·of·symbolic·links</li><li><code·class="inline">emfile</code>·-·Too·many·open·files</li><li><code·class="inline">emlink</code>·-·Too·many·links</li><li><code·class="inline">emsgsize</code>·-·Message·too·long</li><li><code·class="inline">emultihop</code>·-·Multihop·attempted</li><li><code·class="inline">enametoolong</code>·-·Filename·too·long</li><li><code·class="inline">enavail</code>·-·Unavailable</li><li><code·class="inline">enet</code>·-·ENET</li><li><code·class="inline">enetdown</code>·-·Network·is·down</li><li><code·class="inline">enetreset</code>·-·Network·dropped·connection·on·reset</li><li><code·class="inline">enetunreach</code>·-·Network·is·unreachable</li><li><code·class="inline">enfile</code>·-·File·table·overflow</li><li><code·class="inline">enoano</code>·-·Anode·table·overflow</li><li><code·class="inline">enobufs</code>·-·No·buffer·space·available</li><li><code·class="inline">enocsi</code>·-·No·CSI·structure·available</li><li><code·class="inline">enodata</code>·-·No·data·available</li><li><code·class="inline">enodev</code>·-·No·such·device</li><li><code·class="inline">enoent</code>·-·No·such·file·or·directory</li><li><code·class="inline">enoexec</code>·-·Exec·format·error</li><li><code·class="inline">enolck</code>·-·No·locks·available</li><li><code·class="inline">enolink</code>·-·Link·has·been·severed</li><li><code·class="inline">enomem</code>·-·Not·enough·memory</li><li><code·class="inline">enomsg</code>·-·No·message·of·desired·type</li><li><code·class="inline">enonet</code>·-·Machine·is·not·on·the·network</li><li><code·class="inline">enopkg</code>·-·Package·not·installed</li><li><code·class="inline">enoprotoopt</code>·-·Bad·protocol·option</li><li><code·class="inline">enospc</code>·-·No·space·left·on·device</li><li><code·class="inline">enosr</code>·-·Out·of·stream·resources·or·not·a·stream·device</li><li><code·class="inline">enosym</code>·-·Unresolved·symbol·name</li><li><code·class="inline">enosys</code>·-·Function·not·implemented</li><li><code·class="inline">enotblk</code>·-·Block·device·required</li><li><code·class="inline">enotconn</code>·-·Socket·is·not·connected</li><li><code·class="inline">enotdir</code>·-·Not·a·directory</li><li><code·class="inline">enotempty</code>·-·Directory·not·empty</li><li><code·class="inline">enotnam</code>·-·Not·a·named·file</li><li><code·class="inline">enotsock</code>·-·Socket·operation·on·non-socket</li><li><code·class="inline">enotsup</code>·-·Operation·not·supported</li><li><code·class="inline">enotty</code>·-·Inappropriate·device·for·<code·class="inline">ioctl</code></li><li><code·class="inline">enotuniq</code>·-·Name·not·unique·on·network</li><li><code·class="inline">enxio</code>·-·No·such·device·or·address</li><li><code·class="inline">eopnotsupp</code>·-·Operation·not·supported·on·socket</li><li><code·class="inline">eperm</code>·-·Not·owner</li><li><code·class="inline">epfnosupport</code>·-·Protocol·family·not·supported</li><li><code·class="inline">epipe</code>·-·Broken·pipe</li><li><code·class="inline">eproclim</code>·-·Too·many·processes</li><li><code·class="inline">eprocunavail</code>·-·Bad·procedure·for·program</li><li><code·class="inline">eprogmismatch</code>·-·Wrong·program·version</li><li><code·class="inline">eprogunavail</code>·-·RPC·program·unavailable</li><li><code·class="inline">eproto</code>·-·Protocol·error</li><li><code·class="inline">eprotonosupport</code>·-·Protocol·not·supported</li><li><code·class="inline">eprototype</code>·-·Wrong·protocol·type·for·socket</li><li><code·class="inline">erange</code>·-·Math·result·unrepresentable</li><li><code·class="inline">erefused</code>·-·EREFUSED</li><li><code·class="inline">eremchg</code>·-·Remote·address·changed</li><li><code·class="inline">eremdev</code>·-·Remote·device</li><li><code·class="inline">eremote</code>·-·Pathname·hit·remote·filesystem</li><li><code·class="inline">eremoteio</code>·-·Remote·I/O·error</li><li><code·class="inline">eremoterelease</code>·-·EREMOTERELEASE</li><li><code·class="inline">erofs</code>·-·Read-only·filesystem</li><li><code·class="inline">erpcmismatch</code>·-·Wrong·RPC·version</li><li><code·class="inline">erremote</code>·-·Object·is·remote</li><li><code·class="inline">eshutdown</code>·-·Cannot·send·after·socket·shutdown</li><li><code·class="inline">esocktnosupport</code>·-·Socket·type·not·supported</li><li><code·class="inline">espipe</code>·-·Invalid·seek</li><li><code·class="inline">esrch</code>·-·No·such·process</li><li><code·class="inline">esrmnt</code>·-·Srmount·error</li><li><code·class="inline">estale</code>·-·Stale·remote·file·handle</li><li><code·class="inline">esuccess</code>·-·Error·0</li><li><code·class="inline">etime</code>·-·Timer·expired</li><li><code·class="inline">etimedout</code>·-·Connection·timed·out</li><li><code·class="inline">etoomanyrefs</code>·-·Too·many·references</li><li><code·class="inline">etxtbsy</code>·-·Text·file·or·pseudo-device·busy</li><li><code·class="inline">euclean</code>·-·Structure·needs·cleaning</li><li><code·class="inline">eunatch</code>·-·Protocol·driver·not·attached</li><li><code·class="inline">eusers</code>·-·Too·many·users</li><li><code·class="inline">eversion</code>·-·Version·mismatch</li><li><code·class="inline">ewouldblock</code>·-·Operation·would·block</li><li><code·class="inline">exdev</code>·-·Cross-device·link</li><li><code·class="inline">exfull</code>·-·Message·tables·full</li><li><code·class="inline">nxdomain</code>·-·Hostname·or·domain·name·cannot·be·found</li></ul>176 <ul><li><code·class="inline">e2big</code>·-·Too·long·argument·list</li><li><code·class="inline">eacces</code>·-·Permission·denied</li><li><code·class="inline">eaddrinuse</code>·-·Address·already·in·use</li><li><code·class="inline">eaddrnotavail</code>·-·Cannot·assign·requested·address</li><li><code·class="inline">eadv</code>·-·Advertise·error</li><li><code·class="inline">eafnosupport</code>·-·Address·family·not·supported·by·protocol·family</li><li><code·class="inline">eagain</code>·-·Resource·temporarily·unavailable</li><li><code·class="inline">ealign</code>·-·EALIGN</li><li><code·class="inline">ealready</code>·-·Operation·already·in·progress</li><li><code·class="inline">ebade</code>·-·Bad·exchange·descriptor</li><li><code·class="inline">ebadf</code>·-·Bad·file·number</li><li><code·class="inline">ebadfd</code>·-·File·descriptor·in·bad·state</li><li><code·class="inline">ebadmsg</code>·-·Not·a·data·message</li><li><code·class="inline">ebadr</code>·-·Bad·request·descriptor</li><li><code·class="inline">ebadrpc</code>·-·Bad·RPC·structure</li><li><code·class="inline">ebadrqc</code>·-·Bad·request·code</li><li><code·class="inline">ebadslt</code>·-·Invalid·slot</li><li><code·class="inline">ebfont</code>·-·Bad·font·file·format</li><li><code·class="inline">ebusy</code>·-·File·busy</li><li><code·class="inline">echild</code>·-·No·children</li><li><code·class="inline">echrng</code>·-·Channel·number·out·of·range</li><li><code·class="inline">ecomm</code>·-·Communication·error·on·send</li><li><code·class="inline">econnaborted</code>·-·Software·caused·connection·abort</li><li><code·class="inline">econnrefused</code>·-·Connection·refused</li><li><code·class="inline">econnreset</code>·-·Connection·reset·by·peer</li><li><code·class="inline">edeadlk</code>·-·Resource·deadlock·avoided</li><li><code·class="inline">edeadlock</code>·-·Resource·deadlock·avoided</li><li><code·class="inline">edestaddrreq</code>·-·Destination·address·required</li><li><code·class="inline">edirty</code>·-·Mounting·a·dirty·fs·without·force</li><li><code·class="inline">edom</code>·-·Math·argument·out·of·range</li><li><code·class="inline">edotdot</code>·-·Cross·mount·point</li><li><code·class="inline">edquot</code>·-·Disk·quota·exceeded</li><li><code·class="inline">eduppkg</code>·-·Duplicate·package·name</li><li><code·class="inline">eexist</code>·-·File·already·exists</li><li><code·class="inline">efault</code>·-·Bad·address·in·system·call·argument</li><li><code·class="inline">efbig</code>·-·File·too·large</li><li><code·class="inline">ehostdown</code>·-·Host·is·down</li><li><code·class="inline">ehostunreach</code>·-·Host·is·unreachable</li><li><code·class="inline">eidrm</code>·-·Identifier·removed</li><li><code·class="inline">einit</code>·-·Initialization·error</li><li><code·class="inline">einprogress</code>·-·Operation·now·in·progress</li><li><code·class="inline">eintr</code>·-·Interrupted·system·call</li><li><code·class="inline">einval</code>·-·Invalid·argument</li><li><code·class="inline">eio</code>·-·I/O·error</li><li><code·class="inline">eisconn</code>·-·Socket·is·already·connected</li><li><code·class="inline">eisdir</code>·-·Illegal·operation·on·a·directory</li><li><code·class="inline">eisnam</code>·-·Is·a·named·file</li><li><code·class="inline">el2hlt</code>·-·Level·2·halted</li><li><code·class="inline">el2nsync</code>·-·Level·2·not·synchronized</li><li><code·class="inline">el3hlt</code>·-·Level·3·halted</li><li><code·class="inline">el3rst</code>·-·Level·3·reset</li><li><code·class="inline">elbin</code>·-·ELBIN</li><li><code·class="inline">elibacc</code>·-·Cannot·access·a·needed·shared·library</li><li><code·class="inline">elibbad</code>·-·Accessing·a·corrupted·shared·library</li><li><code·class="inline">elibexec</code>·-·Cannot·exec·a·shared·library·directly</li><li><code·class="inline">elibmax</code>·-·Attempting·to·link·in·more·shared·libraries·than·system·limit</li><li><code·class="inline">elibscn</code>·-·<code·class="inline">.lib</code>·section·in·<code·class="inline">a.out</code>·corrupted</li><li><code·class="inline">elnrng</code>·-·Link·number·out·of·range</li><li><code·class="inline">eloop</code>·-·Too·many·levels·of·symbolic·links</li><li><code·class="inline">emfile</code>·-·Too·many·open·files</li><li><code·class="inline">emlink</code>·-·Too·many·links</li><li><code·class="inline">emsgsize</code>·-·Message·too·long</li><li><code·class="inline">emultihop</code>·-·Multihop·attempted</li><li><code·class="inline">enametoolong</code>·-·Filename·too·long</li><li><code·class="inline">enavail</code>·-·Unavailable</li><li><code·class="inline">enet</code>·-·ENET</li><li><code·class="inline">enetdown</code>·-·Network·is·down</li><li><code·class="inline">enetreset</code>·-·Network·dropped·connection·on·reset</li><li><code·class="inline">enetunreach</code>·-·Network·is·unreachable</li><li><code·class="inline">enfile</code>·-·File·table·overflow</li><li><code·class="inline">enoano</code>·-·Anode·table·overflow</li><li><code·class="inline">enobufs</code>·-·No·buffer·space·available</li><li><code·class="inline">enocsi</code>·-·No·CSI·structure·available</li><li><code·class="inline">enodata</code>·-·No·data·available</li><li><code·class="inline">enodev</code>·-·No·such·device</li><li><code·class="inline">enoent</code>·-·No·such·file·or·directory</li><li><code·class="inline">enoexec</code>·-·Exec·format·error</li><li><code·class="inline">enolck</code>·-·No·locks·available</li><li><code·class="inline">enolink</code>·-·Link·has·been·severed</li><li><code·class="inline">enomem</code>·-·Not·enough·memory</li><li><code·class="inline">enomsg</code>·-·No·message·of·desired·type</li><li><code·class="inline">enonet</code>·-·Machine·is·not·on·the·network</li><li><code·class="inline">enopkg</code>·-·Package·not·installed</li><li><code·class="inline">enoprotoopt</code>·-·Bad·protocol·option</li><li><code·class="inline">enospc</code>·-·No·space·left·on·device</li><li><code·class="inline">enosr</code>·-·Out·of·stream·resources·or·not·a·stream·device</li><li><code·class="inline">enosym</code>·-·Unresolved·symbol·name</li><li><code·class="inline">enosys</code>·-·Function·not·implemented</li><li><code·class="inline">enotblk</code>·-·Block·device·required</li><li><code·class="inline">enotconn</code>·-·Socket·is·not·connected</li><li><code·class="inline">enotdir</code>·-·Not·a·directory</li><li><code·class="inline">enotempty</code>·-·Directory·not·empty</li><li><code·class="inline">enotnam</code>·-·Not·a·named·file</li><li><code·class="inline">enotsock</code>·-·Socket·operation·on·non-socket</li><li><code·class="inline">enotsup</code>·-·Operation·not·supported</li><li><code·class="inline">enotty</code>·-·Inappropriate·device·for·<code·class="inline">ioctl</code></li><li><code·class="inline">enotuniq</code>·-·Name·not·unique·on·network</li><li><code·class="inline">enxio</code>·-·No·such·device·or·address</li><li><code·class="inline">eopnotsupp</code>·-·Operation·not·supported·on·socket</li><li><code·class="inline">eperm</code>·-·Not·owner</li><li><code·class="inline">epfnosupport</code>·-·Protocol·family·not·supported</li><li><code·class="inline">epipe</code>·-·Broken·pipe</li><li><code·class="inline">eproclim</code>·-·Too·many·processes</li><li><code·class="inline">eprocunavail</code>·-·Bad·procedure·for·program</li><li><code·class="inline">eprogmismatch</code>·-·Wrong·program·version</li><li><code·class="inline">eprogunavail</code>·-·RPC·program·unavailable</li><li><code·class="inline">eproto</code>·-·Protocol·error</li><li><code·class="inline">eprotonosupport</code>·-·Protocol·not·supported</li><li><code·class="inline">eprototype</code>·-·Wrong·protocol·type·for·socket</li><li><code·class="inline">erange</code>·-·Math·result·unrepresentable</li><li><code·class="inline">erefused</code>·-·EREFUSED</li><li><code·class="inline">eremchg</code>·-·Remote·address·changed</li><li><code·class="inline">eremdev</code>·-·Remote·device</li><li><code·class="inline">eremote</code>·-·Pathname·hit·remote·filesystem</li><li><code·class="inline">eremoteio</code>·-·Remote·I/O·error</li><li><code·class="inline">eremoterelease</code>·-·EREMOTERELEASE</li><li><code·class="inline">erofs</code>·-·Read-only·filesystem</li><li><code·class="inline">erpcmismatch</code>·-·Wrong·RPC·version</li><li><code·class="inline">erremote</code>·-·Object·is·remote</li><li><code·class="inline">eshutdown</code>·-·Cannot·send·after·socket·shutdown</li><li><code·class="inline">esocktnosupport</code>·-·Socket·type·not·supported</li><li><code·class="inline">espipe</code>·-·Invalid·seek</li><li><code·class="inline">esrch</code>·-·No·such·process</li><li><code·class="inline">esrmnt</code>·-·Srmount·error</li><li><code·class="inline">estale</code>·-·Stale·remote·file·handle</li><li><code·class="inline">esuccess</code>·-·Error·0</li><li><code·class="inline">etime</code>·-·Timer·expired</li><li><code·class="inline">etimedout</code>·-·Connection·timed·out</li><li><code·class="inline">etoomanyrefs</code>·-·Too·many·references</li><li><code·class="inline">etxtbsy</code>·-·Text·file·or·pseudo-device·busy</li><li><code·class="inline">euclean</code>·-·Structure·needs·cleaning</li><li><code·class="inline">eunatch</code>·-·Protocol·driver·not·attached</li><li><code·class="inline">eusers</code>·-·Too·many·users</li><li><code·class="inline">eversion</code>·-·Version·mismatch</li><li><code·class="inline">ewouldblock</code>·-·Operation·would·block</li><li><code·class="inline">exdev</code>·-·Cross-device·link</li><li><code·class="inline">exfull</code>·-·Message·tables·full</li><li><code·class="inline">nxdomain</code>·-·Hostname·or·domain·name·cannot·be·found</li></ul>
177 ····</section>177 ····</section>
Offset 957, 15 lines modifiedOffset 957, 15 lines modified
957 ···················h_addrtype·::·inet·|·inet6,957 ···················h_addrtype·::·inet·|·inet6,
958 ···················h_length·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),958 ···················h_length·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
959 ···················h_addr_list·::·[<a·href="inet.html#t:ip_address/0">inet:ip_address</a>()]}.</pre>959 ···················h_addr_list·::·[<a·href="inet.html#t:ip_address/0">inet:ip_address</a>()]}.</pre>
  
960 ······</div>960 ······</div>
  
961 <p>A·record·describing·a·host;·name·and·address.</p><p>Corresponds·to·the·<code·class="inline">C</code>:·<code·class="inline">struct hostent</code>·as·returned·by·for·example961 <p>A·record·describing·a·host;·name·and·address.</p><p>Corresponds·to·the·<code·class="inline">C</code>:·<code·class="inline">struct hostent</code>·as·returned·by·for·example
962 <code·class="inline">gethostbyname(3)</code>.</p><p>The·record·is·defined·in·the·Kernel·include·file·<code·class="inline">&quot;inet.hrl&quot;</code>.</p><p>Add·the·following·directive·to·the·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="7382593744-1">(</span><span·class="s">&quot;kernel/include/inet.hrl&quot;</span><span·class="p"·data-group-id="7382593744-1">)</span><span·class="p">.</span></code></pre>962 <code·class="inline">gethostbyname(3)</code>.</p><p>The·record·is·defined·in·the·Kernel·include·file·<code·class="inline">&quot;inet.hrl&quot;</code>.</p><p>Add·the·following·directive·to·the·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="3277587064-1">(</span><span·class="s">&quot;kernel/include/inet.hrl&quot;</span><span·class="p"·data-group-id="3277587064-1">)</span><span·class="p">.</span></code></pre>
963 ··</section>963 ··</section>
964 </section>964 </section>
965 <section·class="detail"·id="t:hostname/0">965 <section·class="detail"·id="t:hostname/0">
  
966 ··<div·class="detail-header">966 ··<div·class="detail-header">
967 ····<a·href="#t:hostname/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">967 ····<a·href="#t:hostname/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">
968 ······<i·class="ri-link-m"·aria-hidden="true"></i>968 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2054, 17 lines modifiedOffset 2054, 17 lines modified
2054 coded·in·native·endianness.</p><p>Asking·for·and·inspecting·raw·socket·options·require·low-level·information·about2054 coded·in·native·endianness.</p><p>Asking·for·and·inspecting·raw·socket·options·require·low-level·information·about
2055 the·current·operating·system·and·TCP·stack.</p><p><em>Example:</em></p><p>Consider·a·Linux·machine·where·option·<code·class="inline">TCP_INFO</code>·can·be·used·to·collect·TCP2055 the·current·operating·system·and·TCP·stack.</p><p><em>Example:</em></p><p>Consider·a·Linux·machine·where·option·<code·class="inline">TCP_INFO</code>·can·be·used·to·collect·TCP
2056 statistics·for·a·socket.·Assume·you·are·interested·in·field·<code·class="inline">tcpi_sacked</code>·of2056 statistics·for·a·socket.·Assume·you·are·interested·in·field·<code·class="inline">tcpi_sacked</code>·of
2057 <code·class="inline">struct·tcp_info</code>·filled·in·when·asking·for·<code·class="inline">TCP_INFO</code>.·To·be·able·to·access2057 <code·class="inline">struct·tcp_info</code>·filled·in·when·asking·for·<code·class="inline">TCP_INFO</code>.·To·be·able·to·access
2058 this·information,·you·need·to·know·the·following:</p><ul><li>The·numeric·value·of·protocol·level·<code·class="inline">IPPROTO_TCP</code></li><li>The·numeric·value·of·option·<code·class="inline">TCP_INFO</code></li><li>The·size·of·<code·class="inline">struct·tcp_info</code></li><li>The·size·and·offset·of·the·specific·field</li></ul><p>By·inspecting·the·headers·or·writing·a·small·C·program,·it·is·found·that2058 this·information,·you·need·to·know·the·following:</p><ul><li>The·numeric·value·of·protocol·level·<code·class="inline">IPPROTO_TCP</code></li><li>The·numeric·value·of·option·<code·class="inline">TCP_INFO</code></li><li>The·size·of·<code·class="inline">struct·tcp_info</code></li><li>The·size·and·offset·of·the·specific·field</li></ul><p>By·inspecting·the·headers·or·writing·a·small·C·program,·it·is·found·that
2059 <code·class="inline">IPPROTO_TCP</code>·is·6,·<code·class="inline">TCP_INFO</code>·is·11,·the·structure·size·is·92·(bytes),·the2059 <code·class="inline">IPPROTO_TCP</code>·is·6,·<code·class="inline">TCP_INFO</code>·is·11,·the·structure·size·is·92·(bytes),·the
2060 offset·of·<code·class="inline">tcpi_sacked</code>·is·28·bytes,·and·the·value·is·a·32-bit·integer.·The2060 offset·of·<code·class="inline">tcpi_sacked</code>·is·28·bytes,·and·the·value·is·a·32-bit·integer.·The
2061 following·code·can·be·used·to·retrieve·the·value:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">get_tcpi_sacked</span><span·class="p"·data-group-id="8642428543-1">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="8642428543-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2061 following·code·can·be·used·to·retrieve·the·value:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">get_tcpi_sacked</span><span·class="p"·data-group-id="8712621639-1">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="8712621639-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2062 ····</span><span·class="p"·data-group-id="8642428543-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8642428543-3">[</span><span·class="p"·data-group-id="8642428543-4">{</span><span·class="ss">raw</span><span·class="p">,</span><span·class="p">_</span><spa[·...·truncated·by·diffoscope;·len:·942,·SHA:·9e5fb5671fdc7432a8a519b3d2a8ce11b99142e7fd1a94650698a4db536548d2·...·]-5">)</span><span·class="p">,</span><span·class="w">2062 ····</span><span·class="p"·data-group-id="8712621639-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8712621639-3">[</span><span·class="p"·data-group-id="8712621639-4">{</span><span·class="ss">raw</span><span·class="p">,</span><span·class="p">_</span><spa[·...·truncated·by·diffoscope;·len:·942,·SHA:·d00810a89670f1fb8b4ee1ee3512b5eb61301c514aff9b136177921f5b9bad3e·...·]-5">)</span><span·class="p">,</span><span·class="w">
2063 ····</span><span·class="p"·data-group-id="8642428543-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">32[·...·truncated·by·diffoscope;·len:·204,·SHA:·ead5bc19fc15297c8638b981be28812f0605c3a4bd226c682c0050240fb90e77·...·]-8">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">2063 ····</span><span·class="p"·data-group-id="8712621639-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">32[·...·truncated·by·diffoscope;·len:·204,·SHA:·03f9917b5457017d5104ad5105f414a977853371a725198b37e7f5b3e50c0a17·...·]-8">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">
2064 ····</span><span·class="n">TcpiSacked</span><span·class="p">.</span></code></pre><p>Preferably,·you·would·check·the·machine·type,·the·operating·system,·and·the2064 ····</span><span·class="n">TcpiSacked</span><span·class="p">.</span></code></pre><p>Preferably,·you·would·check·the·machine·type,·the·operating·system,·and·the
2065 Kernel·version·before·executing·anything·similar·to·this·code.</p>2065 Kernel·version·before·executing·anything·similar·to·this·code.</p>
2066 ··</section>2066 ··</section>
2067 </section>2067 </section>
2068 <section·class="detail"·id="getstat/1">2068 <section·class="detail"·id="getstat/1">
  
2069 ··<div·class="detail-header">2069 ··<div·class="detail-header">
Offset 2385, 15 lines modifiedOffset 2385, 15 lines modified
2385 ······<div·class="specs">2385 ······<div·class="specs">
  
2386 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor(Socket)·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0">reference</a>()·when·Socket·::·<a·href="#t:socket/0">socket</a>().</pre>2386 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor(Socket)·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0">reference</a>()·when·Socket·::·<a·href="#t:socket/0">socket</a>().</pre>
  
2387 ······</div>2387 ······</div>
  
2388 <p>Start·a·socket·monitor.</p><p>If·the·<code·class="inline">Socket</code>·to·monitor·doesn't·exist·or·when·the·monitor·is·triggered,2388 <p>Start·a·socket·monitor.</p><p>If·the·<code·class="inline">Socket</code>·to·monitor·doesn't·exist·or·when·the·monitor·is·triggered,
2389 a·<code·class="inline">'DOWN'</code>·message·is·sent·that·has·the·following·pattern:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»     ····</span><span·class="p"·data-group-id="0774263857-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:·151,·SHA:·15e7f8959aa873c308c486bb47c8f51fc5e7e88c189202514d8183bbb94a828c·...·]57-1">}</span></code></pre><ul><li><p><strong><code·class="inline">MonitorRef</code></strong>·-·The·return·value·from·this·function.</p></li><li><p><strong><code·class="inline">Type</code></strong>·-·The·type·of·socket,·can·be·one·of·the·following2389 a·<code·class="inline">'DOWN'</code>·message·is·sent·that·has·the·following·pattern:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»     ····</span><span·class="p"·data-group-id="9488779057-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:·151,·SHA:·8cd90318a5f6bc2c5ab2bf83968b25e701e053b0fb718ec3f3a98d0c0797bf67·...·]57-1">}</span></code></pre><ul><li><p><strong><code·class="inline">MonitorRef</code></strong>·-·The·return·value·from·this·function.</p></li><li><p><strong><code·class="inline">Type</code></strong>·-·The·type·of·socket,·can·be·one·of·the·following
2390 <a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0"><code·class="inline">atom/0</code></a>s:·<code·class="inline">port</code>·or·<code·class="inline">socket</code>.</p></li><li><p><strong><code·class="inline">Object</code></strong>·-·The·monitored·entity,·the·socket,·which·triggered·the·event.</p></li><li><p><strong><code·class="inline">Info</code></strong>·-·Either·the·termination·reason·of·the·socket·or·<code·class="inline">nosock</code>2390 <a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0"><code·class="inline">atom/0</code></a>s:·<code·class="inline">port</code>·or·<code·class="inline">socket</code>.</p></li><li><p><strong><code·class="inline">Object</code></strong>·-·The·monitored·entity,·the·socket,·which·triggered·the·event.</p></li><li><p><strong><code·class="inline">Info</code></strong>·-·Either·the·termination·reason·of·the·socket·or·<code·class="inline">nosock</code>
2391 (the·<code·class="inline">Socket</code>·did·not·exist·when·this·function·was·called).</p></li></ul><p>Making·several·calls·to·<a·href="#monitor/1"><code·class="inline">inet:monitor/1</code></a>·for·the·same·<code·class="inline">Socket</code>2391 (the·<code·class="inline">Socket</code>·did·not·exist·when·this·function·was·called).</p></li></ul><p>Making·several·calls·to·<a·href="#monitor/1"><code·class="inline">inet:monitor/1</code></a>·for·the·same·<code·class="inline">Socket</code>
2392 is·not·an·error;·one·monitor·is·created·per·call.</p><p>The·monitor·is·triggered·when·the·socket·is·closed·in·any·way·such·as2392 is·not·an·error;·one·monitor·is·created·per·call.</p><p>The·monitor·is·triggered·when·the·socket·is·closed·in·any·way·such·as
2393 an·API·call,·remote·end·close,·closed·by·signal·when·owner·exits,·...</p>2393 an·API·call,·remote·end·close,·closed·by·signal·when·owner·exits,·...</p>
2394 ··</section>2394 ··</section>
2395 </section>2395 </section>
2396 <section·class="detail"·id="ntoa/1">2396 <section·class="detail"·id="ntoa/1">
Offset 3224, 15 lines modifiedOffset 3224, 15 lines modified
3224 ······<p·class="built-using">3224 ······<p·class="built-using">
3225 ········Built·using3225 ········Built·using
3226 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3226 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3227 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3227 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3228 ······</p>3228 ······</p>
3229 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3229 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3230 ····</footer>3230 ····</footer>
3231 ··</div>3231 ··</div>
3232 </main>3232 </main>
3233 </div>3233 </div>
3234 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3234 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3235 ··<script>3235 ··<script>
3236 ··let·initialized·=·false;3236 ··let·initialized·=·false;
755 B
html2text {}
Max HTML report size reached
50.9 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/inet_res.html
    
Offset 175, 23 lines modifiedOffset 175, 23 lines modified
175 <p>The·following·data·types·concern·the·DNS·client:</p><h2·id="module-example"·class="section-heading">175 <p>The·following·data·types·concern·the·DNS·client:</p><h2·id="module-example"·class="section-heading">
176 ··<a·href="#module-example"·class="hover-link">176 ··<a·href="#module-example"·class="hover-link">
177 ····<i·class="ri-link-m"·aria-hidden="true"></i>177 ····<i·class="ri-link-m"·aria-hidden="true"></i>
178 ··</a>178 ··</a>
179 ··<span·class="text">Example</span>179 ··<span·class="text">Example</span>
180 </h2>180 </h2>
181 <p>This·access·functions·example·shows·how·<a·href="#lookup/3"><code·class="inline">lookup/3</code></a>·can·be·implemented·using181 <p>This·access·functions·example·shows·how·<a·href="#lookup/3"><code·class="inline">lookup/3</code></a>·can·be·implemented·using
182 <a·href="#resolve/3"><code·class="inline">resolve/3</code></a>·from·outside·the·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">example_lookup</span><span·class="p"·data-group-id="5316791586-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="5316791586-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="7121165324-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="7121165324-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="5316791586-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="5316791586-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="7121165324-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="7121165324-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
184 ········</span><span·class="p"·data-group-id="5316791586-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Msg</span><span·class="p"·data-group-id="5316791586-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">184 ········</span><span·class="p"·data-group-id="7121165324-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Msg</span><span·class="p"·data-group-id="7121165324-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
185 ············</span><span·class="p"·data-group-id="5316791586-4">[</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="5316791586-5">(</span><span·class="n">RR</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">data</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·57e12c41035864b020f7b33807153ae0695e9d41abdd5ec39810890ed9ac154c·...·]-5">)</span><span·class="w">185 ············</span><span·class="p"·data-group-id="7121165324-4">[</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="7121165324-5">(</span><span·class="n">RR</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">data</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·8de3bc646789004d64679c5e29c419818c13b8e41fed83a7b3c569afe8e919d2·...·]-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="5316791586-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="5316791586-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="7121165324-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="7121165324-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="5316791586-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="5316791586-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="7121165324-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="7121165324-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="5316791586-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="5316791586-8">)</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·64,·SHA:·8fa28566e2db7b0e6bff2f4d02d11d12f2481d20557cf6a6d4179a1b0002a855·...·]-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="7121165324-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="7121165324-8">)</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·64,·SHA:·ca3bf6d3d85f97589c9e7fa96a1b6e775041644daeb07c174b3caca1694437a1·...·]-4">]</span><span·class="p">;</span><span·class="w">
189 ········</span><span·class="p"·data-group-id="5316791586-9">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="5316791586-9">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">189 ········</span><span·class="p"·data-group-id="7121165324-9">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="7121165324-9">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
190 ············</span><span·class="p"·data-group-id="5316791586-10">[</span><span·class="p"·data-group-id="5316791586-10">]</span><span·class="w">190 ············</span><span·class="p"·data-group-id="7121165324-10">[</span><span·class="p"·data-group-id="7121165324-10">]</span><span·class="w">
191 ·····</span><span·class="k">end</span><span·class="p">.</span></code></pre>191 ·····</span><span·class="k">end</span><span·class="p">.</span></code></pre>
192 ····</section>192 ····</section>
  
193 </div>193 </div>
  
194 ··<section·id="summary"·class="details-list">194 ··<section·id="summary"·class="details-list">
195 ····<h1·class="section-heading">195 ····<h1·class="section-heading">
Offset 584, 65 lines modifiedOffset 584, 65 lines modified
584 ··········<pre·translate="no"><span·class="attribute">-type</span>·dns_msg()·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>584 ··········<pre·translate="no"><span·class="attribute">-type</span>·dns_msg()·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
585 ······</div>585 ······</div>
  
586 <p>A·DNS·message.</p><p>This·is·the·start·of·a·hierarchy·of·opaque·data·structures·that·can·be586 <p>A·DNS·message.</p><p>This·is·the·start·of·a·hierarchy·of·opaque·data·structures·that·can·be
587 examined·with·access·functions·in·<code·class="inline">inet_dns</code>,·which·return·lists·of587 examined·with·access·functions·in·<code·class="inline">inet_dns</code>,·which·return·lists·of
588 <code·class="inline">{Field,Value}</code>·tuples.·The·arity·2·functions·return·the·value588 <code·class="inline">{Field,Value}</code>·tuples.·The·arity·2·functions·return·the·value
589 for·a·specified·field.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">dns_msg</span><span·class="p"·data-group-id="8703558146-1">(</span><span·class="p"·data-group-id="8703558146-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="4571329206-1">(</span><span·class="p"·data-group-id="4571329206-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="8703558146-2">(</span><span·class="n">DnsMsg</span><span·class="p"·data-group-id="8703558146-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="4571329206-2">(</span><span·class="n">DnsMsg</span><span·class="p"·data-group-id="4571329206-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
591 ········</span><span·class="p"·data-group-id="8703558146-3">[</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-5">[·...·truncated·by·diffoscope;·len:·101,·SHA:·f4edbcbe0839bec4c6619e1e853cb86d6399c90b0ee186a045564adb1e0af9f9·...·]6-4">}</span><span·class="w">591 ········</span><span·class="p"·data-group-id="4571329206-3">[</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-5">[·...·truncated·by·diffoscope;·len:·101,·SHA:·6d514789a0cceada6d10b1e8637c81564a11f5aa031bd1c3f17f1deda7d9b6ab·...·]6-4">}</span><span·class="w">
592 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-7">(</span><span·class="p"·data-group-id="8703558146-7">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·5a90998b6377f6b6e41bdbd13286e0988b5fb78b3e141a8d7d4ce49957492884·...·]6-6">}</span><span·class="w">592 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-7">(</span><span·class="p"·data-group-id="4571329206-7">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·a2fd5db4d4ff765cf6f9624ee4041d9d13c6d1f1798b883d035b6515e5ea96b0·...·]6-6">}</span><span·class="w">
593 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-9">(</span><span·class="p"·data-group-id="8703558146-9">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·a10452148d8b82c088415b3ed41193fec6d3895e54d25b73bfa6d23b43f39c04·...·]6-8">}</span><span·class="w">593 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-9">(</span><span·class="p"·data-group-id="4571329206-9">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·8dcb88be8c93ed1344cb2265aa421e9039fbfe09921d11ecba13ecad445a3d8f·...·]6-8">}</span><span·class="w">
594 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-11">(</span><span·class="p"·data-group-id="8703558146-11">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·5a90998b6377f6b6e41bdbd13286e0988b5fb78b3e141a8d7d4ce49957492884·...·]6-10">}</span><span·class="w">594 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-11">(</span><span·class="p"·data-group-id="4571329206-11">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·a2fd5db4d4ff765cf6f9624ee4041d9d13c6d1f1798b883d035b6515e5ea96b0·...·]6-10">}</span><span·class="w">
595 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-13">(</span><span·class="p"·data-group-id="8703558146-13">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·101,·SHA:·ea3a03632f6461be119e7a3c969b8c25f2c0a745c1ec7bcabce11f49ed3e0e4d·...·]6-3">]</span><span·class="w">595 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-13">(</span><span·class="p"·data-group-id="4571329206-13">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·101,·SHA:·815a5554798482009ef1d592e1190af62dcb6d5b421b62bf30db1c6cf3d898bf·...·]6-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="8703558146-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="8703558146-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·132,·SHA:·ca5c299246971ee86dfaca6d4d4682bfcbf257059a9d1abd9653a8b058eb03f7·...·]6-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="4571329206-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="4571329206-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·132,·SHA:·cc5433bfce43fb40347180a04b7112e45580db7d5ba87a942eed6c56b3e0a6ad·...·]6-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="8703558146-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="8703558146-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="4571329206-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="4571329206-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="8703558146-17">(</span><span·class="p"·data-group-id="8703558146-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="4571329206-17">(</span><span·class="p"·data-group-id="4571329206-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="8703558146-18">(</span><span·class="n">DnsHeader</span><span·class="p"·data-group-id="8703558146-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="4571329206-18">(</span><span·class="n">DnsHeader</span><span·class="p"·data-group-id="4571329206-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
600 ········</span><span·class="p"·data-group-id="8703558146-19">[</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-21">(</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·fd3996fc534f0eb45d0774ba78bb31bc8e298f17ca72259c476a5461f004447c·...·]6-20">}</span><span·class="w">600 ········</span><span·class="p"·data-group-id="4571329206-19">[</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-21">(</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·6d5c121e1e81616a09ad7b64a1bb0c0ca9a49fb46801e43c6cbffdfda354f18c·...·]6-20">}</span><span·class="w">
601 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-23">(</span><span·class="p"·data-group-id="8703558146-23">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·a10452148d8b82c088415b3ed41193fec6d3895e54d25b73bfa6d23b43f39c04·...·]6-22">}</span><span·class="w">601 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-23">(</span><span·class="p"·data-group-id="4571329206-23">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·8dcb88be8c93ed1344cb2265aa421e9039fbfe09921d11ecba13ecad445a3d8f·...·]6-22">}</span><span·class="w">
602 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-24">{</span><span·class="ss">opcode</span><span·class="p">,</span><span·class="w">·</span><span·class="k">query</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">iquery</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·328,·SHA:·95c8c56d6770ea13e83d4a836e3313474d649097d307d0ac430671554245737c·...·]6-24">}</span><span·class="w">602 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-24">{</span><span·class="ss">opcode</span><span·class="p">,</span><span·class="w">·</span><span·class="k">query</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">iquery</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·328,·SHA:·eb9e9cc90014e55b5163b6acf9a73d881f926cd122fc453dc2f057318dc94feb·...·]6-24">}</span><span·class="w">
603 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-27">(</span><span·class="p"·data-group-id="8703558146-27">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·a10452148d8b82c088415b3ed41193fec6d3895e54d25b73bfa6d23b43f39c04·...·]6-26">}</span><span·class="w">603 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-27">(</span><span·class="p"·data-group-id="4571329206-27">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·8dcb88be8c93ed1344cb2265aa421e9039fbfe09921d11ecba13ecad445a3d8f·...·]6-26">}</span><span·class="w">
604 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-29">(</span><span·class="p"·data-group-id="8703558146-29">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·a10452148d8b82c088415b3ed41193fec6d3895e54d25b73bfa6d23b43f39c04·...·]6-28">}</span><span·class="w">604 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-29">(</span><span·class="p"·data-group-id="4571329206-29">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·8dcb88be8c93ed1344cb2265aa421e9039fbfe09921d11ecba13ecad445a3d8f·...·]6-28">}</span><span·class="w">
605 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-31">(</span><span·class="p"·data-group-id="8703558146-31">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·a10452148d8b82c088415b3ed41193fec6d3895e54d25b73bfa6d23b43f39c04·...·]6-30">}</span><span·class="w">605 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-31">(</span><span·class="p"·data-group-id="4571329206-31">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·8dcb88be8c93ed1344cb2265aa421e9039fbfe09921d11ecba13ecad445a3d8f·...·]6-30">}</span><span·class="w">
606 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-33">(</span><span·class="p"·data-group-id="8703558146-33">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·a10452148d8b82c088415b3ed41193fec6d3895e54d25b73bfa6d23b43f39c04·...·]6-32">}</span><span·class="w">606 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-33">(</span><span·class="p"·data-group-id="4571329206-33">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·8dcb88be8c93ed1344cb2265aa421e9039fbfe09921d11ecba13ecad445a3d8f·...·]6-32">}</span><span·class="w">
607 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-35">(</span><span·class="p"·data-group-id="8703558146-35">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·a10452148d8b82c088415b3ed41193fec6d3895e54d25b73bfa6d23b43f39c04·...·]6-34">}</span><span·class="w">607 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-35">(</span><span·class="p"·data-group-id="4571329206-35">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·8dcb88be8c93ed1344cb2265aa421e9039fbfe09921d11ecba13ecad445a3d8f·...·]6-34">}</span><span·class="w">
608 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-37">(</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</spa[·...·truncated·by·diffoscope;·len:·200,·SHA:·9f173b6b6de4bef851809f0c22e2610c7c97b2241996910c678d5bfec89df6cd·...·]6-19">]</span><span·class="w">608 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-37">(</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</spa[·...·truncated·by·diffoscope;·len:·200,·SHA:·1a56b523307fe78945a3b4c405b22594afbb65cbf0d55c24e04025d69dac970d·...·]6-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="8703558146-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="8703558146-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="4571329206-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="4571329206-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="8703558146-39">(</span><span·class="p"·data-group-id="8703558146-39">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">axfr</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·423,·SHA:·fcf0fedd82db28e4532c1c6f14660f6cfec474c539f84711d1dfbde4ecbce786·...·]6-40">)</span><span·class="w">610 </span><span·class="nf">query_type</span><span·class="p"·data-group-id="4571329206-39">(</span><span·class="p"·data-group-id="4571329206-39">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">axfr</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·423,·SHA:·e7ef84a6d2b0165886a4f68e5aadd19ace66f0e54dbc1ecfb20a060271b53aac·...·]6-40">)</span><span·class="w">
  
611 </span><span·class="nf">dns_query</span><span·class="p"·data-group-id="8703558146-41">(</span><span·class="p"·data-group-id="8703558146-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="4571329206-41">(</span><span·class="p"·data-group-id="4571329206-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="8703558146-42">(</span><span·class="n">DnsQuery</span><span·class="p"·data-group-id="8703558146-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="4571329206-42">(</span><span·class="n">DnsQuery</span><span·class="p"·data-group-id="4571329206-42">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
613 ········</span><span·class="p"·data-group-id="8703558146-43">[</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-45"[·...·truncated·by·diffoscope;·len:·103,·SHA:·fe88d9d46a2b2345998679c948d65f466c3e9615298fdd268618bb9feb4dbfb1·...·]6-44">}</span><span·class="w">613 ········</span><span·class="p"·data-group-id="4571329206-43">[</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-45"[·...·truncated·by·diffoscope;·len:·103,·SHA:·0c9e2cd256277c1f66f077a399026ff95ae11504e418848c8cc60d66981bab16·...·]6-44">}</span><span·class="w">
614 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-47">(</span><span·class="p"·data-group-id="8703558146-47">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·e8d4a7053f4284e55271ac9e212eae93aa3e599012ff99726f9d65ee8ae83a65·...·]6-46">}</span><span·class="w">614 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-47">(</span><span·class="p"·data-group-id="4571329206-47">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·f4b3ca936d420324281ecdfa5b19e0019626d495bd07b98f0073c2e3b99e0464·...·]6-46">}</span><span·class="w">
615 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-49">(</span><span·class="p"·data-group-id="8703558146-49">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·103,·SHA:·0a0253b6cf140e6fe63eaba364c18f590fbafce438488451012e75350b4a692a·...·]6-43">]</span><span·class="w">615 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-49">(</span><span·class="p"·data-group-id="4571329206-49">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·103,·SHA:·509a249c2759f4d3568fa736571d6642ee3751e75ef5b6eb398f2216d7034d83·...·]6-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="8703558146-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="8703558146-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="4571329206-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="4571329206-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="8703558146-51">(</span><span·class="p"·data-group-id="8703558146-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="4571329206-51">(</span><span·class="p"·data-group-id="4571329206-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="8703558146-52">(</span><span·class="n">DnsRr</span><span·class="p"·data-group-id="8703558146-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="4571329206-52">(</span><span·class="n">DnsRr</span><span·class="p"·data-group-id="4571329206-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="8703558146-53">[</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-55"[·...·truncated·by·diffoscope;·len:·103,·SHA:·58a5cc9e79e30769117801b898f76368245f7aa199fc6823c81f1a795e7dbef2·...·]6-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="4571329206-53">[</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-55"[·...·truncated·by·diffoscope;·len:·103,·SHA:·bfdc5405167d4fa7957de7596c9cac90154e2b7bcd9163437e1a17fa6569869c·...·]6-54">}</span><span·class="w">
620 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-57">(</span><span·class="p"·data-group-id="8703558146-57">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·26,·SHA:·f3fedf3467867c4df493fa8e1750a2ccfa248ecb385cb7851c3d4077dbc6d7d5·...·]6-56">}</span><span·class="w">620 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-57">(</span><span·class="p"·data-group-id="4571329206-57">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·26,·SHA:·ecbd029163b1aa13275fcc7e2319f523fb33b054a13786b20dc8d4ba3f043bdb·...·]6-56">}</span><span·class="w">
621 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-59">(</span><span·class="p"·data-group-id="8703558146-59">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·e8d4a7053f4284e55271ac9e212eae93aa3e599012ff99726f9d65ee8ae83a65·...·]6-58">}</span><span·class="w">621 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-59">(</span><span·class="p"·data-group-id="4571329206-59">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·f4b3ca936d420324281ecdfa5b19e0019626d495bd07b98f0073c2e3b99e0464·...·]6-58">}</span><span·class="w">
622 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-61">(</span><span·class="p"·data-group-id="8703558146-61">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·42c6b8072fd8c6e256e090838c6e37f6ef7daa849dd0775d362c5db5a9b38646·...·]6-60">}</span><span·class="w">622 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-61">(</span><span·class="p"·data-group-id="4571329206-61">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·c836eed1dd47c5f1fdb5cedc1e6b77cf77e910971bac05675eccdc55c9631c2c·...·]6-60">}</span><span·class="w">
623 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-63">(</span><span·class="p"·data-group-id="8703558146-63">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·101,·SHA:·9d87f2e50df76b6b6b364e52eed155fb7546c567e1e888d80441a77016cfd1ae·...·]6-53">]</span><span·class="w">623 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-63">(</span><span·class="p"·data-group-id="4571329206-63">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·101,·SHA:·ebd4ff39ab454129f7c5e08ba0ac6d48743e3fc5565345ddafd442f33666c7e5·...·]6-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="8703558146-64">[</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-66"[·...·truncated·by·diffoscope;·len:·103,·SHA:·adf09c654bb22a9fc071c0c5d09edec12f3458822a5b129db7bba0e99079d125·...·]6-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="4571329206-64">[</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-66"[·...·truncated·by·diffoscope;·len:·103,·SHA:·1cf6a3da253a9479ad53f7893dad0797471b50989b0a7fab1c8dc7da198cc574·...·]6-65">}</span><span·class="w">
625 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-67">}</span><span·class="w">625 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-67">}</span><span·class="w">
626 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-69">(</span><span·class="p"·data-group-id="8703558146-69">)</span><span·[·...·truncated·by·diffoscope;·len:·34,·SHA:·5a6a251e54dd60192f8a1a9f7af4887706932a183099cef61e86fa97fe3961c2·...·]6-68">}</span><span·class="w">626 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-69">(</span><span·class="p"·data-group-id="4571329206-69">)</span><span·[·...·truncated·by·diffoscope;·len:·34,·SHA:·23a70ec50d97953f9ccd6f4ca841f12067210208502b267adc730eee6f7b0cfb·...·]6-68">}</span><span·class="w">
627 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-71">(</span><span·class="p"·data-group-id="8703558146-71">)</span><span·class="[·...·truncated·by·diffoscope;·len:·27,·SHA:·20d18538d88aadb408a19de4c1a70978172597008d3dae40c60f4085aa36a4e9·...·]6-70">}</span><span·class="w">627 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-71">(</span><span·class="p"·data-group-id="4571329206-71">)</span><span·class="[·...·truncated·by·diffoscope;·len:·27,·SHA:·263108c59568ffb5ffe5f67081defd8ac439b5e6567af15438e9c55c1e31444f·...·]6-70">}</span><span·class="w">
628 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-73">(</span><span·class="p"·data-group-id="8703558146-73">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·e8d4a7053f4284e55271ac9e212eae93aa3e599012ff99726f9d65ee8ae83a65·...·]6-72">}</span><span·class="w">628 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-73">(</span><span·class="p"·data-group-id="4571329206-73">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·f4b3ca936d420324281ecdfa5b19e0019626d495bd07b98f0073c2e3b99e0464·...·]6-72">}</span><span·class="w">
629 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-75">(</span><span·class="p"·data-group-id="8703558146-75">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·daba313a1807439b10f603b63f13ac7ae001125ac7c9783463dfb0084f97702a·...·]6-74">}</span><span·class="w">629 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-75">(</span><span·class="p"·data-group-id="4571329206-75">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·104fd635d961377f96d65363fcc5379a0fc5016d729fb7d578d415c8b07af68b·...·]6-74">}</span><span·class="w">
630 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8703558146-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="8703558146-77">(</span><span·class="p"·data-group-id="8703558146-77">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·101,·SHA:·b8341bcba68d639f14048999f486e0bec517f353aebd22490453f4e95d9ab889·...·]6-64">]</span><span·class="w">630 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4571329206-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="4571329206-77">(</span><span·class="p"·data-group-id="4571329206-77">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·101,·SHA:·ec0d876ed9473177385bfcab5d2b9a88c8e5cfeda43773d26c24e8a9879d8827·...·]6-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="8703558146-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="8703558146-78">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·472,·SHA:·2d620cc703207f6664566cc87e43318bfb7a9ae26e66426c2fdb5fef6d4abfc7·...·]-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="4571329206-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="4571329206-78">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·472,·SHA:·55c95eba6724a16d7d052f8c710a2cf17cc95483f282fd21e93f5903880aa3fc·...·]-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="1222881982-3">(</span><span·class="nf">dns_header</span><span·class="p"·data-group-id="1222881982-4">(</span><span·class="p"·data-group-id="1222881982-4">)</span><span·class="p"·data-group-id="1222881982-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="4944243646-3">(</span><span·class="nf">dns_header</span><span·class="p"·data-group-id="4944243646-4">(</span><span·class="p"·data-group-id="4944243646-4">)</span><span·class="p"·data-group-id="4944243646-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="1222881982-5">(</span><span·class="nf">dns_query</span><span·class="p"·data-group-id="1222881982-6">(</span><span·class="p"·data-group-id="1222881982-6">)</span><span·class="p"·data-group-id="1222881982-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="4944243646-5">(</span><span·class="nf">dns_query</span><span·class="p"·data-group-id="4944243646-6">(</span><span·class="p"·data-group-id="4944243646-6">)</span><span·class="p"·data-group-id="4944243646-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="1222881982-7">(</span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="1222881982-8">(</span><span·class="p"·data-group-id="1222881982-8">)</span><span·class="p"·data-group-id="1222881982-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="4944243646-7">(</span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="4944243646-8">(</span><span·class="p"·data-group-id="4944243646-8">)</span><span·class="p"·data-group-id="4944243646-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="1222881982-9">(</span><span·class="p">_</span><span·class="p"·data-group-id="1222881982-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="4944243646-9">(</span><span·class="p">_</span><span·class="p"·data-group-id="4944243646-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.53 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/introduction_chapter.html
    
Offset 187, 15 lines modifiedOffset 187, 15 lines modified
187 ······<p·class="built-using">187 ······<p·class="built-using">
188 ········Built·using188 ········Built·using
189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
191 ······</p>191 ······</p>
192 <p>Copyright·©·1996-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.33 MB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/kernel.epub
8.32 KB
zipinfo {}
Max HTML report size reached
317 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
40.8 KB
OEBPS/trace.xhtml
Max HTML report size reached
113 KB
OEBPS/socket_usage.xhtml
Max HTML report size reached
32.1 KB
OEBPS/socket.xhtml
Max HTML report size reached
50.0 KB
OEBPS/seq_trace.xhtml
Max HTML report size reached
5.01 KB
OEBPS/rpc.xhtml
Max HTML report size reached
3.17 KB
OEBPS/pg.xhtml
Max HTML report size reached
28.0 KB
OEBPS/os.xhtml
Max HTML report size reached
17.8 KB
OEBPS/notes.xhtml
Max HTML report size reached
26.0 KB
OEBPS/net_kernel.xhtml
Max HTML report size reached
3.0 KB
OEBPS/net_adm.xhtml
Max HTML report size reached
4.81 KB
OEBPS/net.xhtml
Max HTML report size reached
4.42 KB
OEBPS/logger_std_h.xhtml
Max HTML report size reached
15.5 KB
OEBPS/logger_filters.xhtml
Max HTML report size reached
4.69 KB
OEBPS/logger_disk_log_h.xhtml
Max HTML report size reached
93.9 KB
OEBPS/logger_cookbook.xhtml
Max HTML report size reached
104 KB
OEBPS/logger_chapter.xhtml
Max HTML report size reached
52.9 KB
OEBPS/logger.xhtml
Max HTML report size reached
49.5 KB
OEBPS/inet_res.xhtml
Max HTML report size reached
34.9 KB
OEBPS/inet.xhtml
Max HTML report size reached
2.85 KB
OEBPS/global_group.xhtml
Max HTML report size reached
7.33 KB
OEBPS/gen_udp.xhtml
Max HTML report size reached
59.5 KB
OEBPS/gen_tcp.xhtml
Max HTML report size reached
169 KB
OEBPS/gen_sctp.xhtml
Max HTML report size reached
30.2 KB
OEBPS/file.xhtml
Max HTML report size reached
17.8 KB
OEBPS/erpc.xhtml
Max HTML report size reached
2.54 KB
OEBPS/erl_epmd.xhtml
Max HTML report size reached
12.6 KB
OEBPS/eep48_chapter.xhtml
Max HTML report size reached
1.23 KB
OEBPS/content.opf
1.2 KB
OEBPS/content.opf
Max HTML report size reached
5.03 KB
OEBPS/config.xhtml
Max HTML report size reached
21.0 KB
OEBPS/code.xhtml
Max HTML report size reached
2.68 KB
OEBPS/application.xhtml
Max HTML report size reached
26.1 KB
OEBPS/app.xhtml
Max HTML report size reached
1.63 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/kernel_app.html
    
Offset 439, 15 lines modifiedOffset 439, 15 lines modified
439 ······<p·class="built-using">439 ······<p·class="built-using">
440 ········Built·using440 ········Built·using
441 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the441 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
442 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>442 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
443 ······</p>443 ······</p>
444 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>444 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
445 ····</footer>445 ····</footer>
446 ··</div>446 ··</div>
447 </main>447 </main>
448 </div>448 </div>
449 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>449 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
450 ··<script>450 ··<script>
451 ··let·initialized·=·false;451 ··let·initialized·=·false;
827 B
html2text {}
Max HTML report size reached
54.4 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger.html
    
Offset 126, 34 lines modifiedOffset 126, 34 lines modified
  
126 ··</h1>126 ··</h1>
  
  
127 ····<section·id="moduledoc">127 ····<section·id="moduledoc">
128 <p>API·module·for·Logger,·the·standard·logging·facility·in·Erlang/OTP.</p><p>This·module·implements·the·main·API·for·logging·in·Erlang/OTP.·To·create·a·log128 <p>API·module·for·Logger,·the·standard·logging·facility·in·Erlang/OTP.</p><p>This·module·implements·the·main·API·for·logging·in·Erlang/OTP.·To·create·a·log
129 event,·use·the·<a·href="#logging-api-functions">API·functions</a>·or·the·log129 event,·use·the·<a·href="#logging-api-functions">API·functions</a>·or·the·log
130 <a·href="#module-macros">macros</a>,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">LOG_ERROR</span><span·class="p"·data-group-id="9849443688-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="9849443688-2">[</span><span·class="n">Reason</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·0c9d4f845a05479fe533d917a2f34767d5bdd32805d9aee5353031306f6d0765·...·]-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="2504647833-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="2504647833-2">[</span><span·class="n">Reason</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·8cb06fdfc272a998a1874d464d021c05983afadf5799443bda17b59d50a9bb1e·...·]-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="9849443688-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="9849443688-4">[</span><span·class="n">Reason</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·15760334e5a1d62041606f3a1442e96ae8918f5f2448c582cae3864cf4da47f3·...·]-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="2504647833-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="2504647833-4">[</span><span·class="n">Reason</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·9f78b34dc788ea7c42abe7f769952e6159e40f2ff45c77a58650087e6c8205b0·...·]-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="5949478688-1">[</span><span·class="p"·data-group-id="5949478688-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="0548976363-1">[</span><span·class="p"·data-group-id="0548976363-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
139 ··</span><span·class="p"·data-group-id="5949478688-3">[</span><span·class="p"·data-group-id="5949478688-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">139 ··</span><span·class="p"·data-group-id="0548976363-3">[</span><span·class="p"·data-group-id="0548976363-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
140 ····</span><span·class="p"·data-group-id="5949478688-5">[</span><span·class="p"·data-group-id="5949478688-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="0548976363-5">[</span><span·class="p"·data-group-id="0548976363-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="5949478688-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="5949478688-8">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;[·...·truncated·by·diffoscope;·len:·494,·SHA:·c7732bc2a5a92331fe2dacb9fe5e421616b95d9d74ca42b4549824bbdf34c2cd·...·]-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="0548976363-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="0548976363-8">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;[·...·truncated·by·diffoscope;·len:·494,·SHA:·7f99833caa39135c4bb086ec379f173ca73b010d2c700b5031c712ba812780b4·...·]-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="0339549862-1">(</span><span·class="s">&quot;kernel/include/logger.hrl&quot;</span><span·class="p"·data-group-id="0339549862-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="5650558942-1">(</span><span·class="s">&quot;kernel/include/logger.hrl&quot;</span><span·class="p"·data-group-id="5650558942-1">)</span><span·class="p">.</span></code></pre><ul><li><code·class="inline">?LOG_EMERGENCY(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_EMERGENCY(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_ALERT(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_ALERT(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_CRITICAL(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_CRITICAL(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_ERROR(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_ERROR(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_WARNING(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_WARNING(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_NOTICE(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_NOTICE(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_INFO(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_INFO(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_DEBUG(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_DEBUG(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG(Level,StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG(Level,FunOrFormat,Args[,Metadata])</code></li></ul><p>All·macros·expand·to·a·call·to·Logger,·where·<code·class="inline">Level</code>·is·taken·from·the·macro
150 name,·or·from·the·first·argument·in·the·case·of·the·<code·class="inline">?LOG</code>·macro.·Location·data150 name,·or·from·the·first·argument·in·the·case·of·the·<code·class="inline">?LOG</code>·macro.·Location·data
151 is·added·to·the·metadata·as·described·under·the·<a·href="#t:metadata/0"><code·class="inline">metadata/0</code></a>·type·definition.</p><p>The·call·is·wrapped·in·a·case·statement·and·will·be·evaluated·only·if·<code·class="inline">Level</code>·is151 is·added·to·the·metadata·as·described·under·the·<a·href="#t:metadata/0"><code·class="inline">metadata/0</code></a>·type·definition.</p><p>The·call·is·wrapped·in·a·case·statement·and·will·be·evaluated·only·if·<code·class="inline">Level</code>·is
152 equal·to·or·below·the·configured·log·level.</p><h2·id="module-see-also"·class="section-heading">152 equal·to·or·below·the·configured·log·level.</p><h2·id="module-see-also"·class="section-heading">
153 ··<a·href="#module-see-also"·class="hover-link">153 ··<a·href="#module-see-also"·class="hover-link">
154 ····<i·class="ri-link-m"·aria-hidden="true"></i>154 ····<i·class="ri-link-m"·aria-hidden="true"></i>
155 ··</a>155 ··</a>
156 ··<span·class="text">See·Also</span>156 ··<span·class="text">See·Also</span>
Offset 1804, 34 lines modifiedOffset 1804, 34 lines modified
1804 ······</div>1804 ······</div>
  
1805 <p>Reads·the·application·configuration·parameter·<code·class="inline">logger</code>·and·calls1805 <p>Reads·the·application·configuration·parameter·<code·class="inline">logger</code>·and·calls
1806 <a·href="#add_handlers/1"><code·class="inline">add_handlers/1</code></a>·with·its·contents.</p><p>This·function·should·be·used·by·custom·Logger·handlers·to·make·configuration1806 <a·href="#add_handlers/1"><code·class="inline">add_handlers/1</code></a>·with·its·contents.</p><p>This·function·should·be·used·by·custom·Logger·handlers·to·make·configuration
1807 consistent·no·matter·which·handler·the·system·uses.·Normal·usage·is·to·add·a1807 consistent·no·matter·which·handler·the·system·uses.·Normal·usage·is·to·add·a
1808 call·to·<a·href="#add_handlers/1"><code·class="inline">logger:add_handlers/1</code></a>·just·after·the·processes·that·the·handler·needs1808 call·to·<a·href="#add_handlers/1"><code·class="inline">logger:add_handlers/1</code></a>·just·after·the·processes·that·the·handler·needs
1809 are·started,·and·pass·the·application's·<code·class="inline">logger</code>·configuration·as·the·argument.1809 are·started,·and·pass·the·application's·<code·class="inline">logger</code>·configuration·as·the·argument.
1810 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="4312619632-1">(</span><span·class="ss">application</span><span·class="p"·data-group-id="4312619632-1">)</span><span·class="p">.</span><span·class="w">1810 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="2754280436-1">(</span><span·class="ss">application</span><span·class="p"·data-group-id="2754280436-1">)</span><span·class="p">.</span><span·class="w">
1811 </span><span·class="nf">start</span><span·class="p"·data-group-id="4312619632-2">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4312619632-3">[</span><span·class="p"·data-group-id="4312619632-3">]</span><span·class="p"·data-group-id="4312619632-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1811 </span><span·class="nf">start</span><span·class="p"·data-group-id="2754280436-2">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2754280436-3">[</span><span·class="p"·data-group-id="2754280436-3">]</span><span·class="p"·data-group-id="2754280436-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1812 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="4312619632-4">(</span><span·class="p"·data-group-id="4312619632-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="4312619632-5">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·252,·SHA:·e97c2392274aa44a0a92ec64100f0889a797a709abe5e75678ae17dbdf9fe109·...·]-4">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">1812 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="2754280436-4">(</span><span·class="p"·data-group-id="2754280436-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="2754280436-5">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·252,·SHA:·2476cd8c625252cb4520b2bdde3895895b7f38049059854201c15d5ab24b7063·...·]-4">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1813 ········</span><span·class="p"·data-group-id="4312619632-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="4312619632-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1813 ········</span><span·class="p"·data-group-id="2754280436-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="2754280436-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1814 ············</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handlers</span><span·class="p"·data-group-id="4312619632-8">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="4312619632-8">)</span><span·class="p">,</span><span·class="w">1814 ············</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handlers</span><span·class="p"·data-group-id="2754280436-8">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="2754280436-8">)</span><span·class="p">,</span><span·class="w">
1815 ············</span><span·class="p"·data-group-id="4312619632-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="4312619632-10">[</span><span·class="p"·data-group-id="4[·...·truncated·by·diffoscope;·len:·63,·SHA:·5075843331ec2709d69526ad27f97baa2cda46aa22c5672e3ed946c269ae53a1·...·]-9">}</span><span·class="p">;</span><span·class="w">1815 ············</span><span·class="p"·data-group-id="2754280436-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="2754280436-10">[</span><span·class="p"·data-group-id="2[·...·truncated·by·diffoscope;·len:·63,·SHA:·96b5d5ea54fb07f9706b4fe78d947b933bfaaacef2f027bdb933e46213d83065·...·]-9">}</span><span·class="p">;</span><span·class="w">
1816 ········</span><span·class="n">Error</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Error</span><span·class="w">1816 ········</span><span·class="n">Error</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Error</span><span·class="w">
1817 ·····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>This·reads·the·<code·class="inline">logger</code>·configuration·parameter·from·the·<code·class="inline">my_app</code>·application1817 ·····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>This·reads·the·<code·class="inline">logger</code>·configuration·parameter·from·the·<code·class="inline">my_app</code>·application
1818 and·starts·the·configured·handlers.·The·contents·of·the·configuration·use·the1818 and·starts·the·configured·handlers.·The·contents·of·the·configuration·use·the
1819 same·rules·as·the1819 same·rules·as·the
1820 <a·href="logger_chapter.html#handler-configuration">logger·handler·configuration</a>.</p><p>If·the·handler·is·meant·to·replace·the·default·handler,·the·Kernel's·default1820 <a·href="logger_chapter.html#handler-configuration">logger·handler·configuration</a>.</p><p>If·the·handler·is·meant·to·replace·the·default·handler,·the·Kernel's·default
1821 handler·have·to·be·disabled·before·the·new·handler·is·added.·A·<code·class="inline">sys.config</code>·file1821 handler·have·to·be·disabled·before·the·new·handler·is·added.·A·<code·class="inline">sys.config</code>·file
1822 that·disables·the·Kernel·handler·and·adds·a·custom·handler·could·look·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0776676011-1">[</span><span·class="p"·data-group-id="0776676011-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">1822 that·disables·the·Kernel·handler·and·adds·a·custom·handler·could·look·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8387564479-1">[</span><span·class="p"·data-group-id="8387564479-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
1823 ··</span><span·class="p"·data-group-id="0776676011-3">[</span><span·class="p"·data-group-id="0776676011-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">1823 ··</span><span·class="p"·data-group-id="8387564479-3">[</span><span·class="p"·data-group-id="8387564479-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
1824 ····</span><span·class="c1">%%·Disable·the·default·Kernel·handler</span><span·class="w">1824 ····</span><span·class="c1">%%·Disable·the·default·Kernel·handler</span><span·class="w">
1825 ····</span><span·class="p"·data-group-id="0776676011-5">[</span><span·class="p"·data-group-id="0776676011-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefi[·...·truncated·by·diffoscope;·len:·263,·SHA:·2c041d91d9472ca6903817bb29984c95704a8ddc93349993f2ab22dc29aeb583·...·]-2">}</span><span·class="p">,</span><span·class="w">1825 ····</span><span·class="p"·data-group-id="8387564479-5">[</span><span·class="p"·data-group-id="8387564479-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefi[·...·truncated·by·diffoscope;·len:·263,·SHA:·dffe7266121b3f5e4c6357db83b63f6ccbec63db493168fa08e719d1af551aa3·...·]-2">}</span><span·class="p">,</span><span·class="w">
1826 ·</span><span·class="p"·data-group-id="0776676011-7">{</span><span·class="ss">my_app</span><span·class="p">,</span><span·class="w">1826 ·</span><span·class="p"·data-group-id="8387564479-7">{</span><span·class="ss">my_app</span><span·class="p">,</span><span·class="w">
1827 ··</span><span·class="p"·data-group-id="0776676011-8">[</span><span·class="p"·data-group-id="0776676011-9">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">1827 ··</span><span·class="p"·data-group-id="8387564479-8">[</span><span·class="p"·data-group-id="8387564479-9">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
1828 ····</span><span·class="c1">%%·Enable·this·handler·as·the·default</span><span·class="w">1828 ····</span><span·class="c1">%%·Enable·this·handler·as·the·default</span><span·class="w">
1829 ····</span><span·class="p"·data-group-id="0776676011-10">[</span><span·class="p"·data-group-id="0776676011-11">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_h[·...·truncated·by·diffoscope;·len:·478,·SHA:·8480539650d553e65c08c31bc36be9286c9a1f9f99772362b19bb83dc4168f13·...·]-1">]</span><span·class="p">.</span></code></pre>1829 ····</span><span·class="p"·data-group-id="8387564479-10">[</span><span·class="p"·data-group-id="8387564479-11">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_h[·...·truncated·by·diffoscope;·len:·478,·SHA:·6780763b4e38f827695315929b212b739d2eef7b183feff8dd678ebb1cca8291·...·]-1">]</span><span·class="p">.</span></code></pre>
1830 ··</section>1830 ··</section>
1831 </section>1831 </section>
1832 <section·class="detail"·id="add_primary_filter/2">1832 <section·class="detail"·id="add_primary_filter/2">
  
1833 ··<div·class="detail-header">1833 ··<div·class="detail-header">
1834 ····<a·href="#add_primary_filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1834 ····<a·href="#add_primary_filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1835 ······<i·class="ri-link-m"·aria-hidden="true"></i>1835 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2722, 16 lines modifiedOffset 2722, 16 lines modified
2722 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_formatter_config(HandlerId,·FormatterConfig)·->·ok·|·{error,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}2722 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_formatter_config(HandlerId,·FormatterConfig)·->·ok·|·{error,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}
2723 ·································when2723 ·································when
2724 ·····································HandlerId·::·<a·href="logger_handler.html#t:id/0">logger_handler:id</a>(),2724 ·····································HandlerId·::·<a·href="logger_handler.html#t:id/0">logger_handler:id</a>(),
2725 ·····································FormatterConfig·::·<a·href="#t:formatter_config/0">formatter_config</a>().</pre>2725 ·····································FormatterConfig·::·<a·href="#t:formatter_config/0">formatter_config</a>().</pre>
  
2726 ······</div>2726 ······</div>
  
2727 <p>Update·the·formatter·configuration·for·the·specified·handler.</p><p>The·new·configuration·is·merged·with·the·existing·formatter·configuration.</p><p>To·overwrite·the·existing·configuration·without·any·merge,·use</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="3935366091-1">(</span><span·class="n">HandlerId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">formatter</span><span·class="p">,</span><span·class="w">2727 <p>Update·the·formatter·configuration·for·the·specified·handler.</p><p>The·new·configuration·is·merged·with·the·existing·formatter·configuration.</p><p>To·overwrite·the·existing·configuration·without·any·merge,·use</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="0986008909-1">(</span><span·class="n">HandlerId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">formatter</span><span·class="p">,</span><span·class="w">
2728 »       ······</span><span·class="p"·data-group-id="3935366091-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="3935366091-2">}</span><span·class="p"·data-group-id="3935366091-1">)</span><span·class="p">.</span></code></pre>2728 »       ······</span><span·class="p"·data-group-id="0986008909-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="0986008909-2">}</span><span·class="p"·data-group-id="0986008909-1">)</span><span·class="p">.</span></code></pre>
2729 ··</section>2729 ··</section>
2730 </section>2730 </section>
2731 <section·class="detail"·id="update_formatter_config/3">2731 <section·class="detail"·id="update_formatter_config/3">
  
2732 ··<div·class="detail-header">2732 ··<div·class="detail-header">
2733 ····<a·href="#update_formatter_config/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2733 ····<a·href="#update_formatter_config/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
2734 ······<i·class="ri-link-m"·aria-hidden="true"></i>2734 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2782, 16 lines modifiedOffset 2782, 16 lines modified
  
2782 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_handler_config(HandlerId,·Config)·->·ok·|·{error,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}2782 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_handler_config(HandlerId,·Config)·->·ok·|·{error,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}
2783 ·······························when·HandlerId·::·<a·href="logger_handler.html#t:id/0">logger_handler:id</a>(),·Config·::·<a·href="logger_handler.html#t:config/0">logger_handler:config</a>().</pre>2783 ·······························when·HandlerId·::·<a·href="logger_handler.html#t:id/0">logger_handler:id</a>(),·Config·::·<a·href="logger_handler.html#t:config/0">logger_handler:config</a>().</pre>
  
2784 ······</div>2784 ······</div>
  
2785 <p>Update·configuration·data·for·the·specified·handler.·This·function·behaves·as·if2785 <p>Update·configuration·data·for·the·specified·handler.·This·function·behaves·as·if
2786 it·was·implemented·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2526956397-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2526956397-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Old</span><span·class="p"·data-group-id="2526956397-2">}</span><span·class="p"·data-group-id="2526956397-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">get_handler_config</span><span·class="p"·data-group-id="2526956397-3">(</span><span·class="n">HandlerId</span><span·class="p"·data-group-id="2526956397-3">)</span><span·class="p">,</span><span·class="w"> 
2787 </span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="2526956397-4">(</span><span·class="n">HandlerId</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">map[·...·truncated·by·diffoscope;·len:·425,·SHA:·80ae0f1f8c7680191e1dbcfc6b33124afbace83e24c31171d8559806eb94d63f·...·]2786 it·was·implemented·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8690932974-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8690932974-2">{<[·...·truncated·by·diffoscope;·len:·556,·SHA:·47754311e721503110638e4b5b40e579bad4d7608c279218bc3256f5e1a54dee·...·]
 2787 </span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="8690932974-4">(</span><span·class="n">HandlerId</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">merge</span><span·class="p"·data-group-id="8690932974-5">(</span><span·class="n">Old</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="8690932974-5">)</span><span·class="p"·data-group-id="8690932974-4">)</span><span·class="p">.</span></code></pre><p>To·overwrite·the·existing·configuration·without·any·merge,·use
2788 <a·href="#set_handler_config/2"><code·class="inline">set_handler_config/2</code>·</a>.</p>2788 <a·href="#set_handler_config/2"><code·class="inline">set_handler_config/2</code>·</a>.</p>
2789 ··</section>2789 ··</section>
2790 </section>2790 </section>
2791 <section·class="detail"·id="update_handler_config/3">2791 <section·class="detail"·id="update_handler_config/3">
  
2792 ··<div·class="detail-header">2792 ··<div·class="detail-header">
2793 ····<a·href="#update_handler_config/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2793 ····<a·href="#update_handler_config/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2872, 16 lines modifiedOffset 2872, 16 lines modified
2872 ······<div·class="specs">2872 ······<div·class="specs">
  
2873 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_primary_config(Config)·->·ok·|·{error,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}·when·Config·::·<a·href="#t:primary_config/0">primary_config</a>().</pre>2873 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_primary_config(Config)·->·ok·|·{error,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}·when·Config·::·<a·href="#t:primary_config/0">primary_config</a>().</pre>
  
2874 ······</div>2874 ······</div>
  
2875 <p>Update·primary·configuration·data·for·Logger.·This·function·behaves·as·if·it·was2875 <p>Update·primary·configuration·data·for·Logger.·This·function·behaves·as·if·it·was
2876 implemented·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Old</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">get_primary_config</span><span·class="p"·data-group-id="5044294780-1">(</span><span·class="p"·data-group-id="5044294780-1">)</span><span·class="p">,</span><span·class="w">2876 implemented·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Old</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">get_primary_config</span><span·class="p"·data-group-id="8550467503-1">(</span><span·class="p"·data-group-id="8550467503-1">)</span><span·class="p">,</span><span·class="w">
2877 </span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_primary_config</span><span·class="p"·data-group-id="5044294780-2">(</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">merge</span><span·class="p"·data-group-id="5044294780-3">(</span><span·class="n">Old</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</sp[·...·truncated·by·diffoscope;·len:·97,·SHA:·9f6aab231defb8ef8ad359c6c61718a3cf169a96891ce58e38ff441457b232f3·...·]-2">)</span><span·class="p">.</span></code></pre><p>To·overwrite·the·existing·configuration·without·any·merge,·use2877 </span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_primary_config</span><span·class="p"·data-group-id="8550467503-2">(</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">merge</span><span·class="p"·data-group-id="8550467503-3">(</span><span·class="n">Old</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</sp[·...·truncated·by·diffoscope;·len:·97,·SHA:·5eb899043b67f206f2eed938c700d5b9dd9f10f0116a0f164931b5f63ecf6a77·...·]-2">)</span><span·class="p">.</span></code></pre><p>To·overwrite·the·existing·configuration·without·any·merge,·use
2878 <a·href="#set_primary_config/1"><code·class="inline">set_primary_config/1</code>·</a>.</p>2878 <a·href="#set_primary_config/1"><code·class="inline">set_primary_config/1</code>·</a>.</p>
2879 ··</section>2879 ··</section>
2880 </section>2880 </section>
2881 <section·class="detail"·id="update_process_metadata/1">2881 <section·class="detail"·id="update_process_metadata/1">
  
2882 ··<div·class="detail-header">2882 ··<div·class="detail-header">
2883 ····<a·href="#update_process_metadata/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2883 ····<a·href="#update_process_metadata/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2903, 15 lines modifiedOffset 2903, 15 lines modified
2903 ······<div·class="specs">2903 ······<div·class="specs">
  
2904 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_process_metadata(Meta)·->·ok·when·Meta·::·<a·href="#t:metadata/0">metadata</a>().</pre>2904 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_process_metadata(Meta)·->·ok·when·Meta·::·<a·href="#t:metadata/0">metadata</a>().</pre>
  
2905 ······</div>2905 ······</div>
Max diff block lines reached; 21513/54737 bytes (39.30%) of diff not shown.
806 B
html2text {}
Max HTML report size reached
105 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger_chapter.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ····<i·class="ri-link-m"·aria-hidden="true"></i>186 ····<i·class="ri-link-m"·aria-hidden="true"></i>
187 ··</a>187 ··</a>
188 ··<span·class="text">Logger·API</span>188 ··<span·class="text">Logger·API</span>
189 </h2>189 </h2>
190 <p>The·API·for·logging·consists·of·a·set·of·<a·href="logger.html#module-macros">macros</a>,·and·a·set190 <p>The·API·for·logging·consists·of·a·set·of·<a·href="logger.html#module-macros">macros</a>,·and·a·set
191 of·functions·of·the·form·<code·class="inline">logger:Level/1,2,3</code>,·which·are·all·shortcuts·for191 of·functions·of·the·form·<code·class="inline">logger:Level/1,2,3</code>,·which·are·all·shortcuts·for
192 <a·href="logger.html#log/2"><code·class="inline">logger:log(Level,Arg1[,Arg2[,Arg3]])</code></a>.</p><p>The·macros·are·defined·in·<code·class="inline">logger.hrl</code>,·which·is·included·in·a·module·with·the192 <a·href="logger.html#log/2"><code·class="inline">logger:log(Level,Arg1[,Arg2[,Arg3]])</code></a>.</p><p>The·macros·are·defined·in·<code·class="inline">logger.hrl</code>,·which·is·included·in·a·module·with·the
193 directive</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="7295241665-1">(</span><span·class="s">&quot;kernel/include/logger.hrl&quot;</span><span·class="p"·data-group-id="7295241665-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="1125225063-1">(</span><span·class="s">&quot;kernel/include/logger.hrl&quot;</span><span·class="p"·data-group-id="1125225063-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="2070922580-1">(</span><span·class="s">&quot;The·file·does·not·exist:·~ts&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="2070922580-2">[</span><span·class="n">Filename</span><span·class="p"·data-group-id="2070922580-2">]</span><span·clas[·...·truncated·by·diffoscope;·len:·367,·SHA:·fc34011ee2805d13a4ad09046ba4b89afa1be615ba702f0ce8bfe7df272b2f10·...·]-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="8534922920-1">(</span><span·class="s">&quot;The·file·does·not·exist:·~ts&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8534922920-2">[</span><span·class="n">Filename</span><span·class="p"·data-group-id="8534922920-2">]</span><span·clas[·...·truncated·by·diffoscope;·len:·367,·SHA:·f0022e12447401631d8e9fae097afc7aacba4a2912a9687a287aa7380361f06c·...·]-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="6786633810-1">(</span><span·class="p"·data-group-id="6786633810-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:·22d584bc9c725b3725ccdde5d42c1cbcfa21a4201a1eba93dc98c20eae8a291f·...·]-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="4948190007-1">(</span><span·class="p"·data-group-id="4948190007-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:·479b585614dda38230d757575c4dede8ad54aa5000b3d20c7a9192975203de15·...·]-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="3491423720-1">(</span><span·class="p"·data-group-id="3491423720-2">(</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">report</span><span·class="p"·data-group-id="3491423720-3">(</span><span·class="p"·data-group-id="3491423720-3">)</span><span·class="p"·data-group-id="3491423720-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3491423720-4">{</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3491423720-5">(</span><span·class="p"·data-group-id="3491423720-5">)</span><span·class="p">,</span><span·class="p"·data-group-id="3491423720-6">[</span><span·class="nf">term</span><span·class="p"·data-group-id="3491423720-7">(</span><span·class="p"·data-group-id="3491423720-7">)</span><span·class="p"·data-group-id="3491423720-6">]</span><span·class="p"·data-group-id="3491423720-4">}</span><span·class="p"·data-group-id="3491423720-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="5498725291-1">(</span><span·class="p"·data-group-id="5498725291-2">(</span><span·c[·...·truncated·by·diffoscope;·len:·924,·SHA:·250ed3f0ee08f4110f04faa05b91e4eb4d443a3571a58260c300b5f5ee0dc1c7·...·]224 arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="9510466722-1">(</span><span·class="p"·data-group-id="9510466722-2">(</span><span·class="nc">logger</span><span·class="p">:</span><span·c[·...·truncated·by·diffoscope;·len:·958,·SHA:·4df0c90766b0e39eff5bbf2a8c15af32c95032d9e398e5cef5b0b525de622e8b·...·]
 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="8846403000-1">(</span><span·class="p"·data-group-id="8846403000-2">(</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">report</span><span·class="p"·data-group-id="8846403000-3">(</span><span·class="p"·data-group-id="8846403000-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="8846403000-4">(</span><span·class="p"·data-group-id="8846403000-4">)</span><span·class="p"·data-group-id="8846403000-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="8846403000-5">(</span><span·class="p"·data-group-id="8846403000-5">)</span><span·class="p"·data-group-id="8846403000-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="1868552233-1">(</span><span·class="p"·data-group-id="1868552233-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:·7e68045c6d8f5461bef49a001e1daa9a384f87dc790e644dd18898aeaaf06f2c·...·]-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="7413994451-1">(</span><span·class="p"·data-group-id="7413994451-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:·db49b590feb7476a5e57d8375a415e78dae8275b9985652a11c408a49208e489·...·]-2">}</span><span·class="p">,</span><span·class="w">
231 ·············</span><span·class="p"·data-group-id="1868552233-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="1868552233-4">(</span><span·class="n">R</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·597,·SHA:·89c46eb1bfc2cee663657ab588414a0726dbe496106ef81ede5a3d4dbc726182·...·]-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="7413994451-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="7413994451-4">(</span><span·class="n">R</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·597,·SHA:·c708a616f580c14b9b03818199b736b5672ee5209feac4fb804ae5b38252f321·...·]-1">)</span></code></pre><p>The·log·message·can·also·be·provided·through·a·fun·for·lazy·evaluation.·The·fun
232 is·only·evaluated·if·the·primary·log·level·check·passes,·and·is·therefore232 is·only·evaluated·if·the·primary·log·level·check·passes,·and·is·therefore
233 recommended·if·it·is·expensive·to·generate·the·message.·The·lazy·fun·must·return233 recommended·if·it·is·expensive·to·generate·the·message.·The·lazy·fun·must·return
234 a·string,·a·report,·or·a·tuple·with·format·string·and·arguments.</p><h3·id="metadata"·class="section-heading">234 a·string,·a·report,·or·a·tuple·with·format·string·and·arguments.</p><h3·id="metadata"·class="section-heading">
235 ··<a·href="#metadata"·class="hover-link">235 ··<a·href="#metadata"·class="hover-link">
236 ····<i·class="ri-link-m"·aria-hidden="true"></i>236 ····<i·class="ri-link-m"·aria-hidden="true"></i>
237 ··</a>237 ··</a>
238 ··<span·class="text">Metadata</span>238 ··<span·class="text">Metadata</span>
Offset 411, 20 lines modifiedOffset 411, 20 lines modified
411 with·<a·href="#logger_level"><code·class="inline">logger_level</code></a>,·and·the·compatibility411 with·<a·href="#logger_level"><code·class="inline">logger_level</code></a>,·and·the·compatibility
412 with·<a·href="../../../../lib/sasl-4.3/doc/html/error_logging.html">SASL·Error·Logging</a>,·which·is·specified·with412 with·<a·href="../../../../lib/sasl-4.3/doc/html/error_logging.html">SASL·Error·Logging</a>,·which·is·specified·with
413 <a·href="#logger_sasl_compatible"><code·class="inline">logger_sasl_compatible</code></a>.</p><p>With·this·parameter,·you·can·modify·or·disable·the·default·handler,·add·custom413 <a·href="#logger_sasl_compatible"><code·class="inline">logger_sasl_compatible</code></a>.</p><p>With·this·parameter,·you·can·modify·or·disable·the·default·handler,·add·custom
414 handlers·and·primary·logger·filters,·set·log·levels·per·module,·and·modify·the414 handlers·and·primary·logger·filters,·set·log·levels·per·module,·and·modify·the
415 <a·href="#logger-proxy">proxy</a>·configuration.</p><p><code·class="inline">Config</code>·is·any·(zero·or·more)·of·the·following:</p><ul><li><p><strong><code·class="inline">{handler,·default,·undefined}</code></strong>·-·Disables·the·default·handler.·This415 <a·href="#logger-proxy">proxy</a>·configuration.</p><p><code·class="inline">Config</code>·is·any·(zero·or·more)·of·the·following:</p><ul><li><p><strong><code·class="inline">{handler,·default,·undefined}</code></strong>·-·Disables·the·default·handler.·This
416 allows·another·application·to·add·its·own·default·handler.</p><p>Only·one·entry·of·this·type·is·allowed.</p></li><li><p><strong><code·class="inline">{handler,·HandlerId,·Module,·HandlerConfig}</code></strong>·-·If·<code·class="inline">HandlerId</code>·is416 allows·another·application·to·add·its·own·default·handler.</p><p>Only·one·entry·of·this·type·is·allowed.</p></li><li><p><strong><code·class="inline">{handler,·HandlerId,·Module,·HandlerConfig}</code></strong>·-·If·<code·class="inline">HandlerId</code>·is
417 <code·class="inline">default</code>,·then·this·entry·modifies·the·default·handler,·equivalent·to417 <code·class="inline">default</code>,·then·this·entry·modifies·the·default·handler,·equivalent·to
418 calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">remove_handler</span><span·class="p"·data-group-id="7088395344-1">(</span><span·class="ss">default</span><span·class="p"·data-group-id="7088395344-1">)</span></code></pre><p>followed·by</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">[·...·truncated·by·diffoscope;·len:·304,·SHA:·f06cd8f920ced1d8e1d8e7e376b3b4de5934a4fcb21e4b82ca9e08162ca0ca45·...·]-1">)</span></code></pre><p>For·all·other·values·of·<code·class="inline">HandlerId</code>,·this·entry·adds·a·new·handler,418 calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">remove_handler</span><span·class="p"·data-group-id="0578546000-1">(</span><span·class="ss">default</span><span·class="p"·data-group-id="0578546000-1">)</span></code></pre><p>followed·by</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">[·...·truncated·by·diffoscope;·len:·304,·SHA:·6c8d89649a40e5ae40e010a9bdf9ecce453bfb9b2060b81478a7364eb87d2740·...·]-1">)</span></code></pre><p>For·all·other·values·of·<code·class="inline">HandlerId</code>,·this·entry·adds·a·new·handler,
419 equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="3011843638-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="3011843638-1">)</span></code></pre><p>Multiple·entries·of·this·type·are·allowed.</p></li><li><p><strong><code·class="inline">{filters,·FilterDefault,·[Filter]}</code></strong>·-·Adds·the·specified·primary419 equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="9457838151-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="9457838151-1">)</span></code></pre><p>Multiple·entries·of·this·type·are·allowed.</p></li><li><p><strong><code·class="inline">{filters,·FilterDefault,·[Filter]}</code></strong>·-·Adds·the·specified·primary
420 filters.</p><ul><li><p><code·class="inline">FilterDefault·=·log·|·stop</code></p></li><li><code·class="inline">Filter·=·{FilterId,·{FilterFun,·FilterConfig}}</code></li></ul><p>Equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_primary_filter</span><span·class="p"·data-group-id="7757635975-1">(</span><span·class="n">FilterId</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7757635975-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:·14ab2a46d70f67c5d22f4fac0e36da8aaaba65cd89151100189546a48a34a1f7·...·]-1">)</span></code></pre><p>for·each·<code·class="inline">Filter</code>.</p><p><code·class="inline">FilterDefault</code>·specifies·the·behaviour·if·all·primary·filters·return420 filters.</p><ul><li><p><code·class="inline">FilterDefault·=·log·|·stop</code></p></li><li><code·class="inline">Filter·=·{FilterId,·{FilterFun,·FilterConfig}}</code></li></ul><p>Equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_primary_filter</span><span·class="p"·data-group-id="0503912822-1">(</span><span·class="n">FilterId</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0503912822-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:·3508ca50ba8f9b1c028d35744a3e4f57126ddde29d816f9680818e4527ec955b·...·]-1">)</span></code></pre><p>for·each·<code·class="inline">Filter</code>.</p><p><code·class="inline">FilterDefault</code>·specifies·the·behaviour·if·all·primary·filters·return
421 <code·class="inline">ignore</code>,·see·section·<a·href="#filters">Filters</a>.</p><p>Only·one·entry·of·this·type·is·allowed.</p></li><li><p><strong><code·class="inline">{module_level,·Level,·[Module]}</code></strong>·-·Sets·module·log·level·for·the·given421 <code·class="inline">ignore</code>,·see·section·<a·href="#filters">Filters</a>.</p><p>Only·one·entry·of·this·type·is·allowed.</p></li><li><p><strong><code·class="inline">{module_level,·Level,·[Module]}</code></strong>·-·Sets·module·log·level·for·the·given
422 modules.·Equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_module_level</span><span·class="p"·data-group-id="4692236694-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="4692236694-1">)</span></code></pre><p>for·each·<code·class="inline">Module</code>.</p><p>Multiple·entries·of·this·type·are·allowed.</p></li><li><p><strong><code·class="inline">{proxy,·ProxyConfig}</code></strong>·-·Sets·the·proxy·configuration,·equivalent·to422 modules.·Equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_module_level</span><span·class="p"·data-group-id="2298050011-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="2298050011-1">)</span></code></pre><p>for·each·<code·class="inline">Module</code>.</p><p>Multiple·entries·of·this·type·are·allowed.</p></li><li><p><strong><code·class="inline">{proxy,·ProxyConfig}</code></strong>·-·Sets·the·proxy·configuration,·equivalent·to
423 calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_proxy_config</span><span·class="p"·data-group-id="7777945760-1">(</span><span·class="n">ProxyConfig</span><span·class="p"·data-group-id="7777945760-1">)</span></code></pre><p>Only·one·entry·of·this·type·is·allowed.</p></li></ul><p>See·section·<a·href="#configuration-examples">Configuration·Examples</a>·for423 calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_proxy_config</span><span·class="p"·data-group-id="8848864569-1">(</span><span·class="n">ProxyConfig</span><span·class="p"·data-group-id="8848864569-1">)</span></code></pre><p>Only·one·entry·of·this·type·is·allowed.</p></li></ul><p>See·section·<a·href="#configuration-examples">Configuration·Examples</a>·for
424 examples·using·the·<code·class="inline">logger</code>·parameter·for·system·configuration.</p></li><li><p><strong><code·class="inline"·id="logger_metadata">logger_metadata·=·map()</code></strong>·-·Specifies·the·primary424 examples·using·the·<code·class="inline">logger</code>·parameter·for·system·configuration.</p></li><li><p><strong><code·class="inline"·id="logger_metadata">logger_metadata·=·map()</code></strong>·-·Specifies·the·primary
425 metadata.·See·the·<a·href="kernel_app.html#logger_metadata"><code·class="inline">kernel(6)</code></a>·manual·page·for425 metadata.·See·the·<a·href="kernel_app.html#logger_metadata"><code·class="inline">kernel(6)</code></a>·manual·page·for
426 more·information·about·this·parameter.</p></li><li><p><strong><code·class="inline"·id="logger_level">logger_level·=·Level</code></strong>·-·Specifies·the·primary·log426 more·information·about·this·parameter.</p></li><li><p><strong><code·class="inline"·id="logger_level">logger_level·=·Level</code></strong>·-·Specifies·the·primary·log
427 level.·See·the·<a·href="kernel_app.html#logger_level"><code·class="inline">kernel(6)</code></a>·manual·page·for·more427 level.·See·the·<a·href="kernel_app.html#logger_level"><code·class="inline">kernel(6)</code></a>·manual·page·for·more
428 information·about·this·parameter.</p></li><li><p><strong><code·class="inline"·id="logger_sasl_compatible">logger_sasl_compatible·=·true·|·false</code></strong>·-428 information·about·this·parameter.</p></li><li><p><strong><code·class="inline"·id="logger_sasl_compatible">logger_sasl_compatible·=·true·|·false</code></strong>·-
429 Specifies·Logger's·compatibility·with429 Specifies·Logger's·compatibility·with
430 <a·href="../../../../lib/sasl-4.3/doc/html/error_logging.html">SASL·Error·Logging</a>.·See·the430 <a·href="../../../../lib/sasl-4.3/doc/html/error_logging.html">SASL·Error·Logging</a>.·See·the
Offset 437, 39 lines modifiedOffset 437, 39 lines modified
437 </h3>437 </h3>
438 <p>The·value·of·the·Kernel·configuration·parameter·<code·class="inline">logger</code>·is·a·list·of·tuples.·It438 <p>The·value·of·the·Kernel·configuration·parameter·<code·class="inline">logger</code>·is·a·list·of·tuples.·It
439 is·possible·to·write·the·term·on·the·command·line·when·starting·an·erlang·node,439 is·possible·to·write·the·term·on·the·command·line·when·starting·an·erlang·node,
440 but·as·the·term·grows,·a·better·approach·is·to·use·the·system·configuration440 but·as·the·term·grows,·a·better·approach·is·to·use·the·system·configuration
441 file.·See·the·<a·href="config.html"><code·class="inline">config(4)</code></a>·manual·page·for·more·information·about441 file.·See·the·<a·href="config.html"><code·class="inline">config(4)</code></a>·manual·page·for·more·information·about
442 this·file.</p><p>Each·of·the·following·examples·shows·a·simple·system·configuration·file·that442 this·file.</p><p>Each·of·the·following·examples·shows·a·simple·system·configuration·file·that
443 configures·Logger·according·to·the·description.</p><p>Modify·the·default·handler·to·print·to·a·file·instead·of443 configures·Logger·according·to·the·description.</p><p>Modify·the·default·handler·to·print·to·a·file·instead·of
444 <a·href="../../../../lib/stdlib-7.0/doc/html/io.html#t:standard_io/0"><code·class="inline">standard_io</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4522288195-1">[</span><span·class="p"·data-group-id="4522288195-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">444 <a·href="../../../../lib/stdlib-7.0/doc/html/io.html#t:standard_io/0"><code·class="inline">standard_io</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3645675309-1">[</span><span·class="p"·data-group-id="3645675309-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
445 ··</span><span·class="p"·data-group-id="4522288195-3">[</span><span·class="p"·data-group-id="4522288195-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">445 ··</span><span·class="p"·data-group-id="3645675309-3">[</span><span·class="p"·data-group-id="3645675309-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
446 ····</span><span·class="p"·data-group-id="4522288195-5">[</span><span·class="p"·data-group-id="4522288195-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">··</span><span·class="c1">%·{handler,·HandlerId,·Module,</span><span·class="w">446 ····</span><span·class="p"·data-group-id="3645675309-5">[</span><span·class="p"·data-group-id="3645675309-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">··</span><span·class="c1">%·{handler,·HandlerId,·Module,</span><span·class="w">
447 ······</span><span·class="p"·data-group-id="4522288195-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="4522288195-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="4522288195-8">}</span><span·class="p"·data-group-id="4522288195-7">}</span><span·class="p"·data-group-id="4522288195-6">}</span><span·class="w">··</span><span·class="c1">%·Config}</span><span·class="w"> 
448 ····</span><span·class="p"·data-group-id="4522288195-5">]</span><span·class="p"·data-group-id="4522288195-4">}</span><span·class="p"·data-group-id="4522288195-3">]</span><span·class="p"·data-group-id="4522288195-2">}</span><span·class="p"·data-group-id="452228[·...·truncated·by·diffoscope;·len:·329,·SHA:·f71100535820a362e0ecff0b574b3d9aee5e95ed95be17e080ec755944fcc781·...·]</span><span·class="w">447 ······</span><span·class="p"·data-group-id="3645675309-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="3645675309-8">#{</span><span·class="ss">file</span><span[·...·truncated·by·diffoscope;·len:·330,·SHA:·45036e7f8ca599bb91f31392898a23744a1996da7d3a5889e9c7712c4e9a0974·...·]</span><span·class="w">
 448 ····</span><span·class="p"·data-group-id="3645675309-5">]</span><span·class="p"·data-group-id="3645675309-4">}</span><span·class="p"·data-group-id="3645675309-3">]</span><span·class="p"·data-group-id="3645675309-2">}</span><span·class="p"·data-group-id="3645675309-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·print·each·log·event·as·a·single·line:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7886169153-1">[</span><span·class="p"·data-group-id="7886169153-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
449 ··</span><span·class="p"·data-group-id="7797302378-3">[</span><span·class="p"·data-group-id="7797302378-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">449 ··</span><span·class="p"·data-group-id="7886169153-3">[</span><span·class="p"·data-group-id="7886169153-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
450 ····</span><span·class="p"·data-group-id="7797302378-5">[</span><span·class="p"·data-group-id="7797302378-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">450 ····</span><span·class="p"·data-group-id="7886169153-5">[</span><span·class="p"·data-group-id="7886169153-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
451 ······</span><span·class="p"·data-group-id="7797302378-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="7797302378-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·409,·SHA:·cab5f0bce87ea9ba33215f442e9cb6661297a39b118ccaadde35fb067670834e·...·]-6">}</span><span·class="w">451 ······</span><span·class="p"·data-group-id="7886169153-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="7886169153-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·409,·SHA:·70a544e11b32179cb38079bb2661042d0cff2101e083242e9aa8af9925a71d13·...·]-6">}</span><span·class="w">
452 ····</span><span·class="p"·data-group-id="7797302378-5">]</span><span·class="p"·data-group-id="7797302378-4">}</span><span·class="p"·data-group-id="7797302378-3">]</span><span·class="p"·data-group-id="7797302378-2">}</span><span·class="p"·data-group-id="7797302378-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·print·the·pid·of·the·logging·process·for·each·log 
453 event:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7858494271-1">[</span><span·class="p"·data-group-id="7858494271-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">452 ····</span><span·class="p"·data-group-id="7886169153-5">]</span><span·class="p"·data-group-id="7886169153-4">}</span><span·class="p"·data-group-id="7886169153-3">]</span><span·class="p"·data-group-id="7886169153-2">}</span><span·class="p"·data-group-id="78[·...·truncated·by·diffoscope;·len:·139,·SHA:·771d58094339b0ac4d2da4df41d4d86e120bfa56d335cf836e5b6c2af670e8ce·...·]
 453 event:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1155047905-1">[</span><span·class="p"·data-group-id="1155047905-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
454 ··</span><span·class="p"·data-group-id="7858494271-3">[</span><span·class="p"·data-group-id="7858494271-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">454 ··</span><span·class="p"·data-group-id="1155047905-3">[</span><span·class="p"·data-group-id="1155047905-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
455 ····</span><span·class="p"·data-group-id="7858494271-5">[</span><span·class="p"·data-group-id="7858494271-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="1155047905-5">[</span><span·class="p"·data-group-id="1155047905-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="7858494271-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="7858494271-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">456 ······</span><span·class="p"·data-group-id="1155047905-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="1155047905-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">
457 ························</span><span·class="p"·data-group-id="7858494271-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="7858494271-10">[</span><span·class="ss">time</span><span·class="p">,</span><span·class="s">&qu[·...·truncated·by·diffoscope;·len:·494,·SHA:·e01cc39a162766c907570eacf8c148b3e1995be06f92c495dba8809b1cfa28f6·...·]-6">}</span><span·class="w">457 ························</span><span·class="p"·data-group-id="1155047905-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="1155047905-10">[</span><span·class="ss">time</span><span·class="p">,</span><span·class="s">&qu[·...·truncated·by·diffoscope;·len:·494,·SHA:·d73185d336d002d3ca083de2a42faae8e82311155371f039bda79c9c941c6266·...·]-6">}</span><span·class="w">
458 ····</span><span·class="p"·data-group-id="7858494271-5">]</span><span·class="p"·data-group-id="7858494271-4">}</span><span·class="p"·data-group-id="7858494271-3">]</span><span·class="p"·data-group-id="7858494271-2">}</span><span·class="p"·data-group-id="7858494271-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·only·print·errors·and·more·severe·log·events·to458 ····</span><span·class="p"·data-group-id="1155047905-5">]</span><span·class="p"·data-group-id="1155047905-4">}</span><span·class="p"·data-group-id="1155047905-3">]</span><span·class="p"·data-group-id="1155047905-2">}</span><span·class="p"·data-group-id="1155047905-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·only·print·errors·and·more·severe·log·events·to
459 &quot;log/erlang.log&quot;,·and·add·another·handler·to·print·all·log·events·to459 &quot;log/erlang.log&quot;,·and·add·another·handler·to·print·all·log·events·to
460 &quot;log/debug.log&quot;.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5064539081-1">[</span><span·class="p"·data-group-id="5064539081-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">460 &quot;log/debug.log&quot;.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5284802994-1">[</span><span·class="p"·data-group-id="5284802994-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
461 ··</span><span·class="p"·data-group-id="5064539081-3">[</span><span·class="p"·data-group-id="5064539081-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">461 ··</span><span·class="p"·data-group-id="5284802994-3">[</span><span·class="p"·data-group-id="5284802994-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
462 ····</span><span·class="p"·data-group-id="5064539081-5">[</span><span·class="p"·data-group-id="5064539081-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">462 ····</span><span·class="p"·data-group-id="5284802994-5">[</span><span·class="p"·data-group-id="5284802994-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
463 ······</span><span·class="p"·data-group-id="5064539081-7">#{</span><span·class="ss">level</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">463 ······</span><span·class="p"·data-group-id="5284802994-7">#{</span><span·class="ss">level</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">
464 ········</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5064539081-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="5064539081-8">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·66,·SHA:·45394029bf366e8f8eee5242d1da561be050fbf02ffc828e3cb9a89f2f134b1d·...·]-6">}</span><span·class="p">,</span><span·class="w">464 ········</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5284802994-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="5284802994-8">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·66,·SHA:·0df8742ffdbf64ca2a12fcbe7d9d50911cc0c05527f2303f4c68721d61d94bee·...·]-6">}</span><span·class="p">,</span><span·class="w">
465 ·····</span><span·class="p"·data-group-id="5064539081-9">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">465 ·····</span><span·class="p"·data-group-id="5284802994-9">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
466 ······</span><span·class="p"·data-group-id="5064539081-10">#{</span><span·class="ss">level</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">debug</span><span·class="p">,</span><span·class="w">466 ······</span><span·class="p"·data-group-id="5284802994-10">#{</span><span·class="ss">level</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">debug</span><span·class="p">,</span><span·class="w">
467 ········</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5064539081-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="5064539081-11">}</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·68,·SHA:·d354f3c931c6444c59f9f8606b73538e20f80560605aa3cfe84ae7c6f8f2ebf7·...·]-9">}</span><span·class="w">467 ········</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5284802994-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="5284802994-11">}</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·68,·SHA:·8809d494063844e9d18bc9f1acdc7cafd19baade15c1c5fbc44006bda08a694d·...·]-9">}</span><span·class="w">
468 ····</span><span·class="p"·data-group-id="5064539081-5">]</span><span·class="p"·data-group-id="5064539081-4">}</span><span·class="p"·data-group-id="5064539081-3">]</span><span·class="p"·data-group-id="5064539081-2">}</span><span·class="p"·data-group-id="5064539081-1">]</span><span·class="p">.</span></code></pre><h2·id="backwards-compatibility-with-error_logger"·class="section-heading">468 ····</span><span·class="p"·data-group-id="5284802994-5">]</span><span·class="p"·data-group-id="5284802994-4">}</span><span·class="p"·data-group-id="5284802994-3">]</span><span·class="p"·data-group-id="5284802994-2">}</span><span·class="p"·data-group-id="5284802994-1">]</span><span·class="p">.</span></code></pre><h2·id="backwards-compatibility-with-error_logger"·class="section-heading">
469 ··<a·href="#backwards-compatibility-with-error_logger"·class="hover-link">469 ··<a·href="#backwards-compatibility-with-error_logger"·class="hover-link">
470 ····<i·class="ri-link-m"·aria-hidden="true"></i>470 ····<i·class="ri-link-m"·aria-hidden="true"></i>
471 ··</a>471 ··</a>
472 ··<span·class="text">Backwards·Compatibility·with·error_logger</span>472 ··<span·class="text">Backwards·Compatibility·with·error_logger</span>
473 </h2>473 </h2>
474 <p>Logger·provides·backwards·compatibility·with·<code·class="inline">error_logger</code>·in·the·following474 <p>Logger·provides·backwards·compatibility·with·<code·class="inline">error_logger</code>·in·the·following
475 ways:</p><ul><li><p><strong>API·for·Logging</strong>·-·The·<code·class="inline">error_logger</code>·API·still·exists,·but·should·only·be475 ways:</p><ul><li><p><strong>API·for·Logging</strong>·-·The·<code·class="inline">error_logger</code>·API·still·exists,·but·should·only·be
Offset 503, 17 lines modifiedOffset 503, 17 lines modified
503 <a·href="../../../../lib/sasl-4.3/doc/html/sasl_app.html#deprecated_error_logger_config">SASL·configuration·parameters</a>503 <a·href="../../../../lib/sasl-4.3/doc/html/sasl_app.html#deprecated_error_logger_config">SASL·configuration·parameters</a>
504 can·then·be·used·as·before,·and·the·SASL·reports·will·only·be·printed·if·the504 can·then·be·used·as·before,·and·the·SASL·reports·will·only·be·printed·if·the
505 SASL·application·is·running,·through·a·second·log·handler·named·<code·class="inline">sasl</code>.</p><p>All·SASL·reports·have·a·metadata·field·<code·class="inline">domain</code>·which·is·set·to·<code·class="inline">[otp,sasl]</code>.505 SASL·application·is·running,·through·a·second·log·handler·named·<code·class="inline">sasl</code>.</p><p>All·SASL·reports·have·a·metadata·field·<code·class="inline">domain</code>·which·is·set·to·<code·class="inline">[otp,sasl]</code>.
506 This·field·can·be·used·by·filters·to·stop·or·allow·the·log·events.</p><p>See·section·<a·href="../../../../lib/sasl-4.3/doc/html/error_logging.html">SASL·User's·Guide</a>·for·more506 This·field·can·be·used·by·filters·to·stop·or·allow·the·log·events.</p><p>See·section·<a·href="../../../../lib/sasl-4.3/doc/html/error_logging.html">SASL·User's·Guide</a>·for·more
507 information·about·the·old·SASL·error·logging·functionality.</p></li><li><p><strong><a·href=""·id="legacy_event_handlers"></a>·Legacy·Event·Handlers</strong>·-·To·use·event507 information·about·the·old·SASL·error·logging·functionality.</p></li><li><p><strong><a·href=""·id="legacy_event_handlers"></a>·Legacy·Event·Handlers</strong>·-·To·use·event
508 handlers·written·for·<code·class="inline">error_logger</code>,·just·add·your·event·handler508 handlers·written·for·<code·class="inline">error_logger</code>,·just·add·your·event·handler
509 with</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">error_logger</span><span·class="p">:</span><span·class="ss">add_report_handler</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">.</span></code></pre><p>This·automatically·starts·the·error·logger·event·manager,·and·adds509 with</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">error_logger</span><span·class="p">:</span><span·class="ss">add_report_handler</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">.</span></code></pre><p>This·automatically·starts·the·error·logger·event·manager,·and·adds
510 <code·class="inline">error_logger</code>·as·a·handler·to·Logger,·with·the·following·configuration:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4291744998-1">#{</span><span·class="ss">level</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">510 <code·class="inline">error_logger</code>·as·a·handler·to·Logger,·with·the·following·configuration:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7560410951-1">#{</span><span·class="ss">level</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">
511 ··</span><span·class="ss">filter_default</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">log</span><span·class="p">,</span><span·class="w">511 ··</span><span·class="ss">filter_default</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">log</span><span·class="p">,</span><span·class="w">
512 ··</span><span·class="ss">filters</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4291744998-2">[</span><span·class="p"·data-group-id="4291744998-2">]</span><span·class="p"·data-group-id="4291744998-1">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·handler·ignores·events·that·do·not·originate·from·the·<code·class="inline">error_logger</code>512 ··</span><span·class="ss">filters</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7560410951-2">[</span><span·class="p"·data-group-id="7560410951-2">]</span><span·class="p"·data-group-id="7560410951-1">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·handler·ignores·events·that·do·not·originate·from·the·<code·class="inline">error_logger</code>
513 API,·or·from·within·OTP.·This·means·that·if·your·code·uses·the·Logger·API513 API,·or·from·within·OTP.·This·means·that·if·your·code·uses·the·Logger·API
514 for·logging,·then·your·log·events·will·be·discarded·by·this·handler.</p><p>The·handler·is·not·overload·protected.</p></section></li></ul><h2·id="error-handling"·class="section-heading">514 for·logging,·then·your·log·events·will·be·discarded·by·this·handler.</p><p>The·handler·is·not·overload·protected.</p></section></li></ul><h2·id="error-handling"·class="section-heading">
515 ··<a·href="#error-handling"·class="hover-link">515 ··<a·href="#error-handling"·class="hover-link">
516 ····<i·class="ri-link-m"·aria-hidden="true"></i>516 ····<i·class="ri-link-m"·aria-hidden="true"></i>
517 ··</a>517 ··</a>
Max diff block lines reached; 58379/106948 bytes (54.59%) of diff not shown.
876 B
html2text {}
Max HTML report size reached
95.6 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger_cookbook.html
    
Offset 140, 27 lines modifiedOffset 140, 27 lines modified
140 </h2>140 </h2>
141 <h3·id="print-the-primary-logger-configurations"·class="section-heading">141 <h3·id="print-the-primary-logger-configurations"·class="section-heading">
142 ··<a·href="#print-the-primary-logger-configurations"·class="hover-link">142 ··<a·href="#print-the-primary-logger-configurations"·class="hover-link">
143 ····<i·class="ri-link-m"·aria-hidden="true"></i>143 ····<i·class="ri-link-m"·aria-hidden="true"></i>
144 ··</a>144 ··</a>
145 ··<span·class="text">Print·the·primary·Logger·configurations.</span>145 ··<span·class="text">Print·the·primary·Logger·configurations.</span>
146 </h3>146 </h3>
147 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">i</span><span·class="p"·data-group-id="9239174472-1">(</span><span·class="ss">primary</span><span·class="p"·data-group-id="9239174472-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="7670799120-1">(</span><span·class="ss">primary</span><span·class="p"·data-group-id="7670799120-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="9239174472-2">(</span><span·class="ss">none</span><span·class="p"·data-group-id="9239174472-2">)</span></code></pre><p>It·is·also·possible·to·fetch·the·configuration·using152 ········</span><span·class="p"·data-group-id="7670799120-2">(</span><span·class="ss">none</span><span·class="p"·data-group-id="7670799120-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="4313995490-1">(</span><span·class="ss">handlers</span><span·class="p"·data-group-id="4313995490-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="3158275128-1">(</span><span·class="ss">handlers</span><span·class="p"·data-group-id="3158275128-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="4313995490-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="4313995490-3">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="ss">sasl</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·eb9d03c8b82d17f94586389fb93627f542dea63c4942c2c9e2307039aedb1cd1·...·]-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="3158275128-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="3158275128-3">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="ss">sasl</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·d4fb3aad336e2beccbe7e6d856c739d23e996dc83802dd4a109e94375f1c9fa5·...·]-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="4313995490-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="4313995490-5">[</span><span·class="p"·data-group-id="4313995490-5">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·ff429c8afa4fd70d0dd90ffc11ae59519a40e28fd81cc027cbdd19cd567dcc74·...·]-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="3158275128-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="3158275128-5">[</span><span·class="p"·data-group-id="3158275128-5">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·2a6641d1d461f44f6633001f1909946bdc4024b12d020a7c756515e23ae47195·...·]-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="3981402459-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="3981402459-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="1892845365-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="1892845365-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="8296576506-1">[</span><span·class="p"·data-group-id="8296576506-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">236 </span><span·class="p"·data-group-id="7951214784-1">[</span><span·class="p"·data-group-id="7951214784-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
237 ··</span><span·class="p"·data-group-id="8296576506-3">[</span><span·class="p"·data-group-id="8296576506-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">237 ··</span><span·class="p"·data-group-id="7951214784-3">[</span><span·class="p"·data-group-id="7951214784-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
238 ····</span><span·class="p"·data-group-id="8296576506-5">[</span><span·class="p"·data-group-id="8296576506-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="7951214784-5">[</span><span·class="p"·data-group-id="7951214784-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="8296576506-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="8296576506-8">{</span><span·class="ss">logger_formatter</span><span·c[·...·truncated·by·diffoscope;·len:·584,·SHA:·c86b26b79a940ac7f5b6f9afd577b98e3567ec15f5355dc6e03e19642af34b68·...·]-1">]</span><span·class="p">.</span><span·class="w">239 ······</span><span·class="p"·data-group-id="7951214784-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="7951214784-8">{</span><span·class="ss">logger_formatter</span><span·c[·...·truncated·by·diffoscope;·len:·584,·SHA:·ffb74a0446eff5c371ef87b1eedf7db26df55ebcf2146b64e7654e79585b497c·...·]-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="8296576506-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="8296576506-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="7951214784-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="7951214784-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="8296576506-11">(</span><span·class="s">&quot;Oh·noes,·an·error&quot;</span><span·class="p"·data-group-id="8296576506-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="7951214784-11">(</span><span·class="s">&quot;Oh·noes,·an·error&quot;</span><span·class="p"·data-group-id="7951214784-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="2936646355-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="2936646355-2">{</span><span·class="ss">logg[·...·truncated·by·diffoscope;·len:·268,·SHA:·c1d62cfaf85bdfc0a387981a5d2223deec650dbf603373d2a6b69ac2db547960·...·]-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="3112874686-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="3112874686-2">{</span><span·class="ss">logg[·...·truncated·by·diffoscope;·len:·268,·SHA:·c4c2dda4296940402d70f70905e5169025dd819fd9bd61b48e2947421d9532be·...·]-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="2936646355-4">(</span><span·class="s">&quot;Oh·noes,·another·error&quot;</span><span·class="p"·data-group-id="2936646355-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="3112874686-4">(</span><span·class="s">&quot;Oh·noes,·another·error&quot;</span><span·class="p"·data-group-id="3112874686-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="0042082107-1">[</span><span·class="p"·data-group-id="0042082107-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">254 </span><span·class="p"·data-group-id="8385209507-1">[</span><span·class="p"·data-group-id="8385209507-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
255 ··</span><span·class="p"·data-group-id="0042082107-3">[</span><span·class="p"·data-group-id="0042082107-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">255 ··</span><span·class="p"·data-group-id="8385209507-3">[</span><span·class="p"·data-group-id="8385209507-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
256 ····</span><span·class="p"·data-group-id="0042082107-5">[</span><span·class="p"·data-group-id="0042082107-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="8385209507-5">[</span><span·class="p"·data-group-id="8385209507-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="0042082107-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="0042082107-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">257 ······</span><span·class="p"·data-group-id="8385209507-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="8385209507-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">
258 ········</span><span·class="p"·data-group-id="0042082107-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="0042082107-10">[</span><span·class="ss">time</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·1056,·SHA:·4921d11c384e9061008af9cfe2f704e440af3b18311ecc32c08968f0dfb2e90f·...·]07-1">]</span><span·class="p">.</span><span·class="w">258 ········</span><span·class="p"·data-group-id="8385209507-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="8385209507-10">[</span><span·class="ss">time</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·1056,·SHA:·c6ba338857394fc3b41538d0d5536ea80c3f5c64e1b320d6f434eff0e029b480·...·]07-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="0042082107-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="0042082107-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="8385209507-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="8385209507-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="0042082107-12">(</span><span·class="s">&quot;Oh·noes,·more·errors&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="0042082107-13">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</[·...·truncated·by·diffoscope;·len:·367,·SHA:·cff170d5d6ca552487bc26163e8c2d32a348b3e4880879b6c1db7a3191842ce5·...·]07-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="8385209507-12">(</span><span·class="s">&quot;Oh·noes,·more·errors&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8385209507-13">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</[·...·truncated·by·diffoscope;·len:·367,·SHA:·b52b1668dd449fac3306fa8923c4ce591e58ce380e9571cbb2effd52d8d95384·...·]07-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="6943154836-1">[</span><span·class="p"·data-group-id="6943154836-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">278 </span><span·class="p"·data-group-id="3162220274-1">[</span><span·class="p"·data-group-id="3162220274-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
279 ··</span><span·class="p"·data-group-id="6943154836-3">[</span><span·class="p"·data-group-id="6943154836-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">279 ··</span><span·class="p"·data-group-id="3162220274-3">[</span><span·class="p"·data-group-id="3162220274-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
280 ····</span><span·class="p"·data-group-id="6943154836-5">[</span><span·class="p"·data-group-id="6943154836-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="3162220274-5">[</span><span·class="p"·data-group-id="3162220274-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="6943154836-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="6943154836-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="3162220274-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="3162220274-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="6943154836-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="3162220274-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="6943154836-9">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6943154836-10">#{</span><span·class="p"·data-group-id="6943154836-10">}</span><span·class="p"·data-group-id="694315[·...·truncated·by·diffoscope;·len:·375,·SHA:·34b3c13ba85c8d7af09366a04969c16bfc01bf419db2988993366d2f1015cee1·...·]-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="3162220274-9">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3162220274-10">#{</span><span·class="p"·data-group-id="3162220274-10">}</span><span·class="p"·data-group-id="316222[·...·truncated·by·diffoscope;·len:·375,·SHA:·41f7f68587dc58cd2c089821b9d52fbd75402965e7a23adf9f8444a57eabd4b4·...·]-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="6943154836-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="6943154836-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="3162220274-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="3162220274-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="6943154836-12">(</span><span·class="s">&quot;Oh·noes,·even·more·errors&quot;</span><span·class="p"·data-group-id="6943154836-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="3162220274-12">(</span><span·class="s">&quot;Oh·noes,·even·more·errors&quot;</span><span·class="p"·data-group-id="3162220274-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="6943154836-13">(</span><span·class="p"·data-group-id="6943154836-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="3162220274-13">(</span><span·class="p"·data-group-id="3162220274-13">)</span><span·class="p">.</span><span·class="w">
290 </span><span·class="sc">$·</span><span·class="ss">cat</span><span·class="w">·</span><span·class="ss">log</span><span·class="o">/</span><span·class="ss">erlang</span><span·class="p">.</span><span·class="ss">log</span><span·class="w">290 </span><span·class="sc">$·</span><span·class="ss">cat</span><span·class="w">·</span><span·class="ss">log</span><span·class="o">/</span><span·class="ss">erlang</span><span·class="p">.</span><span·class="ss">log</span><span·class="w">
291 </span><span·class="mi">2019</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">07</span><span·class="n">T11</span><span·class="p">:</span><span·class="mi">47</span><span·class="p">:</span><span·class="mf">16.837958</span><span·class="o">+</span><span·class="mi">02</span><span·class="p">:</span><span·class="mi">00</span><span·class="w">·</span><span·class="nc">error</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Oh</span><span·class="w">·</span><span·class="ss">noes</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">even</span><span·class="w">·</span><span·class="ss">more</span><span·class="w">·</span><span·class="ss">errors</span></code></pre><h4>See·also</h4><ul><li><a·href="logger_std_h.html"><code·class="inline">logger_std_h</code></a></li><li><a·href="logger_chapter.html#handlers">Handlers</a>·in·the·Logging·User's·Guide</li></ul><h3·id="debug-only-handler"·class="section-heading">291 </span><span·class="mi">2019</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">07</span><span·class="n">T11</span><span·class="p">:</span><span·class="mi">47</span><span·class="p">:</span><span·class="mf">16.837958</span><span·class="o">+</span><span·class="mi">02</span><span·class="p">:</span><span·class="mi">00</span><span·class="w">·</span><span·class="nc">error</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Oh</span><span·class="w">·</span><span·class="ss">noes</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">even</span><span·class="w">·</span><span·class="ss">more</span><span·class="w">·</span><span·class="ss">errors</span></code></pre><h4>See·also</h4><ul><li><a·href="logger_std_h.html"><code·class="inline">logger_std_h</code></a></li><li><a·href="logger_chapter.html#handlers">Handlers</a>·in·the·Logging·User's·Guide</li></ul><h3·id="debug-only-handler"·class="section-heading">
292 ··<a·href="#debug-only-handler"·class="hover-link">292 ··<a·href="#debug-only-handler"·class="hover-link">
293 ····<i·class="ri-link-m"·aria-hidden="true"></i>293 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Max diff block lines reached; 55951/96966 bytes (57.70%) of diff not shown.
819 B
html2text {}
Max HTML report size reached
6.01 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger_disk_log_h.html
    
Offset 160, 20 lines modifiedOffset 160, 20 lines modified
160 sync·if·something·has·actually·been·logged.</p><p>Defaults·to·<code·class="inline">5000</code>·milliseconds.</p><p>If·<code·class="inline">no_repeat</code>·is·set·as·value,·the·repeated·sync·operation·is·disabled.·The160 sync·if·something·has·actually·been·logged.</p><p>Defaults·to·<code·class="inline">5000</code>·milliseconds.</p><p>If·<code·class="inline">no_repeat</code>·is·set·as·value,·the·repeated·sync·operation·is·disabled.·The
161 user·can·also·call·the·<a·href="#filesync/1"><code·class="inline">filesync/1</code></a>·function·to·perform·a161 user·can·also·call·the·<a·href="#filesync/1"><code·class="inline">filesync/1</code></a>·function·to·perform·a
162 disk_log·sync.</p></li></ul><p>Other·configuration·parameters·exist,·to·be·used·for·customizing·the·overload162 disk_log·sync.</p></li></ul><p>Other·configuration·parameters·exist,·to·be·used·for·customizing·the·overload
163 protection·behaviour.·The·same·parameters·are·used·both·in·the·standard·handler163 protection·behaviour.·The·same·parameters·are·used·both·in·the·standard·handler
164 and·the·disk_log·handler,·and·are·documented·in·the164 and·the·disk_log·handler,·and·are·documented·in·the
165 <a·href="logger_chapter.html#overload_protection"><code·class="inline">User's·Guide</code></a>.</p><p>Notice·that·when·changing·the·configuration·of·the·handler·in·runtime,·the165 <a·href="logger_chapter.html#overload_protection"><code·class="inline">User's·Guide</code></a>.</p><p>Notice·that·when·changing·the·configuration·of·the·handler·in·runtime,·the
166 disk_log·options·(<code·class="inline">file</code>,·<code·class="inline">type</code>,·<code·class="inline">max_no_files</code>,·<code·class="inline">max_no_bytes</code>)·must·not·be166 disk_log·options·(<code·class="inline">file</code>,·<code·class="inline">type</code>,·<code·class="inline">max_no_files</code>,·<code·class="inline">max_no_bytes</code>)·must·not·be
167 modified.</p><p>Example·of·adding·a·disk_log·handler:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="3261120116-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="4809200468-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="3261120116-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="3261120116-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="4809200468-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="4809200468-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="3261120116-3">}</span><span·class="p"·data-group-id="3261120116-2">}</span><span·class="p"·data-group-id="3261120116-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="4809200468-3">}</span><span·class="p"·data-group-id="4809200468-2">}</span><span·class="p"·data-group-id="4809200468-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.3/doc/html/logger_filters.html
    
Offset 245, 35 lines modifiedOffset 245, 35 lines modified
245 ······</div>245 ······</div>
  
246 <p>This·filter·provides·a·way·of·filtering·log·events·based·on·a·<code·class="inline">domain</code>·field·in246 <p>This·filter·provides·a·way·of·filtering·log·events·based·on·a·<code·class="inline">domain</code>·field·in
247 <code·class="inline">Metadata</code>.·This·field·is·optional,·and·the·purpose·of·using·it·is·to·group·log247 <code·class="inline">Metadata</code>.·This·field·is·optional,·and·the·purpose·of·using·it·is·to·group·log
248 events·from,·for·example,·a·specific·functional·area.·This·allows·filtering·or248 events·from,·for·example,·a·specific·functional·area.·This·allows·filtering·or
249 other·specialized·treatment·in·a·Logger·handler.</p><p>A·domain·field·must·be·a·list·of·atoms,·creating·smaller·and·more·specialized249 other·specialized·treatment·in·a·Logger·handler.</p><p>A·domain·field·must·be·a·list·of·atoms,·creating·smaller·and·more·specialized
250 domains·as·the·list·grows·longer.·The·greatest·domain·is·<code·class="inline">[]</code>,·which·comprises250 domains·as·the·list·grows·longer.·The·greatest·domain·is·<code·class="inline">[]</code>,·which·comprises
251 all·possible·domains.</p><p>For·example,·consider·the·following·domains:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">D1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2036569698-1">[</span><span·class="ss">otp</span><span·class="p"·data-group-id="2036569698-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="2051933504-1">[</span><span·class="ss">otp</span><span·class="p"·data-group-id="2051933504-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="2036569698-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="2036569698-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="2051933504-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="2051933504-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="4317566604-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="4317566604-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="2359567098-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="2359567098-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="4317566604-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:·86c184c148684266ee18c6adc9cc8b450771f3e4ec0e93a31863f7c2f9e15742·...·]-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="2359567098-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:·b49ec0ab0e438502a8a3c3ac1848f2ae6613685f66ea9a4b6578997807375d69·...·]-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="4317566604-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="4317566604-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="2359567098-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="2359567098-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="6006210098-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="6006210098-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="7117509246-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="7117509246-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="6006210098-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:·513f41e9408d69c3fe070e76c8f9c708ba9edbf41a970f919af8d4bafe185018·...·]-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="7117509246-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:·9c74b423ff9cf904d6596f2cac88886139b8d54aa580bbc63632da63ca459a6b·...·]-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="6006210098-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="6006210098-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="7117509246-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="7117509246-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.55 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger_formatter.html
    
Offset 607, 15 lines modifiedOffset 607, 15 lines modified
607 ······<p·class="built-using">607 ······<p·class="built-using">
608 ········Built·using608 ········Built·using
609 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the609 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
610 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>610 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
611 ······</p>611 ······</p>
612 <p>Copyright·©·1996-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.51 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger_handler.html
    
Offset 580, 15 lines modifiedOffset 580, 15 lines modified
580 ······<p·class="built-using">580 ······<p·class="built-using">
581 ········Built·using581 ········Built·using
582 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the582 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
583 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>583 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
584 ······</p>584 ······</p>
585 <p>Copyright·©·1996-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.3/doc/html/logger_std_h.html
    
Offset 181, 17 lines modifiedOffset 181, 17 lines modified
181 but·only·performs·a·new·sync·if·something·has·actually·been·logged.</p><p>If·<code·class="inline">no_repeat</code>·is·set·as·value,·the·repeated·file·sync·operation·is·disabled,181 but·only·performs·a·new·sync·if·something·has·actually·been·logged.</p><p>If·<code·class="inline">no_repeat</code>·is·set·as·value,·the·repeated·file·sync·operation·is·disabled,
182 and·it·is·the·operating·system·settings·that·determine·how·quickly·or·slowly182 and·it·is·the·operating·system·settings·that·determine·how·quickly·or·slowly
183 data·is·written·to·disk.·The·user·can·also·call·the·<a·href="#filesync/1"><code·class="inline">filesync/1</code></a>·function·to183 data·is·written·to·disk.·The·user·can·also·call·the·<a·href="#filesync/1"><code·class="inline">filesync/1</code></a>·function·to
184 perform·a·file·sync.</p><p>Defaults·to·<code·class="inline">5000</code>·milliseconds.</p></li></ul><p>Other·configuration·parameters·exist,·to·be·used·for·customizing·the·overload184 perform·a·file·sync.</p><p>Defaults·to·<code·class="inline">5000</code>·milliseconds.</p></li></ul><p>Other·configuration·parameters·exist,·to·be·used·for·customizing·the·overload
185 protection·behaviour.·The·same·parameters·are·used·both·in·the·standard·handler185 protection·behaviour.·The·same·parameters·are·used·both·in·the·standard·handler
186 and·the·disk_log·handler,·and·are·documented·in·the186 and·the·disk_log·handler,·and·are·documented·in·the
187 <a·href="logger_chapter.html#overload_protection"><code·class="inline">User's·Guide</code></a>.</p><p>Notice·that·if·changing·the·configuration·of·the·handler·in·runtime,·the·<code·class="inline">type</code>,187 <a·href="logger_chapter.html#overload_protection"><code·class="inline">User's·Guide</code></a>.</p><p>Notice·that·if·changing·the·configuration·of·the·handler·in·runtime,·the·<code·class="inline">type</code>,
188 <code·class="inline">file</code>,·or·<code·class="inline">modes</code>·parameters·must·not·be·modified.</p><p>Example·of·adding·a·standard·handler:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="1947882190-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="3111804132-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="1947882190-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="1947882190-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="3111804132-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="3111804132-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="1947882190-3">}</span><span·class="p"·data-group-id="1947882190-2">}</span><span·class="p"·data-group-id="1947882190-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="3111804132-3">}</span><span·class="p"·data-group-id="3111804132-2">}</span><span·class="p"·data-group-id="3111804132-1">)</span><span·class="p">.</span></code></pre><p>To·set·the·default·handler,·that·starts·initially·with·the·Kernel·application,
191 to·log·to·file·instead·of·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#t:standard_io/0"><code·class="inline">standard_io</code></a>,·change·the191 to·log·to·file·instead·of·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#t:standard_io/0"><code·class="inline">standard_io</code></a>,·change·the
192 Kernel·default·logger·configuration.·Example:</p><pre><code·class="text">erl·-kernel·logger·'[{handler,default,logger_std_h,192 Kernel·default·logger·configuration.·Example:</p><pre><code·class="text">erl·-kernel·logger·'[{handler,default,logger_std_h,
193 ······················#{config·=&gt;·#{file·=&gt;·&quot;./log.log&quot;}}}]'</code></pre><p>An·example·of·how·to·replace·the·standard·handler·with·a·disk_log·handler·at193 ······················#{config·=&gt;·#{file·=&gt;·&quot;./log.log&quot;}}}]'</code></pre><p>An·example·of·how·to·replace·the·standard·handler·with·a·disk_log·handler·at
194 startup·is·found·in·the·<a·href="logger_disk_log_h.html"><code·class="inline">logger_disk_log_h</code></a>·manual.</p><h2·id="module-see-also"·class="section-heading">194 startup·is·found·in·the·<a·href="logger_disk_log_h.html"><code·class="inline">logger_disk_log_h</code></a>·manual.</p><h2·id="module-see-also"·class="section-heading">
195 ··<a·href="#module-see-also"·class="hover-link">195 ··<a·href="#module-see-also"·class="hover-link">
196 ····<i·class="ri-link-m"·aria-hidden="true"></i>196 ····<i·class="ri-link-m"·aria-hidden="true"></i>
197 ··</a>197 ··</a>
Offset 288, 15 lines modifiedOffset 288, 15 lines modified
288 ······<p·class="built-using">288 ······<p·class="built-using">
289 ········Built·using289 ········Built·using
290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
292 ······</p>292 ······</p>
293 <p>Copyright·©·1996-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.27 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/net.html
    
Offset 553, 21 lines modifiedOffset 553, 21 lines modified
  
553 ··········<pre·translate="no"><span·class="attribute">-type</span>·ifaddrs_filter_fun()·::·fun((<a·href="#t:ifaddrs/0">ifaddrs</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()).</pre>553 ··········<pre·translate="no"><span·class="attribute">-type</span>·ifaddrs_filter_fun()·::·fun((<a·href="#t:ifaddrs/0">ifaddrs</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()).</pre>
  
554 ······</div>554 ······</div>
  
555 <p>Interface·address·filtering·selector·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:function/0"><code·class="inline">function/0</code></a>.</p><p>For·each·<code·class="inline">ifaddrs</code>·entry,·return·either·<code·class="inline">true</code>·to·keep·the·entry555 <p>Interface·address·filtering·selector·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:function/0"><code·class="inline">function/0</code></a>.</p><p>For·each·<code·class="inline">ifaddrs</code>·entry,·return·either·<code·class="inline">true</code>·to·keep·the·entry
556 or·<code·class="inline">false</code>·to·discard·the·entry.</p><p>For·example,·to·get·an·interface·list·which·only·contains556 or·<code·class="inline">false</code>·to·discard·the·entry.</p><p>For·example,·to·get·an·interface·list·which·only·contains
557 non-<code·class="inline">loopback</code>·<code·class="inline">inet</code>·interfaces:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">net</span><span·class="p">:</span><span·class="nf">getifaddrs</span><span·class="p"·data-group-id="3997221401-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="6379750515-1">(</span><span·class="w">
558 ····</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="3997221401-2">(</span><span·class="p"·data-group-id="3997221401-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="3997221401-4">#{</span>[·...·truncated·by·diffoscope;·len:·172,·SHA:·ae1a4f3ddbe7796c9f91ee7c585a16317220254164e674b040be158e43a752ec·...·]-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="6379750515-2">(</span><span·class="p"·data-group-id="6379750515-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="6379750515-4">#{</span>[·...·truncated·by·diffoscope;·len:·172,·SHA:·1bf31b740ac3a59209c2e48745add133bc1ebb7445cd4a2d1392e6ec6e5a2642·...·]-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="3997221401-3">}</span><span·class="p"·data-group-id="3997221401-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="6379750515-3">}</span><span·class="p"·data-group-id="6379750515-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="3997221401-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="3997221401-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="6379750515-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="6379750515-5">)</span><span·class="p">;</span><span·class="w">
561 ········</span><span·class="p"·data-group-id="3997221401-6">(</span><span·class="p">_</span><span·class="p"·data-group-id="3997221401-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">561 ········</span><span·class="p"·data-group-id="6379750515-6">(</span><span·class="p">_</span><span·class="p"·data-group-id="6379750515-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="3997221401-1">)</span><span·class="p">.</span></code></pre>563 ····</span><span·class="k">end</span><span·class="p"·data-group-id="6379750515-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.46 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/net_adm.html
    
Offset 475, 16 lines modifiedOffset 475, 16 lines modified
475 ···················Name·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),475 ···················Name·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
476 ···················Port·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),476 ···················Port·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
477 ···················Reason·::·address·|·<a·href="file.html#t:posix/0">file:posix</a>().</pre>477 ···················Reason·::·address·|·<a·href="file.html#t:posix/0">file:posix</a>().</pre>
  
478 ······</div>478 ······</div>
  
479 <p>Returns·the·names·and·associated·port·numbers·of·the·Erlang·nodes·that·<code·class="inline">epmd</code>479 <p>Returns·the·names·and·associated·port·numbers·of·the·Erlang·nodes·that·<code·class="inline">epmd</code>
480 registered·at·the·specified·host.</p><p>Similar·to·<code·class="inline">epmd·-names</code>,·see·<a·href="../../../../erts-16.0/doc/html/epmd_cmd.html"><code·class="inline">erts:epmd</code></a>.</p><p>Returns·<code·class="inline">{error,·address}</code>·if·<code·class="inline">epmd</code>·is·not·operational.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(arne@dunn)1&gt;·</span><span·class="nc">net_adm</span><span·class="p">:</span><span·class="nf">names</span><span·class="p"·data-group-id="0810972953-1">(</span><span·class="p"·data-group-id="0810972953-1">)</span><span·class="p">.</span><span·class="w">480 registered·at·the·specified·host.</p><p>Similar·to·<code·class="inline">epmd·-names</code>,·see·<a·href="../../../../erts-16.0/doc/html/epmd_cmd.html"><code·class="inline">erts:epmd</code></a>.</p><p>Returns·<code·class="inline">{error,·address}</code>·if·<code·class="inline">epmd</code>·is·not·operational.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(arne@dunn)1&gt;·</span><span·class="nc">net_adm</span><span·class="p">:</span><span·class="nf">names</span><span·class="p"·data-group-id="7325668660-1">(</span><span·class="p"·data-group-id="7325668660-1">)</span><span·class="p">.</span><span·class="w">
481 </span><span·class="p"·data-group-id="0810972953-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0810972953-3">[</span><span·class="p"·data-group-id="0810972953-4">{</span><span·class="s">&quot;arne&quot;</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·161,·SHA:·491d9f27bc2c746d938753cbcf9c45769edae2358c60e77026d3e4c48491bd93·...·]-2">}</span></code></pre>481 </span><span·class="p"·data-group-id="7325668660-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7325668660-3">[</span><span·class="p"·data-group-id="7325668660-4">{</span><span·class="s">&quot;arne&quot;</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·161,·SHA:·2f72c11b5ae2cd2b97620066d72fe0f9a17e087ec990fbd7fff7920e61110a65·...·]-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.3/doc/html/net_kernel.html
    
Offset 128, 17 lines modifiedOffset 128, 17 lines modified
  
  
128 ····<section·id="moduledoc">128 ····<section·id="moduledoc">
129 <p>Erlang·networking·kernel.</p><p>The·net·kernel·is·a·system·process,·registered·as·<code·class="inline">net_kernel</code>,·which·must·be129 <p>Erlang·networking·kernel.</p><p>The·net·kernel·is·a·system·process,·registered·as·<code·class="inline">net_kernel</code>,·which·must·be
130 operational·for·distributed·Erlang·to·work.·The·purpose·of·this·process·is·to130 operational·for·distributed·Erlang·to·work.·The·purpose·of·this·process·is·to
131 implement·parts·of·the·BIFs·<a·href="../../../../erts-16.0/doc/html/erlang.html#spawn/4"><code·class="inline">spawn/4</code></a>·and131 implement·parts·of·the·BIFs·<a·href="../../../../erts-16.0/doc/html/erlang.html#spawn/4"><code·class="inline">spawn/4</code></a>·and
132 <a·href="../../../../erts-16.0/doc/html/erlang.html#spawn_link/4"><code·class="inline">spawn_link/4</code></a>,·and·to·provide·monitoring·of·the·network.</p><p>An·Erlang·node·is·started·using·command-line·flag·<code·class="inline">-name</code>·or·<code·class="inline">-sname</code>:</p><pre><code·class="text">$·erl·-sname·foobar</code></pre><p>It·is·also·possible·to·call·<a·href="#start/2"><code·class="inline">net_kernel:start(foobar,·#{})</code></a>132 <a·href="../../../../erts-16.0/doc/html/erlang.html#spawn_link/4"><code·class="inline">spawn_link/4</code></a>,·and·to·provide·monitoring·of·the·network.</p><p>An·Erlang·node·is·started·using·command-line·flag·<code·class="inline">-name</code>·or·<code·class="inline">-sname</code>:</p><pre><code·class="text">$·erl·-sname·foobar</code></pre><p>It·is·also·possible·to·call·<a·href="#start/2"><code·class="inline">net_kernel:start(foobar,·#{})</code></a>
133 directly·from·the·normal·Erlang·shell·prompt:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">net_kernel</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="5351021194-1">(</span><span·class="ss">foobar</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5351021194-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:·d459d3df7eb757399572807a39d026b5c84c35e2529353a7a43cdd3f308b19d3·...·]-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="7787831162-1">(</span><span·class="ss">foobar</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7787831162-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:·06b8b591e4ed42684e6add9467a564c33db9cf1ae31fcc0bf617f78ca5e44b45·...·]-1">)</span><span·class="p">.</span><span·class="w">
134 </span><span·class="p"·data-group-id="5351021194-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="5351021194-3">}</span><span·class="w">134 </span><span·class="p"·data-group-id="7787831162-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="7787831162-3">}</span><span·class="w">
135 </span><span·class="p"·data-group-id="5351021194-4">(</span><span·class="ss">foobar@gringotts</span><span·class="p"·data-group-id="5351021194-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="7787831162-4">(</span><span·class="ss">foobar@gringotts</span><span·class="p"·data-group-id="7787831162-4">)</span><span·class="mi">2</span><span·class="o">&gt;</span></code></pre><p>If·the·node·is·started·with·command-line·flag·<code·class="inline">-sname</code>,·the·node·name·is
136 <code·class="inline">foobar@Host</code>,·where·<code·class="inline">Host</code>·is·the·short·name·of·the·host·(not·the·fully136 <code·class="inline">foobar@Host</code>,·where·<code·class="inline">Host</code>·is·the·short·name·of·the·host·(not·the·fully
137 qualified·domain·name).·If·started·with·flag·<code·class="inline">-name</code>,·the·node·name·is137 qualified·domain·name).·If·started·with·flag·<code·class="inline">-name</code>,·the·node·name·is
138 <code·class="inline">foobar@Host</code>,·where·<code·class="inline">Host</code>·is·the·fully·qualified·domain·name.·For·more138 <code·class="inline">foobar@Host</code>,·where·<code·class="inline">Host</code>·is·the·fully·qualified·domain·name.·For·more
139 information,·see·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html"><code·class="inline">erl</code></a>.</p><p>Normally,·connections·are·established·automatically·when·another·node·is139 information,·see·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html"><code·class="inline">erl</code></a>.</p><p>Normally,·connections·are·established·automatically·when·another·node·is
140 referenced.·This·functionality·can·be·disabled·by·setting·Kernel·configuration140 referenced.·This·functionality·can·be·disabled·by·setting·Kernel·configuration
141 parameter·<code·class="inline">dist_auto_connect</code>·to·<code·class="inline">never</code>,·see·<a·href="kernel_app.html"><code·class="inline">kernel(6)</code></a>.·In141 parameter·<code·class="inline">dist_auto_connect</code>·to·<code·class="inline">never</code>,·see·<a·href="kernel_app.html"><code·class="inline">kernel(6)</code></a>.·In
142 this·case,·connections·must·be·established·explicitly·by·calling142 this·case,·connections·must·be·established·explicitly·by·calling
Offset 690, 21 lines modifiedOffset 690, 21 lines modified
690 node·through·the·newly·established·connection.</li><li><code·class="inline">nodedown</code>·messages·are·delivered·after·all·the·signals·from·the·remote·node690 node·through·the·newly·established·connection.</li><li><code·class="inline">nodedown</code>·messages·are·delivered·after·all·the·signals·from·the·remote·node
691 over·the·connection·have·been·delivered.</li><li><code·class="inline">nodeup</code>·messages·are·delivered·after·the·corresponding·node·appears·in691 over·the·connection·have·been·delivered.</li><li><code·class="inline">nodeup</code>·messages·are·delivered·after·the·corresponding·node·appears·in
692 results·from·<code·class="inline">erlang:nodes()</code>.</li><li><code·class="inline">nodedown</code>·messages·are·delivered·after·the·corresponding·node·has·disappeared692 results·from·<code·class="inline">erlang:nodes()</code>.</li><li><code·class="inline">nodedown</code>·messages·are·delivered·after·the·corresponding·node·has·disappeared
693 in·results·from·<code·class="inline">erlang:nodes()</code>.</li><li>As·of·OTP·23.0,·a·<code·class="inline">nodedown</code>·message·for·a·connection·being·taken·down·will·be693 in·results·from·<code·class="inline">erlang:nodes()</code>.</li><li>As·of·OTP·23.0,·a·<code·class="inline">nodedown</code>·message·for·a·connection·being·taken·down·will·be
694 delivered·before·a·<code·class="inline">nodeup</code>·message·due·to·a·new·connection·to·the·same·node.694 delivered·before·a·<code·class="inline">nodeup</code>·message·due·to·a·new·connection·to·the·same·node.
695 Prior·to·OTP·23.0,·this·was·not·guaranteed·to·be·the·case.</li></ul><p>The·format·of·the·node·status·change·messages·depends·on·<code·class="inline">Options</code>.·If·<code·class="inline">Options</code>695 Prior·to·OTP·23.0,·this·was·not·guaranteed·to·be·the·case.</li></ul><p>The·format·of·the·node·status·change·messages·depends·on·<code·class="inline">Options</code>.·If·<code·class="inline">Options</code>
696 is·the·empty·list·or·if·<a·href="#monitor_nodes/1"><code·class="inline">net_kernel:monitor_nodes/1</code></a>·is·called,·the·format·is·as696 is·the·empty·list·or·if·<a·href="#monitor_nodes/1"><code·class="inline">net_kernel:monitor_nodes/1</code></a>·is·called,·the·format·is·as
697 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9989812914-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="9989812914-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·197,·SHA:·97d85b8dd47b8118ae75cc913d36180f81065c3435476c1afc8697b2ee67e7b7·...·]-2">}</span><span·class="w">697 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4772019711-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="4772019711-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·197,·SHA:·a6157fc8dd408da525a689c096251579177dfcd2e48c95c441a5da6e84bf3923·...·]-2">}</span><span·class="w">
698 ··</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="9989812914-3">(</span><span·class="p"·data-group-id="9989812914-3">)</span></code></pre><p>When·<code·class="inline">Options</code>·is·the·empty·map·or·empty·list,·the·caller·will·only·subscribe698 ··</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="4772019711-3">(</span><span·class="p"·data-group-id="4772019711-3">)</span></code></pre><p>When·<code·class="inline">Options</code>·is·the·empty·map·or·empty·list,·the·caller·will·only·subscribe
699 for·status·change·messages·for·visible·nodes.·That·is,·only·nodes·that·appear·in699 for·status·change·messages·for·visible·nodes.·That·is,·only·nodes·that·appear·in
700 the·result·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#nodes/0"><code·class="inline">erlang:nodes/0</code></a>.</p><p>If·<code·class="inline">Options</code>·equals·anything·other·than·the·empty·list,·the·format·of·the·status700 the·result·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#nodes/0"><code·class="inline">erlang:nodes/0</code></a>.</p><p>If·<code·class="inline">Options</code>·equals·anything·other·than·the·empty·list,·the·format·of·the·status
701 change·messages·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5743166378-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="5743166378-1">}</span><[·...·truncated·by·diffoscope;·len:·347,·SHA:·46994f95ad13a1738c9ccde448e3e42c0bcb112233fec98b80eba18617312307·...·]-2">}</span><span·class="w">701 change·messages·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1370633857-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="1370633857-1">}</span><[·...·truncated·by·diffoscope;·len:·347,·SHA:·62808579fd945aa14bd432c32fe17487ffe5121068b59fd74d9458fcafa60300·...·]-2">}</span><span·class="w">
702 ··</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="5743166378-3">(</span><span·class="p"·data-group-id="5743166378-3">)</span><span·class="w">702 ··</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="1370633857-3">(</span><span·class="p"·data-group-id="1370633857-3">)</span><span·class="w">
703 ··</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5743166378-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="5743166378-4">}</span><span·class="w">·</span><span·class="p">|</span><spa[·...·truncated·by·diffoscope;·len:·320,·SHA:·bfac52a5eb38095056411b4a8e92bfe693744ecea0a4e9b597d075af0323cddc·...·]-5">]</span></code></pre><p><code·class="inline">Info</code>·is·either·a·map·or·a·list·of·2-tuples.·Its·content·depends·on·<code·class="inline">Options</code>.703 ··</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1370633857-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="1370633857-4">}</span><span·class="w">·</span><span·class="p">|</span><spa[·...·truncated·by·diffoscope;·len:·320,·SHA:·6f06a70f6339ca09814d96bf20a65a920d24c92081d5c885cc3d0dfb03c981d4·...·]-5">]</span></code></pre><p><code·class="inline">Info</code>·is·either·a·map·or·a·list·of·2-tuples.·Its·content·depends·on·<code·class="inline">Options</code>.
704 If·<code·class="inline">Options</code>·is·a·map,·<code·class="inline">Info</code>·will·also·be·a·map.·If·<code·class="inline">Options</code>·is·a·list,·<code·class="inline">Info</code>704 If·<code·class="inline">Options</code>·is·a·map,·<code·class="inline">Info</code>·will·also·be·a·map.·If·<code·class="inline">Options</code>·is·a·list,·<code·class="inline">Info</code>
705 will·also·be·a·list.</p><p>When·<code·class="inline">Options</code>·is·a·map,·currently·the·following·associations·are·allowed:</p><ul><li><p><strong><code·class="inline">connection_id·=&gt;·boolean()</code></strong>·-·If·the·value·of·the·association·equals705 will·also·be·a·list.</p><p>When·<code·class="inline">Options</code>·is·a·map,·currently·the·following·associations·are·allowed:</p><ul><li><p><strong><code·class="inline">connection_id·=&gt;·boolean()</code></strong>·-·If·the·value·of·the·association·equals
706 <code·class="inline">true</code>,·a·<code·class="inline">connection_id·=&gt;·ConnectionId</code>·association·will·be·included·in·the706 <code·class="inline">true</code>,·a·<code·class="inline">connection_id·=&gt;·ConnectionId</code>·association·will·be·included·in·the
707 <code·class="inline">Info</code>·map·where·<code·class="inline">ConnectionId</code>·is·the·connection·identifier·of·the·connection707 <code·class="inline">Info</code>·map·where·<code·class="inline">ConnectionId</code>·is·the·connection·identifier·of·the·connection
708 coming·up·or·going·down.·For·more·info·about·this·connection·identifier·see708 coming·up·or·going·down.·For·more·info·about·this·connection·identifier·see
709 the·documentation·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#connection_id">erlang:nodes/2</a>.</p></li><li><p><strong><code·class="inline">node_type·=&gt;·NodeType</code></strong>·-·Valid·values·for·<code·class="inline">NodeType</code>:</p><ul><li><p><strong><code·class="inline">visible</code></strong>·-·Subscribe·to·node·status·change·messages·for·visible·nodes709 the·documentation·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#connection_id">erlang:nodes/2</a>.</p></li><li><p><strong><code·class="inline">node_type·=&gt;·NodeType</code></strong>·-·Valid·values·for·<code·class="inline">NodeType</code>:</p><ul><li><p><strong><code·class="inline">visible</code></strong>·-·Subscribe·to·node·status·change·messages·for·visible·nodes
710 only.·The·association·<code·class="inline">node_type·=&gt;·visible</code>·will·be·included·in·the·<code·class="inline">Info</code>710 only.·The·association·<code·class="inline">node_type·=&gt;·visible</code>·will·be·included·in·the·<code·class="inline">Info</code>
Offset 730, 31 lines modifiedOffset 730, 31 lines modified
730 only.·The·tuple·<code·class="inline">{node_type,·hidden}</code>·will·be·included·in·the·<code·class="inline">Info</code>·list.</p></li><li><p><strong><code·class="inline">all</code></strong>·-·Subscribe·to·node·status·change·messages·for·both·visible·and730 only.·The·tuple·<code·class="inline">{node_type,·hidden}</code>·will·be·included·in·the·<code·class="inline">Info</code>·list.</p></li><li><p><strong><code·class="inline">all</code></strong>·-·Subscribe·to·node·status·change·messages·for·both·visible·and
731 hidden·nodes.·The·tuple·<code·class="inline">{node_type,·visible·|·hidden}</code>·will·be·included·in731 hidden·nodes.·The·tuple·<code·class="inline">{node_type,·visible·|·hidden}</code>·will·be·included·in
732 the·<code·class="inline">Info</code>·list.</p></li></ul><p>If·no·<code·class="inline">{node_type,·NodeType}</code>·option·has·been·given.·The·caller·will·subscribe732 the·<code·class="inline">Info</code>·list.</p></li></ul><p>If·no·<code·class="inline">{node_type,·NodeType}</code>·option·has·been·given.·The·caller·will·subscribe
733 for·status·change·messages·for·visible·nodes·only,·but·<em>no</em>733 for·status·change·messages·for·visible·nodes·only,·but·<em>no</em>
734 <code·class="inline">{node_type,·visible}</code>·tuple·will·be·included·in·the·<code·class="inline">Info</code>·list.</p></li><li><p><strong><code·class="inline">nodedown_reason</code></strong>·-·The·tuple·<code·class="inline">{nodedown_reason,·Reason}</code>·will·be·included734 <code·class="inline">{node_type,·visible}</code>·tuple·will·be·included·in·the·<code·class="inline">Info</code>·list.</p></li><li><p><strong><code·class="inline">nodedown_reason</code></strong>·-·The·tuple·<code·class="inline">{nodedown_reason,·Reason}</code>·will·be·included
735 in·the·<code·class="inline">Info</code>·list·for·<code·class="inline">nodedown</code>·messages.</p><p>See·the·documentation·of·the735 in·the·<code·class="inline">Info</code>·list·for·<code·class="inline">nodedown</code>·messages.</p><p>See·the·documentation·of·the
736 <a·href="net_kernel.html#nodedown_reasons"><code·class="inline">nodedown_reason·=&gt;·boolean()</code></a>·association736 <a·href="net_kernel.html#nodedown_reasons"><code·class="inline">nodedown_reason·=&gt;·boolean()</code></a>·association
737 above·for·information·about·possible·<code·class="inline">Reason</code>·values.</p></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(a@localhost)1&gt;·</span><span·class="nc">net_kernel</span><span·class="p">:</span><span·class="nf">monitor_nodes</span><span·class="p"·data-group-id="1407515868-1">(</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1407515868-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:·5c1b20067df44eac0a64c76f612bad9cebe46f784f17c4f3e064651e72da19e0·...·]-1">)</span><span·class="p">.</span><span·class="w">737 above·for·information·about·possible·<code·class="inline">Reason</code>·values.</p></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(a@localhost)1&gt;·</span><span·class="nc">net_kernel</span><span·class="p">:</span><span·class="nf">monitor_nodes</span><span·class="p"·data-group-id="8413407619-1">(</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8413407619-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:·54e8a13b0a40f8ba1cfceda6a1927ac6e4b84f77074509b786d421f4c9621c7d·...·]-1">)</span><span·class="p">.</span><span·class="w">
738 </span><span·class="nf">ok</span><span·class="w">738 </span><span·class="nf">ok</span><span·class="w">
739 </span><span·class="p"·data-group-id="1407515868-3">(</span><span·class="ss">a@localhost</span><span·class="p"·data-group-id="1407515868-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="1407515868[·...·truncated·by·diffoscope;·len:·53,·SHA:·6a43fa3c7d58ce5acd19fb0da18d4a347e7e77812e42144860be27023f291799·...·]-4">)</span><span·class="p">.</span><span·class="w">739 </span><span·class="p"·data-group-id="8413407619-3">(</span><span·class="ss">a@localhost</span><span·class="p"·data-group-id="8413407619-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="8413407619[·...·truncated·by·diffoscope;·len:·53,·SHA:·b43aa3f2c13cac62b5c60f952a1fa7ece80309c0e9e819688a04bf313d30e9f8·...·]-4">)</span><span·class="p">.</span><span·class="w">
740 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="1407515868-5">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">740 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="8413407619-5">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">
741 ··················</span><span·class="p"·data-group-id="1407515868-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:·1bad424ce8450dd14ed3f439d524422aea73d4181480d5d052da25122b9150a2·...·]-5">}</span><span·class="w">741 ··················</span><span·class="p"·data-group-id="8413407619-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:·0da9c5cfd2555e87a99421695b18493f1a9f1316145b29562b8abd596e332c48·...·]-5">}</span><span·class="w">
742 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="1407515868-7">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">c@localhost</span><span·class="p">,</span><span·class="w">742 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="8413407619-7">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">c@localhost</span><span·class="p">,</span><span·class="w">
743 ··················</span><span·class="p"·data-group-id="1407515868-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:·2699a19e386fd49086faae274d9e4c9bd62e98bfc303a1dd837981c25e56855f·...·]-7">}</span><span·class="w">743 ··················</span><span·class="p"·data-group-id="8413407619-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:·e1a18f0baf8183b70094f25107d2f935a2bafe02b7987a73f5548eb9e699ae3d·...·]-7">}</span><span·class="w">
744 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="1407515868-9">{</span><span·class="ss">nodedown</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">744 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="8413407619-9">{</span><span·class="ss">nodedown</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">
745 ····················</span><span·class="p"·data-group-id="1407515868-10">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">3067552</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">visible</span><span·class="p">,</span><span·class="w">745 ····················</span><span·class="p"·data-group-id="8413407619-10">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">3067552</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">visible</span><span·class="p">,</span><span·class="w">
746 ······················</span><span·class="ss">nodedown_reason</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">connection_closed</span><span·class="p"·data-group-id="1407515868-10">}</span><span·class="p"·data-group-id="1407515868-9">}</span><span·class="w">746 ······················</span><span·class="ss">nodedown_reason</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">connection_closed</span><span·class="p"·data-group-id="8413407619-10">}</span><span·class="p"·data-group-id="8413407619-9">}</span><span·class="w">
747 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="1407515868-11">{</span><span·class="ss">nodedown</span><span·class="p">,</span><span·class="ss">c@localhost</span><span·class="p">,</span><span·class="w">747 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="8413407619-11">{</span><span·class="ss">nodedown</span><span·class="p">,</span><span·class="ss">c@localhost</span><span·class="p">,</span><span·class="w">
748 ····················</span><span·class="p"·data-group-id="1407515868-12">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">13892107</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">hidden</span><span·class="p">,</span><span·class="w">748 ····················</span><span·class="p"·data-group-id="8413407619-12">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">13892107</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">hidden</span><span·class="p">,</span><span·class="w">
749 ······················</span><span·class="ss">nodedown_reason</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">net_tick_timeout</span><span·class="p"·data-group-id="1407515868-12">}</span><span·class="p"·data-group-id="1407515868-11">}</span><span·class="w">749 ······················</span><span·class="ss">nodedown_reason</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">net_tick_timeout</span><span·class="p"·data-group-id="8413407619-12">}</span><span·class="p"·data-group-id="8413407619-11">}</span><span·class="w">
750 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="1407515868-13">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">750 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="8413407619-13">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">
751 ··················</span><span·class="p"·data-group-id="1407515868-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:·e179d88eb24d7f80ffe8088af7419a816d392c52b19151daf440a98b806d6565·...·]-13">}</span><span·class="w">751 ··················</span><span·class="p"·data-group-id="8413407619-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:·18a52ff4ca81988c4429ed789384d930637fac07210b4b4ef5bc18c551393993·...·]-13">}</span><span·class="w">
752 </span><span·class="nf">ok</span><span·class="w">752 </span><span·class="nf">ok</span><span·class="w">
753 </span><span·class="p"·data-group-id="1407515868-15">(</span><span·class="ss">a@localhost</span><span·class="p"·data-group-id="1407515868-15">)</span><span·class="mi">3</span><span·class="o">&gt;</span></code></pre>753 </span><span·class="p"·data-group-id="8413407619-15">(</span><span·class="ss">a@localhost</span><span·class="p"·data-group-id="8413407619-15">)</span><span·class="mi">3</span><span·class="o">&gt;</span></code></pre>
754 ··</section>754 ··</section>
755 </section>755 </section>
756 <section·class="detail"·id="set_net_ticktime/1">756 <section·class="detail"·id="set_net_ticktime/1">
  
757 ··<div·class="detail-header">757 ··<div·class="detail-header">
758 ····<a·href="#set_net_ticktime/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">758 ····<a·href="#set_net_ticktime/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
759 ······<i·class="ri-link-m"·aria-hidden="true"></i>759 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1024, 15 lines modifiedOffset 1024, 15 lines modified
1024 ······<p·class="built-using">1024 ······<p·class="built-using">
1025 ········Built·using1025 ········Built·using
1026 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1026 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1027 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1027 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1028 ······</p>1028 ······</p>
1029 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1029 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1030 ····</footer>1030 ····</footer>
1031 ··</div>1031 ··</div>
1032 </main>1032 </main>
1033 </div>1033 </div>
1034 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1034 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1035 ··<script>1035 ··<script>
1036 ··let·initialized·=·false;1036 ··let·initialized·=·false;
677 B
html2text {}
Max HTML report size reached
31.8 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/notes.html
    
Offset 140, 17 lines modifiedOffset 140, 17 lines modified
140 <ul><li><p>Fixed·an·issue·where·output·to·the·shell·would·not·print·the·prompt·on·a·new·line.</p><p>Own·Id:·OTP-19228·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8820"·title="">PR-8820</a></p></li><li><p>When·in·<a·href="../../../../lib/stdlib-7.0/doc/html/shell.html"><code·class="inline">shell</code></a>·is·in·<code·class="inline">-noshell</code>·mode,·and·in·<code·class="inline">latin1</code>·encoding·mode,·io·requests·in·latin1·encoding·will·not·be·translated·to·unicode·and·back·to·latin1.</p><p>Own·Id:·OTP-19296·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9013"·title="">PR-9013</a></p></li><li><p>Fixed·a·bug·where·a·composing·unicode·character·would·bind·to·a·character·not·available·to·the·user·and·deleting·that·character·would·cause·a·crash.</p><p>Own·Id:·OTP-19297·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9005"·title="">PR-9005</a></p></li><li><p>The·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html#noshell"><code·class="inline">-noshell</code></a>·mode·has·been·updated·to·read·data·lazily·from·standard·input.·Before·this·fix·any·data·would·be·read·greedily·which·meant·that·Erlang·could·consume·data·not·meant·for·it.·It·also·meant·that·in·order·for·<a·href="../../../../lib/stdlib-7.0/doc/html/shell.html#start_interactive/0"><code·class="inline">shell:start_interactive/0</code></a>·to·work·on·Windows·an·API·that·did·not·support·reading·of·Unicode·characters·had·to·be·used.</p><p>Own·Id:·OTP-19313·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8113"·title="">GH-8113</a></p></li><li><p>The·Erlang·shell·no·longer·crashes·when·a·shell·prompt·ends·with·an·escape·sequence.</p><p>Own·Id:·OTP-19414·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9272"·title="">PR-9272</a></p></li><li><p><a·href="code.html#get_doc/1"><code·class="inline">code:get_doc/1</code></a>·now·works·for·cover-compiled·modules.</p><p>Own·Id:·OTP-19513·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9433"·title="">PR-9433</a></p></li><li><p>An·infinite·loop·in·CNAME·loop·detection·that·can·cause·Out·Of·Memory·has·been·fixed.··This·affected·CNAME·lookup·with·the·internal·DNS·resolver.</p><p>Own·Id:·OTP-19544·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9587"·title="">PR-9587</a>,·OTP-19545</p></li><li><p>The·internal·resolver·framework·has·been·fixed·to·wait·with·the·first·resolver·lookup·until·the·ERL_INETRC·environment·variable·has·been·applied.</p><p>Previously,·on·some·platform(s)·(Linux)·a·first·lookup·when·figuring·out·the·domain·name·was·always·placed·on·the·<code·class="inline">native</code>·resolver·even·if·ERL_INETRC·was·used·to·disable·it.</p><p>Own·Id:·OTP-19555·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9543"·title="">PR-9543</a></p></li><li><p>Fix·<a·href="logger.html#add_handler/3"><code·class="inline">logger:add_handler(default,·...)</code></a>·to·correctly·replay·events·generated·during·startup·when·the·default·logger·is·set·to·<code·class="inline">undefined</code>·in·<a·href="logger_chapter.html#kernel-configuration-parameters">logger's·configuration·parameters</a>.</p><p>Own·Id:·OTP-19588·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9595"·title="">PR-9595</a>,·<a·href="https://github.com/erlang/otp/issues/9436"·title="">GH-9436</a></p></li><li><p>Enhance·specs·of·timeout·for·improving·documentation·and·dialyzer·analysis.</p><p>Own·Id:·OTP-19604·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9574"·title="">PR-9574</a></p></li><li><p>Removed·the·default·values·for·SCTP·send·(sndbuf)·and·receive·(recbuf)·buffers.</p><p>Own·Id:·OTP-19627·Aux·Id:·OTP-19576,·<a·href="https://github.com/erlang/otp/issues/9722"·title="">GH-9722</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>Fixed·an·issue·where·output·to·the·shell·would·not·print·the·prompt·on·a·new·line.</p><p>Own·Id:·OTP-19228·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8820"·title="">PR-8820</a></p></li><li><p>When·in·<a·href="../../../../lib/stdlib-7.0/doc/html/shell.html"><code·class="inline">shell</code></a>·is·in·<code·class="inline">-noshell</code>·mode,·and·in·<code·class="inline">latin1</code>·encoding·mode,·io·requests·in·latin1·encoding·will·not·be·translated·to·unicode·and·back·to·latin1.</p><p>Own·Id:·OTP-19296·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9013"·title="">PR-9013</a></p></li><li><p>Fixed·a·bug·where·a·composing·unicode·character·would·bind·to·a·character·not·available·to·the·user·and·deleting·that·character·would·cause·a·crash.</p><p>Own·Id:·OTP-19297·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9005"·title="">PR-9005</a></p></li><li><p>The·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html#noshell"><code·class="inline">-noshell</code></a>·mode·has·been·updated·to·read·data·lazily·from·standard·input.·Before·this·fix·any·data·would·be·read·greedily·which·meant·that·Erlang·could·consume·data·not·meant·for·it.·It·also·meant·that·in·order·for·<a·href="../../../../lib/stdlib-7.0/doc/html/shell.html#start_interactive/0"><code·class="inline">shell:start_interactive/0</code></a>·to·work·on·Windows·an·API·that·did·not·support·reading·of·Unicode·characters·had·to·be·used.</p><p>Own·Id:·OTP-19313·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8113"·title="">GH-8113</a></p></li><li><p>The·Erlang·shell·no·longer·crashes·when·a·shell·prompt·ends·with·an·escape·sequence.</p><p>Own·Id:·OTP-19414·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9272"·title="">PR-9272</a></p></li><li><p><a·href="code.html#get_doc/1"><code·class="inline">code:get_doc/1</code></a>·now·works·for·cover-compiled·modules.</p><p>Own·Id:·OTP-19513·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9433"·title="">PR-9433</a></p></li><li><p>An·infinite·loop·in·CNAME·loop·detection·that·can·cause·Out·Of·Memory·has·been·fixed.··This·affected·CNAME·lookup·with·the·internal·DNS·resolver.</p><p>Own·Id:·OTP-19544·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9587"·title="">PR-9587</a>,·OTP-19545</p></li><li><p>The·internal·resolver·framework·has·been·fixed·to·wait·with·the·first·resolver·lookup·until·the·ERL_INETRC·environment·variable·has·been·applied.</p><p>Previously,·on·some·platform(s)·(Linux)·a·first·lookup·when·figuring·out·the·domain·name·was·always·placed·on·the·<code·class="inline">native</code>·resolver·even·if·ERL_INETRC·was·used·to·disable·it.</p><p>Own·Id:·OTP-19555·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9543"·title="">PR-9543</a></p></li><li><p>Fix·<a·href="logger.html#add_handler/3"><code·class="inline">logger:add_handler(default,·...)</code></a>·to·correctly·replay·events·generated·during·startup·when·the·default·logger·is·set·to·<code·class="inline">undefined</code>·in·<a·href="logger_chapter.html#kernel-configuration-parameters">logger's·configuration·parameters</a>.</p><p>Own·Id:·OTP-19588·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9595"·title="">PR-9595</a>,·<a·href="https://github.com/erlang/otp/issues/9436"·title="">GH-9436</a></p></li><li><p>Enhance·specs·of·timeout·for·improving·documentation·and·dialyzer·analysis.</p><p>Own·Id:·OTP-19604·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9574"·title="">PR-9574</a></p></li><li><p>Removed·the·default·values·for·SCTP·send·(sndbuf)·and·receive·(recbuf)·buffers.</p><p>Own·Id:·OTP-19627·Aux·Id:·OTP-19576,·<a·href="https://github.com/erlang/otp/issues/9722"·title="">GH-9722</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p><a·href="application.html#load/1"><code·class="inline">application:load/1</code></a>·slows·down·as·the·number·of·directories·in·the·code·path·increases·because·the·call·to·<a·href="code.html#where_is_file/1"><code·class="inline">code:where_is_file/1</code></a>·for·the·'.app'·file·must·scan·each·directory·for·the·app.·</p><p><code·class="inline">code_server</code>·maintains·a·cache·of·the·contents·of·directories·in·the·path.·Re-using·that·cache·when·searching·for·'.app'·files·in·<a·href="application.html#load/1"><code·class="inline">application:load/1</code></a>·may·improve·its·runtime,·especially·when·loading·multiple·applications.</p><p>Own·Id:·OTP-19194·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8078"·title="">PR-8078</a></p></li><li><p>The·<a·href="../../../../lib/ssh-5.3/doc/html/using_ssh.html#running-an-erlang-ssh-daemon"><code·class="inline">Erlang·SSH·daemon</code></a>·now·uses·the·same·backend·to·handle·multiline·functionality·as·the·Erlang·shell.</p><p>Own·Id:·OTP-19226·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8805"·title="">PR-8805</a></p></li><li><p>Added·support·for·<code·class="inline">SIGWINCH</code>,·<code·class="inline">SIGCONT</code>,·and·<code·class="inline">SIGINFO</code>·signals·to·<a·href="os.html#set_signal/2"><code·class="inline">os:set_signal/2</code></a>·where·available.</p><p>Own·Id:·OTP-19278·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8887"·title="">PR-8887</a>,·<a·href="https://github.com/erlang/otp/pull/8938"·title="">PR-8938</a></p></li><li><p>Add·<a·href="net_kernel.html#allowed/0"><code·class="inline">net_kernel:allowed/0</code></a>,·it·returns·a·list·of·nodes·that·are·explicitly·allowed·to·connect·to·the·node·by·calling146 <ul><li><p><a·href="application.html#load/1"><code·class="inline">application:load/1</code></a>·slows·down·as·the·number·of·directories·in·the·code·path·increases·because·the·call·to·<a·href="code.html#where_is_file/1"><code·class="inline">code:where_is_file/1</code></a>·for·the·'.app'·file·must·scan·each·directory·for·the·app.·</p><p><code·class="inline">code_server</code>·maintains·a·cache·of·the·contents·of·directories·in·the·path.·Re-using·that·cache·when·searching·for·'.app'·files·in·<a·href="application.html#load/1"><code·class="inline">application:load/1</code></a>·may·improve·its·runtime,·especially·when·loading·multiple·applications.</p><p>Own·Id:·OTP-19194·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8078"·title="">PR-8078</a></p></li><li><p>The·<a·href="../../../../lib/ssh-5.3/doc/html/using_ssh.html#running-an-erlang-ssh-daemon"><code·class="inline">Erlang·SSH·daemon</code></a>·now·uses·the·same·backend·to·handle·multiline·functionality·as·the·Erlang·shell.</p><p>Own·Id:·OTP-19226·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8805"·title="">PR-8805</a></p></li><li><p>Added·support·for·<code·class="inline">SIGWINCH</code>,·<code·class="inline">SIGCONT</code>,·and·<code·class="inline">SIGINFO</code>·signals·to·<a·href="os.html#set_signal/2"><code·class="inline">os:set_signal/2</code></a>·where·available.</p><p>Own·Id:·OTP-19278·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8887"·title="">PR-8887</a>,·<a·href="https://github.com/erlang/otp/pull/8938"·title="">PR-8938</a></p></li><li><p>Add·<a·href="net_kernel.html#allowed/0"><code·class="inline">net_kernel:allowed/0</code></a>,·it·returns·a·list·of·nodes·that·are·explicitly·allowed·to·connect·to·the·node·by·calling
147 <a·href="net_kernel.html#allow/1"><code·class="inline">net_kernel:allow/1</code></a></p><p>Own·Id:·OTP-19287·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8207"·title="">PR-8207</a></p></li><li><p>Documentation·chunks·(EEP-48)·has·been·updated·to·include·the·following·reserved·metadata·fields:·<code·class="inline">behaviours</code>,·<code·class="inline">group</code>,·<code·class="inline">source_path</code>,·and·<code·class="inline">source_annos</code>.·The·compiler·has·also·been·updated·to·emit·this·metadata.·See·the·<a·href="eep48_chapter.html">EEP-48·documentation</a>·for·more·details.</p><p>Own·Id:·OTP-19306·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8945"·title="">PR-8945</a>,·<a·href="https://github.com/erlang/otp/pull/8975"·title="">PR-8975</a></p></li><li><p>The·<a·href="erpc.html#call/3"><code·class="inline">erpc:call/3</code></a>,·<a·href="erpc.html#call/5"><code·class="inline">erpc:call/5</code></a>,·<a·href="erpc.html#multicall/3"><code·class="inline">erpc:multicall/3</code></a>,·and·<a·href="erpc.html#multicall/5"><code·class="inline">erpc:multicall/5</code></a>·functions·now·also·accept·an·option·map·as·last·argument·containing·the·<code·class="inline">timeout</code>·and·<code·class="inline">always_spawn</code>·options.·The·<code·class="inline">always_spawn</code>·option·can·be·used·in·order·to·ensure·that·the·call·operation·will·use·a·newly·spawned·process·when·executing·the·remote·call.</p><p>Own·Id:·OTP-19343·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8642"·title="">PR-8642</a></p></li><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="1354123775-1">(</span><span·class="p"·data-group-id="1354123775-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1354123775-2">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·8a95668108d90486546b361adc5d68717e81fc4cf1ae93220e91abbde986a8a9·...·]5-2">)</span><span·class="p">.</span><span·class="w">147 <a·href="net_kernel.html#allow/1"><code·class="inline">net_kernel:allow/1</code></a></p><p>Own·Id:·OTP-19287·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8207"·title="">PR-8207</a></p></li><li><p>Documentation·chunks·(EEP-48)·has·been·updated·to·include·the·following·reserved·metadata·fields:·<code·class="inline">behaviours</code>,·<code·class="inline">group</code>,·<code·class="inline">source_path</code>,·and·<code·class="inline">source_annos</code>.·The·compiler·has·also·been·updated·to·emit·this·metadata.·See·the·<a·href="eep48_chapter.html">EEP-48·documentation</a>·for·more·details.</p><p>Own·Id:·OTP-19306·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8945"·title="">PR-8945</a>,·<a·href="https://github.com/erlang/otp/pull/8975"·title="">PR-8975</a></p></li><li><p>The·<a·href="erpc.html#call/3"><code·class="inline">erpc:call/3</code></a>,·<a·href="erpc.html#call/5"><code·class="inline">erpc:call/5</code></a>,·<a·href="erpc.html#multicall/3"><code·class="inline">erpc:multicall/3</code></a>,·and·<a·href="erpc.html#multicall/5"><code·class="inline">erpc:multicall/5</code></a>·functions·now·also·accept·an·option·map·as·last·argument·containing·the·<code·class="inline">timeout</code>·and·<code·class="inline">always_spawn</code>·options.·The·<code·class="inline">always_spawn</code>·option·can·be·used·in·order·to·ensure·that·the·call·operation·will·use·a·newly·spawned·process·when·executing·the·remote·call.</p><p>Own·Id:·OTP-19343·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8642"·title="">PR-8642</a></p></li><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="2294682135-1">(</span><span·class="p"·data-group-id="2294682135-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2294682135-2">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·8fb70542cc942f2751557c74ac4a69b9a520dba589df4a2f648a9de7437f1c1c·...·]5-2">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="1354123775-3">(</span><span·class="p"·data-group-id="1354123775-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1354123775-4">(</span><[·...·truncated·by·diffoscope;·len:·1060,·SHA:·a8032eca10f57e9a09163fa450a768184799bad7d98179e2a938defb5623c799·...·]2-2">)</span><span·class="p">.</span><span·class="w">148 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2294682135-3">(</span><span·class="p"·data-group-id="2294682135-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2294682135-4">(</span><[·...·truncated·by·diffoscope;·len:·1060,·SHA:·e55b9e4da81e195d52289694eef655992954de80e014d5796d74831fb91e5558·...·]2-2">)</span><span·class="p">.</span><span·class="w">
149 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="9051022422-3">(</span><span·class="p"·data-group-id="9051022422-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9051022422-4">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·dbe3138045a48049c044ee89ffef16520f021e60385146cacf95766b95f53d9c·...·]2-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Improved·open·debug·for·gen_tcp_socket·(connect·and·listen)·and·gen_udp_socket·(open).</p><p>Own·Id:·OTP-19386</p></li><li><p><a·href="../../../../lib/stdlib-7.0/doc/html/io.html#t:standard_error/0"><code·class="inline">io:standard_error/0</code></a>·has·been·updated·to·write·via·a·NIF·API·instead·of·a·port.·This·allows·it·to·access·the·dirty-scheduler·pool·and·make·sure·that·writes·have·been·written·to·the·OSs·<code·class="inline">stderr</code>·when·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#format/3"><code·class="inline">io:format/3</code></a>·and·equivalent·return.</p><p>Own·Id:·OTP-19401·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9116"·title="">PR-9116</a></p></li><li><p>Added·the·option·<code·class="inline">exception_on_failure</code>·to·<a·href="os.html#cmd/2"><code·class="inline">os:cmd/2</code></a>·to·make·<a·href="os.html#cmd/2"><code·class="inline">os:cmd/2</code></a>·raise·an·exception·if·the·command·fails·to·execute.</p><p>Own·Id:·OTP-19404·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9082"·title="">PR-9082</a></p></li><li><p>A·<code·class="inline">socket</code>·option·<code·class="inline">{otp,select_read}</code>·has·been·added·that·enables·keeping·a·socket·in·the·VM·select/poll·set·between·calls·to·recv·functions.</p><p>This·increases·throughput·by·reducing·the·number·of·calls·to·said·functions.</p><p>Own·Id:·OTP-19451·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9344"·title="">PR-9344</a></p></li><li><p>Add·a·configure·chapter·to·the·socket·usage·guide</p><p>Own·Id:·OTP-19522·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9508"·title="">PR-9508</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>Increase·the·default·inet-driver·buffer·size(s).·Also·introduce·kernel·parameters·for·UDP·and·SCTP·to·change·the·sizes·when·creating·(those)·sockets.</p><p>Own·Id:·OTP-19576</p></li><li><p>An··<strong>experimental</strong>·API·for·a·native·debugger·has·been·added.·The·main·components·are·the·following:</p><ul><li><p>A·new·compiler·option·<code·class="inline">beam_debug_info</code>·for·the·Erlang·compiler.·When·given,·most·optimizations·are·disabled·and·debug·information·suitable·for·the·native·debugger·are·added·to·generated·BEAM·files.</p></li><li><p>A·new·<code·class="inline">+D</code>·emulator·flag.·When·given,·the·VM·becomes·&quot;debuggable&quot;,·which·means·that·when·modules·that·been·compiled·with·the·<code·class="inline">beam_debug_info</code>·option·are·loaded,·the·code·is·instrumented·so·that·one·can·enable·and·disable·breakpoints·on·executable·lines.</p></li><li><p>An·experimental·<code·class="inline">erl_debugger</code>·module·with·a·new·debugging·API.·Essentially,·it·allows·a·single,·local,·process·to·be·registered·as·the·&quot;debugger&quot;·process·for·the·node.·This·process·is·the·one·that·will·receive·messages·notifying·that·a·process·hit·a·breakpoint.·This·way,·the·front-end·implementation·of·a·debugger·(such·as·<a·href="https://github.com/WhatsApp/edb">edb·from·WhatApp</a>)·can·be·decoupled·from·OTP.</p></li><li><p>The·<code·class="inline">erl_debugger</code>·module·also·exposes·new·BIFs·to·inspect·<code·class="inline">X</code>·and·<code·class="inline">Y</code>·registers·of·a·suspended·process.·Together·with·new·code-information·BIFs,·this·let's·a·debugger·show·the·values·of·variables·in·scope·for·a·suspended·process.</p></li></ul><p>Own·Id:·OTP-19609·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a>,·<a·href="https://github.com/erlang/otp/pull/9334"·title="">PR-9334</a>,·<a·href="https://github.com/erlang/otp/pull/9604"·title="">PR-9604</a></p></li></ul><h2·id="kernel-10-2-7"·class="section-heading">149 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="0334830382-3">(</span><span·class="p"·data-group-id="0334830382-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0334830382-4">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·6ce90cae2de692560444a96cbb958b9ab750f5788e900a8c7f6ae48337128b85·...·]2-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Improved·open·debug·for·gen_tcp_socket·(connect·and·listen)·and·gen_udp_socket·(open).</p><p>Own·Id:·OTP-19386</p></li><li><p><a·href="../../../../lib/stdlib-7.0/doc/html/io.html#t:standard_error/0"><code·class="inline">io:standard_error/0</code></a>·has·been·updated·to·write·via·a·NIF·API·instead·of·a·port.·This·allows·it·to·access·the·dirty-scheduler·pool·and·make·sure·that·writes·have·been·written·to·the·OSs·<code·class="inline">stderr</code>·when·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#format/3"><code·class="inline">io:format/3</code></a>·and·equivalent·return.</p><p>Own·Id:·OTP-19401·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9116"·title="">PR-9116</a></p></li><li><p>Added·the·option·<code·class="inline">exception_on_failure</code>·to·<a·href="os.html#cmd/2"><code·class="inline">os:cmd/2</code></a>·to·make·<a·href="os.html#cmd/2"><code·class="inline">os:cmd/2</code></a>·raise·an·exception·if·the·command·fails·to·execute.</p><p>Own·Id:·OTP-19404·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9082"·title="">PR-9082</a></p></li><li><p>A·<code·class="inline">socket</code>·option·<code·class="inline">{otp,select_read}</code>·has·been·added·that·enables·keeping·a·socket·in·the·VM·select/poll·set·between·calls·to·recv·functions.</p><p>This·increases·throughput·by·reducing·the·number·of·calls·to·said·functions.</p><p>Own·Id:·OTP-19451·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9344"·title="">PR-9344</a></p></li><li><p>Add·a·configure·chapter·to·the·socket·usage·guide</p><p>Own·Id:·OTP-19522·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9508"·title="">PR-9508</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>Increase·the·default·inet-driver·buffer·size(s).·Also·introduce·kernel·parameters·for·UDP·and·SCTP·to·change·the·sizes·when·creating·(those)·sockets.</p><p>Own·Id:·OTP-19576</p></li><li><p>An··<strong>experimental</strong>·API·for·a·native·debugger·has·been·added.·The·main·components·are·the·following:</p><ul><li><p>A·new·compiler·option·<code·class="inline">beam_debug_info</code>·for·the·Erlang·compiler.·When·given,·most·optimizations·are·disabled·and·debug·information·suitable·for·the·native·debugger·are·added·to·generated·BEAM·files.</p></li><li><p>A·new·<code·class="inline">+D</code>·emulator·flag.·When·given,·the·VM·becomes·&quot;debuggable&quot;,·which·means·that·when·modules·that·been·compiled·with·the·<code·class="inline">beam_debug_info</code>·option·are·loaded,·the·code·is·instrumented·so·that·one·can·enable·and·disable·breakpoints·on·executable·lines.</p></li><li><p>An·experimental·<code·class="inline">erl_debugger</code>·module·with·a·new·debugging·API.·Essentially,·it·allows·a·single,·local,·process·to·be·registered·as·the·&quot;debugger&quot;·process·for·the·node.·This·process·is·the·one·that·will·receive·messages·notifying·that·a·process·hit·a·breakpoint.·This·way,·the·front-end·implementation·of·a·debugger·(such·as·<a·href="https://github.com/WhatsApp/edb">edb·from·WhatApp</a>)·can·be·decoupled·from·OTP.</p></li><li><p>The·<code·class="inline">erl_debugger</code>·module·also·exposes·new·BIFs·to·inspect·<code·class="inline">X</code>·and·<code·class="inline">Y</code>·registers·of·a·suspended·process.·Together·with·new·code-information·BIFs,·this·let's·a·debugger·show·the·values·of·variables·in·scope·for·a·suspended·process.</p></li></ul><p>Own·Id:·OTP-19609·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a>,·<a·href="https://github.com/erlang/otp/pull/9334"·title="">PR-9334</a>,·<a·href="https://github.com/erlang/otp/pull/9604"·title="">PR-9604</a></p></li></ul><h2·id="kernel-10-2-7"·class="section-heading">
150 ··<a·href="#kernel-10-2-7"·class="hover-link">150 ··<a·href="#kernel-10-2-7"·class="hover-link">
151 ····<i·class="ri-link-m"·aria-hidden="true"></i>151 ····<i·class="ri-link-m"·aria-hidden="true"></i>
152 ··</a>152 ··</a>
153 ··<span·class="text">Kernel·10.2.7</span>153 ··<span·class="text">Kernel·10.2.7</span>
154 </h2>154 </h2>
155 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">155 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">
156 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">156 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">
Offset 4190, 20 lines modifiedOffset 4190, 20 lines modified
4190 will·make·repeated·attempts·to·open·the·disk·log·fail·every·time.</p><p>Own·Id:·OTP-5558·Aux·Id:·seq9823</p></li><li><p>Previously·<a·href="../../../../erts-16.0/doc/html/erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="../../../../erts-16.0/doc/html/erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·behaved4190 will·make·repeated·attempts·to·open·the·disk·log·fail·every·time.</p><p>Own·Id:·OTP-5558·Aux·Id:·seq9823</p></li><li><p>Previously·<a·href="../../../../erts-16.0/doc/html/erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="../../../../erts-16.0/doc/html/erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·behaved
4191 completely·asynchronous.·This·had·one·undesirable·effect,·though.·You·could4191 completely·asynchronous.·This·had·one·undesirable·effect,·though.·You·could
4192 never·know·when·you·were·guaranteed·<em>not</em>·to·be·affected·by·a·link·that·you4192 never·know·when·you·were·guaranteed·<em>not</em>·to·be·affected·by·a·link·that·you
4193 had·unlinked·or·a·monitor·that·you·had·demonitored.</p><p>The·new·behavior·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="../../../../erts-16.0/doc/html/erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·can·be4193 had·unlinked·or·a·monitor·that·you·had·demonitored.</p><p>The·new·behavior·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="../../../../erts-16.0/doc/html/erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·can·be
4194 viewed·as·two·operations·performed·atomically.·Asynchronously·send·an·unlink4194 viewed·as·two·operations·performed·atomically.·Asynchronously·send·an·unlink
4195 signal·or·a·demonitor·signal,·and·ignore·any·future·results·of·the·link·or4195 signal·or·a·demonitor·signal,·and·ignore·any·future·results·of·the·link·or
4196 monitor.</p><p><em>NOTE</em>:·This·change·can·cause·some·obscure·code·to·fail·which·previously·did4196 monitor.</p><p><em>NOTE</em>:·This·change·can·cause·some·obscure·code·to·fail·which·previously·did
4197 not.·For·example,·the·following·code·might·hang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">············</span><span·class="n">Mon</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monitor</span><span·class="p"·data-group-id="9650971442-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="9650971442-1">)</span><span·class="p">,</span><span·class="w">4197 not.·For·example,·the·following·code·might·hang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">············</span><span·class="n">Mon</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monitor</span><span·class="p"·data-group-id="0936533157-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="0936533157-1">)</span><span·class="p">,</span><span·class="w">
4198 ············</span><span·class="c1">%%·...</span><span·class="w">4198 ············</span><span·class="c1">%%·...</span><span·class="w">
4199 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="9650971442-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="9650971442-2">)</span><span·class="p">,</span><span·class="w">4199 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="0936533157-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="0936533157-2">)</span><span·class="p">,</span><span·class="w">
4200 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="9650971442-3">(</span><span·class="n">Mon</span><span·class="p"·data-group-id="9650971442-3">)</span><span·class="p">,</span><span·class="w">4200 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="0936533157-3">(</span><span·class="n">Mon</span><span·class="p"·data-group-id="0936533157-3">)</span><span·class="p">,</span><span·class="w">
4201 ············</span><span·class="k">receive</span><span·class="w">4201 ············</span><span·class="k">receive</span><span·class="w">
4202 ················</span><span·class="p"·data-group-id="9650971442-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:·74a14dcb4d54a3c5e3328cf0099c2f0b0950f14a55938ac756f83003611523d6·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">4202 ················</span><span·class="p"·data-group-id="0936533157-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:·7a34f22593cff4423c22fa8039a23a54c5c3d75d4ea0861b7bf973c64891d9b3·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">
4203 ············</span><span·class="c1">%%·We·were·previously·guaranteed·to·get·a·down·message</span><span·class="w">4203 ············</span><span·class="c1">%%·We·were·previously·guaranteed·to·get·a·down·message</span><span·class="w">
4204 ············</span><span·class="c1">%%·(since·we·exited·the·process·ourself),·so·we·could</span><span·class="w">4204 ············</span><span·class="c1">%%·(since·we·exited·the·process·ourself),·so·we·could</span><span·class="w">
4205 ············</span><span·class="c1">%%·in·this·case·leave·out:</span><span·class="w">4205 ············</span><span·class="c1">%%·in·this·case·leave·out:</span><span·class="w">
4206 ············</span><span·class="c1">%%·after·0·-&gt;·ok</span><span·class="w">4206 ············</span><span·class="c1">%%·after·0·-&gt;·ok</span><span·class="w">
4207 ············</span><span·class="k">end</span><span·class="p">,</span></code></pre><p>*<strong>·POTENTIAL·INCOMPATIBILITY·*</strong></p><p>Own·Id:·OTP-5772</p></li><li><p>The·behavior·when·an·application·fails·to·start·and·possibly·causes·the4207 ············</span><span·class="k">end</span><span·class="p">,</span></code></pre><p>*<strong>·POTENTIAL·INCOMPATIBILITY·*</strong></p><p>Own·Id:·OTP-5772</p></li><li><p>The·behavior·when·an·application·fails·to·start·and·possibly·causes·the
4208 runtime·system·to·halt·has·been·cleaned·up,·including·fixing·some·minor·bugs.</p><p><code·class="inline">application_controller</code>·should·now·always·terminate·with·a·non-nested·string,4208 runtime·system·to·halt·has·been·cleaned·up,·including·fixing·some·minor·bugs.</p><p><code·class="inline">application_controller</code>·should·now·always·terminate·with·a·non-nested·string,
4209 meaning·the·slogan·in·an·<code·class="inline">erl_crash.dump</code>·should·always·be·easy·to·read.</p><p><code·class="inline">init</code>·now·makes·sure·that·the·slogan·passed·to·<a·href="../../../../erts-16.0/doc/html/erlang.html#halt/1"><code·class="inline">erlang:halt/1</code></a>·does·not4209 meaning·the·slogan·in·an·<code·class="inline">erl_crash.dump</code>·should·always·be·easy·to·read.</p><p><code·class="inline">init</code>·now·makes·sure·that·the·slogan·passed·to·<a·href="../../../../erts-16.0/doc/html/erlang.html#halt/1"><code·class="inline">erlang:halt/1</code></a>·does·not
Offset 4622, 15 lines modifiedOffset 4622, 15 lines modified
4622 ······<p·class="built-using">4622 ······<p·class="built-using">
4623 ········Built·using4623 ········Built·using
4624 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the4624 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
4625 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>4625 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
4626 ······</p>4626 ······</p>
4627 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>4627 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
4628 ····</footer>4628 ····</footer>
4629 ··</div>4629 ··</div>
4630 </main>4630 </main>
4631 </div>4631 </div>
4632 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>4632 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
4633 ··<script>4633 ··<script>
4634 ··let·initialized·=·false;4634 ··let·initialized·=·false;
753 B
html2text {}
Max HTML report size reached
29.4 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/os.html
    
Offset 640, 27 lines modifiedOffset 640, 27 lines modified
640 ······<div·class="specs">640 ······<div·class="specs">
  
641 ··········<pre·translate="no"><span·class="attribute">-spec</span>·cmd(Command,·Options)·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·when·Command·::·<a·href="#t:os_command/0">os_command</a>(),·Options·::·<a·href="#t:os_command_opts/0">os_command_opts</a>().</pre>641 ··········<pre·translate="no"><span·class="attribute">-spec</span>·cmd(Command,·Options)·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·when·Command·::·<a·href="#t:os_command/0">os_command</a>(),·Options·::·<a·href="#t:os_command_opts/0">os_command_opts</a>().</pre>
  
642 ······</div>642 ······</div>
  
643 <p>Executes·<code·class="inline">Command</code>·in·a·command·shell·of·the·target·OS,·captures·the·standard643 <p>Executes·<code·class="inline">Command</code>·in·a·command·shell·of·the·target·OS,·captures·the·standard
644 output·and·standard·error·of·the·command,·and·returns·this·result·as·a·string.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">LsOut</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="0392784191-1">(</span><span·class="s">&quot;ls&quot;</span><span·class="p"·data-group-id="0392784191-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·on·unix·platform</span><span·class="w">644 output·and·standard·error·of·the·command,·and·returns·this·result·as·a·string.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">LsOut</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="6940540607-1">(</span><span·class="s">&quot;ls&quot;</span><span·class="p"·data-group-id="6940540607-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·on·unix·platform</span><span·class="w">
645 </span><span·class="n">DirOut</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="0392784191-2">(</span><span·class="s">&quot;dir&quot;</span><span·class="p"·data-group-id="0392784191-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·on·Win32·platform</span></code></pre><p>Notice·that·in·some·cases,·standard·output·of·a·command·when·called·from·another645 </span><span·class="n">DirOut</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="6940540607-2">(</span><span·class="s">&quot;dir&quot;</span><span·class="p"·data-group-id="6940540607-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·on·Win32·platform</span></code></pre><p>Notice·that·in·some·cases,·standard·output·of·a·command·when·called·from·another
646 program·can·differ,·compared·with·the·standard·output·of·the·command·when·called646 program·can·differ,·compared·with·the·standard·output·of·the·command·when·called
647 directly·from·an·OS·command·shell.</p><p>The·possible·options·are:</p><ul><li><p><strong><code·class="inline">max_size</code></strong>·-·The·maximum·size·of·the·data·returned·by·the·<a·href="#cmd/2"><code·class="inline">os:cmd/2</code></a>·call.647 directly·from·an·OS·command·shell.</p><p>The·possible·options·are:</p><ul><li><p><strong><code·class="inline">max_size</code></strong>·-·The·maximum·size·of·the·data·returned·by·the·<a·href="#cmd/2"><code·class="inline">os:cmd/2</code></a>·call.
648 This·option·is·a·safety·feature·that·should·be·used·when·the·command·executed648 This·option·is·a·safety·feature·that·should·be·used·when·the·command·executed
649 can·return·a·very·large,·possibly·infinite,·result.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="3885593351-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="3885593351-2">#{</span><span·class="w">·</span><span·class="ss">max_size</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·192,·SHA:·2eb8febd33644a03b2e5ba33ed84ee93ca442002d4c2422a6fa879b74faeaa01·...·]-1">)</span><span·class="p">.</span><span·class="w">649 can·return·a·very·large,·possibly·infinite,·result.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="7416604963-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="7416604963-2">#{</span><span·class="w">·</span><span·class="ss">max_size</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·192,·SHA:·4f5acf638684fb00d929fd632fea138f454a3005f247f7960c3bc23d041a7b47·...·]-1">)</span><span·class="p">.</span><span·class="w">
650 </span><span·class="p"·data-group-id="3885593351-3">[</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·763,·SHA:·d5a41ae5024401c83a64ff273bacce1768a7ea8f6778cdaf9630cfc8ad30a4ab·...·]-3">]</span></code></pre></li><li><p><strong><code·class="inline">exception_on_failure</code></strong>·-·If·set·to·true,·<a·href="#cmd/2"><code·class="inline">os:cmd/2</code></a>·will·throw·an·error650 </span><span·class="p"·data-group-id="7416604963-3">[</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·763,·SHA:·d194a1412c7375f576fec7705e7d2ae3e7687f9c5e92a518106c9c628d127fec·...·]-3">]</span></code></pre></li><li><p><strong><code·class="inline">exception_on_failure</code></strong>·-·If·set·to·true,·<a·href="#cmd/2"><code·class="inline">os:cmd/2</code></a>·will·throw·an·error
651 exception·if·the·command·exits·with·a·non-zero·exit·code.·The·exception·reason651 exception·if·the·command·exits·with·a·non-zero·exit·code.·The·exception·reason
652 looks·like·this:·<code·class="inline">{command_failed,·ResultBeforeFailure,·ExitCode}</code>·where652 looks·like·this:·<code·class="inline">{command_failed,·ResultBeforeFailure,·ExitCode}</code>·where
653 <code·class="inline">ResultBeforeFailure</code>·is·the·result·written·to·stdout·by·the·command·before653 <code·class="inline">ResultBeforeFailure</code>·is·the·result·written·to·stdout·by·the·command·before
654 the·error·happened·and·<code·class="inline">ExitCode</code>·is·the·exit·code·from·the·command.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="k">catch</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="5029957586-1">(</span><span·class="s">&quot;echo·hello·&amp;&amp;·exit·123&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5029957586-2">#{</span><span·class="w">·</span><span·class="ss">exception_on_failure</span[·...·truncated·by·diffoscope;·len:·223,·SHA:·a2e72cd5235852222a8a4c59074fa8957082445d384c4a69481d889b1bc023e0·...·]-1">)</span><span·class="p">.</span><span·class="w">654 the·error·happened·and·<code·class="inline">ExitCode</code>·is·the·exit·code·from·the·command.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="k">catch</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="4872215219-1">(</span><span·class="s">&quot;echo·hello·&amp;&amp;·exit·123&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4872215219-2">#{</span><span·class="w">·</span><span·class="ss">exception_on_failure</span[·...·truncated·by·diffoscope;·len:·223,·SHA:·64db2c67c95ce941a39eaf9364127171af1c9431320f43b3169be228e2b7215c·...·]-1">)</span><span·class="p">.</span><span·class="w">
655 </span><span·class="p"·data-group-id="5029957586-3">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="5029957586-4">{</span><span·class="p"·data-group-id="5029957586-5">{</span><span·class="ss">command_failed</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·130,·SHA:·2b4ac43bccb04ed2d39c8667a4fc004169c6e1452dcaeba1fd73ac4d6d8b416a·...·]-5">}</span><span·class="p">,</span><span·class="w">655 </span><span·class="p"·data-group-id="4872215219-3">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4872215219-4">{</span><span·class="p"·data-group-id="4872215219-5">{</span><span·class="ss">command_failed</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·130,·SHA:·86cfcc5137ed4af1cf83e538f975dada859fb0f645ac339903e4e8b6247672c2·...·]-5">}</span><span·class="p">,</span><span·class="w">
656 ·········</span><span·class="p"·data-group-id="5029957586-6">[</span><span·class="p"·data-group-id="5029957586-7">{</span><span·class="ss">os</span><span·class="p">,</span><span·class="ss">cmd</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·526,·SHA:·91f3ebfe6d2db5b48c08f3a54033651d8cf3cf7eec970193fa05f20957c9ae3b·...·]-7">}</span><span·class="p">,</span><span·class="w">656 ·········</span><span·class="p"·data-group-id="4872215219-6">[</span><span·class="p"·data-group-id="4872215219-7">{</span><span·class="ss">os</span><span·class="p">,</span><span·class="ss">cmd</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·526,·SHA:·de7b78db5147212472ce2d38312f3a15d7200ae429d301b4e04a3cc0a01091c2·...·]-7">}</span><span·class="p">,</span><span·class="w">
657 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre></li></ul><p>The·command·shell·can·be·set·using·the657 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre></li></ul><p>The·command·shell·can·be·set·using·the
658 <a·href="kernel_app.html#os_cmd_shell">kernel·configuration·parameter</a>,·by·default·the658 <a·href="kernel_app.html#os_cmd_shell">kernel·configuration·parameter</a>,·by·default·the
659 shell·is·detected·upon·system·startup.</p>659 shell·is·detected·upon·system·startup.</p>
660 ··</section>660 ··</section>
661 </section>661 </section>
662 <section·class="detail"·id="env/0">662 <section·class="detail"·id="env/0">
  
Offset 927, 15 lines modifiedOffset 927, 15 lines modified
  
927 ······</div>927 ······</div>
  
928 <p>Returns·a·performance·counter·that·can·be·used·as·a·very·fast·and·high928 <p>Returns·a·performance·counter·that·can·be·used·as·a·very·fast·and·high
929 resolution·timestamp.</p><p>This·counter·is·read·directly·from·the·hardware·or·operating·system·with·the929 resolution·timestamp.</p><p>This·counter·is·read·directly·from·the·hardware·or·operating·system·with·the
930 same·guarantees.·This·means·that·two·consecutive·calls·to·the·function·are·not930 same·guarantees.·This·means·that·two·consecutive·calls·to·the·function·are·not
931 guaranteed·to·be·monotonic,·though·it·most·likely·will·be.·The·performance931 guaranteed·to·be·monotonic,·though·it·most·likely·will·be.·The·performance
932 counter·will·be·converted·to·the·resolution·passed·as·an·argument.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">T1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">perf_counter</span><span·class="p"·data-group-id="4713721753-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="4713721753-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:·cabae4b3bb8e0b8ff19a1b8fe32ea5f8fffc90aadce05112d2194a47d47816d7·...·]-2">)</span><span·class="p">.</span><span·class="w">932 counter·will·be·converted·to·the·resolution·passed·as·an·argument.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">T1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">perf_counter</span><span·class="p"·data-group-id="8177830481-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="8177830481-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:·6c444ea4ee00448b0b943be785c4a36d2053b240f8408e3f59c46472f4a2d1b1·...·]-2">)</span><span·class="p">.</span><span·class="w">
933 </span><span·class="mi">176525861</span><span·class="gp·unselectable">933 </span><span·class="mi">176525861</span><span·class="gp·unselectable">
934 2&gt;·</span><span·class="n">T2</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="n">T1</span><span·class="p">.</span><span·class="w">934 2&gt;·</span><span·class="n">T2</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="n">T1</span><span·class="p">.</span><span·class="w">
935 </span><span·class="mi">10004</span></code></pre>935 </span><span·class="mi">10004</span></code></pre>
936 ··</section>936 ··</section>
937 </section>937 </section>
938 <section·class="detail"·id="putenv/2">938 <section·class="detail"·id="putenv/2">
  
Offset 1088, 24 lines modifiedOffset 1088, 24 lines modified
1088 <p>Returns·the·current·<a·href="../../../../erts-16.0/doc/html/time_correction.html#os-system-time">OS·system·time</a>1088 <p>Returns·the·current·<a·href="../../../../erts-16.0/doc/html/time_correction.html#os-system-time">OS·system·time</a>
1089 in·the·same·format·as·<a·href="../../../../erts-16.0/doc/html/erlang.html#timestamp/0"><code·class="inline">erlang:timestamp/0</code></a>.</p><p>The·tuple·can·be·used·together·with·function·<a·href="../../../../lib/stdlib-7.0/doc/html/calendar.html#now_to_universal_time/1"><code·class="inline">calendar:now_to_universal_time/1</code></a>1089 in·the·same·format·as·<a·href="../../../../erts-16.0/doc/html/erlang.html#timestamp/0"><code·class="inline">erlang:timestamp/0</code></a>.</p><p>The·tuple·can·be·used·together·with·function·<a·href="../../../../lib/stdlib-7.0/doc/html/calendar.html#now_to_universal_time/1"><code·class="inline">calendar:now_to_universal_time/1</code></a>
1090 or·<a·href="../../../../lib/stdlib-7.0/doc/html/calendar.html#now_to_local_time/1"><code·class="inline">calendar:now_to_local_time/1</code></a>·to·get·calendar·time.·Using·the·calendar·time,1090 or·<a·href="../../../../lib/stdlib-7.0/doc/html/calendar.html#now_to_local_time/1"><code·class="inline">calendar:now_to_local_time/1</code></a>·to·get·calendar·time.·Using·the·calendar·time,
1091 together·with·the·<code·class="inline">MicroSecs</code>·part·of·the·return·tuple·from·this·function,1091 together·with·the·<code·class="inline">MicroSecs</code>·part·of·the·return·tuple·from·this·function,
1092 allows·you·to·log·time·stamps·in·high·resolution·and·consistent·with·the·time·in1092 allows·you·to·log·time·stamps·in·high·resolution·and·consistent·with·the·time·in
1093 ·the·rest·of·the·OS.</p><p>Example·of·code·formatting·a·string·in·format·&quot;DD·Mon·YYYY·HH:MM:SS.mmmmmm&quot;,1093 ·the·rest·of·the·OS.</p><p>Example·of·code·formatting·a·string·in·format·&quot;DD·Mon·YYYY·HH:MM:SS.mmmmmm&quot;,
1094 where·DD·is·the·day·of·month,·Mon·is·the·textual·month·name,·YYYY·is·the·year,1094 where·DD·is·the·day·of·month,·Mon·is·the·textual·month·name,·YYYY·is·the·year,
1095 HH:MM:SS·is·the·time,·and·mmmmmm·is·the·microseconds·in·six·positions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5117435960-1">(</span><span·class="ss">print_time</span><span·class="p"·data-group-id="5117435960-1">)</span><span·class="p">.</span><span·class="w">1095 HH:MM:SS·is·the·time,·and·mmmmmm·is·the·microseconds·in·six·positions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2597153386-1">(</span><span·class="ss">print_time</span><span·class="p"·data-group-id="2597153386-1">)</span><span·class="p">.</span><span·class="w">
1096 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5117435960-2">(</span><span·class="p"·data-group-id="5117435960-3">[</span><span·class="ss">format_utc_timestamp</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5117435960-3">]</span><span·class="p"·data-group-id="5117[·...·truncated·by·diffoscope;·len:·6,·SHA:·8469d2f3a091bca0365e9d40951f8e738e384e56dc9ef9221c3f9ef25dc1c6d6·...·]-2">)</span><span·class="p">.</span><span·class="w">1096 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2597153386-2">(</span><span·class="p"·data-group-id="2597153386-3">[</span><span·class="ss">format_utc_timestamp</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2597153386-3">]</span><span·class="p"·data-group-id="2597[·...·truncated·by·diffoscope;·len:·6,·SHA:·e045743aaa3f93e0664234083ba00653fb3f81fc7d5a0323be4c6fd45bf65955·...·]-2">)</span><span·class="p">.</span><span·class="w">
1097 </span><span·class="nf">format_utc_timestamp</span><span·class="p"·data-group-id="5117435960-4">(</span><span·class="p"·data-group-id="5117435960-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1097 </span><span·class="nf">format_utc_timestamp</span><span·class="p"·data-group-id="2597153386-4">(</span><span·class="p"·data-group-id="2597153386-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1098 ····</span><span·class="n">TS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5117435960-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="5117435960-5">}</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·192,·SHA:·3410b4b72f664e53357ef69faa5b74ea8883494966384ac4551ba320255678a1·...·]-6">)</span><span·class="p">,</span><span·class="w">1098 ····</span><span·class="n">TS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2597153386-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="2597153386-5">}</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·192,·SHA:·473a8572ae50dd5e4311993a6ebd706d2857f55c9813d2d2e2daa2ecb988721f·...·]-6">)</span><span·class="p">,</span><span·class="w">
1099 ····</span><span·class="p"·data-group-id="5117435960-7">{</span><span·class="p"·data-group-id="5117435960-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="5117435960-8">}</span[·...·truncated·by·diffoscope;·len:·305,·SHA:·7a88196487d7e39a6aa6f19fbbfc0ed4c7724e80947bbed8198030ba8e50143c·...·]-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">1099 ····</span><span·class="p"·data-group-id="2597153386-7">{</span><span·class="p"·data-group-id="2597153386-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="2597153386-8">}</span[·...·truncated·by·diffoscope;·len:·305,·SHA:·b1034c5259eaafe545cbeaa879130ddcabf8367919f8d0c7e6b5911af2fde98c·...·]-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
1100 </span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">now_to_universal_time</span><span·class="p"·data-group-id="5117435960-10">(</span><span·class="n">TS</span><span·class="p"·data-group-id="5117435960-10">)</span><span·class="p">,</span><span·class="w">1100 </span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">now_to_universal_time</span><span·class="p"·data-group-id="2597153386-10">(</span><span·class="n">TS</span><span·class="p"·data-group-id="2597153386-10">)</span><span·class="p">,</span><span·class="w">
1101 ····</span><span·class="n">Mstr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="5117435960-11">(</span><span·class="n">Month</span><span·class="p">,</span><span·class="p"·data-group-id="5117435960-12">{</span><span·class="s">&quot;Jan&quot;</span><span·class="p">,</span><span·class="s">&quot;Feb&quot;</span><span·class="p">,</span><span·class="s">&quot;Mar&quot;</span><span·class="p">,</span><span·class="s">&quot;Apr&quot;</span><span·class="p">,</span><span·class="s">&quot;May&quot;</span><span·class="p">,</span><span·class="s">&quot;Jun&quot;</span><span·class="p">,</span><span·class="s">&quot;Jul&quot;</span><span·class="p">,</span><span·class="w">1101 ····</span><span·class="n">Mstr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="2597153386-11">(</span><span·class="n">Month</span><span·class="p">,</span><span·class="p"·data-group-id="2597153386-12">{</span><span·class="s">&quot;Jan&quot;</span><span·class="p">,</span><span·class="s">&quot;Feb&quot;</span><span·class="p">,</span><span·class="s">&quot;Mar&quot;</span><span·class="p">,</span><span·class="s">&quot;Apr&quot;</span><span·class="p">,</span><span·class="s">&quot;May&quot;</span><span·class="p">,</span><span·class="s">&quot;Jun&quot;</span><span·class="p">,</span><span·class="s">&quot;Jul&quot;</span><span·class="p">,</span><span·class="w">
1102 ····</span><span·class="s">&quot;Aug&quot;</span><span·class="p">,</span><span·class="s">&quot;Sep&quot;</span><span·class="p">,</span><span·class="s">&quot;Oct&quot;</span><span·class="p">,</span><span·class="s">&quot;Nov&quot;</span><span·class="p">,</span><span·class="s">&quot;Dec&quot;</span><span·class="p"·data-group-id="5117435960-12">}</span><span·class="p"·data-group-id="5117435960-11">)</span><span·class="p">,</span><span·class="w">1102 ····</span><span·class="s">&quot;Aug&quot;</span><span·class="p">,</span><span·class="s">&quot;Sep&quot;</span><span·class="p">,</span><span·class="s">&quot;Oct&quot;</span><span·class="p">,</span><span·class="s">&quot;Nov&quot;</span><span·class="p">,</span><span·class="s">&quot;Dec&quot;</span><span·class="p"·data-group-id="2597153386-12">}</span><span·class="p"·data-group-id="2597153386-11">)</span><span·class="p">,</span><span·class="w">
1103 ····</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5117435960-13">(</span><span·class="s">&quot;</span><span·class="si">~2w</span><span·class="s">·</span><span·class="si">~s</span><span·class="s">·</span><span·class="si">~4w</span><span·class="s">·</span><span·class="si">~2w</span><span·class="s">:</span><span·class="si">~2..0w</span><span·class="s">:</span><span·class="si">~2..0w</span><span·class="s">.</span><span·class="si">~6..0w</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">1103 ····</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2597153386-13">(</span><span·class="s">&quot;</span><span·class="si">~2w</span><span·class="s">·</span><span·class="si">~s</span><span·class="s">·</span><span·class="si">~4w</span><span·class="s">·</span><span·class="si">~2w</span><span·class="s">:</span><span·class="si">~2..0w</span><span·class="s">:</span><span·class="si">~2..0w</span><span·class="s">.</span><span·class="si">~6..0w</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">
1104 ····</span><span·class="p"·data-group-id="5117435960-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:·81e11de47acb8a98c78b13a03ece7b1a74c3b07c8ad63be50eccdf033e6834f1·...·]-1">)</span><span·class="p">.</span><span·class="w">1104 ····</span><span·class="p"·data-group-id="2597153386-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:·67dde8550bd659043fe9b2e60c389cd19c51766e40fec446e47e49daf1e6a278·...·]-1">)</span><span·class="p">.</span><span·class="w">
1105 </span><span·class="mi">29</span><span·class="w">·</span><span·class="n">Apr</span><span·class="w">·</span><span·class="mi">2009</span><span·class="w">··</span><span·class="mi">9</span><span·class="p">:</span><span·class="mi">55</span><span·class="p">:</span><span·class="mf">30.051711</span></code></pre><p>OS·system·time·can·also·be·retrieved·by·<a·href="#system_time/0"><code·class="inline">system_time/0</code></a>·and·<a·href="#system_time/1"><code·class="inline">system_time/1</code></a>.</p>1105 </span><span·class="mi">29</span><span·class="w">·</span><span·class="n">Apr</span><span·class="w">·</span><span·class="mi">2009</span><span·class="w">··</span><span·class="mi">9</span><span·class="p">:</span><span·class="mi">55</span><span·class="p">:</span><span·class="mf">30.051711</span></code></pre><p>OS·system·time·can·also·be·retrieved·by·<a·href="#system_time/0"><code·class="inline">system_time/0</code></a>·and·<a·href="#system_time/1"><code·class="inline">system_time/1</code></a>.</p>
1106 ··</section>1106 ··</section>
1107 </section>1107 </section>
1108 <section·class="detail"·id="type/0">1108 <section·class="detail"·id="type/0">
  
1109 ··<div·class="detail-header">1109 ··<div·class="detail-header">
1110 ····<a·href="#type/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1110 ····<a·href="#type/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1219, 15 lines modifiedOffset 1219, 15 lines modified
1219 ······<p·class="built-using">1219 ······<p·class="built-using">
1220 ········Built·using1220 ········Built·using
1221 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1221 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1222 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1222 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1223 ······</p>1223 ······</p>
1224 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1224 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1225 ····</footer>1225 ····</footer>
1226 ··</div>1226 ··</div>
1227 </main>1227 </main>
1228 </div>1228 </div>
1229 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1229 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1230 ··<script>1230 ··<script>
1231 ··let·initialized·=·false;1231 ··let·initialized·=·false;
600 B
html2text {}
Max HTML report size reached
4.59 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/pg.html
    
Offset 836, 15 lines modifiedOffset 836, 15 lines modified
  
836 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor_scope(Scope·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>())·->·{<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0">reference</a>(),·#{<a·href="#t:group/0">group</a>()·=>·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:pid/0">pid</a>()]}}.</pre>836 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor_scope(Scope·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>())·->·{<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0">reference</a>(),·#{<a·href="#t:group/0">group</a>()·=>·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:pid/0">pid</a>()]}}.</pre>
  
837 ······</div>837 ······</div>
  
838 <p>Subscribes·the·caller·to·updates·from·the·specified·scope.</p><p>Returns·content·of·the·entire·scope·and·a·reference·to·match·the·upcoming838 <p>Subscribes·the·caller·to·updates·from·the·specified·scope.</p><p>Returns·content·of·the·entire·scope·and·a·reference·to·match·the·upcoming
839 notifications.</p><p>Whenever·any·group·membership·changes,·an·update·message·is·sent·to·the839 notifications.</p><p>Whenever·any·group·membership·changes,·an·update·message·is·sent·to·the
840 subscriber:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1439507256-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:·c30c6101509e9250d73913e023a264244030ec066f02bda1812e401a40d0efdc·...·]-1">}</span></code></pre>840 subscriber:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3693971180-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:·7ddae0f23c6cc0574d62ab9ae38ea024e8acbe08412a035443d4b85621faeb86·...·]-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.44 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/rpc.html
    
Offset 1043, 18 lines modifiedOffset 1043, 18 lines modified
1043 all·the·nodes,·but·the·multicall·is·faster,·as·all·the·requests·are·sent·at·the1043 all·the·nodes,·but·the·multicall·is·faster,·as·all·the·requests·are·sent·at·the
1044 same·time·and·are·collected·one·by·one·as·they·come·back.</p><p>The·function·evaluates·<a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(Module,·Function,·Args)</code></a>·on·the1044 same·time·and·are·collected·one·by·one·as·they·come·back.</p><p>The·function·evaluates·<a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(Module,·Function,·Args)</code></a>·on·the
1045 specified·nodes·and·collects·the·answers.·It·returns·<code·class="inline">{ResL,·BadNodes}</code>,·where1045 specified·nodes·and·collects·the·answers.·It·returns·<code·class="inline">{ResL,·BadNodes}</code>,·where
1046 <code·class="inline">BadNodes</code>·is·a·list·of·the·nodes·that·do·not·exist,·and·<code·class="inline">ResL</code>·is·a·list·of·the1046 <code·class="inline">BadNodes</code>·is·a·list·of·the·nodes·that·do·not·exist,·and·<code·class="inline">ResL</code>·is·a·list·of·the
1047 return·values,·or·<code·class="inline">{badrpc,·Reason}</code>·for·failing·calls.·<code·class="inline">Timeout</code>·is·a·time1047 return·values,·or·<code·class="inline">{badrpc,·Reason}</code>·for·failing·calls.·<code·class="inline">Timeout</code>·is·a·time
1048 (integer)·in·milliseconds,·or·<code·class="inline">infinity</code>.</p><p>The·following·example·is·useful·when·new·object·code·is·to·be·loaded·on·all1048 (integer)·in·milliseconds,·or·<code·class="inline">infinity</code>.</p><p>The·following·example·is·useful·when·new·object·code·is·to·be·loaded·on·all
1049 nodes·in·the·network,·and·indicates·some·side·effects·that·RPCs·can·produce:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Find·object·code·for·module·Mod</span><span·class="w">1049 nodes·in·the·network,·and·indicates·some·side·effects·that·RPCs·can·produce:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Find·object·code·for·module·Mod</span><span·class="w">
1050 </span><span·class="p"·data-group-id="7731828752-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="7731828752-1">}</span><span·[·...·truncated·by·diffoscope;·len:·277,·SHA:·1e10177d20bc51b84d00fa3d75b24abe4b0d9ef4968e1a0da4cd3230fe024584·...·]-2">)</span><span·class="p">,</span><span·class="w">1050 </span><span·class="p"·data-group-id="6271935756-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="6271935756-1">}</span><span·[·...·truncated·by·diffoscope;·len:·277,·SHA:·2ee5b27cc2a84167c5f081a639c252a7ba3da4da5ae0e68e7b0566cb9bb3f8fd·...·]-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="7731828752-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="7731828752-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·608,·SHA:·000f48a1b6b06805d10020470c53d79b37174b4c6b3db5c70f0aea5606dc413e·...·]-4">)</span><span·class="p">,</span><span·class="w">1052 </span><span·class="p"·data-group-id="6271935756-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="6271935756-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·608,·SHA:·2cff50f122ea77139060cab4928c710df560f52019a1fc8f645e9ebb03b6eae3·...·]-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.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;
462 B
html2text {}
Max HTML report size reached
51.4 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/seq_trace.html
    
Offset 137, 17 lines modifiedOffset 137, 17 lines modified
137 of·the·trace·output.</p><h2·id="module-trace-messages-sent-to-the-system-tracer"·class="section-heading">137 of·the·trace·output.</p><h2·id="module-trace-messages-sent-to-the-system-tracer"·class="section-heading">
138 ··<a·href="#module-trace-messages-sent-to-the-system-tracer"·class="hover-link">138 ··<a·href="#module-trace-messages-sent-to-the-system-tracer"·class="hover-link">
139 ····<i·class="ri-link-m"·aria-hidden="true"></i>139 ····<i·class="ri-link-m"·aria-hidden="true"></i>
140 ··</a>140 ··</a>
141 ··<span·class="text">Trace·Messages·Sent·to·the·System·Tracer</span>141 ··<span·class="text">Trace·Messages·Sent·to·the·System·Tracer</span>
142 </h2>142 </h2>
143 <p>The·format·of·the·messages·is·one·of·the·following,·depending·on·if·flag143 <p>The·format·of·the·messages·is·one·of·the·following,·depending·on·if·flag
144 <code·class="inline">timestamp</code>·of·the·trace·token·is·set·to·<code·class="inline">true</code>·or·<code·class="inline">false</code>:</p><pre><code·class="text">{seq_trace,·Label,·SeqTraceInfo,·TimeStamp}</code></pre><p>or</p><pre><code·class="text">{seq_trace,·Label,·SeqTraceInfo}</code></pre><p>Where:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Label</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="8404427164-1">(</span><span·class="p"·data-group-id="8404427164-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="8409783253-1">(</span><span·class="p"·data-group-id="8409783253-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="8404427164-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="8404427164-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="8409783253-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="8409783253-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="8404427164-3">(</span><span·class="p"·data-group-id="8404427164-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="8409783253-3">(</span><span·class="p"·data-group-id="8409783253-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="9142644285-1">(</span><span·class="ss">seqex</span><span·class="p"·data-group-id="9142644285-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="9535423372-1">(</span><span·class="ss">seqex</span><span·class="p"·data-group-id="9535423372-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="9142644285-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="9142644285-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="9535423372-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="9535423372-2">)</span><span·class="p">.</span><span·class="w">
  
292 </span><span·class="nf">loop</span><span·class="p"·data-group-id="9142644285-3">(</span><span·class="n">Port</span><span·class="p"·data-group-id="9142644285-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="9535423372-3">(</span><span·class="n">Port</span><span·class="p"·data-group-id="9535423372-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="9142644285-4">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="9142644285-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">294 ········</span><span·class="p"·data-group-id="9535423372-4">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="9535423372-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="9142644285-5">(</span><span·class="ss">label</span><span·class="p">,</span><span·class="mi">17</span><span·class="p"·data-group-id="9142644285-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="9535423372-5">(</span><span·class="ss">label</span><span·class="p">,</span><span·class="mi">17</span><span·class="p"·data-group-id="9535423372-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="9142644285-6">(</span><span·class="ss">&#39;receive&#39;</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="9142644285-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="9142644285-7">(</span><span·class="ss">print</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="9142644285-7">)</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="9535423372-6">(</span><span·class="ss">&#39;receive&#39;</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="9535423372-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="9535423372-7">(</span><span·class="ss">print</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="9535423372-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="9142644285-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="9142644285-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="9535423372-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="9535423372-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="9142644285-9">{</span><span·class="nf">self</span><span·class="p"·data-group-id="9142644285-10">(</span><span·class="p"·data-group-id="9142644285-10">)</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="914264428[·...·truncated·by·diffoscope;·len:·1,·SHA:·ef2d127de37b942baad06145e54b0c619a1f22327b2ebbcfbec78f5564afe39d·...·]-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="9535423372-9">{</span><span·class="nf">self</span><span·class="p"·data-group-id="9535423372-10">(</span><span·class="p"·data-group-id="9535423372-10">)</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="953542337[·...·truncated·by·diffoscope;·len:·1,·SHA:·d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35·...·]-9">}</span><span·class="p">;</span><span·class="w">
300 ········</span><span·class="p"·data-group-id="9142644285-11">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="n">Ack</span><span·class="p"·data-group-id="9142644285-11">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">300 ········</span><span·class="p"·data-group-id="9535423372-11">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="n">Ack</span><span·class="p"·data-group-id="9535423372-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="9142644285-12">(</span><span·class="n">Port</span><span·class="p"·data-group-id="9142644285-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:·191,·SHA:·4554c7c2ccc637b300584c450746c40ed99f8e4bcbc00dd69d9f829a59e698f1·...·]-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="9535423372-12">(</span><span·class="n">Port</span><span·class="p"·data-group-id="9535423372-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:·191,·SHA:·53e4fe465086d88b38a445eef9d1a6fd2069226e5cdc9a61807e4f9d4cc1ae0d·...·]-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="7612259866-2">{</span><span·class="n">PortController</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="7612259866-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">305 ········</span><span·class="p"·data-group-id="1173719820-2">{</span><span·class="n">PortController</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="1173719820-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="7612259866-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="7612259866-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="1173719820-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="1173719820-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="7612259866-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="7612259866-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="1173719820-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="1173719820-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="7612259866-5">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="n">Ack</span><span·class="p"·data-group-id="7612259866-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="1173719820-5">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="n">Ack</span><span·class="p"·data-group-id="1173719820-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="7612259866-6">(</span><span·class="p"·data-group-id="7612259866-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:·2744c1376bb58b25081553a4da4a85dc64d1b358010c3f82e02c6f3bfd5216cb·...·]-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="1173719820-6">(</span><span·class="p"·data-group-id="1173719820-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:·1167c0f324c730575f5cae628728c9024de1a3a27ad1b1c4ec958b5d9fb98e73·...·]-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="0680784035-2">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0680784035-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="2300238474-2">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="2300238474-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="0680784035-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="0680784035-3">}</span><span·class="w">313 </span><span·class="p"·data-group-id="2300238474-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="2300238474-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="0680784035-4">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="0680784035-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="2300238474-4">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="2300238474-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="0680784035-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="0680784035-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="2300238474-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="2300238474-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="0680784035-6">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="p"·data-group-id="0680784035-7">{</span><span·class="ss">received</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="06807840[·...·truncated·by·diffoscope;·len:·55,·SHA:·12fa497e6e51d0e40a5f2d1143492e7b15e93d8d4ed9e3f0201b25f6ea18efec·...·]-6">}</span></code></pre><p>The·implementation·of·a·system·tracer·process·that·produces·this·printout·can317 </span><span·class="p"·data-group-id="2300238474-6">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="p"·data-group-id="2300238474-7">{</span><span·class="ss">received</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="23002384[·...·truncated·by·diffoscope;·len:·55,·SHA:·d359c8876c832e7d013e4a6579ebce74ef800202ac3946e946eceaeaa25e5968·...·]-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="8562285000-1">(</span><span·class="p"·data-group-id="8562285000-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="6093291175-1">(</span><span·class="p"·data-group-id="6093291175-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="8562285000-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="8562285000-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">320 ········</span><span·class="p"·data-group-id="6093291175-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="6093291175-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="8562285000-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="8562285000-3">)</span><span·class="p">;</span><span·class="w">321 ···········</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="6093291175-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="6093291175-3">)</span><span·class="p">;</span><span·class="w">
322 ········</span><span·class="p"·data-group-id="8562285000-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="8562285000-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">322 ········</span><span·class="p"·data-group-id="6093291175-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="6093291175-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="8562285000-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="8562285000-5">)</span><span·class="p">;</span><span·class="w">323 ···········</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="6093291175-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="6093291175-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="8562285000-6">(</span><span·class="p"·data-group-id="8562285000-6">)</span><span·class="p">.</span><span·class="w">326 ····</span><span·class="nf">tracer</span><span·class="p"·data-group-id="6093291175-6">(</span><span·class="p"·data-group-id="6093291175-6">)</span><span·class="p">.</span><span·class="w">
  
327 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="8562285000-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="8562285000-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="6093291175-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="6093291175-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="8562285000-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="8562285000-9">[</span><span·class="n">Label</span><span·class="p"·data-group-id="8562285000-9"[·...·truncated·by·diffoscope;·len:·50,·SHA:·83e54177b70dcfd9d7137bb381fe3f40ffcfe682728a445ec4cb763eccbb77be·...·]-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="6093291175-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="6093291175-9">[</span><span·class="n">Label</span><span·class="p"·data-group-id="6093291175-9"[·...·truncated·by·diffoscope;·len:·50,·SHA:·423be26ebb3a966aa70dacf3d8f19333c9f8ea784006f55a3b4cf82eef900d7d·...·]-8">)</span><span·class="p">,</span><span·class="w">
329 ····</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="8562285000-10">(</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="8562285000-10">)</span><span·class="p">;</span><span·class="w">329 ····</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="6093291175-10">(</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="6093291175-10">)</span><span·class="p">;</span><span·class="w">
330 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="8562285000-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="8562285000-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="6093291175-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="6093291175-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="8562285000-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="8562285000-13">[</span><span·class="n">Labe[·...·truncated·by·diffoscope;·len:·152,·SHA:·2d8af58902f0d7676960c75b2f11a4916340ff77a928a0bde17919ba92249fbd·...·]-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="6093291175-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="6093291175-13">[</span><span·class="n">Labe[·...·truncated·by·diffoscope;·len:·152,·SHA:·cd7982939298eb8e19a7f7accb86d17068f218036c9fb57f158105d4cc40c868·...·]-12">)</span><span·class="p">,</span><span·class="w">
332 ····</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="8562285000-14">(</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="8562285000-14">)</span><span·class="p">.</span><span·class="w">332 ····</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="6093291175-14">(</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="6093291175-14">)</span><span·class="p">.</span><span·class="w">
  
333 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="8562285000-15">(</span><span·class="p"·data-group-id="8562285000-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:·973786f4b2907b9eb3e67d617a462d8568c02bf883ed10c1ab65ca93212b7f41·...·]-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="6093291175-15">(</span><span·class="p"·data-group-id="6093291175-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:·d8fe39aac52aa79d5993e775baf61cf5540417cd67223b01cf204066aba977df·...·]-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="8562285000-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:·fb832af463762af5aa1d7839b0154576f56c81f12acfbef5fddb54f4123d6658·...·]-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="6093291175-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:·94ca3e677ac90005f1e99f3aacb6e10682122d0a380784f883969b2556e27e1b·...·]-17">)</span><span·class="p">;</span><span·class="w">
335 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="8562285000-19">(</span><span·class="p"·data-group-id="8562285000-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:·b19f300d5b4dde7b500e32b5f83de4417dd5a9a04680770d240d4dbfb5ececd3·...·]-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="6093291175-19">(</span><span·class="p"·data-group-id="6093291175-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:·259ed60b9bce7a4c4e58c1fd3ca72627080d8b5533dc0c074b38c58211644942·...·]-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="8562285000-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="6093291175-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="8562285000-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="8562285000-22">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·9e771496b2222a2cb9b98c3e998c86ce5caa409269a8432e759eff7d510d1add·...·]-21">)</span><span·class="p">;</span><span·class="w">337 ··············</span><span·class="p"·data-group-id="6093291175-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="6093291175-22">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·5dfce372f3bd6b487cf86df7eb7ea17cdf31d1ecc1b1ad3a39dd9afcf0f17867·...·]-21">)</span><span·class="p">;</span><span·class="w">
338 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="8562285000-23">(</span><span·class="p"·data-group-id="8562285000-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:·72cab358edd006b4d6d82bc8314f319099d61459c305a32c4243a8a461ba8978·...·]-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="6093291175-23">(</span><span·class="p"·data-group-id="6093291175-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:·faf9da01bc28098dd49819070b233cd53f702b5de9bbd72a4258e1e23eaad7fd·...·]-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="8562285000-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="6093291175-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="8562285000-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="8562285000-26">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·9e771496b2222a2cb9b98c3e998c86ce5caa409269a8432e759eff7d510d1add·...·]-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="6093291175-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="6093291175-26">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·5dfce372f3bd6b487cf86df7eb7ea17cdf31d1ecc1b1ad3a39dd9afcf0f17867·...·]-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="1015412983-1">(</span><span·class="p"·data-group-id="1015412983-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="7307327946-1">(</span><span·class="p"·data-group-id="7307327946-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="1015412983-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="1015412983-3">[</span><span·class="p"·data-group-id="1015412983-3">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·bb4c93d7c89e92bfed331369289418b909788e703c53fc1c877d1d38cce7f4bd·...·]-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="7307327946-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="7307327946-3">[</span><span·class="p"·data-group-id="7307327946-3">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·ef24ca6fe6b5652065645812eab3fd61e2ea30e336d891bedc7ee9c83e7562e5·...·]-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="1015412983-4">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="1015412983-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="7307327946-4">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="7307327946-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="9433575309-1">(</span><span·class="p"·data-group-id="9433575309-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="4194218120-1">(</span><span·class="p"·data-group-id="4194218120-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="9433575309-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="9433575309-3">[</span><spa[·...·truncated·by·diffoscope;·len:·118,·SHA:·5bbd520e68545a96b604c296ef72514cf9653d0ac58092414c9697728d654b46·...·]-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="4194218120-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="4194218120-3">[</span><spa[·...·truncated·by·diffoscope;·len:·118,·SHA:·62b3f357464ccdc463549c2ce051ea040885915e77130285631a14ea2dae7889·...·]-2">)</span><span·class="p">,</span><span·class="w">
346 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="9433575309-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="9433575309-5">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">[·...·truncated·by·diffoscope;·len:·308,·SHA:·eb2b1b8a497d73f7a2aa36f73e710f081bfecf70b04067caf0658a663a813a23·...·]-4">)</span><span·class="p">,</span><span·class="w">346 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="4194218120-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="4194218120-5">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">[·...·truncated·by·diffoscope;·len:·308,·SHA:·0f625db4320a04deddf9a7c0005750472e6bc4e878f3b4634658759861a6568b·...·]-4">)</span><span·class="p">,</span><span·class="w">
347 ····</span><span·class="nf">start</span><span·class="p"·data-group-id="9433575309-7">(</span><span·class="p"·data-group-id="9433575309-7">)</span><span·class="p">,</span><span·class="w">347 ····</span><span·class="nf">start</span><span·class="p"·data-group-id="4194218120-7">(</span><span·class="p"·data-group-id="4194218120-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="9433575309-8">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="ss">message</span><span·class="p"·data-group-id="9433575309-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="4194218120-8">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="ss">message</span><span·class="p"·data-group-id="4194218120-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="0417335274-1">(</span><span·class="p"·data-group-id="0417335274-2">[</span><span·class="p"·data-group-id="0417335274-2">]</span><span·class="p"·data-group-id="0417335274-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="2328134352-1">(</span><span·class="p"·data-group-id="2328134352-2">[</span><span·class="p"·data-group-id="2328134352-2">]</span><span·class="p"·data-group-id="2328134352-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="0417335274-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="0417335274-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="2328134352-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="2328134352-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="0417335274-4">(</span><span·class="n">OldToken</span><span·class="p"·data-group-id="0417335274-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="2328134352-4">(</span><span·class="n">OldToken</span><span·class="p"·data-group-id="2328134352-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>
Max diff block lines reached; 137/51868 bytes (0.26%) of diff not shown.
669 B
html2text {}
Max HTML report size reached
33.7 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/socket.html
    
Offset 184, 16 lines modifiedOffset 184, 16 lines modified
184 will·then·be·the·<a·href="#t:select_handle/0"><code·class="inline">SelectHandle</code></a>·in·the·returned184 will·then·be·the·<a·href="#t:select_handle/0"><code·class="inline">SelectHandle</code></a>·in·the·returned
185 <a·href="#t:select_info/0"><code·class="inline">select_info/0</code></a>·and·the·received·<code·class="inline">select</code>·message,·or·be185 <a·href="#t:select_info/0"><code·class="inline">select_info/0</code></a>·and·the·received·<code·class="inline">select</code>·message,·or·be
186 the·<a·href="#t:completion_handle/0"><code·class="inline">CompletionHandle</code></a>·in·the·returned186 the·<a·href="#t:completion_handle/0"><code·class="inline">CompletionHandle</code></a>·in·the·returned
187 <a·href="#t:completion_info/0"><code·class="inline">completion_info/0</code></a>·and·the·received·<code·class="inline">completion</code>·message.</p><p>The·compiler·may·then·optimize·a·following·<code·class="inline">receive</code>·statement187 <a·href="#t:completion_info/0"><code·class="inline">completion_info/0</code></a>·and·the·received·<code·class="inline">completion</code>·message.</p><p>The·compiler·may·then·optimize·a·following·<code·class="inline">receive</code>·statement
188 to·only·scan·the·messages·that·arrive·after·the·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0"><code·class="inline">reference/0</code></a>188 to·only·scan·the·messages·that·arrive·after·the·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0"><code·class="inline">reference/0</code></a>
189 is·created.··If·the·message·queue·is·large·this·is·a·big·optimization.</p><p>It·is·not·possible·to·have·more·than·one·operation·in·progress189 is·created.··If·the·message·queue·is·large·this·is·a·big·optimization.</p><p>It·is·not·possible·to·have·more·than·one·operation·in·progress
190 with·the·same·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0"><code·class="inline">reference/0</code></a>.</p><h4>Repeating·an·Operation·on·a·<code·class="inline">select</code>·Systems</h4><p>On<code·class="inline">select</code>·systems,·if·a·call·would·be·repeated·<em>before</em>·the·<code·class="inline">select</code>190 with·the·same·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0"><code·class="inline">reference/0</code></a>.</p><h4>Repeating·an·Operation·on·a·<code·class="inline">select</code>·Systems</h4><p>On<code·class="inline">select</code>·systems,·if·a·call·would·be·repeated·<em>before</em>·the·<code·class="inline">select</code>
191 message·has·been·received·it·replaces·the·operation·in·progress:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="p"·data-group-id="4394078199-1">{</span><span·class="ss">select</span><span·class="p">,</span><span·class="err"> </span><span·class="p"·data-group-id="4394078199-2">{</span><span·class="ss">select_info</span><span·class="p">,</span><span·class="err"> </span><span·class="n">[·...·truncated·by·diffoscope;·len:·477,·SHA:·e6c8bea1f656dff60a479474fd8b5dff7c56e63187d3a6be8feb006eb8ef00f3·...·]-3">)</span><span·class="p">,</span><span·class="w">191 message·has·been·received·it·replaces·the·operation·in·progress:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="p"·data-group-id="3215060640-1">{</span><span·class="ss">select</span><span·class="p">,</span><span·class="err"> </span><span·class="p"·data-group-id="3215060640-2">{</span><span·class="ss">select_info</span><span·class="p">,</span><span·class="err"> </span><span·class="n">[·...·truncated·by·diffoscope;·len:·477,·SHA:·c31ded194905144cdad58694b893dcf439ace333a8ac7aa1ee6dfec1851d9f92·...·]-3">)</span><span·class="p">,</span><span·class="w">
192 ····</span><span·class="p"·data-group-id="4394078199-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</span><span·class="p"·data-group-id="4394078199-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·280,·SHA:·fcad157744e47c5d5a19c6e113a6af16b9c628f5fb36802c1b726539121e539f·...·]-5">)</span><span·class="p">,</span><span·class="w">192 ····</span><span·class="p"·data-group-id="3215060640-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</span><span·class="p"·data-group-id="3215060640-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·280,·SHA:·09be2abf885dea2923ba2c65a1fb8c42e4844125e18025a91909359219021239·...·]-5">)</span><span·class="p">,</span><span·class="w">
193 ····</span><span·class="p">:</span></code></pre><p>Above,·<code·class="inline">Handle</code>·is·<em>no·longer</em>·valid·once·the·second·<a·href="#accept/2"><code·class="inline">accept/2</code></a>,·call193 ····</span><span·class="p">:</span></code></pre><p>Above,·<code·class="inline">Handle</code>·is·<em>no·longer</em>·valid·once·the·second·<a·href="#accept/2"><code·class="inline">accept/2</code></a>,·call
194 has·been·made·(the·first·call·is·automatically·canceled).194 has·been·made·(the·first·call·is·automatically·canceled).
195 After·the·second·<a·href="#accept/2"><code·class="inline">accept/2</code></a>·call·returns,·the·accept·operation195 After·the·second·<a·href="#accept/2"><code·class="inline">accept/2</code></a>·call·returns,·the·accept·operation
196 has·completed.</p><p>Note·that·there·is·a·race·here;·there·is·no·way·to·know·if·the·call196 has·completed.</p><p>Note·that·there·is·a·race·here;·there·is·no·way·to·know·if·the·call
197 is·repeated·<em>before</em>·the·<code·class="inline">select</code>·message·is·sent·since·it·<em>may</em>197 is·repeated·<em>before</em>·the·<code·class="inline">select</code>·message·is·sent·since·it·<em>may</em>
198 have·been·sent·just·before·the·repeated·call.··So·now·there198 have·been·sent·just·before·the·repeated·call.··So·now·there
199 might·be·a·<code·class="inline">select</code>·message·containing·<code·class="inline">Handle</code>·in·the·inbox.</p><h4>The·<code·class="inline">abort</code>·Message</h4><p>Another·message·the·user·must·be·prepared·for199 might·be·a·<code·class="inline">select</code>·message·containing·<code·class="inline">Handle</code>·in·the·inbox.</p><h4>The·<code·class="inline">abort</code>·Message</h4><p>Another·message·the·user·must·be·prepared·for
Offset 218, 36 lines modifiedOffset 218, 36 lines modified
218 (<a·href="#t:completion_handle/0">completion·handle</a>)218 (<a·href="#t:completion_handle/0">completion·handle</a>)
219 API·features·could·be·considered·no·longer·experimental.</li></ul><h2·id="module-examples"·class="section-heading">219 API·features·could·be·considered·no·longer·experimental.</li></ul><h2·id="module-examples"·class="section-heading">
220 ··<a·href="#module-examples"·class="hover-link">220 ··<a·href="#module-examples"·class="hover-link">
221 ····<i·class="ri-link-m"·aria-hidden="true"></i>221 ····<i·class="ri-link-m"·aria-hidden="true"></i>
222 ··</a>222 ··</a>
223 ··<span·class="text">Examples</span>223 ··<span·class="text">Examples</span>
224 </h2>224 </h2>
225 <pre><code·class="makeup·erlang"·translate="no"><span·class="nf">client</span><span·class="p"·data-group-id="9156854609-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="9156854609-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">225 <pre><code·class="makeup·erlang"·translate="no"><span·class="nf">client</span><span·class="p"·data-group-id="6720937231-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="6720937231-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
226 ···</span><span·class="p"·data-group-id="9156854609-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="9156854609-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·349,·SHA:·c1fe605b986dc3dfc17808566288869ffb3d68040b12e60ae4a692d6ba07084e·...·]-3">)</span><span·class="p">,</span><span·class="w">226 ···</span><span·class="p"·data-group-id="6720937231-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="6720937231-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·349,·SHA:·1f29f36f6ffa758da8a985d3ed32e53b62241dbc292a9e768d5cfc89bb89d532·...·]-3">)</span><span·class="p">,</span><span·class="w">
227 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="9156854609-4">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9156854609-5">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">227 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="6720937231-4">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6720937231-5">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">
228 ·······························</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">SAddr</span><span·class="p">,</span><span·class="w">228 ·······························</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">SAddr</span><span·class="p">,</span><span·class="w">
229 ·······························</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">SPort</span><span·class="p"·data-group-id="9156854609-5">}</span><span·class="p"·data-group-id="9156854609-4">)</span><span·class="p">,</span><span·class="w">229 ·······························</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">SPort</span><span·class="p"·data-group-id="6720937231-5">}</span><span·class="p"·data-group-id="6720937231-4">)</span><span·class="p">,</span><span·class="w">
230 ···</span><span·class="n">Msg</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9156854609-6">&lt;&lt;</span><span·class="s">&quot;hello&quot;</span><span·class="p"·data-group-id="9156854609-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">230 ···</span><span·class="n">Msg</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6720937231-6">&lt;&lt;</span><span·class="s">&quot;hello&quot;</span><span·class="p"·data-group-id="6720937231-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">
231 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="9156854609-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="9156854609-7">)</span><span·class="p">,</span><span·class="w">231 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="6720937231-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="6720937231-7">)</span><span·class="p">,</span><span·class="w">
232 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="9156854609-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="9156854609-8">)</span><span·class="p">,</span><span·class="w">232 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="6720937231-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="6720937231-8">)</span><span·class="p">,</span><span·class="w">
233 ···</span><span·class="p"·data-group-id="9156854609-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="9156854609-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·195,·SHA:·7cd92417c0bc7fa872d319fb7dab80484c22d111412aff0b6cb429faa1c64bd7·...·]-10">)</span><span·class="p">,</span><span·class="w">233 ···</span><span·class="p"·data-group-id="6720937231-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="6720937231-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·195,·SHA:·de1bafd9c88ac859066ae41cce0a1f91c8db201bd2b4b773770b923e66493d64·...·]-10">)</span><span·class="p">,</span><span·class="w">
234 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="9156854609-11">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="9156854609-11">)</span><span·class="p">.</span><span·class="w">234 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="6720937231-11">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="6720937231-11">)</span><span·class="p">.</span><span·class="w">
  
235 </span><span·class="nf">server</span><span·class="p"·data-group-id="9156854609-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="9156854609-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">235 </span><span·class="nf">server</span><span·class="p"·data-group-id="6720937231-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="6720937231-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
236 ···</span><span·class="p"·data-group-id="9156854609-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="9156854609-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·353,·SHA:·9f33fbc9c30f142cf6a7e6aea51d1156b8c107f22f915f6140fcb61ba35934b5·...·]-14">)</span><span·class="p">,</span><span·class="w">236 ···</span><span·class="p"·data-group-id="6720937231-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="6720937231-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·353,·SHA:·28d57d6dcf460f395b53fd48a7c9b8efc37770100d5f058d59c20ba3554a088f·...·]-14">)</span><span·class="p">,</span><span·class="w">
237 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">bind</span><span·class="p"·data-group-id="9156854609-15">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9156854609-16">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">237 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">bind</span><span·class="p"·data-group-id="6720937231-15">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6720937231-16">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">
238 ·····························</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">238 ·····························</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">
239 ·····························</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p"·data-group-id="9156854609-16">}</span><span·class="p"·data-group-id="9156854609-15">)</span><span·class="p">,</span><span·class="w">239 ·····························</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p"·data-group-id="6720937231-16">}</span><span·class="p"·data-group-id="6720937231-15">)</span><span·class="p">,</span><span·class="w">
240 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">listen</span><span·class="p"·data-group-id="9156854609-17">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="9156854609-17">)</span><span·class="p">,</span><span·class="w">240 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">listen</span><span·class="p"·data-group-id="6720937231-17">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="6720937231-17">)</span><span·class="p">,</span><span·class="w">
241 ···</span><span·class="p"·data-group-id="9156854609-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="9156854609-18">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·201,·SHA:·822aaa90b3188e3925f10dd1204c5d17bd096ccdd88ca1e1dd37d853b7bb6da2·...·]-19">)</span><span·class="p">,</span><span·class="w">241 ···</span><span·class="p"·data-group-id="6720937231-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="6720937231-18">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·201,·SHA:·ef5c9a0be8714070482d097a4cb1a2f579e8cbe9e194b32c0b10902c820422ad·...·]-19">)</span><span·class="p">,</span><span·class="w">
242 ···</span><span·class="p"·data-group-id="9156854609-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="9156854609-20">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·197,·SHA:·7572b8bfb6d9e098f70fff0caff60c55e92cbdecaef08a6e446a29d5e8fc24f8·...·]-21">)</span><span·class="p">,</span><span·class="w">242 ···</span><span·class="p"·data-group-id="6720937231-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="6720937231-20">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·197,·SHA:·fd92236f4fc8b030a0386fdab2ee27e4a5870d70100036b0569451c8c29ed150·...·]-21">)</span><span·class="p">,</span><span·class="w">
243 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="9156854609-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="9156854609-22">)</span><span·class="p">,</span><span·class="w">243 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="6720937231-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="6720937231-22">)</span><span·class="p">,</span><span·class="w">
244 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="9156854609-23">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="9156854609-23">)</span><span·class="p">,</span><span·class="w">244 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="6720937231-23">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="6720937231-23">)</span><span·class="p">,</span><span·class="w">
245 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="9156854609-24">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="9156854609-24">)</span><span·class="p">.</span></code></pre>245 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="6720937231-24">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="6720937231-24">)</span><span·class="p">.</span></code></pre>
246 ····</section>246 ····</section>
  
247 </div>247 </div>
  
248 ··<section·id="summary"·class="details-list">248 ··<section·id="summary"·class="details-list">
249 ····<h1·class="section-heading">249 ····<h1·class="section-heading">
250 ······<a·class="hover-link"·href="#summary">250 ······<a·class="hover-link"·href="#summary">
Offset 4699, 15 lines modifiedOffset 4699, 15 lines modified
4699 with·its·name·and·address.</p></li><li><p><strong><code·class="inline">nread</code></strong>·-·Get·the·number·of·bytes·immediately·available·for·reading4699 with·its·name·and·address.</p></li><li><p><strong><code·class="inline">nread</code></strong>·-·Get·the·number·of·bytes·immediately·available·for·reading
4700 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>.</p></li><li><p><strong><code·class="inline">nwrite</code></strong>·-·Get·the·number·of·bytes·in·the·send·queue4700 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>.</p></li><li><p><strong><code·class="inline">nwrite</code></strong>·-·Get·the·number·of·bytes·in·the·send·queue
4701 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>.</p></li><li><p><strong><code·class="inline">nspace</code></strong>·-·Get·the·free·space·in·the·send·queue4701 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>.</p></li><li><p><strong><code·class="inline">nspace</code></strong>·-·Get·the·free·space·in·the·send·queue
4702 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>.</p></li><li><p><strong><code·class="inline">atmark</code></strong>·-·Test·if·there·is·OOB·(out-of-bound)·data·waiting·to·be·read4702 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>.</p></li><li><p><strong><code·class="inline">atmark</code></strong>·-·Test·if·there·is·OOB·(out-of-bound)·data·waiting·to·be·read
4703 <em>(since·OTP·26.1)</em>.</p><p>Result;·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0"><code·class="inline">boolean/0</code></a>.</p></li><li><p><strong><code·class="inline">tcp_info</code></strong>·-·Get·miscellaneous·TCP·related·information·for·a4703 <em>(since·OTP·26.1)</em>.</p><p>Result;·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0"><code·class="inline">boolean/0</code></a>.</p></li><li><p><strong><code·class="inline">tcp_info</code></strong>·-·Get·miscellaneous·TCP·related·information·for·a
4704 <em>connected</em>·socket·<em>(since·OTP·26.1)</em>.</p><p>Result;·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:map/0"><code·class="inline">map/0</code></a>·with·information·items·as·key-value·pairs.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Not·all·requests·are·supported·by·all·platforms.4704 <em>connected</em>·socket·<em>(since·OTP·26.1)</em>.</p><p>Result;·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:map/0"><code·class="inline">map/0</code></a>·with·information·items·as·key-value·pairs.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Not·all·requests·are·supported·by·all·platforms.
4705 To·see·if·a·ioctl·request·is·supported·on·the·current·platform:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="n">Request</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">nread</span><span·class="p">,</span><span·class="w">4705 To·see·if·a·ioctl·request·is·supported·on·the·current·platform:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="n">Request</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">nread</span><span·class="p">,</span><span·class="w">
4706 ······</span><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">is_supported</span><span·class="p"·data-group-id="8236464520-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="8236464520-1">)</span><span·class="p">,</span><span·class="w">4706 ······</span><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">is_supported</span><span·class="p"·data-group-id="0380596568-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="0380596568-1">)</span><span·class="p">,</span><span·class="w">
4707 ······</span><span·class="p">:</span></code></pre></section>4707 ······</span><span·class="p">:</span></code></pre></section>
4708 ··</section>4708 ··</section>
4709 </section>4709 </section>
4710 <section·class="detail"·id="ioctl/3">4710 <section·class="detail"·id="ioctl/3">
  
4711 ··<div·class="detail-header">4711 ··<div·class="detail-header">
4712 ····<a·href="#ioctl/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">4712 ····<a·href="#ioctl/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 4857, 15 lines modifiedOffset 4857, 15 lines modified
  
4857 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_supported(Key1·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>4857 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_supported(Key1·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>
  
4858 ······</div>4858 ······</div>
  
4859 <p>Check·if·a·socket·feature·is·supported.</p><p>Returns·<code·class="inline">true</code>·if·<a·href="#supports/0"><code·class="inline">supports/0</code></a>·has·a·<code·class="inline">{Key1,·true}</code>·tuple4859 <p>Check·if·a·socket·feature·is·supported.</p><p>Returns·<code·class="inline">true</code>·if·<a·href="#supports/0"><code·class="inline">supports/0</code></a>·has·a·<code·class="inline">{Key1,·true}</code>·tuple
4860 or·a·<code·class="inline">{Key1,·list()}</code>·tuple·in·its·returned·list,4860 or·a·<code·class="inline">{Key1,·list()}</code>·tuple·in·its·returned·list,
4861 otherwise·<code·class="inline">false</code>·(also·for·unknown·keys).</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">is_supported</span><span·class="p"·data-group-id="3927996143-1">(</span><span·class="ss">local</span><span·class="p"·data-group-id="3927996143-1">)</span><span·class="p">,</span></code></pre>4861 otherwise·<code·class="inline">false</code>·(also·for·unknown·keys).</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">is_supported</span><span·class="p"·data-group-id="4501159257-1">(</span><span·class="ss">local</span><span·class="p"·data-group-id="4501159257-1">)</span><span·class="p">,</span></code></pre>
4862 ··</section>4862 ··</section>
4863 </section>4863 </section>
4864 <section·class="detail"·id="is_supported/2">4864 <section·class="detail"·id="is_supported/2">
  
4865 ··<div·class="detail-header">4865 ··<div·class="detail-header">
4866 ····<a·href="#is_supported/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">4866 ····<a·href="#is_supported/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
4867 ······<i·class="ri-link-m"·aria-hidden="true"></i>4867 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 4886, 15 lines modifiedOffset 4886, 15 lines modified
4886 ······<div·class="specs">4886 ······<div·class="specs">
  
4887 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_supported(Key1·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·Key2·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>4887 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_supported(Key1·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·Key2·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>
  
4888 ······</div>4888 ······</div>
  
4889 <p>Check·if·a·socket·feature·is·supported.</p><p>Returns·<code·class="inline">true</code>·if·<a·href="#supports/1"><code·class="inline">supports(Key1)</code></a>·has·a·<code·class="inline">{Key2,·true}</code>·tuple4889 <p>Check·if·a·socket·feature·is·supported.</p><p>Returns·<code·class="inline">true</code>·if·<a·href="#supports/1"><code·class="inline">supports(Key1)</code></a>·has·a·<code·class="inline">{Key2,·true}</code>·tuple
4890 in·its·returned·list,·otherwise·<code·class="inline">false</code>·(also·for·unknown·keys).</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">is_supported</span><span·class="p"·data-group-id="1815009047-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="1815009047-1">)</span><span·class="p">,</span></code></pre>4890 in·its·returned·list,·otherwise·<code·class="inline">false</code>·(also·for·unknown·keys).</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">is_supported</span><span·class="p"·data-group-id="1398532567-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="1398532567-1">)</span><span·class="p">,</span></code></pre>
4891 ··</section>4891 ··</section>
4892 </section>4892 </section>
4893 <section·class="detail"·id="listen/1">4893 <section·class="detail"·id="listen/1">
  
4894 ··<div·class="detail-header">4894 ··<div·class="detail-header">
4895 ····<a·href="#listen/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">4895 ····<a·href="#listen/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
4896 ······<i·class="ri-link-m"·aria-hidden="true"></i>4896 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 4977, 15 lines modifiedOffset 4977, 15 lines modified
  
4977 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor(Socket·::·<a·href="#t:socket/0">socket</a>())·->·MonitorRef·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0">reference</a>().</pre>4977 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor(Socket·::·<a·href="#t:socket/0">socket</a>())·->·MonitorRef·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0">reference</a>().</pre>
  
4978 ······</div>4978 ······</div>
  
4979 <p>Start·a·socket·monitor.</p><p>If·the·<code·class="inline">Socket</code>·doesn't·exist·or·when·later·the·monitor·is·triggered,4979 <p>Start·a·socket·monitor.</p><p>If·the·<code·class="inline">Socket</code>·doesn't·exist·or·when·later·the·monitor·is·triggered,
4980 a·<code·class="inline">'DOWN'</code>·message·is·sent·to·the·process·that·called·<a·href="#monitor/1"><code·class="inline">monitor/1</code></a>4980 a·<code·class="inline">'DOWN'</code>·message·is·sent·to·the·process·that·called·<a·href="#monitor/1"><code·class="inline">monitor/1</code></a>
4981 with·the·following·pattern:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»       ····</span><span·class="p"·data-group-id="3090423618-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:·19e51133ce82c2358283d6dfcdbad531f529ea00caacd76a2a44b320efbdb6ed·...·]-1">}</span></code></pre><p><code·class="inline">Info</code>·is·the·termination·reason·of·the·socket·or·<code·class="inline">nosock</code>·if4981 with·the·following·pattern:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»       ····</span><span·class="p"·data-group-id="1605965915-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:·5b70202897d22b3fada405e8b8f18c22daa7c2d37be16c7a37173263a09b0787·...·]-1">}</span></code></pre><p><code·class="inline">Info</code>·is·the·termination·reason·of·the·socket·or·<code·class="inline">nosock</code>·if
4982 <code·class="inline">Socket</code>·did·not·exist·when·the·monitor·was·started.</p><p>Making·several·calls·to·<a·href="#monitor/1"><code·class="inline">socket:monitor/1</code></a>·for·the·same·<code·class="inline">Socket</code>·is·not·an4982 <code·class="inline">Socket</code>·did·not·exist·when·the·monitor·was·started.</p><p>Making·several·calls·to·<a·href="#monitor/1"><code·class="inline">socket:monitor/1</code></a>·for·the·same·<code·class="inline">Socket</code>·is·not·an
4983 error;·each·call·creates·an·independent·monitor·instance.</p>4983 error;·each·call·creates·an·independent·monitor·instance.</p>
4984 ··</section>4984 ··</section>
4985 </section>4985 </section>
4986 <section·class="detail"·id="number_of/0">4986 <section·class="detail"·id="number_of/0">
  
4987 ··<div·class="detail-header">4987 ··<div·class="detail-header">
Offset 7111, 15 lines modifiedOffset 7111, 15 lines modified
7111 ······<p·class="built-using">7111 ······<p·class="built-using">
7112 ········Built·using7112 ········Built·using
7113 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the7113 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
7114 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>7114 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
7115 ······</p>7115 ······</p>
7116 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>7116 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
7117 ····</footer>7117 ····</footer>
Max diff block lines reached; 154/33529 bytes (0.46%) of diff not shown.
832 B
html2text {}
Max HTML report size reached
114 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/socket_usage.html
    
Offset 182, 244 lines modifiedOffset 182, 244 lines modified
182 effects·<em>that</em>·specific·socket).</p><h2·id="example"·class="section-heading">182 effects·<em>that</em>·specific·socket).</p><h2·id="example"·class="section-heading">
183 ··<a·href="#example"·class="hover-link">183 ··<a·href="#example"·class="hover-link">
184 ····<i·class="ri-link-m"·aria-hidden="true"></i>184 ····<i·class="ri-link-m"·aria-hidden="true"></i>
185 ··</a>185 ··</a>
186 ··<span·class="text">Example</span>186 ··<span·class="text">Example</span>
187 </h2>187 </h2>
188 <p>This·example·is·intended·to·show·how·to·create·a·simple·(echo)·server188 <p>This·example·is·intended·to·show·how·to·create·a·simple·(echo)·server
189 (and·client).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8016638276-1">(</span><span·class="ss">example</span><span·class="p"·data-group-id="8016638276-1">)</span><span·class="p">.</span><span·class="w">189 (and·client).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2171421079-1">(</span><span·class="ss">example</span><span·class="p"·data-group-id="2171421079-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="8016638276-2">(</span><span·class="p"·data-group-id="8016638276-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:·82b2e3e0f619034c1bcc72f2421d72102956eeeb23eddefd0b3ae0c792cc5407·...·]-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="2171421079-2">(</span><span·class="p"·data-group-id="2171421079-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:·415110bd575c4c770ea006120a2fca2292713e6ccc6f6c72c61230af6ad1a7a9·...·]-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="8016638276-4">(</span><span·class="p"·data-group-id="8016638276-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:·00f46b04146278d49e5fc0cae2fb47944f001ade78298aaabc50b60b818b4a0b·...·]-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="2171421079-4">(</span><span·class="p"·data-group-id="2171421079-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:·8a3be6be6d74b53bb9b6fa1ec009a1d08d92f44a482cd0c307fc8e1130938db5·...·]-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="8016638276-6">(</span><span·class="p"·data-group-id="8016638276-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="8016638276-7">}</[·...·truncated·by·diffoscope;·len:·229,·SHA:·8157036c8979af3a50c888be729c5b7362662406378c30d48f631da674c4935d·...·]-6">)</span><span·class="w">195 </span><span·class="nf">client</span><span·class="p"·data-group-id="2171421079-6">(</span><span·class="p"·data-group-id="2171421079-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="2171421079-7">}</[·...·truncated·by·diffoscope;·len:·229,·SHA:·a16abdde627e63dd862ca99ebb0a10a61e356601b4a3e23bc3c1c9c7337cfa28·...·]-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="8016638276-8">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="8016638276-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="8016638276-9"[·...·truncated·by·diffoscope;·len:·76,·SHA:·f8644b4eef76e7c2ff4d41e65e4e51ea915cdf3bfa3831a2e3b1c20badbe3e62·...·]-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="2171421079-8">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2171421079-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="2171421079-9"[·...·truncated·by·diffoscope;·len:·76,·SHA:·73b26b032f271a329a5b91727b12fe0b0250d346e70cc3dd375d3160d5f0ea7d·...·]-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
197 ····</span><span·class="p"·data-group-id="8016638276-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="8016638276-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·357,·SHA:·8976e9880fa78a7595073f45a9779e644a74e89aab5207ef47ddfbd0f666d8e6·...·]-11">)</span><span·class="p">,</span><span·class="w">197 ····</span><span·class="p"·data-group-id="2171421079-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="2171421079-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·357,·SHA:·f9616e622828c62a4b029307a41c9694f893f5541c28d1ad85f1da03342c8c91·...·]-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="8016638276-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="8016638276-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="2171421079-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="2171421079-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="8016638276-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="8016638276-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="2171421079-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="2171421079-13">)</span><span·class="p">,</span><span·class="w">
200 ····</span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="8016638276-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="8016638276-14">)</span><span·class="p">;</span><span·class="w">200 ····</span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="2171421079-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="2171421079-14">)</span><span·class="p">;</span><span·class="w">
  
201 </span><span·class="nf">client</span><span·class="p"·data-group-id="8016638276-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="8016638276-15">)</span><span·class="w">201 </span><span·class="nf">client</span><span·class="p"·data-group-id="2171421079-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="2171421079-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="8016638276-16">(</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="8016638276-16">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="8016638276-17">(</span><span·class="[·...·truncated·by·diffoscope;·len:·161,·SHA:·fec184891d558960f11ee768d20c82ad26c43976c752c9fa76da8477934ca145·...·]-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="2171421079-16">(</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="2171421079-16">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="2171421079-17">(</span><span·class="[·...·truncated·by·diffoscope;·len:·161,·SHA:·d8de667b2a499a39536a3eceb5fba1ede5c9b4671841af816e0fd23765031faf·...·]-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="8016638276-18">(</span><span·class="n">Family</span><span·class="p"·data-group-id="8016638276-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="2171421079-18">(</span><span·class="n">Family</span><span·class="p"·data-group-id="2171421079-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="8016638276-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="2171421079-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="8016638276-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="2171421079-19">}</span><span·class="p">,</span><span·class="w">
208 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="8016638276-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="8016638276-20">)</span><span·class="p">.</span><span·class="w">208 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="2171421079-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="2171421079-20">)</span><span·class="p">.</span><span·class="w">
  
209 </span><span·class="nf">client</span><span·class="p"·data-group-id="8016638276-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="8016638276-21">)</span><span·class="w">209 </span><span·class="nf">client</span><span·class="p"·data-group-id="2171421079-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="2171421079-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="8016638276-22">(</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="8016638276-22">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="8016638276-23">(</span><span·class="[·...·truncated·by·diffoscope;·len:·161,·SHA:·fec184891d558960f11ee768d20c82ad26c43976c752c9fa76da8477934ca145·...·]-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="2171421079-22">(</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="2171421079-22">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="2171421079-23">(</span><span·class="[·...·truncated·by·diffoscope;·len:·161,·SHA:·d8de667b2a499a39536a3eceb5fba1ede5c9b4671841af816e0fd23765031faf·...·]-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="8016638276-24">(</span><span·class="n">ServerAddr</span><span·class="p"·data-group-id="8016638276-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="2171421079-24">(</span><span·class="n">ServerAddr</span><span·class="p"·data-group-id="2171421079-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="8016638276-25">(</span><span·class="n">ServerAddr</span><span·class="p"·data-group-id="8016638276-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="2171421079-25">(</span><span·class="n">ServerAddr</span><span·class="p"·data-group-id="2171421079-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="8016638276-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="2171421079-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="8016638276-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="2171421079-26">}</span><span·class="p">,</span><span·class="w">
216 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="8016638276-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="8016638276-27">)</span><span·class="p">.</span><span·class="w">216 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="2171421079-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="2171421079-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="8016638276-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="8016638276-28">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·149,·SHA:·50c2405513dbf1658509257107a93338a739a56a466f651e42540935a22c2996·...·]-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="2171421079-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="2171421079-28">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·149,·SHA:·c57d844ae4e626c76092e7f138db12aa428a8b616d6b9f9e95a85a21f55ea0de·...·]-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="8016638276-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="8016638276-31">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="801663827[·...·truncated·by·diffoscope;·len:·55,·SHA:·e4583994b14738b04bbef38764adeba4339929fe4f605a8d29c249a023d22e56·...·]-30">)</span><span·class="p">;</span><span·class="w">219 ····</span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="2171421079-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="2171421079-31">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="217142107[·...·truncated·by·diffoscope;·len:·55,·SHA:·271eee9395b9855ba4aebc2c499915399d8f4a29a2cd313b697f1e3fdd97396c·...·]-30">)</span><span·class="p">;</span><span·class="w">
220 </span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="8016638276-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="8016638276-32">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·151,·SHA:·da1a3aa51e71df2422c6737f4f9025942b1ab655e41f493cda95c377c30ea70f·...·]-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="2171421079-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="2171421079-32">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·151,·SHA:·a7c8bf0ba5805e0701467430f0a6f2a4187bc53eab0adae256c060c6feecf5a7·...·]-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="8016638276-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="8016638276-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="2171421079-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="2171421079-34">)</span><span·class="p">,</span><span·class="w">
222 ····</span><span·class="p"·data-group-id="8016638276-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="8016638276-35">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·492,·SHA:·cabb7b944399fe1ced4da1edfd7535e855b68c3ffbda4e760df74f434ccef287·...·]-36">)</span><span·class="p">,</span><span·class="w">222 ····</span><span·class="p"·data-group-id="2171421079-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="2171421079-35">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·492,·SHA:·8b964b4c8187343300ae838458d13fe064ae820447ec9cd0310608e9a93b8c08·...·]-36">)</span><span·class="p">,</span><span·class="w">
223 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">223 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
  
224 </span><span·class="c1">%%·======================================================================</span><span·class="w">224 </span><span·class="c1">%%·======================================================================</span><span·class="w">
  
225 </span><span·class="c1">%%·===·Server·===</span><span·class="w">225 </span><span·class="c1">%%·===·Server·===</span><span·class="w">
  
226 </span><span·class="nf">server</span><span·class="p"·data-group-id="8016638276-38">(</span><span·class="p"·data-group-id="8016638276-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">226 </span><span·class="nf">server</span><span·class="p"·data-group-id="2171421079-38">(</span><span·class="p"·data-group-id="2171421079-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
227 ····</span><span·class="c1">%%·Make·system·choose·port·(and·address)</span><span·class="w">227 ····</span><span·class="c1">%%·Make·system·choose·port·(and·address)</span><span·class="w">
228 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="8016638276-39">(</span><span·class="mi">0</span><span·class="p"·data-group-id="8016638276-39">)</span><span·class="p">.</span><span·class="w">228 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="2171421079-39">(</span><span·class="mi">0</span><span·class="p"·data-group-id="2171421079-39">)</span><span·class="p">.</span><span·class="w">
  
229 </span><span·class="c1">%%·This·function·return·the·port·and·address·that·it·actually·uses,</span><span·class="w">229 </span><span·class="c1">%%·This·function·return·the·port·and·address·that·it·actually·uses,</span><span·class="w">
230 </span><span·class="c1">%%·in·case·server/0·or·server/1·(with·a·port·number)·was·used·to·start·it.</span><span·class="w">230 </span><span·class="c1">%%·in·case·server/0·or·server/1·(with·a·port·number)·was·used·to·start·it.</span><span·class="w">
  
231 </span><span·class="nf">server</span><span·class="p"·data-group-id="8016638276-40">(</span><span·class="p"·data-group-id="8016638276-41">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·501,·SHA:·e69f15df69649fdf7f263924a50791efb7643270d73577e349c1bc2b603e0e0a·...·]-40">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 </span><span·class="nf">server</span><span·class="p"·data-group-id="2171421079-40">(</span><span·class="p"·data-group-id="2171421079-41">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·501,·SHA:·a330d8d48494c442dee7e3dc9b38d511b1ebf9365383266754e073bedc6acf97·...·]-40">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="p"·data-group-id="8016638276-42">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="8016638276-42">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·353,·SHA:·976db01c3b6b6be511d48f638266273dea41a0a8a77173434b699098ece75797·...·]-43">)</span><span·class="p">,</span><span·class="w">232 ····</span><span·class="p"·data-group-id="2171421079-42">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="2171421079-42">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·353,·SHA:·e44bbc1b2ac4276350be4b8ffb8c4123002251a97902cb010969a96e9e4faf70·...·]-43">)</span><span·class="p">,</span><span·class="w">
233 ····</span><span·class="ss">ok</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">bind</span><span·class="p"·data-group-id="8016638276-44">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="8016638276-44">)</span><span·class="p">,</span><span·class="w">233 ····</span><span·class="ss">ok</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">bind</span><span·class="p"·data-group-id="2171421079-44">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="2171421079-44">)</span><span·class="p">,</span><span·class="w">
234 ····</span><span·class="ss">ok</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">listen</span><span·class="p"·data-group-id="8016638276-45">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="8016638276-45">)</span><span·class="p">,</span><span·class="w">234 ····</span><span·class="ss">ok</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">listen</span><span·class="p"·data-group-id="2171421079-45">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2171421079-45">)</span><span·class="p">,</span><span·class="w">
235 ····</span><span·class="p"·data-group-id="8016638276-46">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8016638276-47">#{</span><span·class="ss">port</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·412,·SHA:·76ebb25acfde60f06e2320e9e8d58da248880b81dcaccf6c09a6f8c5a5d5fb21·...·]-48">)</span><span·class="p">,</span><span·class="w">235 ····</span><span·class="p"·data-group-id="2171421079-46">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2171421079-47">#{</span><span·class="ss">port</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·412,·SHA:·db7a8876f8485615b913ea75542e59ba07902f4fc7c5f4051df64e018974ba9a·...·]-48">)</span><span·class="p">,</span><span·class="w">
236 ····</span><span·class="n">Acceptor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">start_acceptor</span><span·class="p"·data-group-id="8016638276-49">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="8016638276-49">)</span><span·class="p">,</span><span·class="w">236 ····</span><span·class="n">Acceptor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">start_acceptor</span><span·class="p"·data-group-id="2171421079-49">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2171421079-49">)</span><span·class="p">,</span><span·class="w">
237 ····</span><span·class="p"·data-group-id="8016638276-50">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8016638276-51">{</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:·920291c23f9114ab9a002994cae63eee03f65f03bcd26cd3938dc0603bcc845b·...·]-50">}</span><span·class="p">;</span><span·class="w">237 ····</span><span·class="p"·data-group-id="2171421079-50">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2171421079-51">{</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:·e669326f71383b9d86e47314a16aa22e5f6073dff6959b207dc0043bfd589c5e·...·]-50">}</span><span·class="p">;</span><span·class="w">
  
238 </span><span·class="nf">server</span><span·class="p"·data-group-id="8016638276-52">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8016638276-52">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="8016638276-5[·...·truncated·by·diffoscope;·len:·79,·SHA:·75c9661e86e2b7dc8c3724196f597c24a0573e805517d227252ea6fda9a815fa·...·]-53">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">238 </span><span·class="nf">server</span><span·class="p"·data-group-id="2171421079-52">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2171421079-52">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="2171421079-5[·...·truncated·by·diffoscope;·len:·79,·SHA:·411e8754dd557c071d3d490ce82f9e9655be06d387fb6dd7adc83e4791a5b0e8·...·]-53">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
239 ····</span><span·class="n">Family</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Default</span><span·class="w">239 ····</span><span·class="n">Family</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Default</span><span·class="w">
240 ····</span><span·class="n">Addr</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">get_local_addr</span><span·class="p"·data-group-id="8016638276-54">(</span><span·class="n">Family</span><span·class="p"·data-group-id="8016638276-54">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Pick·an·address</span><span·class="w">240 ····</span><span·class="n">Addr</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">get_local_addr</span><span·class="p"·data-group-id="2171421079-54">(</span><span·class="n">Family</span><span·class="p"·data-group-id="2171421079-54">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Pick·an·address</span><span·class="w">
241 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8016638276-55">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">241 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2171421079-55">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">
242 »       »       ·</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">242 »       »       ·</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">
243 »       »       ·</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="8016638276-55">}</span><span·class="p">,</span><span·class="w">243 »       »       ·</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="2171421079-55">}</span><span·class="p">,</span><span·class="w">
244 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="8016638276-56">(</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="8016638276-56">)</span><span·class="p">.</span><span·class="w">244 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="2171421079-56">(</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="2171421079-56">)</span><span·class="p">.</span><span·class="w">
  
245 </span><span·class="nf">server</span><span·class="p"·data-group-id="8016638276-57">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p"·data-group-id="8016638276-57">)</span><span·class="w">245 </span><span·class="nf">server</span><span·class="p"·data-group-id="2171421079-57">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p"·data-group-id="2171421079-57">)</span><span·class="w">
246 ··</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="8016638276-58">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8016638276-58">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="8016638276-59">(</span><span·class="n">Por[·...·truncated·by·diffoscope;·len:·150,·SHA:·1a66d42a1c1a4228c6add5715af6d77b5a7843a0809464ca206ade2de07b7749·...·]-59">)</span><span·class="w">·</span><span·class="ow">andalso</span><span·class="w">246 ··</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="2171421079-58">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2171421079-58">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="2171421079-59">(</span><span·class="n">Por[·...·truncated·by·diffoscope;·len:·150,·SHA:·5f8a89b8b3b003b2ab2de093f171fa178fb2a473c0c543aa66735fc4b711d624·...·]-59">)</span><span·class="w">·</span><span·class="ow">andalso</span><span·class="w">
247 ·······</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="8016638276-60">(</span><span·class="n">Addr</span><span·class="p"·data-group-id="8016638276-60">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">247 ·······</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="2171421079-60">(</span><span·class="n">Addr</span><span·class="p"·data-group-id="2171421079-60">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
248 ····</span><span·class="n">Family</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">which_family</span><span·class="p"·data-group-id="8016638276-61">(</span><span·class="n">Addr</span><span·class="p"·data-group-id="8016638276-61">)</span><span·class="p">,</span><span·class="w">248 ····</span><span·class="n">Family</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">which_family</span><span·class="p"·data-group-id="2171421079-61">(</span><span·class="n">Addr</span><span·class="p"·data-group-id="2171421079-61">)</span><span·class="p">,</span><span·class="w">
249 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8016638276-62">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">249 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2171421079-62">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">
250 »       »       ·</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">250 »       »       ·</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">
251 »       »       ·</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="8016638276-62">}</span><span·class="p">,</span><span·class="w">251 »       »       ·</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="2171421079-62">}</span><span·class="p">,</span><span·class="w">
252 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="8016638276-63">(</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="8016638276-63">)</span><span·class="p">.</span><span·class="w">252 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="2171421079-63">(</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="2171421079-63">)</span><span·class="p">.</span><span·class="w">
  
  
253 </span><span·class="c1">%%·---·Echo·Server·-·Acceptor·---</span><span·class="w">253 </span><span·class="c1">%%·---·Echo·Server·-·Acceptor·---</span><span·class="w">
  
254 </span><span·class="nf">start_acceptor</span><span·class="p"·data-group-id="8016638276-64">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="8016638276-64">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">254 </span><span·class="nf">start_acceptor</span><span·class="p"·data-group-id="2171421079-64">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="2171421079-64">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
255 ····</span><span·class="n">Self</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="8016638276-65">(</span><span·class="p"·data-group-id="8016638276-65">)</span><span·class="p">,</span><span·class="w">255 ····</span><span·class="n">Self</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="2171421079-65">(</span><span·class="p"·data-group-id="2171421079-65">)</span><span·class="p">,</span><span·class="w">
256 ····</span><span·class="p"·data-group-id="8016638276-66">{</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p"·data-group-id="8016638276-66">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·635,·SHA:·52f5ab48c5e0d8802c51b7735dc4e132a265a2df35cbcebd23aad38c183b5bae·...·]-67">)</span><span·class="p">,</span><span·class="w">256 ····</span><span·class="p"·data-group-id="2171421079-66">{</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p"·data-group-id="2171421079-66">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·635,·SHA:·f6d7781e684cbe084bc55205c261b4a1fe9a826e4d2e73187ca3187c1451820f·...·]-67">)</span><span·class="p">,</span><span·class="w">
257 ····</span><span·class="k">receive</span><span·class="w">257 ····</span><span·class="k">receive</span><span·class="w">
258 »       </span><span·class="p"·data-group-id="8016638276-70">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·149,·SHA:·992d8b916a6e36e01e902987790462ab9f5fa8e7755d454aeb53cc6050901b15·...·]-70">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">258 »       </span><span·class="p"·data-group-id="2171421079-70">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·149,·SHA:·808ab798b75337e1c6ad94a5460145e2fb931f7f8021cc616a0f0f3301585d92·...·]-70">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
259 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="8016638276-71">(</span><span·class="p"·data-group-id="8016638276-72">{</span><span·class="ss">failed_starting_acceptor</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p"·data-group-id="8016638276-72">}</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·4a060d6d13ac6bc8d64c22b0c63bf6f471890b2439f50a174bb3f28f0c86c8f5·...·]-71">)</span><span·class="p">;</span><span·class="w">259 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="2171421079-71">(</span><span·class="p"·data-group-id="2171421079-72">{</span><span·class="ss">failed_starting_acceptor</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p"·data-group-id="2171421079-72">}</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·3e7bd6b04a30ad6c97cb559f0aab44d06e422ad418ef5dc89de0794c7b21c8b0·...·]-71">)</span><span·class="p">;</span><span·class="w">
260 »       </span><span·class="p"·data-group-id="8016638276-73">{</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">started</span><span·class="p"·data-group-id="8016638276-73">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">260 »       </span><span·class="p"·data-group-id="2171421079-73">{</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">started</span><span·class="p"·data-group-id="2171421079-73">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
261 »       ····</span><span·class="c1">%%·Transfer·ownership</span><span·class="w">261 »       ····</span><span·class="c1">%%·Transfer·ownership</span><span·class="w">
262 »       ····</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">setopt</span><span·class="p"·data-group-id="8016638276-74">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">otp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">owner</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·62,·SHA:·8812a3e8f63275493354a0d0c47903a2aa7fd721d33abd30a53942ebe47cfc3c·...·]-74">)</span><span·class="p">,</span><span·class="w">262 »       ····</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">setopt</span><span·class="p"·data-group-id="2171421079-74">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">otp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">owner</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·62,·SHA:·721f7fd42da149275ca904e55db0bbc35f6a51e792fb3888d052db8fe9facb1c·...·]-74">)</span><span·class="p">,</span><span·class="w">
263 »       ····</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="8016638276-75">{</span><span·class="nf">self</span><span·class="p"·data-group-id="8016638276-76">(</span><span·class="p"·data-group-id="8016638276-76">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·c1666745ad53069c8c00ec33b1d0d4d102e6cdd2ec3678b9c40e6ae3f632e755·...·]-75">}</span><span·class="p">,</span><span·class="w">263 »       ····</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2171421079-75">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2171421079-76">(</span><span·class="p"·data-group-id="2171421079-76">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·f16c314db2234ec136a0d0fea31a3abed3a433f0437e923ae274c4568ca41521·...·]-75">}</span><span·class="p">,</span><span·class="w">
264 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="8016638276-77">(</span><span·class="n">MRef</span><span·class="p"·data-group-id="8016638276-77">)</span><span·class="p">,</span><span·class="w">264 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="2171421079-77">(</span><span·class="n">MRef</span><span·class="p"·data-group-id="2171421079-77">)</span><span·class="p">,</span><span·class="w">
265 »       ····</span><span·class="n">Pid</span><span·class="w">265 »       ····</span><span·class="n">Pid</span><span·class="w">
266 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">266 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
267 ····267 ····
268 </span><span·class="nf">acceptor_init</span><span·class="p"·data-group-id="8016638276-78">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">LSock</span><span·class="p"·data-group-id="8016638276-78">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">268 </span><span·class="nf">acceptor_init</span><span·class="p"·data-group-id="2171421079-78">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">LSock</span><span·class="p"·data-group-id="2171421079-78">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
269 ····</span><span·class="n">Parent</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="8016638276-79">{</span><span·class="nf">self</span><span·class="p"·data-group-id="8016638276-80">(</span><span·class="p"·data-group-id="8016638276-80">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">started</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·365ed06a87395154042305485e37c7bf9c32f1566799d19dc6d44ce6b4ae0619·...·]-79">}</span><span·class="p">,</span><span·class="w">269 ····</span><span·class="n">Parent</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2171421079-79">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2171421079-80">(</span><span·class="p"·data-group-id="2171421079-80">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">started</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·d566e260ef1af1bbe72d3bfafd7059110d2af9a3a0d7fc9e744b97a1e79bbfd7·...·]-79">}</span><span·class="p">,</span><span·class="w">
270 ····</span><span·class="k">receive</span><span·class="w">270 ····</span><span·class="k">receive</span><span·class="w">
271 »       </span><span·class="p"·data-group-id="8016638276-81">{</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="p"·data-group-id="8016638276-81">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">271 »       </span><span·class="p"·data-group-id="2171421079-81">{</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="p"·data-group-id="2171421079-81">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
272 »       ····</span><span·class="ss">ok</span><span·class="w">272 »       ····</span><span·class="ss">ok</span><span·class="w">
273 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">273 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
274 ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="8016638276-82">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="8016638276-82">)</span><span·class="p">.</span><span·class="w">274 ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="2171421079-82">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="2171421079-82">)</span><span·class="p">.</span><span·class="w">
  
275 </span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="8016638276-83">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="8016638276-83">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">275 </span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="2171421079-83">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="2171421079-83">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
276 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">accept</span><span·class="p"·data-group-id="8016638276-84">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="p"·data-group-id="8016638276-84">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">276 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">accept</span><span·class="p"·data-group-id="2171421079-84">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="p"·data-group-id="2171421079-84">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
277 »       </span><span·class="p"·data-group-id="8016638276-85">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ASock</span><span·class="p"·data-group-id="8016638276-85">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">277 »       </span><span·class="p"·data-group-id="2171421079-85">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ASock</span><span·class="p"·data-group-id="2171421079-85">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
278 »       ····</span><span·class="nf">start_handler</span><span·class="p"·data-group-id="8016638276-86">(</span><span·class="n">ASock</span><span·class="p"·data-group-id="8016638276-86">)</span><span·class="p">,</span><span·class="w">278 »       ····</span><span·class="nf">start_handler</span><span·class="p"·data-group-id="2171421079-86">(</span><span·class="n">ASock</span><span·class="p"·data-group-id="2171421079-86">)</span><span·class="p">,</span><span·class="w">
279 »       ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="8016638276-87">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="8016638276-87">)</span><span·class="p">;</span><span·class="w">279 »       ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="2171421079-87">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="2171421079-87">)</span><span·class="p">;</span><span·class="w">
280 »       </span><span·class="p"·data-group-id="8016638276-88">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8016638276-88">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">280 »       </span><span·class="p"·data-group-id="2171421079-88">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="2171421079-88">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
281 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="8016638276-89">(</span><span·class="p"·data-group-id="8016638276-90">{</span><span·class="ss">accept_failed</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8016638276-90">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·6d83dd9157bf4a61912396ec48cb30053e495e686d93e73c0f6a52e70c9c6e3a·...·]-89">)</span><span·class="w">281 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="2171421079-89">(</span><span·class="p"·data-group-id="2171421079-90">{</span><span·class="ss">accept_failed</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="2171421079-90">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·1fa2526ab50e64c7151f00c22621672c9ed519b687b499f4c21f57eac25dbce7·...·]-89">)</span><span·class="w">
282 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">282 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
  
283 </span><span·class="c1">%%·---·Echo·Server·-·Handler·---</span><span·class="w">283 </span><span·class="c1">%%·---·Echo·Server·-·Handler·---</span><span·class="w">
  
284 </span><span·class="nf">start_handler</span><span·class="p"·data-group-id="8016638276-91">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="8016638276-91">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">284 </span><span·class="nf">start_handler</span><span·class="p"·data-group-id="2171421079-91">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2171421079-91">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
285 ····</span><span·class="n">Self</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="8016638276-92">(</span><span·class="p"·data-group-id="8016638276-92">)</span><span·class="p">,</span><span·class="w">285 ····</span><span·class="n">Self</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="2171421079-92">(</span><span·class="p"·data-group-id="2171421079-92">)</span><span·class="p">,</span><span·class="w">
286 ····</span><span·class="p"·data-group-id="8016638276-93">{</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="8016638276-93">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·633,·SHA:·2c64dc1b125bc003cffc7605cb2316133fe0b1d4b8f63e89e07efb5577c6e8ba·...·]-94">)</span><span·class="p">,</span><span·class="w">286 ····</span><span·class="p"·data-group-id="2171421079-93">{</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="2171421079-93">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·633,·SHA:·4c777fdf22ac28bb810593f730f30fad90e4c10c218487e5c03bff3d0c139f58·...·]-94">)</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 53625/116082 bytes (46.20%) of diff not shown.
677 B
html2text {}
Max HTML report size reached
42.1 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/trace.html
    
Offset 142, 31 lines modifiedOffset 142, 31 lines modified
142 </h2>142 </h2>
143 <p>All·tracing·is·done·within·a·trace·session.·Trace·sessions·can·be143 <p>All·tracing·is·done·within·a·trace·session.·Trace·sessions·can·be
144 <a·href="#session_create/3">created</a>·and·<a·href="#session_destroy/1">destroyed</a>144 <a·href="#session_create/3">created</a>·and·<a·href="#session_destroy/1">destroyed</a>
145 dynamically.·Each·session·has·its·own·tracer·that·will·receive·all·trace145 dynamically.·Each·session·has·its·own·tracer·that·will·receive·all·trace
146 messages.·Several·sessions·can·exist·at·the·same·time·without·interfering·with146 messages.·Several·sessions·can·exist·at·the·same·time·without·interfering·with
147 each·other.·When·a·trace·session·is·destroyed,·all·its·trace·settings·are147 each·other.·When·a·trace·session·is·destroyed,·all·its·trace·settings·are
148 automatically·cleaned·up.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Create·a·tracer·process·that·will·receive·the·trace·events</span><span·class="gp·unselectable">148 automatically·cleaned·up.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Create·a·tracer·process·that·will·receive·the·trace·events</span><span·class="gp·unselectable">
149 1&gt;·</span><span·class="n">Tracer</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2259431469-1">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="2259431469-2">(</span><span·class="p"·data-group-id="2259431469-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><s[·...·truncated·by·diffoscope;·len:·945,·SHA:·24a058b87bb163ffc33b014132acc03ffa41430ed5bab4e6439896f24d094de2·...·]-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="8315142887-1">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="8315142887-2">(</span><span·class="p"·data-group-id="8315142887-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><s[·...·truncated·by·diffoscope;·len:·945,·SHA:·fb65e9779ebd834099bf945b22128e1a591f0bc1bc5f67ac3669b592953a2639·...·]-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="2259431469-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="2259431469-7">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·ed8c8b1a60d9c4b0bf937670dea0ddb1bb7d999e1f6bb32aab0138b5f3f5f2ee·...·]-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="8315142887-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="8315142887-7">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·462a4bc28a0840511e3bcd8349617607612ef5dee8c066feacd64c3eaf3f822c·...·]-6">)</span><span·class="p">.</span><span·class="w">
153 </span><span·class="p"·data-group-id="2259431469-8">{</span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.1543805153</span><span·class="p">.</span><span·class="mf">1548353537.92331</span><span·class="o">&gt;</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·248,·SHA:·35e6453bfe4769ef72c0e9b1899a2c1e30c9876b15416752ad428ce517fa70b5·...·]-8">}</span><span·class="w">153 </span><span·class="p"·data-group-id="8315142887-8">{</span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.1543805153</span><span·class="p">.</span><span·class="mf">1548353537.92331</span><span·class="o">&gt;</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·248,·SHA:·fc2d57aa95fe9bf352e034cf5a2b560395a69ee7df5e0403f88a0c82a20cd90c·...·]-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="2259431469-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="2259431469-11">(</span><span·class="p"·data-group-id="2259431469-11">)</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·282,·SHA:·34a4256d244505fe046b9680fd438b87923d2b2aa7b8ada00388fbcecf372638·...·]-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="8315142887-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="8315142887-11">(</span><span·class="p"·data-group-id="8315142887-11">)</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·282,·SHA:·17abaa23bbf54dc2f4357b74de9f5f9775076695f0e0ba4e6f23f0db51a3481b·...·]-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="2259431469-13">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2259431469-14">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">seq</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·435,·SHA:·a7b6c18a1ff578084aa3fb04c95a0af7f3d123d555a1cb91b69fb5209ed4da72·...·]-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="8315142887-13">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8315142887-14">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">seq</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·435,·SHA:·e5f049a8d3ee9167301f1280be9d799082428058c460ef2c850b93760e2ae744·...·]-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="2259431469-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="2259431469-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="8315142887-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="8315142887-17">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="p"·data-group-id="2259431469-18">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.89</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="ss">call</sp[·...·truncated·by·diffoscope;·len:·463,·SHA:·25532588bdf175ec8410945ff974196a0250bbf88de858334e7e1b6ac7b56282·...·]-18">}</span><span·class="w">·</span><span·class="c1">%·The·trace·message</span><span·class="w">162 </span><span·class="p"·data-group-id="8315142887-18">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.89</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="ss">call</sp[·...·truncated·by·diffoscope;·len:·463,·SHA:·aa86d32fa9ec91a24ff76472dc1c637c548b311e97770692d3fb8e51d6599a52·...·]-18">}</span><span·class="w">·</span><span·class="c1">%·The·trace·message</span><span·class="w">
163 </span><span·class="p"·data-group-id="2259431469-21">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class=[·...·truncated·by·diffoscope;·len:·275,·SHA:·916d2bc06ee6cef7df69a170065ca1357c790c875b65f90484a2aad31d2b8ea3·...·]-21">]</span><span·class="w">·</span><span·class="c1">%·The·return·value</span><span·class="w">163 </span><span·class="p"·data-group-id="8315142887-21">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class=[·...·truncated·by·diffoscope;·len:·275,·SHA:·f1db4f93bdb2d69c74a68a4f30ca083a1f5339ca35cabbcea795b1c8d6a5c3cb·...·]-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="2259431469-22">(</span><span·class="n">Session</span><span·class="p"·data-group-id="2259431469-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="8315142887-22">(</span><span·class="n">Session</span><span·class="p"·data-group-id="8315142887-22">)</span><span·class="p">.</span><span·class="w">
166 </span><span·class="ss">ok</span></code></pre><h2·id="module-node-local-tracing-only"·class="section-heading">166 </span><span·class="ss">ok</span></code></pre><h2·id="module-node-local-tracing-only"·class="section-heading">
167 ··<a·href="#module-node-local-tracing-only"·class="hover-link">167 ··<a·href="#module-node-local-tracing-only"·class="hover-link">
168 ····<i·class="ri-link-m"·aria-hidden="true"></i>168 ····<i·class="ri-link-m"·aria-hidden="true"></i>
169 ··</a>169 ··</a>
170 ··<span·class="text">Node·Local·Tracing·Only</span>170 ··<span·class="text">Node·Local·Tracing·Only</span>
171 </h2>171 </h2>
172 <p>The·functions·in·this·module·only·operates·on·the·local·node.·That·is,·both·the172 <p>The·functions·in·this·module·only·operates·on·the·local·node.·That·is,·both·the
Offset 1418, 17 lines modifiedOffset 1418, 17 lines modified
1418 <code·class="inline">undefined</code>·if·the·sender·is·not·known·(which·can·be·the·case·for·remote1418 <code·class="inline">undefined</code>·if·the·sender·is·not·known·(which·can·be·the·case·for·remote
1419 senders).·<code·class="inline">Msg</code>·is·the·message·term.·The·pid·of·the·receiving·process·can·be1419 senders).·<code·class="inline">Msg</code>·is·the·message·term.·The·pid·of·the·receiving·process·can·be
1420 accessed·with·the·guard·function·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>.·An·empty·list·is·the·same·as1420 accessed·with·the·guard·function·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>.·An·empty·list·is·the·same·as
1421 <code·class="inline">true</code>.·For·more·information,·see·section1421 <code·class="inline">true</code>.·For·more·information,·see·section
1422 <a·href="../../../../erts-16.0/doc/html/match_spec.html">Match·Specifications·in·Erlang</a>·in·the·User's·Guide1422 <a·href="../../../../erts-16.0/doc/html/match_spec.html">Match·Specifications·in·Erlang</a>·in·the·User's·Guide
1423 for·the·ERTS·application.</p></li><li><p><strong><code·class="inline">true</code></strong>·-·Enable·tracing·for·all·received·messages·(to·<code·class="inline">'receive'</code>·traced1423 for·the·ERTS·application.</p></li><li><p><strong><code·class="inline">true</code></strong>·-·Enable·tracing·for·all·received·messages·(to·<code·class="inline">'receive'</code>·traced
1424 processes).·Any·match·specification·is·removed.·<em>This·is·the·default</em>.</p></li><li><p><strong><code·class="inline">false</code></strong>·-·Disable·tracing·for·all·received·messages.·Any·match1424 processes).·Any·match·specification·is·removed.·<em>This·is·the·default</em>.</p></li><li><p><strong><code·class="inline">false</code></strong>·-·Disable·tracing·for·all·received·messages.·Any·match
1425 specification·is·removed.</p></li></ul><p>Argument·<code·class="inline">FlagList</code>·must·be·<code·class="inline">[]</code>·for·receive·tracing.</p><p>The·return·value·is·always·<code·class="inline">1</code>.</p><p><em>Examples:</em></p><p>Only·trace·messages·from·a·specific·process·<code·class="inline">Pid</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="2758692017-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2758692017-2">[</span><span·class="p"·data-group-id="2758692017-3">{</span><span·class="p"·data-group-id="2758692017-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="2758692017-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="2758692017-5">[</span><span·class="p"·data-group-id="2758692017-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="2758692017-6">[</span><span·class="p"·data-group-id="2758692017-6">]</span><span·class="p"·data-group-id="2758692017-3">}</span><span·class="p"·data-group-id="2758692017-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2758692017-7">[</span><span·class="p"·data-group-id="2758692017-7">]</span><span·class="p"·data-group-id="2758692017-1">)</span><span·class="p">.</span><span·class="w"> 
1426 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·matching·<code·class="inline">{reply,·_}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="3082510608-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3082510608-2">[</span><span·class="p"·data-group-id="3082510608-3">{</span><span·class="p"·data-group-id="3082510608-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="3082510608-5">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="3082510608-5">}</span><span·class="p"·data-group-id="3082510608-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="3082510608-6">[</span><span·class="p"·data-group-id="3082510608-6">]</span><span·class="p">,</span><span·class="p"·data-group-id="3082510608-7">[</span><span·class="p"·data-group-id="3082510608-7">]</span><span·class="p"·data-group-id="3082510608-3">}</span><span·class="p"·data-group-id="3082510608-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3082510608-8">[</span><span·class="p"·data-group-id="3082510608-8">]</span><span·class="p"·data-group-id="3082510608-1">)</span><span·class="p">.</span><span·class="w"> 
1427 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·from·other·nodes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">recv</s[·...·truncated·by·diffoscope;·len:·1471,·SHA:·c472cd4f6cf4aa974827f79dc7fee9a650c574d3d2505cccc20c21dad812c4c6·...·]-1">)</span><span·class="p">.</span><span·class="w">1425 specification·is·removed.</p></li></ul><p>Argument·<code·class="inline">FlagList</code>·must·be·<code·class="inline">[]</code>·for·receive·tracing.</p><p>The·return·value·is·always·<code·class="inline">1</code>.</p><p><em>Examples:</em></p><p>Only·trace·me[·...·truncated·by·diffoscope;·len:·1310,·SHA:·b7d99d8f6ae3d75a4538d16230223fd47adefbcd61689950ad6be48402cacbf3·...·]-1">)</span><span·class="p">.</span><span·class="w">
 1426 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·matching·<code·class="inline">{reply,·_}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="4911609574-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4911609574-2">[</span><span·class="p"·data-group-id="4911609574-3">{</span><span·class="p"·data-group-id="4911609574-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="4911609574-5">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="4911609574-5">}</span><span·class="p"·data-group-id="4911609574-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="4911609574-6">[</span><span·class="p"·data-group-id="4911609574-6">]</span><span·class="p">,</span><span·class="p"·data-group-id="4911609574-7">[</span><span·class="p"·data-group-id="4911609574-7">]</span><span·class="p"·data-group-id="4911609574-3">}</span><span·class="p"·data-group-id="4911609574-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4911609574-8">[</span><span·class="p"·data-group-id="4911609574-8">]</span><span·class="p"·data-group-id="4911609574-1">)</span><span·class="p">.</span><span·class="w">
 1427 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·from·other·nodes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="8471150089-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8471150089-2">[</span><span·class="p"·data-group-id="8471150089-3">{</span><span·class="p"·data-group-id="8471150089-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="8471150089-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="8471150089-5">[</span><span·class="p"·data-group-id="8471150089-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="8471150089-7">{</span><span·class="nb">node</span><span·class="p"·data-group-id="8471150089-7">}</span><span·class="p"·data-group-id="8471150089-6">}</span><span·class="p"·data-group-id="8471150089-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="8471150089-8">[</span><span·class="p"·data-group-id="8471150089-8">]</span><span·class="p"·data-group-id="8471150089-3">}</span><span·class="p"·data-group-id="8471150089-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8471150089-9">[</span><span·class="p"·data-group-id="8471150089-9">]</span><span·class="p"·data-group-id="8471150089-1">)</span><span·class="p">.</span><span·class="w">
1428 </span><span·class="mi">1</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>A·match·specification·for·<code·class="inline">'receive'</code>·trace·can·use·all·guard·and·body1428 </span><span·class="mi">1</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>A·match·specification·for·<code·class="inline">'receive'</code>·trace·can·use·all·guard·and·body
1429 functions·except·<code·class="inline">caller</code>,·<code·class="inline">is_seq_trace</code>,·<code·class="inline">get_seq_token</code>,·<code·class="inline">set_seq_token</code>,1429 functions·except·<code·class="inline">caller</code>,·<code·class="inline">is_seq_trace</code>,·<code·class="inline">get_seq_token</code>,·<code·class="inline">set_seq_token</code>,
1430 <code·class="inline">enable_trace</code>,·<code·class="inline">disable_trace</code>,·<code·class="inline">trace</code>,·<code·class="inline">silent</code>,·and·<code·class="inline">process_dump</code>.</p></section><p>Fails·by·raising·an·error·exception·with·an·error·reason·of:</p><ul><li><p><strong><code·class="inline">badarg</code></strong>·-·If·an·argument·is·invalid.</p></li><li><p><strong><code·class="inline">system_limit</code></strong>·-·If·a·match·specification·passed·as·argument·has·excessive1430 <code·class="inline">enable_trace</code>,·<code·class="inline">disable_trace</code>,·<code·class="inline">trace</code>,·<code·class="inline">silent</code>,·and·<code·class="inline">process_dump</code>.</p></section><p>Fails·by·raising·an·error·exception·with·an·error·reason·of:</p><ul><li><p><strong><code·class="inline">badarg</code></strong>·-·If·an·argument·is·invalid.</p></li><li><p><strong><code·class="inline">system_limit</code></strong>·-·If·a·match·specification·passed·as·argument·has·excessive
1431 nesting·which·causes·scheduler·stack·exhaustion·for·the·scheduler·that·the1431 nesting·which·causes·scheduler·stack·exhaustion·for·the·scheduler·that·the
1432 calling·process·is·executing·on.1432 calling·process·is·executing·on.
1433 <a·href="../../../../erts-16.0/doc/html/erl_cmd.html#sched_thread_stack_size">Scheduler·stack·size</a>·can·be·configured1433 <a·href="../../../../erts-16.0/doc/html/erl_cmd.html#sched_thread_stack_size">Scheduler·stack·size</a>·can·be·configured
1434 when·starting·the·runtime·system.</p></li></ul>1434 when·starting·the·runtime·system.</p></li></ul>
Offset 1469, 18 lines modifiedOffset 1469, 18 lines modified
1469 the·list·<code·class="inline">[Receiver,·Msg]</code>.·<code·class="inline">Receiver</code>·is·the·process·or·port·identity·of·the1469 the·list·<code·class="inline">[Receiver,·Msg]</code>.·<code·class="inline">Receiver</code>·is·the·process·or·port·identity·of·the
1470 receiver·and·<code·class="inline">Msg</code>·is·the·message·term.·The·pid·of·the·sending·process·can·be1470 receiver·and·<code·class="inline">Msg</code>·is·the·message·term.·The·pid·of·the·sending·process·can·be
1471 accessed·with·the·guard·function·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>.·An·empty·list·is·the·same·as1471 accessed·with·the·guard·function·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>.·An·empty·list·is·the·same·as
1472 <code·class="inline">true</code>.·For·more·information,·see·section1472 <code·class="inline">true</code>.·For·more·information,·see·section
1473 <a·href="../../../../erts-16.0/doc/html/match_spec.html">Match·Specifications·in·Erlang</a>·in·the·User's·Guide1473 <a·href="../../../../erts-16.0/doc/html/match_spec.html">Match·Specifications·in·Erlang</a>·in·the·User's·Guide
1474 for·the·ERTS·application.</p></li><li><p><strong><code·class="inline">true</code></strong>·-·Enable·tracing·for·all·sent·messages·(from·<code·class="inline">send</code>·traced1474 for·the·ERTS·application.</p></li><li><p><strong><code·class="inline">true</code></strong>·-·Enable·tracing·for·all·sent·messages·(from·<code·class="inline">send</code>·traced
1475 processes).·Any·match·specification·is·removed.</p></li><li><p><strong><code·class="inline">false</code></strong>·-·Disable·tracing·for·all·sent·messages.·Any·match·specification1475 processes).·Any·match·specification·is·removed.</p></li><li><p><strong><code·class="inline">false</code></strong>·-·Disable·tracing·for·all·sent·messages.·Any·match·specification
1476 is·removed.</p></li></ul><p>Argument·<code·class="inline">FlagList</code>·must·be·<code·class="inline">[]</code>.</p><p>The·return·value·is·always·<code·class="inline">1</code>.</p><p><em>Examples:</em></p><p>Only·trace·messages·to·a·specific·process·<code·class="inline">Pid</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="3098331894-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3098331894-2">[</span><span·class="p"·data-group-id="3098331894-3">{</span><span·class="p"·data-group-id="3098331894-4">[</spa[·...·truncated·by·diffoscope;·len:·725,·SHA:·703fb9a3f0400243c5aaed8cda1788bee038f7a9e4cd28d213ff70dbfd909870·...·]-1">)</span><span·class="p">.</span><span·class="w">1476 is·removed.</p></li></ul><p>Argument·<code·class="inline">FlagList</code>·must·be·<code·class="inline">[]</code>.</p><p>The·return·value·is·always·<code·class="inline">1</code>.</p><p><em>Examples:</em></p><p>Only·trace·messages·to·a·specific·process·<code·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="3146742425-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3146742425-2">[</span><span·class="p"·data-group-id="3146742425-3">{</span><span·class="p"·data-group-id="3146742425-4">[</spa[·...·truncated·by·diffoscope;·len:·725,·SHA:·fe31d439907d5f40ff02bfa21dabf19e6ef2cdf10252d0915e45a7c693ac8a5d·...·]-1">)</span><span·class="p">.</span><span·class="w">
1477 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·matching·<code·class="inline">{reply,·_}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="1504170385-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1504170385-2">[</span><span·class="p"·data-group-id="1504170385-3">{</span><span·class="p"·data-group-id="1504170385-4">[</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1504170385-5">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="1504170385-5">}</span><span·class="p"·data-group-id="1504170385-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="1504170385-6">[</span><span·class="p"·data-group-id="1504170385-6">]</span><span·class="p">,</span><span·class="p"·data-group-id="1504170385-7">[</span><span·class="p"·data-group-id="1504170385-7">]</span><span·class="p"·data-group-id="1504170385-3">}</span><span·class="p"·data-group-id="1504170385-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1504170385-8">[</span><span·class="p"·data-group-id="1504170385-8">]</span><span·class="p"·data-group-id="1504170385-1">)</span><span·class="p">.</span><span·class="w"> 
1478 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·sent·to·the·sender·itself:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="3252869980-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3252869980-2">[</span><span·class="p"·data-group-id="3252869980-3">{</span><span·class="p"·data-group-id="3252869980-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="3252869980-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="3252869980-5">[</span><span·class="p"·data-group-id="3252869980-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="3252869980-7">{</span><span·class="ss">self</span><span·class="p"·data-group-id="3252869980-7">}</span><span·class="p"·data-group-id="3252869980-6">}</span><span·class="p"·data-group-id="3252869980-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="3252869980-8">[</span><span·class="p"·data-group-id="3252869980-8">]</span><span·class="p"·data-group-id="3252869980-3">}</span><span·class="p"·data-group-id="3252869980-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3252869980-9">[</span><span·class="p"·data-group-id="3252869980-9">]</span><span·class="p"·data-group-id="3252869980-1">)</span><span·class="p">.</span><span·class="w"> 
1479 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·sent·to·other·nodes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="4894075062-1">(</span><span·cl[·...·truncated·by·diffoscope;·len:·1483,·SHA:·0bac13ac1a60b6cd172dd7238487e83626888c7fad10c01b5e39ef1afea2cf7a·...·]-1">)</span><span·class="p">.</span><span·class="w">1477 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·matching·<code·class="inline">{reply,·_}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="01[·...·truncated·by·diffoscope;·len:·1148,·SHA:·b9a2055a666529ccda4b45c7172c1428c66754eb7be5759a0d36ceceed32de4f·...·]-1">)</span><span·class="p">.</span><span·class="w">
 1478 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·sent·to·the·sender·itself:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="0803999469-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0803999469-2">[</span><span·class="p"·data-group-id="0803999469-3">{</span><span·class="p"·data-group-id="0803999469-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="0803999469-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="0803999469-5">[</span><span·class="p"·data-group-id="0803999469-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="0803999469-7">{</span><span·class="ss">self</span><span·class="p"·data-group-id="0803999469-7">}</span><span·class="p"·data-group-id="0803999469-6">}</span><span·class="p"·data-group-id="0803999469-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="0803999469-8">[</span><span·class="p"·data-group-id="0803999469-8">]</span><span·class="p"·data-group-id="0803999469-3">}</span><span·class="p"·data-group-id="0803999469-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0803999469-9">[</span><span·class="p"·data-group-id="0803999469-9">]</span><span·class="p"·data-group-id="0803999469-1">)</span><span·class="p">.</span><span·class="w">
 1479 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·sent·to·other·nodes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="0811405722-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0811405722-2">[</span><span·class="p"·data-group-id="0811405722-3">{</span><span·class="p"·data-group-id="0811405722-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="0811405722-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="0811405722-5">[</span><span·class="p"·data-group-id="0811405722-6">{</span><span·class="ss">&#39;=/=&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="0811405722-7">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="0811405722-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="0811405722-8">{</span><span·class="nb">node</span><span·class="p"·data-group-id="0811405722-8">}</span><span·class="p"·data-group-id="0811405722-6">}</span><span·class="p"·data-group-id="0811405722-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="0811405722-9">[</span><span·class="p"·data-group-id="0811405722-9">]</span><span·class="p"·data-group-id="0811405722-3">}</span><span·class="p"·data-group-id="0811405722-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0811405722-10">[</span><span·class="p"·data-group-id="0811405722-10">]</span><span·class="p"·data-group-id="0811405722-1">)</span><span·class="p">.</span><span·class="w">
1480 </span><span·class="mi">1</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>A·match·specification·for·<code·class="inline">send</code>·trace·can·use·all·guard·and·body·functions1480 </span><span·class="mi">1</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>A·match·specification·for·<code·class="inline">send</code>·trace·can·use·all·guard·and·body·functions
1481 except·<code·class="inline">caller</code>.</p></section><p>Fails·by·raising·an·error·exception·with·an·error·reason·of:</p><ul><li><p><strong><code·class="inline">badarg</code></strong>·-·If·an·argument·is·invalid.</p></li><li><p><strong><code·class="inline">system_limit</code></strong>·-·If·a·match·specification·passed·as·argument·has·excessive1481 except·<code·class="inline">caller</code>.</p></section><p>Fails·by·raising·an·error·exception·with·an·error·reason·of:</p><ul><li><p><strong><code·class="inline">badarg</code></strong>·-·If·an·argument·is·invalid.</p></li><li><p><strong><code·class="inline">system_limit</code></strong>·-·If·a·match·specification·passed·as·argument·has·excessive
1482 nesting·which·causes·scheduler·stack·exhaustion·for·the·scheduler·that·the1482 nesting·which·causes·scheduler·stack·exhaustion·for·the·scheduler·that·the
1483 calling·process·is·executing·on.1483 calling·process·is·executing·on.
1484 <a·href="../../../../erts-16.0/doc/html/erl_cmd.html#sched_thread_stack_size">Scheduler·stack·size</a>·can·be·configured1484 <a·href="../../../../erts-16.0/doc/html/erl_cmd.html#sched_thread_stack_size">Scheduler·stack·size</a>·can·be·configured
1485 when·starting·the·runtime·system.</p></li></ul>1485 when·starting·the·runtime·system.</p></li></ul>
1486 ··</section>1486 ··</section>
Offset 1713, 15 lines modifiedOffset 1713, 15 lines modified
1713 ······<p·class="built-using">1713 ······<p·class="built-using">
1714 ········Built·using1714 ········Built·using
1715 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1715 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1716 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1716 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1717 ······</p>1717 ······</p>
1718 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1718 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1719 ····</footer>1719 ····</footer>
1720 ··</div>1720 ··</div>
1721 </main>1721 </main>
1722 </div>1722 </div>
1723 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1723 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1724 ··<script>1724 ··<script>
1725 ··let·initialized·=·false;1725 ··let·initialized·=·false;
595 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/wrap_log_reader.html
    
Offset 530, 15 lines modifiedOffset 530, 15 lines modified
530 ······<p·class="built-using">530 ······<p·class="built-using">
531 ········Built·using531 ········Built·using
532 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the532 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
533 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>533 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
534 ······</p>534 ······</p>
535 <p>Copyright·©·1996-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.8/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.8/doc/html/api-reference.html
    
Offset 298, 15 lines modifiedOffset 298, 15 lines modified
298 ······<p·class="built-using">298 ······<p·class="built-using">
299 ········Built·using299 ········Built·using
300 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the300 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
301 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>301 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
302 ······</p>302 ······</p>
303 <p>Copyright·©·1996-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
348 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco.epub
8.38 KB
zipinfo {}
Max HTML report size reached
288 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
9.69 KB
OEBPS/megaco_user.xhtml
Max HTML report size reached
5.12 KB
OEBPS/megaco_examples.xhtml
Max HTML report size reached
21.6 KB
OEBPS/megaco_encode.xhtml
Max HTML report size reached
11.5 KB
OEBPS/megaco_debug.xhtml
Max HTML report size reached
2.66 KB
OEBPS/megaco.xhtml
Max HTML report size reached
1.23 KB
OEBPS/content.opf
Max HTML report size reached
4.08 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco.html
    
Offset 3072, 15 lines modifiedOffset 3072, 15 lines modified
  
3072 ··········<pre·translate="no"><span·class="attribute">-spec</span>·print_version_info(Versions)·->·<a·href="#t:void/0">void</a>()·when·Versions·::·[VersionInfo],·VersionInfo·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>3072 ··········<pre·translate="no"><span·class="attribute">-spec</span>·print_version_info(Versions)·->·<a·href="#t:void/0">void</a>()·when·Versions·::·[VersionInfo],·VersionInfo·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3073 ······</div>3073 ······</div>
  
3074 <p>Utility·function·to·produce·a·formated·printout·of·the·versions·info·generated3074 <p>Utility·function·to·produce·a·formated·printout·of·the·versions·info·generated
3075 by·the·<code·class="inline">versions1</code>·and·<code·class="inline">versions2</code>·functions.</p><p>The·function·print_version_info/0·uses·the·result·of·function·version1/0·as3075 by·the·<code·class="inline">versions1</code>·and·<code·class="inline">versions2</code>·functions.</p><p>The·function·print_version_info/0·uses·the·result·of·function·version1/0·as
3076 <code·class="inline">VersionInfo</code>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">···········</span><span·class="p"·data-group-id="7144055258-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="7144055258-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·441,·SHA:·7d3b00955cd9143d3c82bb72d47aeb3cef61a348d2da96da502e019e4d8058db·...·]-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="8892091290-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="8892091290-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·441,·SHA:·678cbb40ed40bf561aeae0940d16ad965a517cdb198c267a835ee643bcb49817·...·]-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.5 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_architecture.html
    
Offset 255, 15 lines modifiedOffset 255, 15 lines modified
255 ······<p·class="built-using">255 ······<p·class="built-using">
256 ········Built·using256 ········Built·using
257 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the257 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
258 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>258 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
259 ······</p>259 ······</p>
260 <p>Copyright·©·1996-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.47 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_codec_meas.html
    
Offset 252, 15 lines modifiedOffset 252, 15 lines modified
252 ······<p·class="built-using">252 ······<p·class="built-using">
253 ········Built·using253 ········Built·using
254 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the254 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
255 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>255 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
256 ······</p>256 ······</p>
257 <p>Copyright·©·1996-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;
649 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_codec_mstone1.html
    
Offset 615, 15 lines modifiedOffset 615, 15 lines modified
615 ······<p·class="built-using">615 ······<p·class="built-using">
616 ········Built·using616 ········Built·using
617 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the617 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
618 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>618 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
619 ······</p>619 ······</p>
620 <p>Copyright·©·1996-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;
718 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_codec_mstone2.html
    
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ······<p·class="built-using">253 ······<p·class="built-using">
254 ········Built·using254 ········Built·using
255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
257 ······</p>257 ······</p>
258 <p>Copyright·©·1996-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;
681 B
html2text {}
Max HTML report size reached
1.4 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_codec_transform.html
    
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ······<p·class="built-using">253 ······<p·class="built-using">
254 ········Built·using254 ········Built·using
255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
257 ······</p>257 ······</p>
258 <p>Copyright·©·1996-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;
570 B
html2text {}
Max HTML report size reached
13.1 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_debug.html
    
Offset 168, 20 lines modifiedOffset 168, 20 lines modified
168 file·(see·below·for·more·info).·The·messages·in·this·file·is·encoded·with·just168 file·(see·below·for·more·info).·The·messages·in·this·file·is·encoded·with·just
169 one·codec.·During·measurement·initiation,·the·messages·are·read·and·then169 one·codec.·During·measurement·initiation,·the·messages·are·read·and·then
170 transformed·to·all·codec·formats·used·in·the·measurement.</p><p>The·message·transformation·is·done·by·the·transformation·module.·It·is·used·to170 transformed·to·all·codec·formats·used·in·the·measurement.</p><p>The·message·transformation·is·done·by·the·transformation·module.·It·is·used·to
171 transform·a·set·of·messages·encoded·with·one·codec·into·the·other·base·codec's.</p><h4>Measurement(s)</h4><p>There·are·two·different·measurement·tools:</p><ul><li><p><em>meas</em>:</p><p>Used·to·perform·codec·measurements.·That·is,·to·see·what·kind·of·performance171 transform·a·set·of·messages·encoded·with·one·codec·into·the·other·base·codec's.</p><h4>Measurement(s)</h4><p>There·are·two·different·measurement·tools:</p><ul><li><p><em>meas</em>:</p><p>Used·to·perform·codec·measurements.·That·is,·to·see·what·kind·of·performance
172 can·be·expected·by·the·different·codecs·provided·by·the·megaco·application.</p><p>The·measurement·is·done·by·iterating·over·the·decode/encode·function·for172 can·be·expected·by·the·different·codecs·provided·by·the·megaco·application.</p><p>The·measurement·is·done·by·iterating·over·the·decode/encode·function·for
173 approx·2·seconds·per·message·and·counting·the·number·of·decodes/encodes.</p><p>Is·best·run·by·modifying·the·meas.sh.skel·skeleton·script·provided·by·the173 approx·2·seconds·per·message·and·counting·the·number·of·decodes/encodes.</p><p>Is·best·run·by·modifying·the·meas.sh.skel·skeleton·script·provided·by·the
174 tool.</p><p>To·run·it·manually·do·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">········</span><span·class="c1">%·erl·-pa·&lt;path-megaco-ebin-dir&gt;·-pa·&lt;path-to-meas-module-dir&gt;</span><span·class="w">174 tool.</p><p>To·run·it·manually·do·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">········</span><span·class="c1">%·erl·-pa·&lt;path-megaco-ebin-dir&gt;·-pa·&lt;path-to-meas-module-dir&gt;</span><span·class="w">
175 ········</span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="7994001733-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="7994001733-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:·dbe5118e5c2c220dfd96d36db2db6c9c19ce83999fee0203373b16054475b7b5·...·]-2">]</span><span·class="w">175 ········</span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="6454434010-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="6454434010-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:·76893b85f5d3a9296548e1c4e1e9d7523e98344f0bd34400b31aa3826214ed1d·...·]-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="7994001733-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="7994001733-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="6454434010-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="6454434010-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="7994001733-4">(</span><span·class="p"·data-group-id="7994001733-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="6454434010-4">(</span><span·class="p"·data-group-id="6454434010-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="7994001733-5">(</span><span·class="p"·data-group-id="7994001733-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="6454434010-5">(</span><span·class="p"·data-group-id="6454434010-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="4802114424-1">(</span><span·class="p"·data-group-id="4802114424-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:·dce4c163a3542f3b74abe34551c81b761eb4d40cd6556654d58b9d70ef9b0524·...·]-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="1641489812-1">(</span><span·class="p"·data-group-id="1641489812-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:·68c597749b5d28d218a6a010b960f89062db508d135ad462b20156612901353b·...·]-2">)</span><span·class="w">
203 </span><span·class="nf">messages_list</span><span·class="p"·data-group-id="4802114424-3">(</span><span·class="p"·data-group-id="4802114424-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4802114424-4">[</span><span·class="p"·data-group-id="4802114424-5">{</span><sp[·...·truncated·by·diffoscope;·len:·418,·SHA:·c81ecdf9f5bd1cde4c61b05006e17237db4471f619fc609bedf6a2799fe6bf29·...·]-4">]</span><span·class="w">203 </span><span·class="nf">messages_list</span><span·class="p"·data-group-id="1641489812-3">(</span><span·class="p"·data-group-id="1641489812-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1641489812-4">[</span><span·class="p"·data-group-id="1641489812-5">{</span><sp[·...·truncated·by·diffoscope;·len:·418,·SHA:·8e7a9fc151ce6c8f133865621281bf649741bfaa00de5557712a7ce15b74c5f4·...·]-4">]</span><span·class="w">
204 </span><span·class="nf">message_name</span><span·class="p"·data-group-id="4802114424-8">(</span><span·class="p"·data-group-id="4802114424-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="4802114424-9">(</span><span·class="p"·data-group-id="4802114424-9">)</span><span·class="w"> 
205 </span><span·class="nf">message</span><span·class="p"·data-group-id="4802114424-10">(</span><span·class="p"·data-group-id="4802114424-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="48021144[·...·truncated·by·diffoscope;·len:·155,·SHA:·c33409155d9b5fd841d7f3b0645670b383d0114a2505f20be1eeec2367da14b8·...·]204 </span><span·class="nf">message_name</span><span·class="p"·data-group-id="1641489812-8">(</span><span·class="p"·data-group-id="1641489812-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="1641489[·...·truncated·by·diffoscope;·len:·84,·SHA:·503d86405efffc4d5b6c41758201d2d2baf5717591899f67ae251f2387aacaac·...·]
 205 </span><span·class="nf">message</span><span·class="p"·data-group-id="1641489812-10">(</span><span·class="p"·data-group-id="1641489812-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="1641489812-11">(</span><span·class="p"·data-group-id="1641489812-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.8/doc/html/megaco_digit_map.html
    
Offset 488, 15 lines modifiedOffset 488, 15 lines modified
488 ······<p·class="built-using">488 ······<p·class="built-using">
489 ········Built·using489 ········Built·using
490 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the490 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
491 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>491 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
492 ······</p>492 ······</p>
493 <p>Copyright·©·1996-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.8/doc/html/megaco_edist_compress.html
    
Offset 273, 15 lines modifiedOffset 273, 15 lines modified
273 ······<p·class="built-using">273 ······<p·class="built-using">
274 ········Built·using274 ········Built·using
275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
277 ······</p>277 ······</p>
278 <p>Copyright·©·1996-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.8/doc/html/megaco_encode.html
    
Offset 170, 67 lines modifiedOffset 170, 67 lines modified
170 ···························}170 ···························}
171 ···················}171 ···················}
172 ···········}172 ···········}
173 ···}</code></pre><p>Then·the·compact·version·without·indentation·and·with·short·keywords:</p><pre><code·class="text">173 ···}</code></pre><p>Then·the·compact·version·without·indentation·and·with·short·keywords:</p><pre><code·class="text">
174 ···!/1·[124.124.124.222]174 ···!/1·[124.124.124.222]
175 ···T=9998{C=-{SC=ROOT{SV{MT=RS,AD=55555,PF=ResGW/1,RE=&quot;901·Cold·Boot&quot;}}}}</code></pre><p>And·the·programmers·view·of·the·same·message.·First·a·list·of·ActionRequest175 ···T=9998{C=-{SC=ROOT{SV{MT=RS,AD=55555,PF=ResGW/1,RE=&quot;901·Cold·Boot&quot;}}}}</code></pre><p>And·the·programmers·view·of·the·same·message.·First·a·list·of·ActionRequest
176 records·are·constructed·and·then·it·is·sent·with·one·of·the·send·functions·in176 records·are·constructed·and·then·it·is·sent·with·one·of·the·send·functions·in
177 the·API:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="n">Prof</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ServiceChangeProfile&#39;</span><span·class="p"·data-group-id="9903322433-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:·129,·SHA:·8b135d0f3c55092734689c3a6a3ccca8e94f6b22a5f37a1d6d729d1d3895fe59·...·]3-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="6251634013-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:·129,·SHA:·22b33f9f70e644204cf6fb1735c14c246fdb3e6abd3d73ff16cdcab035c9fe45·...·]3-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="9903322433-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="6251634013-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="9903322433-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="9903322433-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="6251634013-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="6251634013-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="9903322433-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="6251634013-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="9903322433-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="9903322433-5">[</span><span·class="o">?</span><span·class="ss">megaco_root_termination_id</spa[·...·truncated·by·diffoscope;·len:·42,·SHA:·9807df4a1b0b0238005fed434db34f8a0e925eb84f4978f2267700156712fd51·...·]3-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="6251634013-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="6251634013-5">[</span><span·class="o">?</span><span·class="ss">megaco_root_termination_id</spa[·...·truncated·by·diffoscope;·len:·42,·SHA:·692d512f9bb5928e6a21de24825d57d0d7d02ba8efbb691b0474056babee625d·...·]3-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="9903322433-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="6251634013-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="9903322433-6">[</span><span·class="o">#</span><span·class="ss">&#39;ActionRequest&#39;</span><span·class="p"·data-group-id="9903322433-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="6251634013-6">[</span><span·class="o">#</span><span·class="ss">&#39;ActionRequest&#39;</span><span·class="p"·data-group-id="6251634013-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="9903322433-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="9903322433-8">}</span><span·class="p"·data-group-id="9903322433-7">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·26,·SHA:·b8d86ed8b689bff8a4f1b3229e77d9aa3bc0df33822517525a0a9430766a2cac·...·]3-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="6251634013-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="6251634013-8">}</span><span·class="p"·data-group-id="6251634013-7">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·26,·SHA:·8759cd2ef1b1d7a87f98c13fcbeda12ffb15d47817d8660731e056fd14dae4aa·...·]3-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="9903322433-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="9903322433-9">)[·...·truncated·by·diffoscope;·len:·216,·SHA:·76e9dac7b564312bbdf94284ffc74127c6efc800d9c9855c7111bdc51afafd56·...·]8-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="6251634013-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="6251634013-9">)[·...·truncated·by·diffoscope;·len:·216,·SHA:·ef0fa80b301de018cd34b6f74060ed1c9b05176575ac4809abceb726234962c0·...·]8-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="7338331458-2">{</span><span·class="ss">&#39;Message&#39;</span><span·class="p">,</span><span·class="w">188 ···</span><span·class="p"·data-group-id="5922504728-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="7338331458-3">{</span><span·class="ss">ip4Address</span><span·class="p">,</span><span·class="p"·data-group-id="7338331458-4">{</span><span·class="ss">&#39;IP4Address&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·432,·SHA:·c6103fa5fb06ec86fec14ea0926bb8829a8f4d092516df78aa5e2a7448073d27·...·]8-3">}</span><span·class="p">,</span><span·class="w">190 ····</span><span·class="p"·data-group-id="5922504728-3">{</span><span·class="ss">ip4Address</span><span·class="p">,</span><span·class="p"·data-group-id="5922504728-4">{</span><span·class="ss">&#39;IP4Address&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·432,·SHA:·b31aa8cf5ece88082660f24a8ccec44c6ef9afef8afbe1bac0b778b180453500·...·]8-3">}</span><span·class="p">,</span><span·class="w">
191 ····</span><span·class="p"·data-group-id="7338331458-6">{</span><span·class="ss">transactions</span><span·class="p">,</span><span·class="w">191 ····</span><span·class="p"·data-group-id="5922504728-6">{</span><span·class="ss">transactions</span><span·class="p">,</span><span·class="w">
192 ·····</span><span·class="p"·data-group-id="7338331458-7">[</span><span·class="w">192 ·····</span><span·class="p"·data-group-id="5922504728-7">[</span><span·class="w">
193 ······</span><span·class="p"·data-group-id="7338331458-8">{</span><span·class="ss">transactionRequest</span><span·class="p">,</span><span·class="w">193 ······</span><span·class="p"·data-group-id="5922504728-8">{</span><span·class="ss">transactionRequest</span><span·class="p">,</span><span·class="w">
194 ·······</span><span·class="p"·data-group-id="7338331458-9">{</span><span·class="ss">&#39;TransactionRequest&#39;</span><span·class="p">,</span><span·class="w">194 ·······</span><span·class="p"·data-group-id="5922504728-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="7338331458-10">[</span><span·class="p"·data-group-id="7338331458-11">{</span><span·class="ss">&#39;ActionRequest&#39;</span><span·class="p">,</span><span·class="w">196 ·········</span><span·class="p"·data-group-id="5922504728-10">[</span><span·class="p"·data-group-id="5922504728-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="7338331458-12">[</span><span·class="w">200 ···········</span><span·class="p"·data-group-id="5922504728-12">[</span><span·class="w">
201 ············</span><span·class="p"·data-group-id="7338331458-13">{</span><span·class="ss">&#39;CommandRequest&#39;</span><span·class="p">,</span><span·class="w">201 ············</span><span·class="p"·data-group-id="5922504728-13">{</span><span·class="ss">&#39;CommandRequest&#39;</span><span·class="p">,</span><span·class="w">
202 ·············</span><span·class="p"·data-group-id="7338331458-14">{</span><span·class="ss">serviceChangeReq</span><span·class="p">,</span><span·class="w">202 ·············</span><span·class="p"·data-group-id="5922504728-14">{</span><span·class="ss">serviceChangeReq</span><span·class="p">,</span><span·class="w">
203 ··············</span><span·class="p"·data-group-id="7338331458-15">{</span><span·class="ss">&#39;ServiceChangeRequest&#39;</span><span·class="p">,</span><span·class="w">203 ··············</span><span·class="p"·data-group-id="5922504728-15">{</span><span·class="ss">&#39;ServiceChangeRequest&#39;</span><span·class="p">,</span><span·class="w">
204 ···············</span><span·class="p"·data-group-id="7338331458-16">[</span><span·class="w">204 ···············</span><span·class="p"·data-group-id="5922504728-16">[</span><span·class="w">
205 ················</span><span·class="p"·data-group-id="7338331458-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="7338331458-18">[</span><span·class="s">[·...·truncated·by·diffoscope;·len:·171,·SHA:·3042d3160d2b91075b507ada1920c0543884c708a3cdbbe708b0db75e777cc65·...·]8-16">]</span><span·class="p">,</span><span·class="w">205 ················</span><span·class="p"·data-group-id="5922504728-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="5922504728-18">[</span><span·class="s">[·...·truncated·by·diffoscope;·len:·171,·SHA:·9c0f36e638753897fd2dfcc42d1f99872dcf861b5f995e560dafdf3c962d9496·...·]8-16">]</span><span·class="p">,</span><span·class="w">
206 ················</span><span·class="p"·data-group-id="7338331458-19">{</span><span·class="ss">&#39;ServiceChangeParm&#39;</span><span·class="p">,</span><span·class="w">206 ················</span><span·class="p"·data-group-id="5922504728-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="7338331458-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="7338331458-20">}</span><span·class="p">,</span><span·class="w">208 ·················</span><span·class="p"·data-group-id="5922504728-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="5922504728-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="7338331458-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:·652458a53424accd08d3219890a7a95cd82a8cde1a12518cd112cfcfa23bdf74·...·]8-21">}</span><span·class="p">,</span><span·class="w">210 ·················</span><span·class="p"·data-group-id="5922504728-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:·29fb4aa31533f6094298f4e40a1d0261447454be833df88e410ec8467751523b·...·]8-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="7338331458-19">}</span><span·class="w">215 ················</span><span·class="p"·data-group-id="5922504728-19">}</span><span·class="w">
216 ··············</span><span·class="p"·data-group-id="7338331458-15">}</span><span·class="w">216 ··············</span><span·class="p"·data-group-id="5922504728-15">}</span><span·class="w">
217 ·············</span><span·class="p"·data-group-id="7338331458-14">}</span><span·class="p">,</span><span·class="w">217 ·············</span><span·class="p"·data-group-id="5922504728-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="7338331458-13">}</span><span·class="w">220 ············</span><span·class="p"·data-group-id="5922504728-13">}</span><span·class="w">
221 ···········</span><span·class="p"·data-group-id="7338331458-12">]</span><span·class="w">221 ···········</span><span·class="p"·data-group-id="5922504728-12">]</span><span·class="w">
222 ··········</span><span·class="p"·data-group-id="7338331458-11">}</span><span·class="w">222 ··········</span><span·class="p"·data-group-id="5922504728-11">}</span><span·class="w">
223 ·········</span><span·class="p"·data-group-id="7338331458-10">]</span><span·class="w">223 ·········</span><span·class="p"·data-group-id="5922504728-10">]</span><span·class="w">
224 ·······</span><span·class="p"·data-group-id="7338331458-9">}</span><span·class="w">224 ·······</span><span·class="p"·data-group-id="5922504728-9">}</span><span·class="w">
225 ······</span><span·class="p"·data-group-id="7338331458-8">}</span><span·class="w">225 ······</span><span·class="p"·data-group-id="5922504728-8">}</span><span·class="w">
226 ·····</span><span·class="p"·data-group-id="7338331458-7">]</span><span·class="w">226 ·····</span><span·class="p"·data-group-id="5922504728-7">]</span><span·class="w">
227 ····</span><span·class="p"·data-group-id="7338331458-6">}</span><span·class="w">227 ····</span><span·class="p"·data-group-id="5922504728-6">}</span><span·class="w">
228 ···</span><span·class="p"·data-group-id="7338331458-2">}</span><span·class="w">228 ···</span><span·class="p"·data-group-id="5922504728-2">}</span><span·class="w">
229 ··</span><span·class="p"·data-group-id="7338331458-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="5922504728-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.8/doc/html/megaco_encoder.html
    
Offset 1340, 15 lines modifiedOffset 1340, 15 lines modified
1340 ······<p·class="built-using">1340 ······<p·class="built-using">
1341 ········Built·using1341 ········Built·using
1342 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1342 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1343 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1343 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1344 ······</p>1344 ······</p>
1345 <p>Copyright·©·1996-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.8/doc/html/megaco_examples.html
    
Offset 155, 18 lines modifiedOffset 155, 18 lines modified
155 synchronously·for·a·reply.</p><p>After·this·initial·service·change·message·the·connection·between·the·MG·and·MGC155 synchronously·for·a·reply.</p><p>After·this·initial·service·change·message·the·connection·between·the·MG·and·MGC
156 is·fully·established·and·supervised.</p><p>Assuming·that·the·MGC·is·started·on·the·local·host,·four·different·MG's,·using156 is·fully·established·and·supervised.</p><p>Assuming·that·the·MGC·is·started·on·the·local·host,·four·different·MG's,·using
157 text·over·TCP/IP,·binary·over·TCP/IP,·text·over·UDP/IP·and·binary·over·UDP/IP157 text·over·TCP/IP,·binary·over·TCP/IP,·text·over·UDP/IP·and·binary·over·UDP/IP
158 may·be·started·on·the·same·Erlang·node·with:</p><pre><code·class="text">······cd·megaco/examples/simple158 may·be·started·on·the·same·Erlang·node·with:</p><pre><code·class="text">······cd·megaco/examples/simple
159 ······erl·-pa·../../../megaco/ebin·-s·megaco_filter·-s·megaco159 ······erl·-pa·../../../megaco/ebin·-s·megaco_filter·-s·megaco
160 ······megaco_simple_mg:start().</code></pre><p>or·simply·'gmake·mg'.</p><p>If·you·&quot;only&quot;·want·to·start·a·single·MG·which·tries·to·connect·an·MG·on·a·host160 ······megaco_simple_mg:start().</code></pre><p>or·simply·'gmake·mg'.</p><p>If·you·&quot;only&quot;·want·to·start·a·single·MG·which·tries·to·connect·an·MG·on·a·host
161 named·&quot;baidarka&quot;,·you·may·use·one·of·these·functions·(instead·of·the161 named·&quot;baidarka&quot;,·you·may·use·one·of·these·functions·(instead·of·the
162 megaco_simple_mg:start/0·above):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="nc">megaco_simple_mg</span><span·class="p">:</span><span·class="nf">start_tcp_text</span><span·class="p"·data-group-id="6920008126-1">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6920008126-2">[</span><span·class="p"·data-group-id="6920008126-2">]</span><span·class="p"·data-group-id="69200081[·...·truncated·by·diffoscope;·len:·2,·SHA:·5f9c4ab08cac7457e9111a30e4664920607ea2c115a1433d7be98e97e64244ca·...·]-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="6995638452-1">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6995638452-2">[</span><span·class="p"·data-group-id="6995638452-2">]</span><span·class="p"·data-group-id="69956384[·...·truncated·by·diffoscope;·len:·2,·SHA:·41cfc0d1f2d127b04555b7246d84019b4d27710a3f3aff6e7764375b1e06e05d·...·]-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="6920008126-3">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6920008126-4">[</span><span·class="p"·data-group-id="6920008126-4">]</span><span·class="p"·data-group-id="6920008126-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="6920008126-5">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6920008126-6">[</span><span·class="p"·data-group-id="6920008126-6"[·...·truncated·by·diffoscope;·len:·52,·SHA:·0408a198f1fc152d99c5854ff4f358cb114d71bfa11acf393c0325378fed052a·...·]">)</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="6995638452-3">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6995638452-4">[</span><span·class="p"·data-group-id="6995638452-[·...·truncated·by·diffoscope;·len:·54,·SHA:·e4e93f59e1fab8e48546da085e6a27be37f660ee40c61ec9577f082f8dc4b99c·...·]">)</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="6995638452-5">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6995638452-6">[</span><span·class="p"·data-group-id="6995638452-6">]</span><span·class="p"·data-group-id="6995638452-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="6920008126-7">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6920008126-8">[</span><span·class="p"·data-group-id="6920008126-8">]</span><span·class="p"·data-group-id="69200081[·...·truncated·by·diffoscope;·len:·2,·SHA:·5f9c4ab08cac7457e9111a30e4664920607ea2c115a1433d7be98e97e64244ca·...·]-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="6995638452-7">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6995638452-8">[</span><span·class="p"·data-group-id="6995638452-8">]</span><span·class="p"·data-group-id="69956384[·...·truncated·by·diffoscope;·len:·2,·SHA:·41cfc0d1f2d127b04555b7246d84019b4d27710a3f3aff6e7764375b1e06e05d·...·]-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.58 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_flex_scanner.html
    
Offset 435, 15 lines modifiedOffset 435, 15 lines modified
435 ······<p·class="built-using">435 ······<p·class="built-using">
436 ········Built·using436 ········Built·using
437 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the437 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
438 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>438 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
439 ······</p>439 ······</p>
440 <p>Copyright·©·1996-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.8/doc/html/megaco_intro.html
    
Offset 210, 15 lines modifiedOffset 210, 15 lines modified
210 ······<p·class="built-using">210 ······<p·class="built-using">
211 ········Built·using211 ········Built·using
212 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the212 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
213 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>213 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
214 ······</p>214 ······</p>
215 <p>Copyright·©·1996-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.8/doc/html/megaco_mib.html
    
Offset 202, 15 lines modifiedOffset 202, 15 lines modified
202 ······<p·class="built-using">202 ······<p·class="built-using">
203 ········Built·using203 ········Built·using
204 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the204 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
205 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>205 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
206 ······</p>206 ······</p>
207 <p>Copyright·©·1996-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.56 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_performance.html
    
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ······<p·class="built-using">253 ······<p·class="built-using">
254 ········Built·using254 ········Built·using
255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
257 ······</p>257 ······</p>
258 <p>Copyright·©·1996-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.8/doc/html/megaco_run.html
    
Offset 331, 15 lines modifiedOffset 331, 15 lines modified
331 ······<p·class="built-using">331 ······<p·class="built-using">
332 ········Built·using332 ········Built·using
333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
335 ······</p>335 ······</p>
336 <p>Copyright·©·1996-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.8/doc/html/megaco_sdp.html
    
Offset 1184, 15 lines modifiedOffset 1184, 15 lines modified
1184 ······<p·class="built-using">1184 ······<p·class="built-using">
1185 ········Built·using1185 ········Built·using
1186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1188 ······</p>1188 ······</p>
1189 <p>Copyright·©·1996-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.43 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_tcp.html
    
Offset 825, 15 lines modifiedOffset 825, 15 lines modified
825 ······<p·class="built-using">825 ······<p·class="built-using">
826 ········Built·using826 ········Built·using
827 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the827 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
828 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>828 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
829 ······</p>829 ······</p>
830 <p>Copyright·©·1996-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.8/doc/html/megaco_transport.html
    
Offset 324, 15 lines modifiedOffset 324, 15 lines modified
324 ······<p·class="built-using">324 ······<p·class="built-using">
325 ········Built·using325 ········Built·using
326 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the326 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
327 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>327 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
328 ······</p>328 ······</p>
329 <p>Copyright·©·1996-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.8/doc/html/megaco_transport_mechanisms.html
    
Offset 187, 15 lines modifiedOffset 187, 15 lines modified
187 ······<p·class="built-using">187 ······<p·class="built-using">
188 ········Built·using188 ········Built·using
189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
191 ······</p>191 ······</p>
192 <p>Copyright·©·1996-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.43 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_udp.html
    
Offset 859, 15 lines modifiedOffset 859, 15 lines modified
859 ······<p·class="built-using">859 ······<p·class="built-using">
860 ········Built·using860 ········Built·using
861 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the861 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
862 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>862 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
863 ······</p>863 ······</p>
864 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>864 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
865 ····</footer>865 ····</footer>
866 ··</div>866 ··</div>
867 </main>867 </main>
868 </div>868 </div>
869 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>869 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
870 ··<script>870 ··<script>
871 ··let·initialized·=·false;871 ··let·initialized·=·false;
627 B
html2text {}
Max HTML report size reached
11.2 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_user.html
    
Offset 127, 31 lines modifiedOffset 127, 31 lines modified
127 ··</h1>127 ··</h1>
  
  
128 ····<section·id="moduledoc">128 ····<section·id="moduledoc">
129 <p>Callback·module·for·users·of·the·Megaco·application</p><p>This·module·defines·the·callback·behaviour·of·Megaco·users.·A·megaco_user129 <p>Callback·module·for·users·of·the·Megaco·application</p><p>This·module·defines·the·callback·behaviour·of·Megaco·users.·A·megaco_user
130 compliant·callback·module·must·export·the·following·functions:</p><ul><li><a·href="#c:handle_connect/3">handle_connect/2,3</a></li><li><a·href="#c:handle_disconnect/3">handle_disconnect/3</a></li><li><a·href="#c:handle_syntax_error/4">handle_syntax_error/3,4</a></li><li><a·href="#c:handle_message_error/4">handle_message_error/3,4</a></li><li><a·href="#c:handle_trans_request/4">handle_trans_request/3,4</a></li><li><a·href="#c:handle_trans_long_request/4">handle_trans_long_request/3,4</a></li><li><a·href="#c:handle_trans_reply/5">handle_trans_reply/4,5</a></li><li><a·href="#c:handle_trans_ack/5">handle_trans_ack/4,5</a></li><li><a·href="#c:handle_unexpected_trans/4">handle_unexpected_trans/3,4</a></li><li><a·href="#c:handle_trans_request_abort/5">handle_trans_request_abort/4,5</a></li><li><a·href="#c:handle_segment_reply/6">handle_segment_reply/5,6</a></li></ul><p>The·semantics·of·them·and·their·exact·signatures·are·explained·below.</p><p>The·<code·class="inline">user_args</code>·configuration·parameter·which·may·be·used·to·extend·the·argument130 compliant·callback·module·must·export·the·following·functions:</p><ul><li><a·href="#c:handle_connect/3">handle_connect/2,3</a></li><li><a·href="#c:handle_disconnect/3">handle_disconnect/3</a></li><li><a·href="#c:handle_syntax_error/4">handle_syntax_error/3,4</a></li><li><a·href="#c:handle_message_error/4">handle_message_error/3,4</a></li><li><a·href="#c:handle_trans_request/4">handle_trans_request/3,4</a></li><li><a·href="#c:handle_trans_long_request/4">handle_trans_long_request/3,4</a></li><li><a·href="#c:handle_trans_reply/5">handle_trans_reply/4,5</a></li><li><a·href="#c:handle_trans_ack/5">handle_trans_ack/4,5</a></li><li><a·href="#c:handle_unexpected_trans/4">handle_unexpected_trans/3,4</a></li><li><a·href="#c:handle_trans_request_abort/5">handle_trans_request_abort/4,5</a></li><li><a·href="#c:handle_segment_reply/6">handle_segment_reply/5,6</a></li></ul><p>The·semantics·of·them·and·their·exact·signatures·are·explained·below.</p><p>The·<code·class="inline">user_args</code>·configuration·parameter·which·may·be·used·to·extend·the·argument
131 list·of·the·callback·functions.·For·example,·the·handle_connect·function·takes131 list·of·the·callback·functions.·For·example,·the·handle_connect·function·takes
132 by·default·two·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_connect</span><span·class="p"·data-group-id="8084554146-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="8084554146-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="0717866754-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="0717866754-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="6039901195-1">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Version</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SomePid</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·75,·SHA:·e6c217e6a4ad4518075f7497297174bb65fd2f5081358940aeee4e82821535bc·...·]-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="8029445016-1">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Version</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SomePid</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·75,·SHA:·e26c0b1bd6fdd699729a1bd54fcc07156d8eeeccaca7799d4355170bcc21472f·...·]-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="9748267166-1">(</span><span·class="p"·data-group-id="9748267166-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="974826716[·...·truncated·by·diffoscope;·len:·54,·SHA:·df44ea54102e6537f1f5743ae19cf23a407df6e295e5538cb625d08252655851·...·]-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="9701377782-1">(</span><span·class="p"·data-group-id="9701377782-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="970137778[·...·truncated·by·diffoscope;·len:·54,·SHA:·fb0876edee894519cba489d2801307a124bd0ec9d139fb27dd74a5da688a9a95·...·]-2">}</span><span·class="w">
146 </span><span·class="nf">action_reply</span><span·class="p"·data-group-id="9748267166-3">(</span><span·class="p"·data-group-id="9748267166-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="9748267166-[·...·truncated·by·diffoscope;·len:·52,·SHA:·8975a8e3cec827eee16d3598b3e1a8d39d1c22596761e39d6fadf69bcfeaf4ba·...·]-4">}</span><span·class="w">146 </span><span·class="nf">action_reply</span><span·class="p"·data-group-id="9701377782-3">(</span><span·class="p"·data-group-id="9701377782-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="9701377782-[·...·truncated·by·diffoscope;·len:·52,·SHA:·16130940789f50d0f1b6ae0ef5bbcffe53278274c8366252e5cff0554ae4f455·...·]-4">}</span><span·class="w">
147 </span><span·class="nf">error_desc</span><span·class="p"·data-group-id="9748267166-5">(</span><span·class="p"·data-group-id="9748267166-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="9748267166-6">{</span><span·class="p"·data-group-id="9748267166-6">}</span><span·class="w"> 
148 </span><span·class="nf">segment_no</span><span·class="p"·data-group-id="9748267166-7">(</span><span·class="p"·data-group-id="9748267166-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:·8eeb67c56ab4b8ab87a46b56166688764eadcadb36f1815262d8eb735ef72962·...·]147 </span><span·class="nf">error_desc</span><span·class="p"·data-group-id="9701377782-5">(</span><span·class="p"·data-group-id="9701377782-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:·3ad46e3ba83826baee310c2a741b774fa12e9c635654240206f9f2e9d2cf2b22·...·]
 148 </span><span·class="nf">segment_no</span><span·class="p"·data-group-id="9701377782-7">(</span><span·class="p"·data-group-id="9701377782-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="9701377782-8">(</span><span·class="p"·data-group-id="9701377782-8">)</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">conn_handle</span><span·class="p"·data-group-id="2430492654-1">(</span><span·class="p"·data-group-id="2430492654-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="2430492654-2">{</span><span·class="p"·data-group-id="2430492654-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.8/doc/html/notes.html
    
Offset 1034, 15 lines modifiedOffset 1034, 15 lines modified
1034 ······<p·class="built-using">1034 ······<p·class="built-using">
1035 ········Built·using1035 ········Built·using
1036 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1036 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1037 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1037 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1038 ······</p>1038 ······</p>
1039 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1039 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1040 ····</footer>1040 ····</footer>
1041 ··</div>1041 ··</div>
1042 </main>1042 </main>
1043 </div>1043 </div>
1044 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1044 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1045 ··<script>1045 ··<script>
1046 ··let·initialized·=·false;1046 ··let·initialized·=·false;
589 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/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.46 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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/mnesia-4.24/doc/html/api-reference.html
    
Offset 199, 15 lines modifiedOffset 199, 15 lines modified
199 ······<p·class="built-using">199 ······<p·class="built-using">
200 ········Built·using200 ········Built·using
201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
203 ······</p>203 ······</p>
204 <p>Copyright·©·1996-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.01 MB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia.epub
3.96 KB
zipinfo {}
Max HTML report size reached
139 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
9.27 KB
OEBPS/notes.xhtml
Max HTML report size reached
3.64 KB
OEBPS/mnesia_registry.xhtml
Max HTML report size reached
45.4 KB
OEBPS/mnesia_chap7.xhtml
Max HTML report size reached
149 KB
OEBPS/mnesia_chap5.xhtml
Max HTML report size reached
141 KB
OEBPS/mnesia_chap4.xhtml
Max HTML report size reached
52.0 KB
OEBPS/mnesia_chap3.xhtml
Max HTML report size reached
161 KB
OEBPS/mnesia_chap2.xhtml
Max HTML report size reached
70.3 KB
OEBPS/mnesia_app_c.xhtml
Max HTML report size reached
147 KB
OEBPS/mnesia_app_b.xhtml
Max HTML report size reached
64.3 KB
OEBPS/mnesia_app_a.xhtml
Max HTML report size reached
50.6 KB
OEBPS/mnesia.xhtml
Max HTML report size reached
1.23 KB
OEBPS/content.opf
Max HTML report size reached
52.2 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia.html
    
Offset 162, 19 lines modifiedOffset 162, 19 lines modified
162 <code·class="inline">true</code>,·a·majority·of·the·table·replicas·must·be·available·for·an·update·to162 <code·class="inline">true</code>,·a·majority·of·the·table·replicas·must·be·available·for·an·update·to
163 succeed.·Majority·checking·can·be·enabled·on·tables·with·mission-critical163 succeed.·Majority·checking·can·be·enabled·on·tables·with·mission-critical
164 data,·where·it·is·vital·to·avoid·inconsistencies·because·of·network·splits.</p></li><li><p><code·class="inline">snmp</code>.·Each·(set-based)·Mnesia·table·can·be·automatically·turned·into·a164 data,·where·it·is·vital·to·avoid·inconsistencies·because·of·network·splits.</p></li><li><p><code·class="inline">snmp</code>.·Each·(set-based)·Mnesia·table·can·be·automatically·turned·into·a
165 Simple·Network·Management·Protocol·(SNMP)·ordered·table·as·well.·This·property165 Simple·Network·Management·Protocol·(SNMP)·ordered·table·as·well.·This·property
166 specifies·the·types·of·the·SNMP·keys.</p></li><li><p><code·class="inline">attributes</code>.·The·names·of·the·attributes·for·the·records·that·are·inserted·in166 specifies·the·types·of·the·SNMP·keys.</p></li><li><p><code·class="inline">attributes</code>.·The·names·of·the·attributes·for·the·records·that·are·inserted·in
167 the·table.</p></li></ul><p>For·information·about·the·complete·set·of·table·properties·and·their·details,167 the·table.</p></li></ul><p>For·information·about·the·complete·set·of·table·properties·and·their·details,
168 see·<a·href="#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>.</p><p>This·Reference·Manual·uses·a·table·of·persons·to·illustrate·various·examples.168 see·<a·href="#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>.</p><p>This·Reference·Manual·uses·a·table·of·persons·to·illustrate·various·examples.
169 The·following·record·definition·is·assumed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="9452197200-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9452197200-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="8449286788-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8449286788-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="9452197200-3">[</span><span·class="p"·data-group-id="9452197200-3">]</span><span·class="p"·data-group-id="9452197200-2">}</span><span·class="p"·data-group-id="9452197200-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="8449286788-3">[</span><span·class="p"·data-group-id="8449286788-3">]</span><span·class="p"·data-group-id="8449286788-2">}</span><span·class="p"·data-group-id="8449286788-1">)</span><span·class="p">,</span></code></pre><p>The·first·record·attribute·is·the·primary·key,·or·key·for·short.</p><p>The·function·descriptions·are·sorted·in·alphabetical·order.·It·is·recommended·to
174 start·to·read·about·<a·href="#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>,·<a·href="#lock/2"><code·class="inline">mnesia:lock/2</code></a>,·and174 start·to·read·about·<a·href="#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>,·<a·href="#lock/2"><code·class="inline">mnesia:lock/2</code></a>,·and
175 ·<a·href="#activity/4"><code·class="inline">mnesia:activity/4</code></a>·before·you·continue·and·learn·about·the·rest.</p><p>Writing·or·deleting·in·transaction-context·creates·a·local·copy·of·each·modified175 ·<a·href="#activity/4"><code·class="inline">mnesia:activity/4</code></a>·before·you·continue·and·learn·about·the·rest.</p><p>Writing·or·deleting·in·transaction-context·creates·a·local·copy·of·each·modified
176 record·during·the·transaction.·During·iteration,·that·is,·<a·href="#foldl/4"><code·class="inline">mnesia:foldl/4</code></a>,176 record·during·the·transaction.·During·iteration,·that·is,·<a·href="#foldl/4"><code·class="inline">mnesia:foldl/4</code></a>,
177 <a·href="#foldr/4"><code·class="inline">mnesia:foldr/4</code></a>,·<a·href="#next/2"><code·class="inline">mnesia:next/2</code></a>,·<a·href="#prev/2"><code·class="inline">mnesia:prev/2</code></a>,·and·<a·href="#snmp_get_next_index/2"><code·class="inline">mnesia:snmp_get_next_index/2</code></a>,·Mnesia177 <a·href="#foldr/4"><code·class="inline">mnesia:foldr/4</code></a>,·<a·href="#next/2"><code·class="inline">mnesia:next/2</code></a>,·<a·href="#prev/2"><code·class="inline">mnesia:prev/2</code></a>,·and·<a·href="#snmp_get_next_index/2"><code·class="inline">mnesia:snmp_get_next_index/2</code></a>,·Mnesia
178 compensates·for·every·written·or·deleted·record,·which·can·reduce·the178 compensates·for·every·written·or·deleted·record,·which·can·reduce·the
179 performance.</p><p>If·possible,·avoid·writing·or·deleting·records·in·the·same·transaction·before179 performance.</p><p>If·possible,·avoid·writing·or·deleting·records·in·the·same·transaction·before
180 iterating·over·the·table.</p><h2·id="module-configuration-parameters"·class="section-heading">180 iterating·over·the·table.</p><h2·id="module-configuration-parameters"·class="section-heading">
Offset 2793, 15 lines modifiedOffset 2793, 15 lines modified
  
2793 ······<div·class="specs">2793 ······<div·class="specs">
  
2794 ··········<pre·translate="no"><span·class="attribute">-spec</span>·change_table_copy_type(Tab·::·<a·href="#t:table/0">table</a>(),·Node·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:node/0">node</a>(),·To·::·<a·href="#t:storage_type/0">storage_type</a>())·->·<a·href="#t:t_result/1">t_result</a>(ok).</pre>2794 ··········<pre·translate="no"><span·class="attribute">-spec</span>·change_table_copy_type(Tab·::·<a·href="#t:table/0">table</a>(),·Node·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:node/0">node</a>(),·To·::·<a·href="#t:storage_type/0">storage_type</a>())·->·<a·href="#t:t_result/1">t_result</a>(ok).</pre>
  
2795 ······</div>2795 ······</div>
  
2796 <p>Change·the·storage·type·of·a·table.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">change_table_copy_type</span><span·class="p"·data-group-id="1271751629-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="1271751629-2">(</span><span·class="p"·data-group-id="1271751629-2">)</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·102,·SHA:·90148610a37e06ec46a58b74d0a259298416e0ad1d199d52384f2f2b83b0fea5·...·]-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="7227171146-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="7227171146-2">(</span><span·class="p"·data-group-id="7227171146-2">)</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·102,·SHA:·cca802c584247194458642da7cc55db5fda00c5b137de951afe77b2dd8cc8fd4·...·]-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="7355918998-1">(</span><span·class="ss">table</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7355918998-2">[</span><span·class="p"·data-group-id="7355918998-3">{</span><span·class="ss">ram_copies</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·689,·SHA:·3ed70b59b4676b2357f564b69e420da8bf8c4e20d0d446b5199eee6b45b553f9·...·]-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="0069844357-1">(</span><span·class="ss">table</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0069844357-2">[</span><span·class="p"·data-group-id="0069844357-3">{</span><span·class="ss">ram_copies</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·689,·SHA:·a679ef4580deb93910c1124a229eeb55f3809d97b48a078eca7b050a1ba86dcb·...·]-6">}</span><span·class="p">,</span><span·class="w">
3040 ·······</span><span·class="p"·data-group-id="7355918998-8">{</span><span·class="ss">storage_properties</span><span·class="p">,</span><span·class="w">3040 ·······</span><span·class="p"·data-group-id="0069844357-8">{</span><span·class="ss">storage_properties</span><span·class="p">,</span><span·class="w">
3041 ········</span><span·class="p"·data-group-id="7355918998-9">[</span><span·class="p"·data-group-id="7355918998-10">{</span><span·class="ss">ets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7355918998-11">[</span><span·class="ss">compressed</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·872,·SHA:·0664b91da394ffb6d3ed47ea1c2c0bc2326272074df68f17bbc92578724029c6·...·]-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="0069844357-9">[</span><span·class="p"·data-group-id="0069844357-10">{</span><span·class="ss">ets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0069844357-11">[</span><span·class="ss">compressed</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·872,·SHA:·d17a9740627c8827ff1c282c9957d56b7b8378f61a2a7aa6fd930ebd7d39583a·...·]-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="8006535966-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="8934080733-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">
3048 ····</span><span·class="p"·data-group-id="8006535966-2">[</span><span·class="p"·data-group-id="8006535966-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8006535966-4">[</span><span·class="n">N1</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·145,·SHA:·a1baaf3a9203647ca501136be1879c17695238316f9b066478e3ec62092b13cc·...·]-3">}</span><span·class="p">,</span><span·class="w">3048 ····</span><span·class="p"·data-group-id="8934080733-2">[</span><span·class="p"·data-group-id="8934080733-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8934080733-4">[</span><span·class="n">N1</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·145,·SHA:·10a80e6f6d44e1c4ca0e9b1fac7a46bca7d4f6aa9a3d61d6ce4c7f9324b6065f·...·]-3">}</span><span·class="p">,</span><span·class="w">
3049 ·····</span><span·class="p"·data-group-id="8006535966-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="8006535966-6">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·243,·SHA:·fde77bb0ed53ba290cfaa846052fb360885c9f47d0d981a2fdf4ef08805385ec·...·]-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="8934080733-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="8934080733-6">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·243,·SHA:·7606c38fded5d41bf51cb841102a9600738f2aa0afb494e9c5960e08a922f7b6·...·]-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="1685257889-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="6242874560-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">
3052 ····</span><span·class="p"·data-group-id="1685257889-2">[</span><span·class="p"·data-group-id="1685257889-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1685257889-4">[</span><span·class="n">N1</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·146,·SHA:·644caa5a21900ee001d7d38874dbabacb32fe07d92cf369537285eaf97be09ef·...·]-3">}</span><span·class="p">,</span><span·class="w">3052 ····</span><span·class="p"·data-group-id="6242874560-2">[</span><span·class="p"·data-group-id="6242874560-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6242874560-4">[</span><span·class="n">N1</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·146,·SHA:·4cc423741228406c8968b2cc1fb83d658274938a5c87a1b41a91d85d5cf0dc7a·...·]-3">}</span><span·class="p">,</span><span·class="w">
3053 ·····</span><span·class="p"·data-group-id="1685257889-5">{</span><span·class="ss">index</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1685257889-6">[</span><span·class="ss">address</span><span·class="p"·data-group-id="1685257889-6">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·3fd9d7ba4c21611bf291713d72792e2462747a1a86cfe1fafada76c868e9ffbb·...·]-5">}</span><span·class="p">,</span><span·class="w">3053 ·····</span><span·class="p"·data-group-id="6242874560-5">{</span><span·class="ss">index</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6242874560-6">[</span><span·class="ss">address</span><span·class="p"·data-group-id="6242874560-6">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·e64f6f18b04f0402eef7ab4f0e3c310953b8728350a42281a690c4f867c076d6·...·]-5">}</span><span·class="p">,</span><span·class="w">
3054 ·····</span><span·class="p"·data-group-id="1685257889-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="1685257889-8">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·244,·SHA:·e449807a5d8cb10a5f8d3aa2e031a84872a3dd8e0f50a5082dfedf07540c692f·...·]-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="6242874560-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="6242874560-8">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·244,·SHA:·99aa52e7e98752312fa4afc4caede5651ff07f05f506245f4079fb00bd09d26c·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·specification·of·<code·class="inline">index</code>·and·<code·class="inline">attributes</code>·can·be·hard-coded·as
3055 <code·class="inline">{index,·[2]}</code>·and·<code·class="inline">{attributes,·[name,·age,·address,·salary,·children]}</code>,3055 <code·class="inline">{index,·[2]}</code>·and·<code·class="inline">{attributes,·[name,·age,·address,·salary,·children]}</code>,
3056 respectively.</p><p><a·href="#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>·writes·records·into·the·table·<code·class="inline">schema</code>.·This·function,3056 respectively.</p><p><a·href="#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>·writes·records·into·the·table·<code·class="inline">schema</code>.·This·function,
3057 and·all·other·schema·manipulation·functions,·are·implemented·with·the·normal3057 and·all·other·schema·manipulation·functions,·are·implemented·with·the·normal
3058 transaction·management·system.·This·guarantees·that·schema·updates·are·performed3058 transaction·management·system.·This·guarantees·that·schema·updates·are·performed
3059 on·all·nodes·in·an·atomic·manner.</p>3059 on·all·nodes·in·an·atomic·manner.</p>
3060 ··</section>3060 ··</section>
3061 </section>3061 </section>
Offset 5155, 18 lines modifiedOffset 5155, 18 lines modified
5155 ······</div>5155 ······</div>
  
5156 <p>Select·the·objects·in·<code·class="inline">Tab</code>·against·<code·class="inline">MatchSpec</code>.</p><p>Matches·the·objects·in·table·<code·class="inline">Tab</code>·using·a·<code·class="inline">match_spec</code>·as·described·in·the5156 <p>Select·the·objects·in·<code·class="inline">Tab</code>·against·<code·class="inline">MatchSpec</code>.</p><p>Matches·the·objects·in·table·<code·class="inline">Tab</code>·using·a·<code·class="inline">match_spec</code>·as·described·in·the
5157 <a·href="../../../../lib/stdlib-7.0/doc/html/ets.html#select/3"><code·class="inline">ets:select/3</code></a>.·Optionally·a·lock·<code·class="inline">read</code>·or·<code·class="inline">write</code>·can·be·given·as·the·third5157 <a·href="../../../../lib/stdlib-7.0/doc/html/ets.html#select/3"><code·class="inline">ets:select/3</code></a>.·Optionally·a·lock·<code·class="inline">read</code>·or·<code·class="inline">write</code>·can·be·given·as·the·third
5158 argument.·Default·is·<code·class="inline">read</code>.·The·return·value·depends·on·<code·class="inline">MatchSpec</code>.</p><p>Notice·that·for·best·performance,·<code·class="inline">select</code>·is·to·be·used·before·any·modifying5158 argument.·Default·is·<code·class="inline">read</code>.·The·return·value·depends·on·<code·class="inline">MatchSpec</code>.</p><p>Notice·that·for·best·performance,·<code·class="inline">select</code>·is·to·be·used·before·any·modifying
5159 operations·are·done·on·that·table·in·the·same·transaction.·That·is,·do·not·use5159 operations·are·done·on·that·table·in·the·same·transaction.·That·is,·do·not·use
5160 <code·class="inline">write</code>·or·<code·class="inline">delete</code>·before·a·<code·class="inline">select</code>.</p><p>In·its·simplest·forms,·the·<code·class="inline">match_spec</code>·look·as·follows:</p><ul><li><code·class="inline">MatchSpec·=·[MatchFunction]</code></li><li><code·class="inline">MatchFunction·=·{MatchHead,·[Guard],·[Result]}</code></li><li><p><code·class="inline">MatchHead·=·tuple()·|·record()</code></p></li><li><code·class="inline">Guard·=·{&quot;Guardtest·name&quot;,·...}</code></li><li><code·class="inline">Result·=·&quot;Term·construct&quot;</code></li></ul><p>For·a·complete·description·of·<code·class="inline">select</code>,·see·the·<a·href="../../../../erts-16.0/doc/html/index.html">ERTS</a>5160 <code·class="inline">write</code>·or·<code·class="inline">delete</code>·before·a·<code·class="inline">select</code>.</p><p>In·its·simplest·forms,·the·<code·class="inline">match_spec</code>·look·as·follows:</p><ul><li><code·class="inline">MatchSpec·=·[MatchFunction]</code></li><li><code·class="inline">MatchFunction·=·{MatchHead,·[Guard],·[Result]}</code></li><li><p><code·class="inline">MatchHead·=·tuple()·|·record()</code></p></li><li><code·class="inline">Guard·=·{&quot;Guardtest·name&quot;,·...}</code></li><li><code·class="inline">Result·=·&quot;Term·construct&quot;</code></li></ul><p>For·a·complete·description·of·<code·class="inline">select</code>,·see·the·<a·href="../../../../erts-16.0/doc/html/index.html">ERTS</a>
5161 User's·Guide·and·the·<a·href="../../../../lib/stdlib-7.0/doc/html/ets.html"><code·class="inline">ets</code></a>·manual·page·in·STDLIB.</p><p>For·example,·to·find·the·names·of·all·male·persons·older·than·30·in·table·<code·class="inline">Tab</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">MatchHead</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="1808451288-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:·507066870d76e9943eedd19b6e8928501d9eb6ec919c30e6b7cd806fa99226af·...·]-1">}</span><span·class="p">,</span><span·class="w">5161 User's·Guide·and·the·<a·href="../../../../lib/stdlib-7.0/doc/html/ets.html"><code·class="inline">ets</code></a>·manual·page·in·STDLIB.</p><p>For·example,·to·find·the·names·of·all·male·persons·older·than·30·in·table·<code·class="inline">Tab</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">MatchHead</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="5966078575-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:·d027d64fa03a456217697216738077ef42c29a4355485d0e4ea1d46b588bf298·...·]-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="1808451288-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="1808451[·...·truncated·by·diffoscope;·len:·3,·SHA:·23c657f2efda7731a3c1990b25f318fa2eb1332208f97ab9cc2a7eac70ab5a76·...·]-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="5966078575-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="5966078[·...·truncated·by·diffoscope;·len:·3,·SHA:·fb84a9739699e1a2c6c56b5baa0a16047a4d845a5c6615ab9e18bafe688f45d6·...·]-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="1808451288-3">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="p"·data-group-id="1808451288-4">[</span><span·class="p"·data-group-id="1808451288-5">{</span><span·class="n">MatchHead</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·466,·SHA:·bc7b17551ff132148cd7a5b751ec604d342fc978049d261490316e6f8f5fd448·...·]-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="5966078575-3">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="p"·data-group-id="5966078575-4">[</span><span·class="p"·data-group-id="5966078575-5">{</span><span·class="n">MatchHead</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·466,·SHA:·1967fedab2cc379ac38f6307cb2b7ae71ad1005d0801916edee9f00eb85240ae·...·]-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="4804792474-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="8265587594-1">(</span><span·class="ss">employee</span><span·class="p">,</span><span·class="w">
5443 ····</span><span·class="p"·data-group-id="4804792474-2">[</span><span·class="p"·data-group-id="4804792474-3">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4804792474-4">[</span><span·class="p"·data-group-id="4804792474-5">{</span[·...·truncated·by·diffoscope;·len:·437,·SHA:·bca9923f809a8a444dbe3a81e3627d130996461e3c3e126913c5875e40b3df09·...·]4-3">}</span><span·class="p">,</span><span·class="w">5443 ····</span><span·class="p"·data-group-id="8265587594-2">[</span><span·class="p"·data-group-id="8265587594-3">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8265587594-4">[</span><span·class="p"·data-group-id="8265587594-5">{</span[·...·truncated·by·diffoscope;·len:·437,·SHA:·f04ba06c5c657305fa727c32b98fb2a9ada1907ac2a13e35a29b4cc930567668·...·]4-3">}</span><span·class="p">,</span><span·class="w">
5444 ·····</span><span·class="p"·data-group-id="4804792474-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="4804792474-8">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·246,·SHA:·0ed0dd0e230572712616331d945c1bad07571bd193bb8a8989ec8c7b4cf4ed3a·...·]4-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>,·and5444 ·····</span><span·class="p"·data-group-id="8265587594-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="8265587594-8">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·246,·SHA:·4983a720fcfa9dfde1ef807fe72e860ea2c9e3a7b2aee7fef1148e22db0f7e87·...·]4-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="6943016150-1">(</span><span·class="p"·data-group-id="6943016150-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:·063566be046965a7a5d43e0aab9388eb7bc1cb11890f418ecc5cd0e618b21719·...·]-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="7480301701-1">(</span><span·class="p"·data-group-id="7480301701-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:·bea0f3de20eb5fedae3bcdfb4abe9752df7b8610d63e67f5d97af4af7211ce01·...·]-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="6943016150-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:·25690bd9c3c6068db1fed3fb591858bbbd268d4a590299ef3b3fdb70c7a49bdf·...·]-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="7480301701-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:·02af5795ea94824398a1882337402b489efbe57949d3b3ff49f5632bc98d6033·...·]-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="6943016150-4">(</span><span·class="p"·data-group-id="6943016150-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="7480301701-4">(</span><span·class="p"·data-group-id="7480301701-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="6943016150-5">(</span><span·class="n">F</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="6943016150-6">{</span><span·class="ss">children</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·127,·SHA:·8c4a04cfdacba3310abe864a9d8c3e172cbe218e855a5182db175ad95f322a4b·...·]-5">)</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="7480301701-5">(</span><span·class="n">F</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="7480301701-6">{</span><span·class="ss">children</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·127,·SHA:·82f512dbde643310aecfc073698569969187587a3e38034ce7b7f193631336dd·...·]-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="6943016150-7">(</span><span·class="n">M</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="6943016150-8">{</span><span·class="ss">children</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·127,·SHA:·35bb419b9ce67b78317f4f7572e301c879e77826760c22404400967148defddc·...·]-7">)</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="7480301701-7">(</span><span·class="n">M</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="7480301701-8">{</span><span·class="ss">children</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·127,·SHA:·4c73754ea7cea874b99d8f6730f7f2a564d011331a37b5d0ec89f280636aa9bc·...·]-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="6943016150-9">(</span><span·class="n">Child</span><span·class="p"·data-group-id="6943016150-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:·6417ab13f6dcdb2a13bbe996ed655930a37966f34e921e3ba60ff9bd03e20339·...·]-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="7480301701-9">(</span><span·class="n">Child</span><span·class="p"·data-group-id="7480301701-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:·453664794b2865b72293d6a1c46b0520ae86af13b3e4bd137c307ec0aa28dd7b·...·]-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="6943016150-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="6943016150-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="7480301701-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="7480301701-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="6943016150-12">(</span><span·class="n">Trans</span><span·class="p"·data-group-id="6943016150-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="7480301701-12">(</span><span·class="n">Trans</span><span·class="p"·data-group-id="7480301701-12">)</span><span·class="p">.</span><span·class="w">
  
6023 </span><span·class="nf">oid</span><span·class="p"·data-group-id="6943016150-13">(</span><span·class="n">Rec</span><span·class="p"·data-group-id="6943016150-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6943016150-14">{</span><span·class="nf">elemen[·...·truncated·by·diffoscope;·len:·542,·SHA:·238189c98c7dbf5c8c657a8e3a682239644ff9f7c8b268d8c0e8da0fef823a5e·...·]-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="7480301701-13">(</span><span·class="n">Rec</span><span·class="p"·data-group-id="7480301701-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7480301701-14">{</span><span·class="nf">elemen[·...·truncated·by·diffoscope;·len:·542,·SHA:·69cabad6b67b6c76b881caa2ae9a5115300dc7987ec68992a8623b1b24dbcc43·...·]-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
6027 while·executing·the·family·code,·the·transaction·terminates.·Thus,·the·situation6027 while·executing·the·family·code,·the·transaction·terminates.·Thus,·the·situation
6028 where·half·a·family·is·added·can·never·occur.</p><p>It·is·also·useful·to·update·the·database·within·a·transaction·if·several6028 where·half·a·family·is·added·can·never·occur.</p><p>It·is·also·useful·to·update·the·database·within·a·transaction·if·several
Max diff block lines reached; 7698/52521 bytes (14.66%) of diff not shown.
769 B
html2text {}
Max HTML report size reached
65.9 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_app_a.html
    
Offset 155, 160 lines modifiedOffset 155, 160 lines modified
155 </span><span·class="c1">%%</span><span·class="w">155 </span><span·class="c1">%%</span><span·class="w">
156 </span><span·class="c1">%%·The·NewOpaqueData·arguments·returned·by·restore·callback·functions·will</span><span·class="w">156 </span><span·class="c1">%%·The·NewOpaqueData·arguments·returned·by·restore·callback·functions·will</span><span·class="w">
157 </span><span·class="c1">%%·be·given·as·input·when·the·next·restore·callback·function·is·invoked</span><span·class="w">157 </span><span·class="c1">%%·be·given·as·input·when·the·next·restore·callback·function·is·invoked</span><span·class="w">
158 </span><span·class="c1">%%·If·any·return·value·does·not·match·{ok,·_}·the·restore·will·be·aborted.</span><span·class="w">158 </span><span·class="c1">%%·If·any·return·value·does·not·match·{ok,·_}·the·restore·will·be·aborted.</span><span·class="w">
159 </span><span·class="c1">%%</span><span·class="w">159 </span><span·class="c1">%%</span><span·class="w">
160 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">160 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">
161 </span><span·class="w">161 </span><span·class="w">
162 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9061416513-1">(</span><span·class="ss">mnesia_backup</span><span·class="p"·data-group-id="9061416513-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="6814418030-1">(</span><span·class="ss">mnesia_backup</span><span·class="p"·data-group-id="6814418030-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="9061416513-2">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="9061416513-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="6814418030-2">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="6814418030-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="9061416513-3">(</span><span·class="p"·data-group-id="9061416513-4">[</span><span·class="w">166 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6814418030-3">(</span><span·class="p"·data-group-id="6814418030-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="9061416513-4">]</span><span·class="p"·data-group-id="9061416513-3">)</span><span·class="p">.</span><span·class="w">176 ········</span><span·class="p"·data-group-id="6814418030-4">]</span><span·class="p"·data-group-id="6814418030-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="9061416513-5">(</span><span·class="ss">backup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9061416513-6">{</span><span·class="ss">tmp_file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file</[·...·truncated·by·diffoscope;·len:·180,·SHA:·0bdf2c63896ab925f61b4afa6fa44bf20355b46bcbf1c0cfc30869542a9596e4·...·]-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="6814418030-5">(</span><span·class="ss">backup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6814418030-6">{</span><span·class="ss">tmp_file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file</[·...·truncated·by·diffoscope;·len:·180,·SHA:·ee3fe465d07beb388d9e4946ab2188313109c9ad8afc02d335b0f0e7c6e59316·...·]-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="9061416513-7">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="9061416513-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="6814418030-7">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="6814418030-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="9061416513-8">(</span><span·class="p"·data-group-id="9061416513-9">[</span><span·class="n">File</span><span·class="p">,</span><span·class="s">&quot;.BUPTMP&quot;</span><span·class="p"·data-group-id="9061416513-9">]</span><span·class="p"·data-group-id="9061[·...·truncated·by·diffoscope;·len:·6,·SHA:·e8ad139e3e48e9628e461cb103aa3347fd721c1958224975f7c8469b0cfa6409·...·]-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="6814418030-8">(</span><span·class="p"·data-group-id="6814418030-9">[</span><span·class="n">File</span><span·class="p">,</span><span·class="s">&quot;.BUPTMP&quot;</span><span·class="p"·data-group-id="6814418030-9">]</span><span·class="p"·data-group-id="6814[·...·truncated·by·diffoscope;·len:·6,·SHA:·5b5f227e6790db65b0021ccf519df747b39da4c96e6dbcfae31721032ebdcdea·...·]-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="9061416513-10">(</span><span·class="n">Tmp</span><span·class="p"·data-group-id="9061416513-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="6814418030-10">(</span><span·class="n">Tmp</span><span·class="p"·data-group-id="6814418030-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="9061416513-11">(</span><span·class="p"·data-group-id="9061416513-12">[</span><span·class="p"·data-group-id="9061416513-13">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·132,·SHA:·de248dd56ce8a55b04ff73d7e4362d8b821f162d1366d426b3d3d46836e59efc·...·]-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="6814418030-11">(</span><span·class="p"·data-group-id="6814418030-12">[</span><span·class="p"·data-group-id="6814418030-13">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·132,·SHA:·1270b602645f432610b78431762d89df896639cf7948be1d3c527472037bde0a·...·]-13">}</span><span·class="p">,</span><span·class="w">
188 ························</span><span·class="p"·data-group-id="9061416513-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="9061416513-15">}</span><span·class="p">,</span><span·class="w">188 ························</span><span·class="p"·data-group-id="6814418030-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="6814418030-15">}</span><span·class="p">,</span><span·class="w">
189 ························</span><span·class="p"·data-group-id="9061416513-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="9061416513-16">}</span><span·class="p">,</span><span·class="w">189 ························</span><span·class="p"·data-group-id="6814418030-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="6814418030-16">}</span><span·class="p">,</span><span·class="w">
190 ························</span><span·class="p"·data-group-id="9061416513-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="9061416513-18">(</span><span·class="p"·data-group-id="9061416513-18">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·87f37fdae4896b06f47b2721a7b7174345da2752e5784f42efafa53aba8bf35f·...·]-11">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">190 ························</span><span·class="p"·data-group-id="6814418030-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="6814418030-18">(</span><span·class="p"·data-group-id="6814418030-18">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·28d515fdf71610b9c19151dd3b4656dc701821e35e2aeb8709b7de9731aaa1b4·...·]-11">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
191 ········</span><span·class="p"·data-group-id="9061416513-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="9061416513-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">191 ········</span><span·class="p"·data-group-id="6814418030-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="6814418030-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
192 ············</span><span·class="p"·data-group-id="9061416513-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="9061416513-21">{</span><span·class="ss">tmp_file</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·527,·SHA:·5d8b0970cad7fcff0fce2cb6baa9aea1e9a40a83d014d7fa9dc8fe1000fde811·...·]-20">}</span><span·class="p">;</span><span·class="w">192 ············</span><span·class="p"·data-group-id="6814418030-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="6814418030-21">{</span><span·class="ss">tmp_file</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·527,·SHA:·713b344c3c64ab2aca9e9e77fe3c39febe9d20f8dfd4f659ea06fa8dc851fbeb·...·]-20">}</span><span·class="p">;</span><span·class="w">
193 ········</span><span·class="p"·data-group-id="9061416513-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="9061416513-22">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 ········</span><span·class="p"·data-group-id="6814418030-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="6814418030-22">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
194 ············</span><span·class="p"·data-group-id="9061416513-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="9061416513-23">}</span><span·class="w">194 ············</span><span·class="p"·data-group-id="6814418030-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="6814418030-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="9061416513-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="9061416513-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="6814418030-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="6814418030-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="9061416513-25">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file_desc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BackupItems</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·54c5697aa8cdb4c19992c73b442edc64758c254f7a73ae2a61119211fccfdd4f·...·]-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="6814418030-25">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file_desc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BackupItems</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·1ffa3aa9e0398e682cc7466a9ebb003e37102a5a26c8ff46efea61f5ba8811ad·...·]-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="9061416513-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="9061416513-26">}</span><span·class="p">;</span><span·class="w">203 ············</span><span·class="p"·data-group-id="6814418030-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="6814418030-26">}</span><span·class="p">;</span><span·class="w">
204 ········</span><span·class="p"·data-group-id="9061416513-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="9061416513-27">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">204 ········</span><span·class="p"·data-group-id="6814418030-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="6814418030-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="9061416513-28">(</span><span·class="n">B</span><span·class="p"·data-group-id="9061416513-28">)</span><span·class="p">,</span><span·class="w">205 ············</span><span·class="nf">abort_write</span><span·class="p"·data-group-id="6814418030-28">(</span><span·class="n">B</span><span·class="p"·data-group-id="6814418030-28">)</span><span·class="p">,</span><span·class="w">
206 ············</span><span·class="p"·data-group-id="9061416513-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="9061416513-29">}</span><span·class="w">206 ············</span><span·class="p"·data-group-id="6814418030-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="6814418030-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="9061416513-30">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="9061416513-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="6814418030-30">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="6814418030-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="9061416513-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="9061416513-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="6814418030-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="6814418030-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="9061416513-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="9061416513-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="6814418030-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="6814418030-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="9061416513-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="9061416513-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="6814418030-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="6814418030-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="9061416513-34">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">tmp_file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="o">#</span><sp[·...·truncated·by·diffoscope;·len:·120,·SHA:·208a10e5412cee95a20741f2bdaa9909e086ebabd146ad1b6f04002a72f570bc·...·]-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="6814418030-34">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">tmp_file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="o">#</span><sp[·...·truncated·by·diffoscope;·len:·120,·SHA:·433de581e393984d1d78a1928c41882e5e95fe2c897ea15d126df50bb4b93a4a·...·]-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="9061416513-35">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·7bffba711bf86d71a431ba38fd9ec5f58abb665dade1a607459f2c72efc9287d·...·]-35">}</span><span·class="p">;</span><span·class="w">220 ····························</span><span·class="p"·data-group-id="6814418030-35">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·62bd83f8226be944ff0d9bf1cd39ba0750b29eccb0cfef9632729910c1011e47·...·]-35">}</span><span·class="p">;</span><span·class="w">
221 ························</span><span·class="p"·data-group-id="9061416513-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="9061416513-36">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">221 ························</span><span·class="p"·data-group-id="6814418030-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="6814418030-36">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
222 ····························</span><span·class="p"·data-group-id="9061416513-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="9061416513-37">}</span><span·class="w">222 ····························</span><span·class="p"·data-group-id="6814418030-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="6814418030-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="9061416513-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="9061416513-38">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 ················</span><span·class="p"·data-group-id="6814418030-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="6814418030-38">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 ····················</span><span·class="p"·data-group-id="9061416513-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="9061416513-39">}</span><span·class="w">225 ····················</span><span·class="p"·data-group-id="6814418030-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="6814418030-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="9061416513-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="9061416513-40">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">227 ········</span><span·class="p"·data-group-id="6814418030-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="6814418030-40">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
228 ············</span><span·class="p"·data-group-id="9061416513-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="9061416513-41">}</span><span·class="w">228 ············</span><span·class="p"·data-group-id="6814418030-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="6814418030-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="9061416513-42">(</span><span·class="n">BackupRef</span><span·class="p"·data-group-id="9061416513-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="6814418030-42">(</span><span·class="n">BackupRef</span><span·class="p"·data-group-id="6814418030-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="9061416513-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="9061416513-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="6814418030-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="6814418030-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="9061416513-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="9061416513-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="6814418030-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="6814418030-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="9061416513-45">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BackupRef</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·c79198da9fd50030cb04059ed5e90ec0b0f45faf2488c4e0e2bdb6d00820b187·...·]-45">}</span><span·class="p">;</span><span·class="w">238 ············</span><span·class="p"·data-group-id="6814418030-45">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BackupRef</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·d0858027be0ed3b12f140a41da183b621f90178283b447c56cba3c6a109bf283·...·]-45">}</span><span·class="p">;</span><span·class="w">
239 ········</span><span·class="p"·data-group-id="9061416513-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="9061416513-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">239 ········</span><span·class="p"·data-group-id="6814418030-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="6814418030-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
240 ············</span><span·class="p"·data-group-id="9061416513-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="9061416513-47">}</span><span·class="w">240 ············</span><span·class="p"·data-group-id="6814418030-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="6814418030-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="9061416513-48">(</span><span·class="ss">restore</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9061416513-49">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file_de[·...·truncated·by·diffoscope;·len:·180,·SHA:·ac31b101d9af87e801225ede1d2e03b7dfed2bb0b5fbf67cd71324e1f419998b·...·]-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="6814418030-48">(</span><span·class="ss">restore</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6814418030-49">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file_de[·...·truncated·by·diffoscope;·len:·180,·SHA:·9ad94faf78ddd83b6647fee62e52abd3fbc678ed76ca0e122ee2aa77a90e724c·...·]-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="9061416513-50">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="9061416513-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="6814418030-50">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="6814418030-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="9061416513-51">(</span><span·class="n">File</span><span·class="p"·data-group-id="9061416513-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="6814418030-51">(</span><span·class="n">File</span><span·class="p"·data-group-id="6814418030-51">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
252 ········</span><span·class="p"·data-group-id="9061416513-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="9061416513-52">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">252 ········</span><span·class="p"·data-group-id="6814418030-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="6814418030-52">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
253 ············</span><span·class="p"·data-group-id="9061416513-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="9061416513-53">}</span><span·class="p">;</span><span·class="w">253 ············</span><span·class="p"·data-group-id="6814418030-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="6814418030-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="9061416513-54">(</span><span·class="p"·data-group-id="9061416513-55">[</span><span·class="p"·data-group-id="9061416513-56">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·217eeb221c62b7472377daf8694a060b61943562817a217a5e7c8c14bd508abd·...·]-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="6814418030-54">(</span><span·class="p"·data-group-id="6814418030-55">[</span><span·class="p"·data-group-id="6814418030-56">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·2cc03efa3af74fdfd3548529aa733c2ce35d5303e73ff99818cb03027ab33a64·...·]-56">}</span><span·class="p">,</span><span·class="w">
256 ································</span><span·class="p"·data-group-id="9061416513-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="9061416513-58">(</span><span·class="p"·data-group-id="9061416513-58">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·81661cdb99078d86211dba7b7a65b2bcd30ec1d352a02caa8bcbf5bca0599320·...·]-57">}</span><span·class="p">,</span><span·class="w">256 ································</span><span·class="p"·data-group-id="6814418030-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="6814418030-58">(</span><span·class="p"·data-group-id="6814418030-58">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·482219a3603f614ec9e3e29ffde8e1fbd933938189356b731db340f1a181fda2·...·]-57">}</span><span·class="p">,</span><span·class="w">
257 ································</span><span·class="p"·data-group-id="9061416513-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="9061416513-59">}</span><span·class="p">,</span><span·class="w">257 ································</span><span·class="p"·data-group-id="6814418030-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="6814418030-59">}</span><span·class="p">,</span><span·class="w">
258 ································</span><span·class="p"·data-group-id="9061416513-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="9061416513-60">}</span><span·class="p">,</span><span·class="w">258 ································</span><span·class="p"·data-group-id="6814418030-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="6814418030-60">}</span><span·class="p">,</span><span·class="w">
259 ································</span><span·class="p"·data-group-id="9061416513-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="9061416513-62">(</span><span·class="p"·data-group-id="9061416513-62">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·8e717a60d2789432cdaa225e037811a1b3b515887c244e98e7a9c7ba4587f9b7·...·]-54">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">259 ································</span><span·class="p"·data-group-id="6814418030-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="6814418030-62">(</span><span·class="p"·data-group-id="6814418030-62">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·5bb19e3fd05122ad38fc05b00928e0e8e8c73fde0725540aadb9fafb41d69753·...·]-54">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
260 ················</span><span·class="p"·data-group-id="9061416513-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="9061416513-63">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">260 ················</span><span·class="p"·data-group-id="6814418030-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="6814418030-63">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
261 ····················</span><span·class="p"·data-group-id="9061416513-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="9061416513-65">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·527,·SHA:·37eb004cceb265de4f7d162751b70d3da7ddde269d184b994b7af9709303e39b·...·]-64">}</span><span·class="p">;</span><span·class="w">261 ····················</span><span·class="p"·data-group-id="6814418030-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="6814418030-65">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·527,·SHA:·7a519e96bcf52067b69441756824594873141f86703ffaf7c9d2b8c239c226f1·...·]-64">}</span><span·class="p">;</span><span·class="w">
262 ················</span><span·class="p"·data-group-id="9061416513-66">{</span><span·class="ss">repaired</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·246,·SHA:·1f7dde8ef548417578c9260707e2c74bf057bd762a439b9583d4e78cb7056101·...·]-66">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">262 ················</span><span·class="p"·data-group-id="6814418030-66">{</span><span·class="ss">repaired</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·246,·SHA:·56d2e2b6c842b808c29ded63cf6d83672a08ecbb36058842b8b491ac784dd751·...·]-66">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
263 ····················</span><span·class="p"·data-group-id="9061416513-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="9061416513-69">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·527,·SHA:·50d88632f3c2efed9b7010a4be63fde79d354806b8848f0242ab534d39af6de8·...·]-68">}</span><span·class="p">;</span><span·class="w">263 ····················</span><span·class="p"·data-group-id="6814418030-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="6814418030-69">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·527,·SHA:·ca415088d5711c02538cd3acac9677e04d558e77b08d590a272a27cec073b66e·...·]-68">}</span><span·class="p">;</span><span·class="w">
264 ················</span><span·class="p"·data-group-id="9061416513-70">{</span><span·class="ss">repaired</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·57,·SHA:·d6bb0e710432fda13e8bca23586b2c8fd66fb0630141df80cf0dd7f9bf1d0e64·...·]-70">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">264 ················</span><span·class="p"·data-group-id="6814418030-70">{</span><span·class="ss">repaired</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·57,·SHA:·42c72c1d680ba6f28826552034b2fd1bb1679014a04fa34858afbcb28a8d8aca·...·]-70">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
265 ····················</span><span·class="p"·data-group-id="9061416513-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="9061416513-72">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·527,·SHA:·d79dae441c7b6cbe066ab71160a36ca659eef85150c6264d58b162b2822d1816·...·]-71">}</span><span·class="p">;</span><span·class="w">265 ····················</span><span·class="p"·data-group-id="6814418030-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="6814418030-72">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·527,·SHA:·2e8a53f4c773731d9db38e05430d865b23769c0ee859ee39215000bcbe75f6c2·...·]-71">}</span><span·class="p">;</span><span·class="w">
266 ················</span><span·class="p"·data-group-id="9061416513-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="9061416513-73">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">266 ················</span><span·class="p"·data-group-id="6814418030-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="6814418030-73">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
267 ····················</span><span·class="p"·data-group-id="9061416513-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="9061416513-74">}</span><span·class="w">267 ····················</span><span·class="p"·data-group-id="6814418030-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="6814418030-74">}</span><span·class="w">
268 ············</span><span·class="k">end</span><span·class="w">268 ············</span><span·class="k">end</span><span·class="w">
269 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">269 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
270 </span><span·class="c1">%%·Reads·BackupItems·from·the·backup·media</span><span·class="w">270 </span><span·class="c1">%%·Reads·BackupItems·from·the·backup·media</span><span·class="w">
271 </span><span·class="c1">%%</span><span·class="w">271 </span><span·class="c1">%%</span><span·class="w">
272 </span><span·class="c1">%%·Returns·{ok,·OpaqueData,·BackupItems}·or·{error,·Reason}</span><span·class="w">272 </span><span·class="c1">%%·Returns·{ok,·OpaqueData,·BackupItems}·or·{error,·Reason}</span><span·class="w">
Max diff block lines reached; 15217/66606 bytes (22.85%) of diff not shown.
756 B
html2text {}
Max HTML report size reached
149 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_app_b.html
    
Offset 127, 262 lines modifiedOffset 127, 262 lines modified
  
127 <h2·id="mnesia_access-callback-behavior"·class="section-heading">127 <h2·id="mnesia_access-callback-behavior"·class="section-heading">
128 ··<a·href="#mnesia_access-callback-behavior"·class="hover-link">128 ··<a·href="#mnesia_access-callback-behavior"·class="hover-link">
129 ····<i·class="ri-link-m"·aria-hidden="true"></i>129 ····<i·class="ri-link-m"·aria-hidden="true"></i>
130 ··</a>130 ··</a>
131 ··<span·class="text">mnesia_access·Callback·Behavior</span>131 ··<span·class="text">mnesia_access·Callback·Behavior</span>
132 </h2>132 </h2>
133 <pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3149871562-1">(</span><span·class="ss">mnesia_frag</span><span·class="p"·data-group-id="3149871562-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="0666358341-1">(</span><span·class="ss">mnesia_frag</span><span·class="p"·data-group-id="0666358341-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="3149871562-2">(</span><span·class="p"·data-group-id="3149871562-3">[</span><span·class="w">135 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0666358341-2">(</span><span·class="p"·data-group-id="0666358341-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="3149871562-3">]</span><span·class="p"·data-group-id="3149871562-2">)</span><span·class="p">.</span><span·class="w">144 ········</span><span·class="p"·data-group-id="0666358341-3">]</span><span·class="p"·data-group-id="0666358341-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="3149871562-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="3149871562-5">{</span><span·class="ss">table<[·...·truncated·by·diffoscope;·len:·277,·SHA:·19154b440e9df161ddad2496ca6ce284ee8896feaf79dad4ab9c7f185e49206f·...·]-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="0666358341-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="0666358341-5">{</span><span·class="ss">table<[·...·truncated·by·diffoscope;·len:·277,·SHA:·b5208c7d4faa627b141a1f827b9e97d443da3f89bd64a5a1407e1377cbb352f0·...·]-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="3149871562-6">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="3149871562-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="0666358341-6">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="0666358341-6">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
150 ········</span><span·class="p"·data-group-id="3149871562-7">[</span><span·class="n">Tab</span><span·class="p"·data-group-id="3149871562-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">150 ········</span><span·class="p"·data-group-id="0666358341-7">[</span><span·class="n">Tab</span><span·class="p"·data-group-id="0666358341-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="3149871562-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="3149871562-9">{</span><span·class="ss">table<[·...·truncated·by·diffoscope;·len:·253,·SHA:·31d5ac4097630e5c4253be4ca88f24c56b728c25e008d56dd1e981f45aa3432d·...·]-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="0666358341-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="0666358341-9">{</span><span·class="ss">table<[·...·truncated·by·diffoscope;·len:·253,·SHA:·e456f25a2494172a40b9787e7c07795baa73f28085275d64fd21c212932f4e32·...·]-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="3149871562-10">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="3149871562-11">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">[·...·truncated·by·diffoscope;·len:·390,·SHA:·b4540156cf708b6ee7cd17f193afc33ee45cfc5a590c7954bc9f53a1718dc341·...·]-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="0666358341-10">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="0666358341-11">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">[·...·truncated·by·diffoscope;·len:·390,·SHA:·7e69886ec5888014f7625c49b9fa76090767e34ab707ac9a520911e44b5bff98·...·]-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="3149871562-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="0666358341-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="3149871562-13">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="3149871562-14">(</span><span·class="n">DeepNs</span><span·class="p"·data-group-id="3149871562-14">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·94b23838b536461ae8f8079e8ab5a9ba3403749215b613f79081cf959e16ecc6·...·]-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="0666358341-13">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="0666358341-14">(</span><span·class="n">DeepNs</span><span·class="p"·data-group-id="0666358341-14">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·778fc0c3d39fc002c61ff462b54c828ffaddb288814cb33768c043e9130764e3·...·]-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="3149871562-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:·5a8040802422882cbcbc78621889754eff687c1ece45bd0efde7fcffc1e921e9·...·]-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="0666358341-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:·38d7e30ac5437e8fbef46176f460fc42d5a10855f3313ff3781572d65651032c·...·]-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="3149871562-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:·5a8040802422882cbcbc78621889754eff687c1ece45bd0efde7fcffc1e921e9·...·]-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="0666358341-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:·38d7e30ac5437e8fbef46176f460fc42d5a10855f3313ff3781572d65651032c·...·]-16">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">write</span><span·class="p"·data-group-id="3149871562-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:·d553f702cd144f8e4ce00ef2fae0aa1883a4d0e3c3ac594e275c8c23609558c5·...·]-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="0666358341-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:·62110927f6b439f2e7f51819fdf44ac7e8d7ddb61965b268ec705beadbb1b4a4·...·]-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="3149871562-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="3149871562-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="0666358341-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="0666358341-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="3149871562-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:·4a852dfea8362b4b677b3fd0af360b40a05dfd2a3835cbd9b18fd5f3867b141a·...·]-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="0666358341-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:·8a9983c5fde80bde366e257924de0f5df387ba40b2133abc5ead2df926c26472·...·]-19">)</span><span·class="p">.</span><span·class="w">
  
162 </span><span·class="nf">delete</span><span·class="p"·data-group-id="3149871562-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:·74ed025c7e6c5469aeb38ca5575d582e5e8c685b4b7d2535004a983ce17c9032·...·]-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="0666358341-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:·96da3cf3e96192c6160b44886c7e539a2b6db4df6eee7cfbae05879f14073ce0·...·]-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="3149871562-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="3149871562-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="0666358341-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="0666358341-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="3149871562-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:·ffd1dbc6d09a6d749984d0ed025e29f216143d5f292f98f99cdeb569c3011277·...·]-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="0666358341-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:·cdc82808fcdef60ed483df5ddcd159aa9bca5c492c2a1e003ea10ca936044a9c·...·]-22">)</span><span·class="p">.</span><span·class="w">
  
165 </span><span·class="nf">delete_object</span><span·class="p"·data-group-id="3149871562-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:·d553f702cd144f8e4ce00ef2fae0aa1883a4d0e3c3ac594e275c8c23609558c5·...·]-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="0666358341-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:·62110927f6b439f2e7f51819fdf44ac7e8d7ddb61965b268ec705beadbb1b4a4·...·]-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="3149871562-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="3149871562-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="0666358341-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="0666358341-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="3149871562-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:·4a852dfea8362b4b677b3fd0af360b40a05dfd2a3835cbd9b18fd5f3867b141a·...·]-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="0666358341-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:·8a9983c5fde80bde366e257924de0f5df387ba40b2133abc5ead2df926c26472·...·]-25">)</span><span·class="p">.</span><span·class="w">
  
168 </span><span·class="nf">read</span><span·class="p"·data-group-id="3149871562-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:·74ed025c7e6c5469aeb38ca5575d582e5e8c685b4b7d2535004a983ce17c9032·...·]-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="0666358341-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:·96da3cf3e96192c6160b44886c7e539a2b6db4df6eee7cfbae05879f14073ce0·...·]-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="3149871562-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="3149871562-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="0666358341-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="0666358341-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="3149871562-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:·ffd1dbc6d09a6d749984d0ed025e29f216143d5f292f98f99cdeb569c3011277·...·]-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="0666358341-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:·cdc82808fcdef60ed483df5ddcd159aa9bca5c492c2a1e003ea10ca936044a9c·...·]-28">)</span><span·class="p">.</span><span·class="w">
  
171 </span><span·class="nf">match_object</span><span·class="p"·data-group-id="3149871562-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:·9c462963ba6e0da8eb5c3bb31c86787bb4c8347a4d762333bbe5e25174395570·...·]-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="0666358341-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:·e6e6f9f30e9f12f5f702b5895695041ff5b388c3829af5a4e07d560212372649·...·]-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="3149871562-30">[</span><span·class="p"·data-group-id="3149871562-31">{</span><span·class="n">HeadPat</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3149871562-32">[</span><span·class="p"·data-group-id="3149871562-32">][·...·truncated·by·diffoscope;·len:·294,·SHA:·d88c4ad003b0921290a99ffdb69f9d7ee17681ce101e213c5f98ab72ef236b5d·...·]-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="0666358341-30">[</span><span·class="p"·data-group-id="0666358341-31">{</span><span·class="n">HeadPat</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0666358341-32">[</span><span·class="p"·data-group-id="0666358341-32">][·...·truncated·by·diffoscope;·len:·294,·SHA:·53bb25f6b087f1cc94047f79b63f957e02f698dbd1cc9fd97cd9a86b97801c1f·...·]-30">]</span><span·class="p">,</span><span·class="w">
173 ····</span><span·class="nf">select</span><span·class="p"·data-group-id="3149871562-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:·9a0399f0350aa4a39f1ccea7bfde6d35663ddd644c3b9f53fa7da70aaf7ccaf7·...·]-34">)</span><span·class="p">.</span><span·class="w">173 ····</span><span·class="nf">select</span><span·class="p"·data-group-id="0666358341-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:·b547d4ad85fe22a61f0f83caf3d22152f0354a454bbb7f99b660e73383f85725·...·]-34">)</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">select</span><span·class="p"·data-group-id="3149871562-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:·9a0399f0350aa4a39f1ccea7bfde6d35663ddd644c3b9f53fa7da70aaf7ccaf7·...·]-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="0666358341-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:·b547d4ad85fe22a61f0f83caf3d22152f0354a454bbb7f99b660e73383f85725·...·]-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="3149871562-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:·9a0399f0350aa4a39f1ccea7bfde6d35663ddd644c3b9f53fa7da70aaf7ccaf7·...·]-36">)</span><span·class="p">.</span><span·class="w">175 ····</span><span·class="nf">do_select</span><span·class="p"·data-group-id="0666358341-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:·b547d4ad85fe22a61f0f83caf3d22152f0354a454bbb7f99b660e73383f85725·...·]-36">)</span><span·class="p">.</span><span·class="w">
  
  
176 </span><span·class="nf">select</span><span·class="p"·data-group-id="3149871562-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:·2e9e48b9f8658552ac222683a6564550c058cf4451255cca1030dd84df47a608·...·]-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="0666358341-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:·47c9c7039916f891d76c4ed1a13a093495b940592cb2a8b0935f29e54eb77ad9·...·]-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="3149871562-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:·2e9e48b9f8658552ac222683a6564550c058cf4451255cca1030dd84df47a608·...·]-38">)</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="nf">init_select</span><span·class="p"·data-group-id="0666358341-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:·47c9c7039916f891d76c4ed1a13a093495b940592cb2a8b0935f29e54eb77ad9·...·]-38">)</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="3149871562-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="3149871562-40">{</span><span·class="ss">frag_cont</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·370,·SHA:·93f26b902122d4989d93ca789b4c10ad93599a359a77176c7faebb69bad21392·...·]-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="0666358341-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="0666358341-40">{</span><span·class="ss">frag_cont</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·370,·SHA:·115009efb0c707491f65e0e4d55d4cd6493fd005d93d00ad3b88c13851f3cb82·...·]-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="3149871562-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="3149871562-43">{</span><span·class="ss">frag_cont</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·637,·SHA:·35f0a5fee6fa7cd92bc75c03b95ceddccf86ac8e7feb734f23941a1bd4e884b0·...·]-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="0666358341-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="0666358341-43">{</span><span·class="ss">frag_cont</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·637,·SHA:·fcc5d08a25556f1d11266437e1027dfe5ab8351f85ba792475f9ea26799892f6·...·]-42">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="3149871562-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="3149871562-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="0666358341-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="0666358341-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="3149871562-47">(</span><span·class="n">FixedSpec</span><span·class="p"·data-group-id="3149871562-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:·4b14c06d144172247600b878c27d09605756544509288bc7ea901e9d3e79585f·...·]-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="0666358341-47">(</span><span·class="n">FixedSpec</span><span·class="p"·data-group-id="0666358341-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:·bcbbe4cbf4cff6c07d4b090b60e3734866c3ebc510fb7f289f4cc68431961061·...·]-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="3149871562-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:·e4c631af5e8fbdc2a3f17f814f0eb97744c65b54dcad5fe4f6f086d5cb3f439e·...·]-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="0666358341-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:·16dc29f24e1d4bcc118ed378ec93aa8581381e60066f9fb0d628635f0581a268·...·]-49">)</span><span·class="p">,</span><span·class="w">
183 ····</span><span·class="nf">frag_sel_cont</span><span·class="p"·data-group-id="3149871562-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="3149871562-50">)</span><span·class="p">;</span><span·class="w">183 ····</span><span·class="nf">frag_sel_cont</span><span·class="p"·data-group-id="0666358341-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="0666358341-50">)</span><span·class="p">;</span><span·class="w">
184 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="3149871562-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="3149871562-52">{</span><span·class="ss">frag_cont</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·273,·SHA:·c9fab821c1f6a1322ab0962fb3047747f996fb1b69db68248b5a97de659ee36c·...·]-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="0666358341-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="0666358341-52">{</span><span·class="ss">frag_cont</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·273,·SHA:·455b57bfa9f08c7e67cb2cf4b3af05734f6c056b75adff97644d94339b1feb7e·...·]-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="3149871562-53">(</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">select_cont</span><span·class="p"·data-group-id="3149871562-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:·870bf2b2c22e239a650189726adabf0827137ff48cbfe4c4828a274dd6fd2c9b·...·]-53">)</span><span·class="p">;</span><span·class="w">185 ····</span><span·class="nf">frag_sel_cont</span><span·class="p"·data-group-id="0666358341-53">(</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">select_cont</span><span·class="p"·data-group-id="0666358341-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:·368422c77b0f20f4e83530267823334c28271241353c93044914a3febc94ce0f·...·]-53">)</span><span·class="p">;</span><span·class="w">
186 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="3149871562-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="3149871562-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="0666358341-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="0666358341-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="3149871562-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="3149871562-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="0666358341-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="0666358341-56">)</span><span·class="p">.</span><span·class="w">
  
188 </span><span·class="nf">all_keys</span><span·class="p"·data-group-id="3149871562-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:·8ecdce3f60a55167209ddecdc5dc6005af7bb208ae825ac0daa3152fb17f6d4f·...·]-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="0666358341-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:·d35dc9590853439a1de2106ad6db9ce6d867db452c7add761335c179d508f839·...·]-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="3149871562-58">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">all_keys</span><span·class="p"·data-group-id="3149871562-59">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·212,·SHA:·8bf38c28d17d0a1ec6226a9a0115e5bd8b08ad907cb1bb226387aede0cc3c07d·...·]-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="0666358341-58">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">all_keys</span><span·class="p"·data-group-id="0666358341-59">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·212,·SHA:·635364084d969e7d22d5db4e7782ce287c1d7159db502268f25e17ec1f73874e·...·]-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="3149871562-60">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="3149871562-60">)</span><span·class="p"·data-group-id="3149871562-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="0666358341-60">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="0666358341-60">)</span><span·class="p"·data-group-id="0666358341-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="3149871562-61">(</span><span·class="n">Match</span><span·class="p"·data-group-id="3149871562-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="0666358341-61">(</span><span·class="n">Match</span><span·class="p"·data-group-id="0666358341-61">)</span><span·class="p">.</span><span·class="w">
  
192 </span><span·class="nf">clear_table</span><span·class="p"·data-group-id="3149871562-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:·e630189840a96e31528305eaf33619536aceb8e01734d8822cfc698a44ac0a81·...·]-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="0666358341-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:·1f340b43e17da28d529dad6e94132d5654a459b3e6c4a9904eb53d26ba68c237·...·]-62">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="3149871562-63">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">clear_table</span><span·class="p"·data-group-id="3149871562-64">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·609,·SHA:·f6ff598b9e3bef246a85b58556f72d3a6fb771cc17df3a9dda8a7b0955c12582·...·]-63">]</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="p"·data-group-id="0666358341-63">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">clear_table</span><span·class="p"·data-group-id="0666358341-64">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·609,·SHA:·519f654e7e139674a681ad157db2a5706347933e0ef91c89185be31b99443973·...·]-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="3149871562-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:·2f6d07058b6746988af05916be370f171a52c97fddb8e241d3529b193151ad50·...·]-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="0666358341-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:·2c39775ef26d84266c8d48d642b2df3ed3047a4a8bd09ed4e5398e6afcca80bb·...·]-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="3149871562-67">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">index_match_object</span><span·class="p"·data-group-id="3149871562-68">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·371,·SHA:·03f71880c408f5b0ac2cdcf4a42d1c9e9f17a2d91bc8c0311bad461d16a108ed·...·]-68">)</span><span·class="w">197 ········</span><span·class="p"·data-group-id="0666358341-67">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">index_match_object</span><span·class="p"·data-group-id="0666358341-68">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·371,·SHA:·1d078bec4e2fe767642d12654118b105c6175c38b30e3adca9c979533ff9b7f0·...·]-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="3149871562-69">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="3149871562-69">)</span><span·class="p"·data-group-id="3149871562-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="0666358341-69">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="0666358341-69">)</span><span·class="p"·data-group-id="0666358341-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="3149871562-70">(</span><span·class="n">Match</span><span·class="p"·data-group-id="3149871562-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="0666358341-70">(</span><span·class="n">Match</span><span·class="p"·data-group-id="0666358341-70">)</span><span·class="p">.</span><span·class="w">
  
200 </span><span·class="nf">index_read</span><span·class="p"·data-group-id="3149871562-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:·7c48bb2d796ba2920102e588731d0c0198167eadae31cc61d8fdfbd66e894919·...·]-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="0666358341-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:·f414a77ebc97191ea2b918a47e0d346451c9926fe8a12ec06ac546ef667c9d37·...·]-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="3149871562-72">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">index_read</span><span·class="p"·data-group-id="3149871562-73">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·363,·SHA:·0921080899a642bf74dff581b6c3ff83e8e8d3f0ed4c76b95decf29d4767e4ea·...·]-73">)</span><span·class="w">202 ········</span><span·class="p"·data-group-id="0666358341-72">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">index_read</span><span·class="p"·data-group-id="0666358341-73">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·363,·SHA:·17a358bc3a77178a2f431c884727fb3969ed5230065f7aee2831cfd6fba4035a·...·]-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="3149871562-74">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="3149871562-74">)</span><span·class="p"·data-group-id="3149871562-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="0666358341-74">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="0666358341-74">)</span><span·class="p"·data-group-id="0666358341-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="3149871562-75">(</span><span·class="n">Match</span><span·class="p"·data-group-id="3149871562-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="0666358341-75">(</span><span·class="n">Match</span><span·class="p"·data-group-id="0666358341-75">)</span><span·class="p">.</span><span·class="w">
  
205 </span><span·class="nf">foldl</span><span·class="p"·data-group-id="3149871562-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:·c3f9bdb0ad1bf0f2ff19e6a88e3bece437a525fe42622379a3ce313147510839·...·]-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="0666358341-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:·c77581b8bacdbc6154e700948d3fc220a5e75bf3640d8f97940095fb8942dc2b·...·]-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="3149871562-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="3149871562-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="0666358341-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="0666358341-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="3149871562-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:·9f74b658a5356964c7062c280873cd7e53e443a75b61e2dfebd50c21479cf577·...·]-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="0666358341-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:·1eec0e5c9a5c59a2d483888d7ca39990ef181bcbda944c24e9c224592c2feca3·...·]-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="3149871562-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="3149871562-80">(</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·c2b6cba735a102cb7ed39e01500eb02c239554c8cb19b9a92fd9367629ab7cad·...·]-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="0666358341-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="0666358341-80">(</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·ca250bb603a1c2a570b6f9115cbf2ac7167c475ee98104b058ca32da82eeb6e5·...·]-79">)</span><span·class="p">.</span><span·class="w">
  
210 </span><span·class="nf">foldr</span><span·class="p"·data-group-id="3149871562-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:·c3f9bdb0ad1bf0f2ff19e6a88e3bece437a525fe42622379a3ce313147510839·...·]-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="0666358341-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:·c77581b8bacdbc6154e700948d3fc220a5e75bf3640d8f97940095fb8942dc2b·...·]-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="3149871562-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="3149871562-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="0666358341-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="0666358341-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="3149871562-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:·9f74b658a5356964c7062c280873cd7e53e443a75b61e2dfebd50c21479cf577·...·]-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="0666358341-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:·1eec0e5c9a5c59a2d483888d7ca39990ef181bcbda944c24e9c224592c2feca3·...·]-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="3149871562-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="3149871562-85">(</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·bb835edfd4609dbc4a28fa58d859916742763b6b4a6533f9065e961cd88b01b8·...·]-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="0666358341-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="0666358341-85">(</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·4e0a4039ad334a8c3f1fd353db61d1ae91b07c34cbde123464720aff78bb7c8b·...·]-84">)</span><span·class="p">.</span><span·class="w">
  
215 </span><span·class="nf">table_info</span><span·class="p"·data-group-id="3149871562-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="3149871562-87">{</span><span·class="n">Tab</[·...·truncated·by·diffoscope;·len:·249,·SHA:·d2869e73860536f752fd4cea494f0c4dcc37d01caada446fa5983b5959cdc82d·...·]-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="0666358341-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="0666358341-87">{</span><span·class="n">Tab</[·...·truncated·by·diffoscope;·len:·249,·SHA:·b661e5cda12a6f3c87966f5024ed1629db9b7dcf89489a360bb976630ae0d25e·...·]-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="3149871562-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="3149871562-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="0666358341-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="0666358341-88">)</span><span·class="p">,</span><span·class="w">
217 ····</span><span·class="nf">table_info2</span><span·class="p"·data-group-id="3149871562-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:·3836e58ce4f1d55913b0149e17069168252dabadb456500384c3603f298b155a·...·]-89">)</span><span·class="p">;</span><span·class="w">217 ····</span><span·class="nf">table_info2</span><span·class="p"·data-group-id="0666358341-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:·abade4a123ec3a737cba17ad8e6d82d1ed61d9f9833fda6b1ee7aeab48f194b3·...·]-89">)</span><span·class="p">;</span><span·class="w">
218 </span><span·class="nf">table_info</span><span·class="p"·data-group-id="3149871562-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:·0e1c40a9530720a2c2e6251a0f76e9a8269b2f07cd0fb36bf130357279ea6b36·...·]-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="0666358341-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:·b749646156143a0b480455967a86f7086d97b4b0ce28b6a706979749cd2ebf20·...·]-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="3149871562-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:·b33b870bb5b7d17ec61c58fe940d99d745360d9d154df00b9522ba002f43c96d·...·]-91">)</span><span·class="p">.</span><span·class="w">219 ····</span><span·class="nf">table_info2</span><span·class="p"·data-group-id="0666358341-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:·4336f2f5f1cec4dd8ee22a657f5170a60b6499a6e93cdd85cb7a0f58379e9b1e·...·]-91">)</span><span·class="p">.</span><span·class="w">
  
220 </span><span·class="nf">table_info2</span><span·class="p"·data-group-id="3149871562-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:·3836e58ce4f1d55913b0149e17069168252dabadb456500384c3603f298b155a·...·]-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="0666358341-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:·abade4a123ec3a737cba17ad8e6d82d1ed61d9f9833fda6b1ee7aeab48f194b3·...·]-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="3149871562-93">(</span><span·class="p"·data-group-id="3149871562-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="3149871562-94">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·89,·SHA:·3bd603aeb451f06a28e3fda8cecc4df1e9866b5323c13aa9515ab81b611344fe·...·]-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="0666358341-93">(</span><span·class="p"·data-group-id="0666358341-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="0666358341-94">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·89,·SHA:·da8c8a7adaf39d7ef3a6b3b316f7aafb1eda4adbf5b3879eda2db8b1d21814eb·...·]-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="3149871562-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="3149871562-96">(</s[·...·truncated·by·diffoscope;·len:·283,·SHA:·e0488d6455bc135e1836f949f19bf4dff9e0468a3ff34f2ee719cbfff3b98761·...·]-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="0666358341-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="0666358341-96">(</s[·...·truncated·by·diffoscope;·len:·283,·SHA:·3fabc42706e940d9c75979aefd8d55879d63c871025d8f2f93d4cb79e07b142f·...·]-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="3149871562-97">(</span><span·class="p"·data-group-id="3149871562-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="3149871562-98">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·89,·SHA:·3bd603aeb451f06a28e3fda8cecc4df1e9866b5323c13aa9515ab81b611344fe·...·]-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="0666358341-97">(</span><span·class="p"·data-group-id="0666358341-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="0666358341-98">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·89,·SHA:·da8c8a7adaf39d7ef3a6b3b316f7aafb1eda4adbf5b3879eda2db8b1d21814eb·...·]-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="3149871562-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="3149871562-100">([·...·truncated·by·diffoscope;·len:·287,·SHA:·4d0d0075687d1306fcada01b9d123b214f44928b3435112b860056ac6cabf366·...·]-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="0666358341-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="0666358341-100">([·...·truncated·by·diffoscope;·len:·287,·SHA:·2425612e956587b7915add758f77f5c1eb11a87e4b1285cf2e756231305b4c92·...·]-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="3149871562-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="3149871562-101">)</span><span·class="p">;</span><span·class="w">229 ············</span><span·class="nf">lookup_prop</span><span·class="p"·data-group-id="0666358341-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="0666358341-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="3149871562-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="3149871562-102">)</span><span·class="p">;</span><span·class="w">231 ············</span><span·class="nf">lookup_prop</span><span·class="p"·data-group-id="0666358341-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="0666358341-102">)</span><span·class="p">;</span><span·class="w">
Max diff block lines reached; 65493/151451 bytes (43.24%) of diff not shown.
816 B
html2text {}
Max HTML report size reached
71.9 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_app_c.html
    
Offset 127, 148 lines modifiedOffset 127, 148 lines modified
  
127 <h2·id="mnesia_frag_hash-callback-behavior"·class="section-heading">127 <h2·id="mnesia_frag_hash-callback-behavior"·class="section-heading">
128 ··<a·href="#mnesia_frag_hash-callback-behavior"·class="hover-link">128 ··<a·href="#mnesia_frag_hash-callback-behavior"·class="hover-link">
129 ····<i·class="ri-link-m"·aria-hidden="true"></i>129 ····<i·class="ri-link-m"·aria-hidden="true"></i>
130 ··</a>130 ··</a>
131 ··<span·class="text">mnesia_frag_hash·Callback·Behavior</span>131 ··<span·class="text">mnesia_frag_hash·Callback·Behavior</span>
132 </h2>132 </h2>
133 <pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4108534221-1">(</span><span·class="ss">mnesia_frag_hash</span><span·class="p"·data-group-id="4108534221-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="8227329231-1">(</span><span·class="ss">mnesia_frag_hash</span><span·class="p"·data-group-id="8227329231-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="4108534221-2">(</span><span·class="p"·data-group-id="4108534221-3">[</span><span·class="p"·data-group-id="4108534221-4">{</span><span·class="ss">nowarn_deprecated_function</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·460,·SHA:·dfd02d61dfc5208f53844e8e3c068e3487154fbc57f18ae0146ca7764e962e3d·...·]1-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="8227329231-2">(</span><span·class="p"·data-group-id="8227329231-3">[</span><span·class="p"·data-group-id="8227329231-4">{</span><span·class="ss">nowarn_deprecated_function</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·460,·SHA:·4b57352f70ed40ec4c65a83850e9547323808227068864cc710f1a2623fc3d24·...·]1-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="4108534221-7">(</span><span·class="p"·data-group-id="4108534221-8">[</span><span·class="w">136 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8227329231-7">(</span><span·class="p"·data-group-id="8227329231-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="4108534221-8">]</span><span·class="p"·data-group-id="4108534221-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="1561390403-1">(</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="w">142 ········</span><span·class="p"·data-group-id="8227329231-8">]</span><span·class="p"·data-group-id="8227329231-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="2344946666-1">(</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="w">
143 ····</span><span·class="p"·data-group-id="1561390403-2">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="w">143 ····</span><span·class="p"·data-group-id="2344946666-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="1561390403-2">}</span><span·class="p"·data-group-id="1561390403-1">)</span><span·class="p">.</span><span·class="w">146 ·····</span><span·class="ss">function</span><span·class="p"·data-group-id="2344946666-2">}</span><span·class="p"·data-group-id="2344946666-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="1561390403-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="1561390403-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="2344946666-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="2344946666-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="1561390403-4">(</span><span·class="p"·data-group-id="1561390403-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="2344946666-4">(</span><span·class="p"·data-group-id="2344946666-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="1561390403-5">(</span><span·class="p"·data-group-id="1561390403-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="2344946666-5">(</span><span·class="p"·data-group-id="2344946666-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="1561390403-6">(</span><span·class="p"·data-group-id="1561390403-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="2344946666-6">(</span><span·class="p"·data-group-id="2344946666-6">)</span><span·class="p">.</span><span·class="w">
152 </span><span·class="nf">init_state</span><span·class="p"·data-group-id="1561390403-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="1561390403-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="2344946666-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="2344946666-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="1561390403-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="2344946666-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="1561390403-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="2344946666-8">}</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">convert_old_state</span><span·class="p"·data-group-id="1561390403-9">(</span><span·class="p"·data-group-id="1561390403-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><s[·...·truncated·by·diffoscope;·len:·165,·SHA:·1d5265f9e36dab533e220aed5bc572109aacaba034f2090801ff0ab132ff3ea5·...·]-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="2344946666-9">(</span><span·class="p"·data-group-id="2344946666-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><s[·...·truncated·by·diffoscope;·len:·165,·SHA:·b206602514933554dba5dfc7907b94aad74b329c6f28a8a158ee4709fd4dc90b·...·]-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="1561390403-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="2344946666-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="1561390403-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="2344946666-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="1561390403-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="1561390403-13">(</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·453,·SHA:·ae361a6480f8ef69867cc24203641c2c7840fd6ccf76b397e0938df9ea4ed65d·...·]-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="2344946666-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="2344946666-13">(</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·453,·SHA:·6647077c2a523c56b15ed14b786b4ffce4986358b0ffe634f20dad8900dd0b6d·...·]-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="1561390403-15">(</span><span·class="p"·data-group-id="1561390403-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="2344946666-15">(</span><span·class="p"·data-group-id="2344946666-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="1561390403-16">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="1561390403-17">(</span><span·class="p"·data-group-id="1561390403-17">)</span><span·class="p"·data-group-id="1561390403-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="2344946666-16">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2344946666-17">(</span><span·class="p"·data-group-id="2344946666-17">)</span><span·class="p"·data-group-id="2344946666-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="1561390403-18">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="1561390403-19">(</span><span·class="p"·data-group-id="1561390403-19">)</span><span·class="p"·data-group-id="1561390403-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="2344946666-18">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2344946666-19">(</span><span·class="p"·data-group-id="2344946666-19">)</span><span·class="p"·data-group-id="2344946666-18">]</span><span·class="p">.</span><span·class="w">
168 </span><span·class="nf">add_frag</span><span·class="p"·data-group-id="1561390403-20">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="1561390403-21">{</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·570,·SHA:·97b057791e080838d70330856ed014ce70fd13dab0ef3c1a178eb04be75244b8·...·]-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="2344946666-20">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2344946666-21">{</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·570,·SHA:·8bca565a9b4243229f69ba23ab76bf4f8d65dc54abe8934e408d69d2e3426f0b·...·]-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="1561390403-22">(</span><span·class="n">L</span><span·class="p"·data-group-id="1561390403-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="2344946666-22">(</span><span·class="n">L</span><span·class="p"·data-group-id="2344946666-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="1561390403-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="2344946666-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="1561390403-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="2344946666-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="1561390403-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="2344946666-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="1561390403-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="2344946666-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="1561390403-25">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1561390403-26">[</span><span·class="n">SplitN</span><span·class="p"·data-group-id="1561390403-26">]</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·205,·SHA:·20b18b5de249496d500059e3373f7d3a68c7fc672121e08b00ef378f7b7d5a95·...·]-25">}</span><span·class="p">;</span><span·class="w">180 ····</span><span·class="p"·data-group-id="2344946666-25">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2344946666-26">[</span><span·class="n">SplitN</span><span·class="p"·data-group-id="2344946666-26">]</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·205,·SHA:·78bf84d7436825544802b013e8a404a615d8620a1c1ac3e0bc34211f2d0325cf·...·]-25">}</span><span·class="p">;</span><span·class="w">
181 </span><span·class="nf">add_frag</span><span·class="p"·data-group-id="1561390403-28">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="1561390403-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="2344946666-28">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2344946666-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="1561390403-29">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="1561390403-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="2344946666-29">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2344946666-29">)</span><span·class="p">,</span><span·class="w">
183 ····</span><span·class="nf">add_frag</span><span·class="p"·data-group-id="1561390403-30">(</span><span·class="n">State</span><span·class="p"·data-group-id="1561390403-30">)</span><span·class="p">.</span><span·class="w">183 ····</span><span·class="nf">add_frag</span><span·class="p"·data-group-id="2344946666-30">(</span><span·class="n">State</span><span·class="p"·data-group-id="2344946666-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="1561390403-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="1561390403-32">(</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·453,·SHA:·b5862aa4f86cb81511c913bcaecc455e91112b59433ac0548fc248a02f8281d5·...·]-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="2344946666-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="2344946666-32">(</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·453,·SHA:·32b92f2c4fbba53297278ed70e565d1403756416963cd1a55c856e419f939098·...·]-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="1561390403-34">(</span><span·class="p"·data-group-id="1561390403-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="2344946666-34">(</span><span·class="p"·data-group-id="2344946666-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="1561390403-35">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="1561390403-36">(</span><span·class="p"·data-group-id="1561390403-36">)</span><span·class="p"·data-group-id="1561390403-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="2344946666-35">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2344946666-36">(</span><span·class="p"·data-group-id="2344946666-36">)</span><span·class="p"·data-group-id="2344946666-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="1561390403-37">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="1561390403-38">(</span><span·class="p"·data-group-id="1561390403-38">)</span><span·class="p"·data-group-id="1561390403-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="2344946666-37">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2344946666-38">(</span><span·class="p"·data-group-id="2344946666-38">)</span><span·class="p"·data-group-id="2344946666-37">]</span><span·class="p">.</span><span·class="w">
190 </span><span·class="nf">del_frag</span><span·class="p"·data-group-id="1561390403-39">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="1561390403-40">{</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·570,·SHA:·7e1882d1842db87c1cd0e7f7b37284f7bd07260f449c34c97df7652cc33d9502·...·]-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="2344946666-39">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2344946666-40">{</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·570,·SHA:·fc32d9a3e95a1a274d3fe85f15c154e943d7cb7d855655d9587f9c7fd9791e87·...·]-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="1561390403-41">(</span><span·class="n">L2</span><span·class="p"·data-group-id="1561390403-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="2344946666-41">(</span><span·class="n">L2</span><span·class="p"·data-group-id="2344946666-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="1561390403-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="2344946666-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="1561390403-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="2344946666-42">}</span><span·class="p">,</span><span·class="w">
199 ············</span><span·class="p"·data-group-id="1561390403-43">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1561390403-44">[</span><span·class="n">N</span><span·class="p"·data-group-id="1561390403-44">]</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·202,·SHA:·b59316caaea0a643040540cb77b0425b2e3ce6c7f131bf5a9a5a050f7ca277b6·...·]-43">}</span><span·class="p">;</span><span·class="w">199 ············</span><span·class="p"·data-group-id="2344946666-43">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2344946666-44">[</span><span·class="n">N</span><span·class="p"·data-group-id="2344946666-44">]</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·202,·SHA:·103f679fe5d79331e1e9eaa93374e377f350dcafa84a86a9347374cec52db073·...·]-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="1561390403-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="2344946666-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="1561390403-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="2344946666-46">}</span><span·class="p">,</span><span·class="w">
204 ············</span><span·class="p"·data-group-id="1561390403-47">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1561390403-48">[</span><span·class="n">N</span><span·class="p"·data-group-id="1561390403-48">]</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·202,·SHA:·84d9ff4399970efdd33e5e125c3859b4a9b02b41b1a31303f75a803911c44f35·...·]-47">}</span><span·class="w">204 ············</span><span·class="p"·data-group-id="2344946666-47">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2344946666-48">[</span><span·class="n">N</span><span·class="p"·data-group-id="2344946666-48">]</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·202,·SHA:·0663c5a48bcf82e1094ab9f86754d35f9a7906a86d94b9ebf8d1d6876e5b4414·...·]-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="1561390403-50">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="1561390403-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="2344946666-50">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2344946666-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="1561390403-51">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="1561390403-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="2344946666-51">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2344946666-51">)</span><span·class="p">,</span><span·class="w">
208 ····</span><span·class="nf">del_frag</span><span·class="p"·data-group-id="1561390403-52">(</span><span·class="n">State</span><span·class="p"·data-group-id="1561390403-52">)</span><span·class="p">.</span><span·class="w">208 ····</span><span·class="nf">del_frag</span><span·class="p"·data-group-id="2344946666-52">(</span><span·class="n">State</span><span·class="p"·data-group-id="2344946666-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="1561390403-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="1561390403-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="2344946666-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="2344946666-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="1561390403-54">(</span><span·class="p"·data-group-id="1561390403-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="2344946666-54">(</span><span·class="p"·data-group-id="2344946666-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="1561390403-55">(</span><span·class="p"·data-group-id="1561390403-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="2344946666-55">(</span><span·class="p"·data-group-id="2344946666-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="1561390403-56">(</span><span·class="p"·data-group-id="1561390403-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="2344946666-56">(</span><span·class="p"·data-group-id="2344946666-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="1561390403-57">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="1561390403-58">{</span><span·class="ss">function</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">[·...·truncated·by·diffoscope;·len:·537,·SHA:·8b40839c360de8a111fcfbd241857a376afb076ec207cb02ee5d080ab5ee1bdb·...·]-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="2344946666-57">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2344946666-58">{</span><span·class="ss">function</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">[·...·truncated·by·diffoscope;·len:·537,·SHA:·b3a06a38711b19de34598538c78a705524dbfe5a37139225069d76772974b2e2·...·]-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="1561390403-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="1561390403-60">(</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><sp[·...·truncated·by·diffoscope;·len:·141,·SHA:·9c2567908c9ff32db7b8e086ef735647aa80d4b3d14327f55a4aff5119df1dbc·...·]-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="2344946666-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="2344946666-60">(</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><sp[·...·truncated·by·diffoscope;·len:·141,·SHA:·b2128a42f0e724ecb26022805619886cb20644c47f100c96d6185182ea26c999·...·]-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="1561390403-61">(</span><span·class="n">L</span><span·class="p"·data-group-id="1561390403-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="2344946666-61">(</span><span·class="n">L</span><span·class="p"·data-group-id="2344946666-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="1561390403-62">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="1561390403-63">{</span><span·class="ss">function</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">[·...·truncated·by·diffoscope;·len:·538,·SHA:·c7d2a1d529d7d1f0b1776eb37496b01635a71c350f6b04fb1740e4b1c363d84a·...·]-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="2344946666-62">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2344946666-63">{</span><span·class="ss">function</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">[·...·truncated·by·diffoscope;·len:·538,·SHA:·c80eef01618df896885ab41fdc37b0ab382f1002fc8454052ce86f3e0220e3ea·...·]-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="1561390403-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="1561390403-65">(</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><sp[·...·truncated·by·diffoscope;·len:·141,·SHA:·c390a1dc1c2e6c824bb5326edad86e81f4fd2559f583210c78ffde9b8da76dc4·...·]-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="2344946666-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="2344946666-65">(</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><sp[·...·truncated·by·diffoscope;·len:·141,·SHA:·55e96059b9ff5a85b15e81cc235062f2ebef4c08fb3810cc9483d701257a9c71·...·]-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="1561390403-66">(</span><span·class="n">L</span><span·class="p"·data-group-id="1561390403-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="2344946666-66">(</span><span·class="n">L</span><span·class="p"·data-group-id="2344946666-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="1561390403-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="1561390403-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="2344946666-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="2344946666-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="1561390403-68">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="1561390403-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="2344946666-68">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="2344946666-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="1561390403-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="1561390403-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="2344946666-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="2344946666-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="1561390403-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="1561390403-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="2344946666-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="2344946666-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="1561390403-71">(</span><span·class="p"·data-group-id="1561390403-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="2344946666-71">(</span><span·class="p"·data-group-id="2344946666-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="1561390403-72">(</span><span·class="p"·data-group-id="1561390403-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="2344946666-72">(</span><span·class="p"·data-group-id="2344946666-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="1561390403-73">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="1561390403-74">(</span><span·class="p"·data-group-id="1561390403-74">)</span><span·class="p"·data-group-id="1561390403-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="2344946666-73">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="2344946666-74">(</span><span·class="p"·data-group-id="2344946666-74">)</span><span·class="p"·data-group-id="2344946666-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="1561390403-75">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="1561390403-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:·285,·SHA:·d7d3530070c7ffb64565b56a0c0f9a677b41dfb21140fa5aaa74eb6e46252076·...·]-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="2344946666-75">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="2344946666-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:·285,·SHA:·8f1a012f42d0db2cdc80c7b99fb41b0abdda136a1f552c805fb58ec4fc9a4249·...·]-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="1561390403-77">[</span><span·class="p"·data-group-id="1561390403-78">{</span><span·class="n">HeadPat</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span[·...·truncated·by·diffoscope;·len:·555,·SHA:·7ff8cc3c432314bf62ba8b9a08101820c92c1f78f3b25fc56ee13b25a83443ad·...·]-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="2344946666-77">[</span><span·class="p"·data-group-id="2344946666-78">{</span><span·class="n">HeadPat</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span[·...·truncated·by·diffoscope;·len:·555,·SHA:·c9201fc5099517972c57c9510670fa982cedf10484f82551657544948333182e·...·]-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="1561390403-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="1561390403-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="2344946666-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="2344946666-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="1561390403-82">(</span><span·class="n">KeyPat</span><span·class="p"·data-group-id="1561390403-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="2344946666-82">(</span><span·class="n">KeyPat</span><span·class="p"·data-group-id="2344946666-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="1561390403-83">[</span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="1561390403-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="1[·...·truncated·by·diffoscope;·len:·63,·SHA:·d83cfd7f4645c8a0ba2dceb2f4d0d8374343128e749c51cee2be45930d19f5f6·...·]-83">]</span><span·class="p">;</span><span·class="w">244 ····················</span><span·class="p"·data-group-id="2344946666-83">[</span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="2344946666-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="2[·...·truncated·by·diffoscope;·len:·63,·SHA:·290990308be00655f515f70de263a6950eaf048058c1bfe1d308b6ced9e29c97·...·]-83">]</span><span·class="p">;</span><span·class="w">
245 ················</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">245 ················</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 5490/72799 bytes (7.54%) of diff not shown.
639 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_chap1.html
    
Offset 209, 15 lines modifiedOffset 209, 15 lines modified
209 ······<p·class="built-using">209 ······<p·class="built-using">
210 ········Built·using210 ········Built·using
211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
213 ······</p>213 ······</p>
214 <p>Copyright·©·1996-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.24/doc/html/mnesia_chap2.html
Max HTML report size reached
53.7 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_chap3.html
    
Offset 171, 26 lines modifiedOffset 171, 26 lines modified
171 there·as·well.·This·action·extends·the·set·of·nodes·that·comprise·this171 there·as·well.·This·action·extends·the·set·of·nodes·that·comprise·this
172 particular·<code·class="inline">Mnesia</code>·system.</p></li><li><p><a·href="mnesia.html#del_table_copy/2"><code·class="inline">mnesia:del_table_copy(Tab,·Node)</code></a>·deletes·the172 particular·<code·class="inline">Mnesia</code>·system.</p></li><li><p><a·href="mnesia.html#del_table_copy/2"><code·class="inline">mnesia:del_table_copy(Tab,·Node)</code></a>·deletes·the
173 replica·of·table·<code·class="inline">Tab</code>·at·node·<code·class="inline">Node</code>.·When·the·last·replica·of·a·table·is173 replica·of·table·<code·class="inline">Tab</code>·at·node·<code·class="inline">Node</code>.·When·the·last·replica·of·a·table·is
174 removed,·the·table·is·deleted.</p></li><li><p><a·href="mnesia.html#transform_table/4"><code·class="inline">mnesia:transform_table(Tab,·Fun,·NewAttributeList,·NewRecordName)</code></a>174 removed,·the·table·is·deleted.</p></li><li><p><a·href="mnesia.html#transform_table/4"><code·class="inline">mnesia:transform_table(Tab,·Fun,·NewAttributeList,·NewRecordName)</code></a>
175 changes·the·format·on·all·records·in·table·<code·class="inline">Tab</code>.·It·applies·argument·<code·class="inline">Fun</code>·to175 changes·the·format·on·all·records·in·table·<code·class="inline">Tab</code>.·It·applies·argument·<code·class="inline">Fun</code>·to
176 all·records·in·the·table.·<code·class="inline">Fun</code>·must·be·a·function·that·takes·a·record·of·the176 all·records·in·the·table.·<code·class="inline">Fun</code>·must·be·a·function·that·takes·a·record·of·the
177 old·type,·and·returns·the·record·of·the·new·type.·The·table·key·must·not·be177 old·type,·and·returns·the·record·of·the·new·type.·The·table·key·must·not·be
178 changed.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="4277122938-1">(</span><span·class="ss">old</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4277122938-2">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">val</span><spa[·...·truncated·by·diffoscope;·len:·90,·SHA:·1e93ac0d023e575ed24a562111b976c063c62f47b94bc663128b91c2dc5d5ee1·...·]-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="9421716526-1">(</span><span·class="ss">old</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9421716526-2">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">val</span><spa[·...·truncated·by·diffoscope;·len:·90,·SHA:·2ffde6dbd9a8fa3f773fd29a9684fcb48debe230fafc2cfe41caef468ca752a4·...·]-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="4277122938-3">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4277122938-4">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">val</span><spa[·...·truncated·by·diffoscope;·len:·167,·SHA:·ebf70fe525ca4a589a24af846cd449d588d00627c1a92e11572ea7fdc3d02484·...·]-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="9421716526-3">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9421716526-4">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">val</span><spa[·...·truncated·by·diffoscope;·len:·167,·SHA:·3fb901f61be419ed0afba5db1f6bacf1b68f384088b759e7ae6d0540f53acf5f·...·]-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="4277122938-5">(</span><span·class="n">X</span><span·class="p"·data-group-id="4277122938-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="4277122938-6">(</span[·...·truncated·by·diffoscope;·len:·141,·SHA:·e8d3c6ec40c6b6573cd487367e0c0743df61ca7a20a6296b38666a82f0b365cc·...·]-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="9421716526-5">(</span><span·class="n">X</span><span·class="p"·data-group-id="9421716526-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="9421716526-6">(</span[·...·truncated·by·diffoscope;·len:·141,·SHA:·3941853470301cc1d36d11fb4a42a3668ed850d786ef9ab81c3eb2f6fb3bab63·...·]-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="4277122938-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="9421716526-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="4277122938-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="9421716526-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="4277122938-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="4277122938-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·129,·SHA:·44f21aeef5e76c4037ef88713cffc5022a5b5cfb158f20974381bbaa3362366d·...·]-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="9421716526-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="9421716526-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·129,·SHA:·9fd06b1543e0152f20df154d2f5eeaf15c71be4f08d287bb17188ec628cf796c·...·]-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="4277122938-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="4277122938-10">)</span><span·class="p">,</span><span·class="w">187 ······································</span><span·class="nf">record_info</span><span·class="p"·data-group-id="9421716526-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="9421716526-10">)</span><span·class="p">,</span><span·class="w">
188 ······································</span><span·class="ss">new</span><span·class="p"·data-group-id="4277122938-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="9421716526-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="2504279657-1">(</span><span·class="p"·data-group-id="2504279657-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="2504279657-2">]</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·c3345b2931e3f39050b2d456d4061479c8992bc9c023962929cb500223c18e17·...·]-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="7297886946-1">(</span><span·class="p"·data-group-id="7297886946-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="7297886946-2">]</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·ee14334f0d02e6356a1d8b8e838fb5511996d72a4c852c3fcbfc5b7fc7b43f6c·...·]-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="8045166384-1">(</span><span·class="p"·data-group-id="8045166384-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="9829822512-1">(</span><span·class="p"·data-group-id="9829822512-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="8045166384-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="9829822512-2">(</span><span·class="ss">employee</span><span·class="p">,</span><span·class="w">
244 ·························</span><span·class="p"·data-group-id="8045166384-3">[</span><span·class="p"·data-group-id="8045166384-4">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8045166384-5">[</span><span·class="ss">a@gin</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·158,·SHA:·e8006512c5530b09fad6b38b8f9b5d6e2778332c63920ef473c4135898d81313·...·]-4">}</span><span·class="p">,</span><span·class="w">244 ·························</span><span·class="p"·data-group-id="9829822512-3">[</span><span·class="p"·data-group-id="9829822512-4">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9829822512-5">[</span><span·class="ss">a@gin</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·158,·SHA:·5107c8e854cf6288252de28b27f3972471e5ac06799cebe3933b00758a2f14df·...·]-4">}</span><span·class="p">,</span><span·class="w">
245 ··························</span><span·class="p"·data-group-id="8045166384-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="8045166384-7">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">245 ··························</span><span·class="p"·data-group-id="9829822512-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="9829822512-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="8045166384-7">)</span><span·class="p"·data-group-id="8045166384-6">}</span><span·class="p"·data-group-id="8045166384-3">]</span><span·class="p"·data-group-id="8045166384-2">)</span><span·class="p">,</span><span·class="w">246 ···················································</span><span·class="ss">employee</span><span·class="p"·data-group-id="9829822512-7">)</span><span·class="p"·data-group-id="9829822512-6">}</span><span·class="p"·data-group-id="9829822512-3">]</span><span·class="p"·data-group-id="9829822512-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="8045166384-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="9829822512-8">(</span><span·class="ss">dept</span><span·class="p">,</span><span·class="w">
248 ·························</span><span·class="p"·data-group-id="8045166384-9">[</span><span·class="p"·data-group-id="8045166384-10">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8045166384-11">[</span><span·class="ss">a@gin</span><span·class="p"[·...·truncated·by·diffoscope;·len:·161,·SHA:·67690f53d649e6c1b24d588029fbd85d12b3e38b39efde45f473b118226b3233·...·]-10">}</span><span·class="p">,</span><span·class="w">248 ·························</span><span·class="p"·data-group-id="9829822512-9">[</span><span·class="p"·data-group-id="9829822512-10">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9829822512-11">[</span><span·class="ss">a@gin</span><span·class="p"[·...·truncated·by·diffoscope;·len:·161,·SHA:·06657e428d4257c744e53d0231f1fb7c953a7f95704d25ca31c01e1008b953a4·...·]-10">}</span><span·class="p">,</span><span·class="w">
249 ··························</span><span·class="p"·data-group-id="8045166384-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="8045166384-13">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·246,·SHA:·d7fd755168996225c1a5aa9bdff18d2e16e55fdaa08d59418867d23eb4ce02cd·...·]-8">)</span><span·class="p">,</span><span·class="w">249 ··························</span><span·class="p"·data-group-id="9829822512-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="9829822512-13">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·246,·SHA:·7f36a76443435231ff083c4ee46b7032dc712c75f28ac994c5784fc5c6e14ef9·...·]-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="8045166384-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="9829822512-14">(</span><span·class="ss">project</span><span·class="p">,</span><span·class="w">
251 ·························</span><span·class="p"·data-group-id="8045166384-15">[</span><span·class="p"·data-group-id="8045166384-16">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8045166384-17">[</span><span·class="ss">a@gin</span><span·class="p[·...·truncated·by·diffoscope;·len:·162,·SHA:·41bbaba485c7a5f83c9b9d54dee65010a1172bea73c6720781eeb13cd1a3513c·...·]-16">}</span><span·class="p">,</span><span·class="w">251 ·························</span><span·class="p"·data-group-id="9829822512-15">[</span><span·class="p"·data-group-id="9829822512-16">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9829822512-17">[</span><span·class="ss">a@gin</span><span·class="p[·...·truncated·by·diffoscope;·len:·162,·SHA:·88f80b2092304085323332f2d9bcc42b6e90884a8ec93a37f50435e976e334fd·...·]-16">}</span><span·class="p">,</span><span·class="w">
252 ··························</span><span·class="p"·data-group-id="8045166384-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="8045166384-19">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·f43778a14c96ee93ec7694c0356e1276ba603d9b2c1f43bb639093202338fa4d·...·]-14">)</span><span·class="p">,</span><span·class="w">252 ··························</span><span·class="p"·data-group-id="9829822512-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="9829822512-19">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·14209da9be7b9b6b044fdda81c9417706b4320e53a7eea5e13559a54e856be6e·...·]-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="8045166384-20">(</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8045166384-21">[</span><span·class="p"·data-group-id="8045166384-22">{</span><span·class="ss">type</span><span·class="p">,<[·...·truncated·by·diffoscope;·len:·98,·SHA:·6c7e182144728a28dfd8906e153df9acc49430d5b947876aed8b2293ef5da0b4·...·]-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="9829822512-20">(</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9829822512-21">[</span><span·class="p"·data-group-id="9829822512-22">{</span><span·class="ss">type</span><span·class="p">,<[·...·truncated·by·diffoscope;·len:·98,·SHA:·90460b4c99f3cb3bf3cd4d6438e1443fbb24adc9fc1255c26addc55b8dc493e8·...·]-22">}</span><span·class="p">,</span><span·class="w">
254 ··································</span><span·class="p"·data-group-id="8045166384-23">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8045166384-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:·38d190f1783c2b0a2925e756749368aef94f5dd97e0023f02691de4bbde5ca33·...·]-23">}</span><span·class="p">,</span><span·class="w">254 ··································</span><span·class="p"·data-group-id="9829822512-23">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9829822512-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:·0ebac54231b921b89d5c7e78d7f58e2399871d78e977961e26a6d0b5a21ea237·...·]-23">}</span><span·class="p">,</span><span·class="w">
255 ··································</span><span·class="p"·data-group-id="8045166384-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="8045166384-26">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">255 ··································</span><span·class="p"·data-group-id="9829822512-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="9829822512-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="8045166384-26">)</span><span·class="p"·data-group-id="8045166384-25">}</span><span·class="p"·data-group-id="8045166384-21">]</span><span·class="p"·data-group-id="8045166384-20">)</span><span·class="p">,</span><span·class="w">256 ···························································</span><span·class="ss">manager</span><span·class="p"·data-group-id="9829822512-26">)</span><span·class="p"·data-group-id="9829822512-25">}</span><span·class="p"·data-group-id="9829822512-21">]</span><span·class="p"·data-group-id="9829822512-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="8045166384-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="9829822512-27">(</span><span·class="ss">at_dep</span><span·class="p">,</span><span·class="w">
258 ·························</span><span·class="p"·data-group-id="8045166384-28">[</span><span·class="p"·data-group-id="8045166384-29">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8045166384-30">[</span><span·class="ss">a@gin</span><span·class="p[·...·truncated·by·diffoscope;·len:·162,·SHA:·f55f2114358cddbfdaf046128054b805b6afde3d9d87f0492874d5eb6de13e98·...·]-29">}</span><span·class="p">,</span><span·class="w">258 ·························</span><span·class="p"·data-group-id="9829822512-28">[</span><span·class="p"·data-group-id="9829822512-29">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9829822512-30">[</span><span·class="ss">a@gin</span><span·class="p[·...·truncated·by·diffoscope;·len:·162,·SHA:·7e811adbc498a0a1d3d612b0f0c143ab1a9577a2e433ab334a136da901113381·...·]-29">}</span><span·class="p">,</span><span·class="w">
259 ··························</span><span·class="p"·data-group-id="8045166384-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="8045166384-32">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·249,·SHA:·c7f5f2ce36282a66af5ed7e959c7ddcb8174b71ef003a6b81b19e2b398bdf9ab·...·]-27">)</span><span·class="p">,</span><span·class="w">259 ··························</span><span·class="p"·data-group-id="9829822512-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="9829822512-32">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·249,·SHA:·0e0788451d76fd9a9cfceeec43abf3eb05ff9557e1649be6f7d40b2a8f8006c9·...·]-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="8045166384-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="9829822512-33">(</span><span·class="ss">in_proj</span><span·class="p">,</span><span·class="w">
261 ························</span><span·class="p"·data-group-id="8045166384-34">[</span><span·class="p"·data-group-id="8045166384-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="8045166384-35">}</span><span·class="p">,</span><span·class="w">261 ························</span><span·class="p"·data-group-id="9829822512-34">[</span><span·class="p"·data-group-id="9829822512-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="9829822512-35">}</span><span·class="p">,</span><span·class="w">
262 ·························</span><span·class="p"·data-group-id="8045166384-36">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8045166384-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:·a32d18ab1f4eb8304d34f9b402bd8601b4b6c8edd459afe7f64b6ce0f639e3c4·...·]-36">}</span><span·class="p">,</span><span·class="w">262 ·························</span><span·class="p"·data-group-id="9829822512-36">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9829822512-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:·d1e86646322c13b9012e96f08cedef832a2aa77ed4bb155b83e2b3a2ce649187·...·]-36">}</span><span·class="p">,</span><span·class="w">
263 ·························</span><span·class="p"·data-group-id="8045166384-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="8045166384-39">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·aaf5dec159e3d630428ab936dfda4dae5656f29d3fa72a294ec1afaa41584269·...·]-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="9829822512-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="9829822512-39">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·0854a59858a3b5a62c679955b855c819181959c183222fec0dc87ddeb5122c5b·...·]-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="9099302004-1">(</span><span·class="p"·data-group-id="9099302004-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="6556097683-1">(</span><span·class="p"·data-group-id="6556097683-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="3189921538-1">(</span><span·class="p"·data-group-id="3189921538-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="3189921538-2">]</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·88,·SHA:·5477b9412f0296adb2ae435faa229149fae4c4b990aaf21a6487e7c04d12bbfd·...·]-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="0405931443-1">(</span><span·class="p"·data-group-id="0405931443-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="0405931443-2">]</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·88,·SHA:·79e480a3ed7b5326242cc56366b9201e9852fa483444499fe04691740e439b17·...·]-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
304 ··</span><span·class="p"·data-group-id="3189921538-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="3189921538-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">304 ··</span><span·class="p"·data-group-id="0405931443-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="0405931443-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="3189921538-4">(</span><span·class="n">RemainingTabs</span><span·class="p"·data-group-id="3189921538-4">)</span><span·class="p">;</span><span·class="w">305 ····</span><span·class="nf">panic</span><span·class="p"·data-group-id="0405931443-4">(</span><span·class="n">RemainingTabs</span><span·class="p"·data-group-id="0405931443-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="6624393750-1">(</span><span·class="p"·data-group-id="6624393750-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="4577838021-1">(</span><span·class="p"·data-group-id="4577838021-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="6624393750-2">(</span><span·class="p"·data-group-id="6624393750-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="4577838021-2">(</span><span·class="p"·data-group-id="4577838021-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="6624393750-3">(</span><span·class="p"·data-group-id="6624393750-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·a6988c4d64fff6c733d77fb8b99372f4ae659c0ab0a340f6c3d3d101a2c6982d·...·]-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="4577838021-3">(</span><span·class="p"·data-group-id="4577838021-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·eb920812f371678b15cb19294477260537d0a4f321257daaee0f8714477bde9e·...·]-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="6624393750-5">(</span><span·class="p"·data-group-id="6624393750-6">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·f3e41c3c20d3360708924c660f7bafdc9d30d48dc87512a2ec82742ef4180a8f·...·]-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="4577838021-5">(</span><span·class="p"·data-group-id="4577838021-6">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·8c5332ff7e50b7a51d082368b50fee68763f8f851ce4fe39c3158dee5afc8875·...·]-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="6624393750-7">(</span><span·class="p"·data-group-id="6624393750-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="6624393750-8">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·989a1e219b921d878470df9b4a553e882cbe046bc98dbfc4ad87990815b2b1d5·...·]-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="4577838021-7">(</span><span·class="p"·data-group-id="4577838021-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="4577838021-8">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·bd4599c8ae08f958e44bf9e947059ad3e8e1bd153ddf9a24826949c013b0d044·...·]-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="6624393750-9">(</span><span·class="n">F</span><span·class="p"·data-group-id="6624393750-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="4577838021-9">(</span><span·class="n">F</span><span·class="p"·data-group-id="4577838021-9">)</span><span·class="p">.</span></code></pre><p>This·transaction·returns·the·list·<code·class="inline">[{foo,1,3}]</code>·if·table·<code·class="inline">foo</code>·is·of·type
338 <code·class="inline">set</code>.·However,·the·list·<code·class="inline">[{foo,1,2},·{foo,1,3}]</code>·is·returned·if·the·table338 <code·class="inline">set</code>.·However,·the·list·<code·class="inline">[{foo,1,2},·{foo,1,3}]</code>·is·returned·if·the·table
339 is·of·type·<code·class="inline">bag</code>.</p><p><code·class="inline">Mnesia</code>·tables·can·never·contain·duplicates·of·the·same·record·in·the·same339 is·of·type·<code·class="inline">bag</code>.</p><p><code·class="inline">Mnesia</code>·tables·can·never·contain·duplicates·of·the·same·record·in·the·same
340 table.·Duplicate·records·have·attributes·with·the·same·contents·and·key.</p></li><li><p><code·class="inline">{disc_copies,·NodeList}</code>,·where·<code·class="inline">NodeList</code>·is·a·list·of·the·nodes·where340 table.·Duplicate·records·have·attributes·with·the·same·contents·and·key.</p></li><li><p><code·class="inline">{disc_copies,·NodeList}</code>,·where·<code·class="inline">NodeList</code>·is·a·list·of·the·nodes·where
341 this·table·is·to·reside·on·disc.</p><p>Write·operations·to·a·table·replica·of·type·<code·class="inline">disc_copies</code>·write·data·to·the341 this·table·is·to·reside·on·disc.</p><p>Write·operations·to·a·table·replica·of·type·<code·class="inline">disc_copies</code>·write·data·to·the
342 disc·copy·and·to·the·RAM·copy·of·the·table.</p><p>It·is·possible·to·have·a·replicated·table·of·type·<code·class="inline">disc_copies</code>·on·one·node,342 disc·copy·and·to·the·RAM·copy·of·the·table.</p><p>It·is·possible·to·have·a·replicated·table·of·type·<code·class="inline">disc_copies</code>·on·one·node,
343 and·the·same·table·stored·as·a·different·type·on·another·node.·Default·is343 and·the·same·table·stored·as·a·different·type·on·another·node.·Default·is
344 <code·class="inline">[]</code>.·This·arrangement·is·desirable·if·the·following·operational344 <code·class="inline">[]</code>.·This·arrangement·is·desirable·if·the·following·operational
Offset 374, 19 lines modifiedOffset 374, 19 lines modified
374 possible·for·you·to·provide·the·attribute·names·or·to·use·the374 possible·for·you·to·provide·the·attribute·names·or·to·use·the
375 <code·class="inline">record_info/2</code>·notation.</p><p>It·is·recommended·to·use·the·<code·class="inline">record_info/2</code>·notation,·as·it·becomes·easier375 <code·class="inline">record_info/2</code>·notation.</p><p>It·is·recommended·to·use·the·<code·class="inline">record_info/2</code>·notation,·as·it·becomes·easier
376 to·maintain·the·program·and·the·program·becomes·more·robust·with·regards·to376 to·maintain·the·program·and·the·program·becomes·more·robust·with·regards·to
377 future·record·changes.</p></li><li><p><code·class="inline">{record_name,·Atom}</code>·specifies·the·common·name·of·all·records·stored·in·the377 future·record·changes.</p></li><li><p><code·class="inline">{record_name,·Atom}</code>·specifies·the·common·name·of·all·records·stored·in·the
378 table.·All·records·stored·in·the·table·must·have·this·name·as·their·first378 table.·All·records·stored·in·the·table·must·have·this·name·as·their·first
379 element.·<code·class="inline">record_name</code>·defaults·to·the·name·of·the·table.·For·more379 element.·<code·class="inline">record_name</code>·defaults·to·the·name·of·the·table.·For·more
Max diff block lines reached; 7902/54099 bytes (14.61%) of diff not shown.
746 B
html2text {}
Max HTML report size reached
142 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_chap4.html
    
Offset 141, 22 lines modifiedOffset 141, 22 lines modified
141 <p>Transactions·are·important·when·designing·fault-tolerant,·distributed·systems.·A141 <p>Transactions·are·important·when·designing·fault-tolerant,·distributed·systems.·A
142 <code·class="inline">Mnesia</code>·transaction·is·a·mechanism·by·which·a·series·of·database·operations·can142 <code·class="inline">Mnesia</code>·transaction·is·a·mechanism·by·which·a·series·of·database·operations·can
143 be·executed·as·one·functional·block.·The·functional·block·that·is·run·as·a143 be·executed·as·one·functional·block.·The·functional·block·that·is·run·as·a
144 transaction·is·called·a·Functional·Object·(Fun),·and·this·code·can·read,·write,144 transaction·is·called·a·Functional·Object·(Fun),·and·this·code·can·read,·write,
145 and·delete·<code·class="inline">Mnesia</code>·records.·The·Fun·is·evaluated·as·a·transaction·that·either145 and·delete·<code·class="inline">Mnesia</code>·records.·The·Fun·is·evaluated·as·a·transaction·that·either
146 commits·or·terminates.·If·a·transaction·succeeds·in·executing·the·Fun,·it146 commits·or·terminates.·If·a·transaction·succeeds·in·executing·the·Fun,·it
147 replicates·the·action·on·all·nodes·involved,·or·terminates·if·an·error·occurs.</p><p>The·following·example·shows·a·transaction·that·raises·the·salary·of·certain147 replicates·the·action·on·all·nodes·involved,·or·terminates·if·an·error·occurs.</p><p>The·following·example·shows·a·transaction·that·raises·the·salary·of·certain
148 employee·numbers:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">raise</span><span·class="p"·data-group-id="7406761479-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="7406761479-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="2576006261-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="2576006261-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="7406761479-2">(</span><span·class="p"·data-group-id="7406761479-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="2576006261-2">(</span><span·class="p"·data-group-id="2576006261-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
150 ················</span><span·class="p"·data-group-id="7406761479-3">[</span><span·class="n">E</span><span·class="p"·data-group-id="7406761479-3">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</span><sp[·...·truncated·by·diffoscope;·len:·274,·SHA:·e23b2d12e44ca9c635731b566c1a52f05c8d38b157717017ec264fb18588aaef·...·]-4">)</span><span·class="p">,</span><span·class="w">150 ················</span><span·class="p"·data-group-id="2576006261-3">[</span><span·class="n">E</span><span·class="p"·data-group-id="2576006261-3">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</span><sp[·...·truncated·by·diffoscope;·len:·274,·SHA:·bb880be22a220951f9308c03c8864ae3cbfac6e19097183bb32214693d2055c3·...·]-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="7406761479-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="7406761479-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="2576006261-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="2576006261-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="7406761479-6">(</span><span·class="n">New</span><span·class="p"·data-group-id="7406761479-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="2576006261-6">(</span><span·class="n">New</span><span·class="p"·data-group-id="2576006261-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="7406761479-7">(</span><span·class="n">F</span><span·class="p"·data-group-id="7406761479-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="2576006261-7">(</span><span·class="n">F</span><span·class="p"·data-group-id="2576006261-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="2442758394-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="2442758394-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="2591079067-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="2591079067-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="2442758394-2">(</span><span·class="p"·data-group-id="2442758394-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="2591079067-2">(</span><span·class="p"·data-group-id="2591079067-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
251 ················</span><span·class="p"·data-group-id="2442758394-3">[</span><span·class="n">E</span><span·class="p"·data-group-id="2442758394-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:·302,·SHA:·dbdc95c33834d3d284bab3574a08ca807dcd080e9caa46e777a37b2305c9be1d·...·]-4">)</span><span·class="p">,</span><span·class="w">251 ················</span><span·class="p"·data-group-id="2591079067-3">[</span><span·class="n">E</span><span·class="p"·data-group-id="2591079067-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:·302,·SHA:·431b642f6344a2fc41f02b6921764ed395cd76578960cd7075daa2aea5beae97·...·]-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="2442758394-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="2442758394-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="2591079067-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="2591079067-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="2442758394-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="2442758394-8">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·64,·SHA:·dcc824c3955bc25cdc88d1309677be47539e28fc910a6617f95361310a38fe25·...·]-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="2591079067-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="2591079067-8">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·64,·SHA:·9942b938f02c52b6196bd0c0337f715e44260194c9927cf5c4439af534f76ec6·...·]-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="2442758394-9">(</span><span·class="n">New</span><span·class="p"·data-group-id="2442758394-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="2591079067-9">(</span><span·class="n">New</span><span·class="p"·data-group-id="2591079067-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="2442758394-10">(</span><span·class="n">F</span><span·class="p"·data-group-id="2442758394-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="2591079067-10">(</span><span·class="n">F</span><span·class="p"·data-group-id="2591079067-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="1875514906-1">(</span><span·class="p"·data-group-id="1875514906-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="2730276996-1">(</span><span·class="p"·data-group-id="2730276996-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="1875514906-2">(</span><span·class="o">#</span><span·class="ss">foo</span><span·class="p"·data-group-id="1875514906-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:·67c8a847cc064979a11f3f46ae5353ad47ace5cdd925abe1005b8ad662b5f68a·...·]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="2730276996-2">(</span><span·class="o">#</span><span·class="ss">foo</span><span·class="p"·data-group-id="2730276996-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:·0eb06afc7c63e53009c8aed8deda18e24e5612a8aa9839839d891b41ab5709f0·...·]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="1875514906-4">(</span><span·class="n">F</span><span·class="p"·data-group-id="1875514906-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:·557,·SHA:·c56d652649461c681d0239f92b72be3934519a3883ce438ff7ce84929fb390cc·...·]-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="2730276996-4">(</span><span·class="n">F</span><span·class="p"·data-group-id="2730276996-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:·557,·SHA:·22c25840408f9ddd57de889c298dd39172bc95491b6f940f80c2d3631fe28273·...·]-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="4727093190-2">(</span><span·class="o">#</span><span·class="ss">foo</span><span·class="p"·data-group-id="4727093190-3">{</span><span·class="ss">a</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">kalle</span><spa[·...·truncated·by·diffoscope;·len:·90,·SHA:·1df6bfab3eea6d6104e17e7b1e2e9388633f5ad332f496deac1afce64a5e3625·...·]-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="1345784007-2">(</span><span·class="o">#</span><span·class="ss">foo</span><span·class="p"·data-group-id="1345784007-3">{</span><span·class="ss">a</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">kalle</span><spa[·...·truncated·by·diffoscope;·len:·90,·SHA:·adf9400c71bd76ffa52d65b8c6053c311d83b128b942ddb2d3d637627c45b4e0·...·]-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="4727093190-4">(</span><span·class="n">F</span><span·class="p"·data-group-id="4727093190-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="1345784007-4">(</span><span·class="n">F</span><span·class="p"·data-group-id="1345784007-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="4591248382-1">(</span><span·class="p"·data-group-id="4591248382-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="4591248382-2">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">read</span><span·class="p"·data-group-id="4591248382-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="4591248382-3">(</span><span·class="p"·data-group-id="4591248382-4">{</span><span·class="ss">table</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·345,·SHA:·e6ce8555931f175148d734d44de3a01b5ec6a773441574e7bebb185bc7a378b5·...·]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:·0d12fabc99dced94e0af565a04a0df3182feeaa6ef3142190067be2e861357f7·...·]
 337 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="1120456664-3">(</span><span·class="p"·data-group-id="1120456664-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="1120456664-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">write</span><span·class="p"·data-group-id="1120456664-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="6330424333-1">(</span><span·class="ss">subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6330424333-2">[</span><span·class="p"·data-group-id="6330424333-2">]</span><span·class="p"·data-group-id="6330424333-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="1192395466-1">(</span><span·class="ss">subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1192395466-2">[</span><span·class="p"·data-group-id="1192395466-2">]</span><span·class="p"·data-group-id="1192395466-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="1842762805-1">[</span><span·class="p"·data-group-id="1842762805-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="1842762805-2">}</span><span·class[·...·truncated·by·diffoscope;·len:·29,·SHA:·ab3472edd082a16e7db54e36244e4b05fdd015b4f81075c3fef490877f657f51·...·]5-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="6892445165-1">[</span><span·class="p"·data-group-id="6892445165-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="6892445165-2">}</span><span·class[·...·truncated·by·diffoscope;·len:·29,·SHA:·1fd9446cff367b23f01f4a99a1d8f8d2a523664afdb01e3168e626a4d585e81a·...·]5-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="1842762805-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="1842762805-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="6892445165-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="6892445165-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="1842762805-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="1842762805-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="6892445165-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="6892445165-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="7837444920-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="7837444920-2">{</span><span·class="p"·data-group-id="7837444920[·...·truncated·by·diffoscope;·len:·130,·SHA:·cca29894e0353d988331a2e3296cf9e7bae595b71ad79d1f1a0fd114eee0e08d·...·]-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="2632368707-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="2632368707-2">{</span><span·class="p"·data-group-id="2632368707[·...·truncated·by·diffoscope;·len:·130,·SHA:·91ab443464eaeeec6505470c8d28f9983dba88fc155a8d1ed5b2c3fa124d0fc5·...·]-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="7837444920-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="7837444920-4">{</span><span·class="p"·data-group-id="7837444[·...·truncated·by·diffoscope;·len:·140,·SHA:·85ff7ff0d48e473603b6a30977651986dfb80e9bd2502b2c77fb07114cbc5f54·...·]-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="2632368707-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="2632368707-4">{</span><span·class="p"·data-group-id="2632368[·...·truncated·by·diffoscope;·len:·140,·SHA:·93e3076faa3db2e0afe1898a8b68d635eed8a35f1f5fa5e8f66d2a49c8141058·...·]-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="7837444920-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="7837444920-6">{</span><span·class="p"·data-group-id="78374[·...·truncated·by·diffoscope;·len:·135,·SHA:·5b5f15a81bc3b955fb3a6cd17da3d066885aad61e9ae1edc650e203dc872f709·...·]-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="2632368707-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="2632368707-6">{</span><span·class="p"·data-group-id="26323[·...·truncated·by·diffoscope;·len:·135,·SHA:·f8f5c934f54e925852248b766cc60797c2e1f0956c048443882650def64047a9·...·]-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="3391104315-1">(</span><span·class="n">Record</span><span·class="p"·data-group-id="3391104315-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="6737935373-1">(</span><span·class="n">Record</span><span·class="p"·data-group-id="6737935373-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="3391104315-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="3391104315-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="6737935373-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="6737935373-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="3391104315-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="3391104315-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="6737935373-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="6737935373-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="3391104315-4">(</span><span·class="p"·data-group-id="3391104315-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="3391104315-5">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·d1220e7ea16c6b79b69ab19d8ea76a4358fca42f55a65f1b352dcd7cdf7b9c55·...·]-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="6737935373-4">(</span><span·class="p"·data-group-id="6737935373-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="6737935373-5">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·2b02c6fd3f01ba2f49af0a31410cd3fb91dba24c7e3d5d08fe0ebc3f209239d3·...·]-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="3391104315-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="3391104315-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="6737935373-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="6737935373-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="3391104315-7">(</span><span·class="n">Record</span><span·class="p"·data-group-id="3391104315-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="6737935373-7">(</span><span·class="n">Record</span><span·class="p"·data-group-id="6737935373-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="3391104315-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="3391104315-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="6737935373-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="6737935373-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="3391104315-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="3391104315-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="6737935373-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="6737935373-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="3391104315-10">(</span><span·class="p"·data-group-id="3391104315-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="3391104315-11">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·91,·SHA:·768521176aa40feb1e1b33974206463ecf18d58809f71fdfeab73aee5ad73ed8·...·]-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="6737935373-10">(</span><span·class="p"·data-group-id="6737935373-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="6737935373-11">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·91,·SHA:·99519be60a6d6cb1f19c6e49b8259756cc96d5a77bbb5cd32c8dd349deb19c2a·...·]-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="3391104315-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="3391104315-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="6737935373-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="6737935373-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="3391104315-13">(</span><span·class="p"·data-group-id="3391104315-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="3391104315-14">}</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·e98754dd827074316ca7bd922bba32a125b393ae992ff6964a8330a1ea567ebe·...·]-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="6737935373-13">(</span><span·class="p"·data-group-id="6737935373-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="6737935373-14">}</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·a5fc2fb0293e11d8556e6e04aa662581653a2379304044f29c4a7126878f2a51·...·]-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="3391104315-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="3391104315-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="6737935373-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="6737935373-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="3391104315-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="3391104315-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="6737935373-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="6737935373-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="3391104315-17">(</span><span·class="n">Pattern</span><span·class="p"·data-group-id="3391104315-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="6737935373-17">(</span><span·class="n">Pattern</span><span·class="p"·data-group-id="6737935373-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="3391104315-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="3391104315-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="6737935373-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="6737935373-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="3391104315-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="3391104315-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="6737935373-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="6737935373-19">)</span><span·class="p">.</span><span·class="w">
  
Max diff block lines reached; 95642/144810 bytes (66.05%) of diff not shown.
946 B
html2text {}
Max HTML report size reached
151 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_chap5.html
    
Offset 163, 17 lines modifiedOffset 163, 17 lines modified
163 different·Erlang·nodes·in·various·ways.·The·<code·class="inline">Mnesia</code>·programmer·does·not·need·to163 different·Erlang·nodes·in·various·ways.·The·<code·class="inline">Mnesia</code>·programmer·does·not·need·to
164 state·where·the·different·tables·reside,·only·the·names·of·the·different·tables164 state·where·the·different·tables·reside,·only·the·names·of·the·different·tables
165 need·to·be·specified·in·the·program·code.·This·is·known·as·&quot;location165 need·to·be·specified·in·the·program·code.·This·is·known·as·&quot;location
166 transparency&quot;·and·is·an·important·concept.·In·particular:</p><ul><li><p>A·program·works·regardless·of·the·data·location.·It·makes·no·difference166 transparency&quot;·and·is·an·important·concept.·In·particular:</p><ul><li><p>A·program·works·regardless·of·the·data·location.·It·makes·no·difference
167 whether·the·data·resides·on·the·local·node·or·on·a·remote·node.</p><p>Notice·that·the·program·runs·slower·if·the·data·is·located·on·a·remote·node.</p></li><li><p>The·database·can·be·reconfigured,·and·tables·can·be·moved·between·nodes.·These167 whether·the·data·resides·on·the·local·node·or·on·a·remote·node.</p><p>Notice·that·the·program·runs·slower·if·the·data·is·located·on·a·remote·node.</p></li><li><p>The·database·can·be·reconfigured,·and·tables·can·be·moved·between·nodes.·These
168 operations·do·not·affect·the·user·programs.</p></li></ul><p>It·has·previously·been·shown·that·each·table·has·a·number·of·system·attributes,168 operations·do·not·affect·the·user·programs.</p></li></ul><p>It·has·previously·been·shown·that·each·table·has·a·number·of·system·attributes,
169 such·as·<code·class="inline">index</code>·and·<code·class="inline">type</code>.</p><p>Table·attributes·are·specified·when·the·table·is·created.·For·example,·the169 such·as·<code·class="inline">index</code>·and·<code·class="inline">type</code>.</p><p>Table·attributes·are·specified·when·the·table·is·created.·For·example,·the
170 following·function·creates·a·table·with·two·RAM·replicas:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="4537982109-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="0622318998-1">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">
171 ····················</span><span·class="p"·data-group-id="4537982109-2">[</span><span·class="p"·data-group-id="4537982109-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4537982109-4">[</span><span·class="n">N1</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·146,·SHA:·2c8abceef73abc8e88b10b556cda72432e93d7e7db17af4b925c705959973c0f·...·]-3">}</span><span·class="p">,</span><span·class="w">171 ····················</span><span·class="p"·data-group-id="0622318998-2">[</span><span·class="p"·data-group-id="0622318998-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0622318998-4">[</span><span·class="n">N1</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·146,·SHA:·6ca173d3a31473dc59bb4038d08155cbbbdfd86c86f1e9c77fda99af4e901eac·...·]-3">}</span><span·class="p">,</span><span·class="w">
172 ·····················</span><span·class="p"·data-group-id="4537982109-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="4537982109-6">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·241,·SHA:·c91687510695986c7ea56c39434bec8496d83802bb50f53c96ae1a60acbaaf3b·...·]-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="0622318998-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="0622318998-6">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·241,·SHA:·333b27c57d60be9c5d069d13ff0f2aea6f8224503949249707d41980b427c2bb·...·]-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="1368765628-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:·1eb39733ce6ef14ab6e7890fd763018c8005598d30b726dc3766a4ec5c67edc8·...·]-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="4578347320-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:·0919b136dac90e7b0a2759b99822d8a827876a761ee448e24bf1a1c5d413210a·...·]-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="1368765628-3">(</span><span·class="p"·data-group-id="1368765628-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="4578347320-3">(</span><span·class="p"·data-group-id="4578347320-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="1368765628-4">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="1368765628-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:·f9c5e0503984a513f9392ad7ad5d10a466122dd3149b2cb190d972b2061dfd24·...·]-5">)</span><span·class="p">.</span><span·class="w">228 </span><span·class="p"·data-group-id="4578347320-4">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="4578347320-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:·76455ee7d92b54228ec99654709293ace07cd7d0efc1a47a5cc33f9ada6a1920·...·]-5">)</span><span·class="p">.</span><span·class="w">
229 </span><span·class="p"·data-group-id="1368765628-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="1368765628-6">]</span><span·class="gp·unselectable">229 </span><span·class="p"·data-group-id="4578347320-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="4578347320-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="1368765628-7">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="1368765628-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:·9b21fd2d952dd26421d8eea3af97e98acc24c7e6b94100291675f2d24af91c9b·...·]-8">)</span><span·class="p">.</span><span·class="w">232 </span><span·class="p"·data-group-id="4578347320-7">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="4578347320-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:·ab947372feb47b073974da2df1829b30026a7271c061efc2102498e2575a1fa7·...·]-8">)</span><span·class="p">.</span><span·class="w">
233 </span><span·class="p"·data-group-id="1368765628-12">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="1368765628-12">}</span><span·class="gp·unselectable">233 </span><span·class="p"·data-group-id="4578347320-12">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4578347320-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="1368765628-13">(</span><span·class="n">Keys</span><span·class="p"·data-group-id="1368765628-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1368765628-14">[</span><span·class="nc">mnesi[·...·truncated·by·diffoscope;·len:·664,·SHA:·467485f6363d07be5447135229e0690cfef8540ce07846cc98a748fd2a40c43b·...·]-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="4578347320-13">(</span><span·class="n">Keys</span><span·class="p"·data-group-id="4578347320-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4578347320-14">[</span><span·class="nc">mnesi[·...·truncated·by·diffoscope;·len:·664,·SHA:·cffaff4e7b384c714e3239ed73a2fe24bd376195a7db3c2dec022109b09399e7·...·]-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="1368765628-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="1368765628-18">[</span><span·class="nc">list[·...·truncated·by·diffoscope;·len:·445,·SHA:·b85bb26a90a39023b54deb8cb3c5987e79c3a68bfb35a6cc04ba32947058e563·...·]-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="4578347320-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="4578347320-18">[</span><span·class="nc">list[·...·truncated·by·diffoscope;·len:·445,·SHA:·c78643e145bdb281f36656db2d9b4b7607ee8914bb98d8ec555ad6c71c09e98d·...·]-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="1368765628-20">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="1368765628-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:·26b41edcfcda0baa438564d9c2d48b472512f3eb46ee77841b2d402b9bc223c3·...·]-21">)</span><span·class="p">.</span><span·class="w">238 </span><span·class="p"·data-group-id="4578347320-20">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="4578347320-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:·df0d4599aff99ce10e58a30210e0dd6b03604bc15a566add974ffa6201defd8d·...·]-21">)</span><span·class="p">.</span><span·class="w">
239 </span><span·class="p"·data-group-id="1368765628-24">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="1368765628-24">}</span><span·class="gp·unselectable">239 </span><span·class="p"·data-group-id="4578347320-24">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4578347320-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="1368765628-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="1368765628-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="4578347320-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="4578347320-25">)</span><span·class="p">.</span><span·class="w">
241 </span><span·class="p"·data-group-id="1368765628-26">[</span><span·class="p"·data-group-id="1368765628-27">{</span><span·class="ss">base_table</span><span·class="p">,</span><span·class="ss">dictionary</span><span·class="p"·data-group-id="1368765628-27">}</span><span·class="p">,</span><span·class="w">241 </span><span·class="p"·data-group-id="4578347320-26">[</span><span·class="p"·data-group-id="4578347320-27">{</span><span·class="ss">base_table</span><span·class="p">,</span><span·class="ss">dictionary</span><span·class="p"·data-group-id="4578347320-27">}</span><span·class="p">,</span><span·class="w">
242 ·</span><span·class="p"·data-group-id="1368765628-28">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p"·data-group-id="1368765628-28">}</span><span·class="p">,</span><span·class="w">242 ·</span><span·class="p"·data-group-id="4578347320-28">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p"·data-group-id="4578347320-28">}</span><span·class="p">,</span><span·class="w">
243 ·</span><span·class="p"·data-group-id="1368765628-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="1368765628-29">}</span><span·class="p">,</span><span·class="w">243 ·</span><span·class="p"·data-group-id="4578347320-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="4578347320-29">}</span><span·class="p">,</span><span·class="w">
244 ·</span><span·class="p"·data-group-id="1368765628-30">{</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="p"·data-group-id="1368765628-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:·fe4a2f2e3c9825c9193fa481068e956d1472df0f4132abfb2aabd0d093cd6f6b·...·]-30">}</span><span·class="p">,</span><span·class="w">244 ·</span><span·class="p"·data-group-id="4578347320-30">{</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="p"·data-group-id="4578347320-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:·abbce47876c7bf66eebead724fe9ca2e3cc7518fe8e75d0eb50bdca8f12a131a·...·]-30">}</span><span·class="p">,</span><span·class="w">
245 ·</span><span·class="p"·data-group-id="1368765628-32">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1368765628-32">}</span><span·class="p">,</span><span·class="w">245 ·</span><span·class="p"·data-group-id="4578347320-32">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4578347320-32">}</span><span·class="p">,</span><span·class="w">
246 ·</span><span·class="p"·data-group-id="1368765628-33">{</span><span·class="ss">node_pool</span><span·class="p">,</span><span·class="p"·data-group-id="1368765628-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:·b60e07211641f699c75e17aec9fa2d1ca7bb555a97866d47e7fa9bd1446b1259·...·]-26">]</span><span·class="gp·unselectable">246 ·</span><span·class="p"·data-group-id="4578347320-33">{</span><span·class="ss">node_pool</span><span·class="p">,</span><span·class="p"·data-group-id="4578347320-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:·47a3d40fa141eb19421de146476afd8dfdbf27fdc680403a16d396be5cfa816d·...·]-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="1368765628-35">(</span><span·class="n">Item</span><span·class="p"·data-group-id="1368765628-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:·dc3a6d56d2d000479cccf9e2737f98a6fcccfa95b648ce25be843691eb6c6c0f·...·]-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="4578347320-35">(</span><span·class="n">Item</span><span·class="p"·data-group-id="4578347320-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:·d52e24a46e98c007cf8c2b219b5299dde182c439bf817c71e7adce0d5dc8b4b8·...·]-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="1368765628-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="1368765628-38">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·decaca8ed2c9674da01f17a4f9bbcff84902afbcc40bd74f7f81973a7d2837bb·...·]-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="4578347320-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="4578347320-38">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·16ac7e580aacc3a1d5eb5121826a59ebaca7b1a4959452862ef1d10e0ae5c830·...·]-37">)</span><span·class="p">.</span><span·class="w">
250 </span><span·class="p"·data-group-id="1368765628-39">[</span><span·class="p"·data-group-id="1368765628-40">{</span><span·class="ss">c@sam</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1368765628-40">}</span><span·class="p">,</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·414,·SHA:·9a7f4b5d2cabfc1a6d6686aaab5f2ccd559602a81635981e4b5a15526fd0363f·...·]-39">]</span><span·class="gp·unselectable">250 </span><span·class="p"·data-group-id="4578347320-39">[</span><span·class="p"·data-group-id="4578347320-40">{</span><span·class="ss">c@sam</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="4578347320-40">}</span><span·class="p">,</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·414,·SHA:·a9a1b71276aded80ce3f90cbd1156113bf1ffdcb19d4d23325c89c26e344d4af·...·]-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="1368765628-43">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1368765628-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:·e47225277dbaa2d7edc7e59eeafe228408b1e3f8426846b091cfe2fc8f1fc1aa·...·]-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="4578347320-43">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4578347320-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:·666fb0cf1f66a3bef042803c170428573e2445eb4d281018f1a9de831ce556a0·...·]-43">)</span><span·class="p">.</span><span·class="w">
252 </span><span·class="p"·data-group-id="1368765628-45">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="1368765628-45">}</span><span·class="gp·unselectable">252 </span><span·class="p"·data-group-id="4578347320-45">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4578347320-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="1368765628-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="1368765628-47">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·52aa9805653e0c5b0022c85a27c714fde083a65f1cfa0be86eda72451e157324·...·]-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="4578347320-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="4578347320-47">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·520cf293ecc896fae4ecd8c7ed186c2112364f1fe9e4a8b0363bebbd61b3a61a·...·]-46">)</span><span·class="p">.</span><span·class="w">
254 </span><span·class="p"·data-group-id="1368765628-48">[</span><span·class="p"·data-group-id="1368765628-49">{</span><span·class="ss">b@sam</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1368765628-49">}</span><span·class="p">,</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·414,·SHA:·3877cb9ef048ace3f0da3632c09c13e62213b0827a6b08d220c5b39a5c8b9bca·...·]-48">]</span><span·class="gp·unselectable">254 </span><span·class="p"·data-group-id="4578347320-48">[</span><span·class="p"·data-group-id="4578347320-49">{</span><span·class="ss">b@sam</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4578347320-49">}</span><span·class="p">,</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·414,·SHA:·aa94d0f885ef92976ec461a945c9dfadce8c20a5e62356410d340c1068d7c5c0·...·]-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="1368765628-52">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1368765628-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:·92e3138e09e5463a76409fef296ab114c92783bd07103ba6791c3f9e31ae3491·...·]-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="4578347320-52">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4578347320-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:·a0606f4c5108a23f88ca7be941f763025b075cbf0a1fdfc295f77c3c1b20316f·...·]-52">)</span><span·class="p">.</span><span·class="w">
256 </span><span·class="p"·data-group-id="1368765628-54">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="1368765628-54">}</span><span·class="gp·unselectable">256 </span><span·class="p"·data-group-id="4578347320-54">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4578347320-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="1368765628-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="1368765628-56">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·9b0c164dcd87f0c421371cb914d27f33ca06b4b5e02d00622e01b9d94e2ec7af·...·]-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="4578347320-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="4578347320-56">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·714747a5ab4d8326e0f25c9fb72ce1b50e368afe64d82b7a43605b6542ce4768·...·]-55">)</span><span·class="p">.</span><span·class="w">
258 </span><span·class="p"·data-group-id="1368765628-57">[</span><span·class="p"·data-group-id="1368765628-58">{</span><span·class="ss">a@sam</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1368765628-58">}</span><span·class="p">,</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·414,·SHA:·19f9a0e1ab87cd8786509049c23e6132fcfa7e54d42827b3d735a4c53a303f1b·...·]-57">]</span><span·class="gp·unselectable">258 </span><span·class="p"·data-group-id="4578347320-57">[</span><span·class="p"·data-group-id="4578347320-58">{</span><span·class="ss">a@sam</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4578347320-58">}</span><span·class="p">,</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·414,·SHA:·9072d6c4425785417f9fe7fe9f899e1f5967a366a0a17467d821c4b55426fab9·...·]-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="1368765628-61">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1368765628-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:·9698523a8ac0f1faeb7a9b112270a2db0fb6cda12af7231d95a72a045a452618·...·]-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="4578347320-61">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4578347320-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:·dc7ec1a41d3019901349aee2016abb97a41b3cb9b4f1a64894c88e6206759480·...·]-61">)</span><span·class="p">.</span><span·class="w">
260 </span><span·class="p"·data-group-id="1368765628-63">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="1368765628-63">}</span><span·class="gp·unselectable">260 </span><span·class="p"·data-group-id="4578347320-63">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4578347320-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="1368765628-64">(</span><span·class="n">Key</span><span·class="p"·data-group-id="1368765628-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:·3f6fb5bd6bb78e047a6f0581134a9a96f153aa66b4d7b4505d41227e278e7dbc·...·]-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="4578347320-64">(</span><span·class="n">Key</span><span·class="p"·data-group-id="4578347320-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:·92f13bf4981b23d1d318017c9da731e4d254c60c56317b9f8c6f8e51d7e379e6·...·]-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="1368765628-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="1368765628-68">[</span><span·class="mi">12</[·...·truncated·by·diffoscope;·len:·183,·SHA:·85754229e5dfc55db23553672387f92d5dec1a6570fc31aa552d6d4adbac1a63·...·]-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="4578347320-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="4578347320-68">[</span><span·class="mi">12</[·...·truncated·by·diffoscope;·len:·183,·SHA:·03d71bbf4e07b72920fa30d50f04e424053dd23913a44edbb927f7d8e27b77cc·...·]-67">)</span><span·class="p">.</span><span·class="w">
264 </span><span·class="p"·data-group-id="1368765628-69">[</span><span·class="p"·data-group-id="1368765628-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:·23942dffafce3664a44251012f76da6ee77b9db23f24b9ab68f5589f9bf7ea43·...·]-69">]</span><span·class="gp·unselectable">264 </span><span·class="p"·data-group-id="4578347320-69">[</span><span·class="p"·data-group-id="4578347320-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:·99f3c4c838446d29283af6a0200cc05ec3f12d746a999cfc16831dbebf55b66f·...·]-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="1368765628-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="1368765628-72">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·26e603ba4463244dd86b1fc43634428d159c7282d4c672ef097c7f7b6838baa8·...·]-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="4578347320-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="4578347320-72">[</span><span·class="ss">frag_[·...·truncated·by·diffoscope;·len:·189,·SHA:·5987917f1cf4b3a6481974c9e4f861e3531128ab728c000d439cb789b78b8e4b·...·]-71">)</span><span·class="p">.</span><span·class="w">
266 </span><span·class="p"·data-group-id="1368765628-73">[</span><span·class="p"·data-group-id="1368765628-74">{</span><span·class="ss">dictionary</span><span·class="p">,</span><span·class="mi">57</span><span·class="p"·data-group-id="1368765628-74">}</span><span·class="p">,</span><span·class="w">266 </span><span·class="p"·data-group-id="4578347320-73">[</span><span·class="p"·data-group-id="4578347320-74">{</span><span·class="ss">dictionary</span><span·class="p">,</span><span·class="mi">57</span><span·class="p"·data-group-id="4578347320-74">}</span><span·class="p">,</span><span·class="w">
267 ·</span><span·class="p"·data-group-id="1368765628-75">{</span><span·class="ss">dictionary_frag2</span><span·class="p">,</span><span·class="mi">63</span><span·class="p"·data-group-id="1368765628-75">}</span><span·class="p">,</span><span·class="w">267 ·</span><span·class="p"·data-group-id="4578347320-75">{</span><span·class="ss">dictionary_frag2</span><span·class="p">,</span><span·class="mi">63</span><span·class="p"·data-group-id="4578347320-75">}</span><span·class="p">,</span><span·class="w">
268 ·</span><span·class="p"·data-group-id="1368765628-76">{</span><span·class="ss">dictionary_frag3</span><span·class="p">,</span><span·class="mi">62</span><span·class="p"·data-group-id="1368765628-76">}</span><span·class="p">,</span><span·class="w">268 ·</span><span·class="p"·data-group-id="4578347320-76">{</span><span·class="ss">dictionary_frag3</span><span·class="p">,</span><span·class="mi">62</span><span·class="p"·data-group-id="4578347320-76">}</span><span·class="p">,</span><span·class="w">
269 ·</span><span·class="p"·data-group-id="1368765628-77">{</span><span·class="ss">dictionary_frag4</span><span·class="p">,</span><span·class="mi">74</span><span·class="p"·data-group-id="1368765628-77">}</span><span·class="p"·data-group-id="1368765628-73">]</span><span·class="w">269 ·</span><span·class="p"·data-group-id="4578347320-77">{</span><span·class="ss">dictionary_frag4</span><span·class="p">,</span><span·class="mi">74</span><span·class="p"·data-group-id="4578347320-77">}</span><span·class="p"·data-group-id="4578347320-73">]</span><span·class="w">
270 </span><span·class="p"·data-group-id="1368765628-78">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="1368765628-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="4578347320-78">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="4578347320-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="2829205747-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:·c5129124bf41c718bd7902f7fa4134da1ca6f2cce698e1c9497fb924b671e428·...·]-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="4831770964-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:·a3b0eba6102951e7ad73b8724ea715a77e33c4716d375f2015d5b5d263ee1ea5·...·]-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="2829205747-3">(</span><span·class="p"·data-group-id="2829205747-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="4831770964-3">(</span><span·class="p"·data-group-id="4831770964-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="2829205747-4">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="2829205747-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">=</span><span·class="w">·</span><span·class="p"·data-group-id="2829205747-5">[</span><span·class="p"·data-group-id="2829205747-6">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">7</span><span·class="p"·data-group-id="2829205747-6">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2829205747-7">{</span><span·class="ss">node_pool</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2829205747-8">[</span><span·class="nf">node</span><span·class="p"·data-group-id="2829205747-9">(</span><span·class="p"·data-group-id="2829205747-9">)</span><span·class="p"·data-group-id="2829205747-8">]</span><span·class="p"·data-group-id="2829205747-7">}</span><span·class="p"·data-group-id="2829205747-5">]</span><span·class="p">.</span><span·class="w"> 
316 </span><span·class="p"·data-group-id="2829205747-10">[</span><span·class="p"·data-group-id="2829205747-11">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="2829205747-11">}</span><span·class="p">,</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·367,·SHA:·fe15f8bbc14246c9547944bc195d4043270c385b92edbf62b9355478e4a239cf·...·]">315 </span><span·class="p"·data-group-id="4831770964-4">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="4831770964-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:·861,·SHA:·d4cf45074e3f3e5cf83d00f07bee2e0a283cda465417da510dd64f73d66c215f·...·]">
 316 </span><span·class="p"·data-group-id="4831770964-10">[</span><span·class="p"·data-group-id="4831770964-11">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="4831770964-11">}</span><span·class="p">,</span><span·class="p"·data-group-id="4831770964-12">{</span><span·class="ss">node_pool</span><span·class="p">,</span><span·class="p"·data-group-id="4831770964-13">[</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="4831770964-13">]</span><span·class="p"·data-group-id="4831770964-12">}</span><span·class="p"·data-group-id="4831770964-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="2829205747-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="4831770964-14">(</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="w">
318 ······························</span><span·class="p"·data-group-id="2829205747-15">[</span><span·class="p"·data-group-id="2829205747-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="2829205747-16">}</span><span·class="p">,</span><span·class="w">318 ······························</span><span·class="p"·data-group-id="4831770964-15">[</span><span·class="p"·data-group-id="4831770964-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="4831770964-16">}</span><span·class="p">,</span><span·class="w">
319 ·······························</span><span·class="p"·data-group-id="2829205747-17">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2829205747-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:·65b2224e124d404085ff4c7ab924a175de99a91d727d5befa471d181d976246c·...·]-14">)</span><span·class="p">.</span><span·class="w">319 ·······························</span><span·class="p"·data-group-id="4831770964-17">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4831770964-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:·bf4ff777e92e5a8ec850c9fa851898f856873b844c1ac07643c216fc3cdbd2ae·...·]-14">)</span><span·class="p">.</span><span·class="w">
320 </span><span·class="p"·data-group-id="2829205747-19">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="2829205747-19">}</span><span·class="gp·unselectable">320 </span><span·class="p"·data-group-id="4831770964-19">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4831770964-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="2829205747-20">[</span><span·class="p"·data-group-id="2829205747-21">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2829205747-22">{</span><span·class="ss">prim_dict</span><span·cla[·...·truncated·by·diffoscope;·len:·219,·SHA:·a12ab581ef63e8bdbd40e9fb0d2f33d1e66851229a7a39865179e77668a043f7·...·]-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="4831770964-20">[</span><span·class="p"·data-group-id="4831770964-21">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4831770964-22">{</span><span·class="ss">prim_dict</span><span·cla[·...·truncated·by·diffoscope;·len:·219,·SHA:·a49e88de79bcd8d6beb83b53f82e715ca032bbb13df966684b5c46d64305380b·...·]-20">]</span><span·class="p">.</span><span·class="w">
322 </span><span·class="p"·data-group-id="2829205747-23">[</span><span·class="p"·data-group-id="2829205747-24">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="p"·data-group-id="2829205747-25">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·171,·SHA:·5d5e997dcddf052938089a1fabb3f3c28d12fde2ea323df6d65f65f4a8c62d4b·...·]-23">]</span><span·class="gp·unselectable">322 </span><span·class="p"·data-group-id="4831770964-23">[</span><span·class="p"·data-group-id="4831770964-24">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="p"·data-group-id="4831770964-25">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·171,·SHA:·8a263b812d774a86446d7af43e24816ecc974c45e53acae72b2d3ebb0fc085d9·...·]-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="2829205747-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="4831770964-26">(</span><span·class="ss">sec_dict</span><span·class="p">,</span><span·class="w">
324 ······························</span><span·class="p"·data-group-id="2829205747-27">[</span><span·class="p"·data-group-id="2829205747-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="2829205747-28">}</span><span·class="p">,</span><span·class="w">324 ······························</span><span·class="p"·data-group-id="4831770964-27">[</span><span·class="p"·data-group-id="4831770964-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="4831770964-28">}</span><span·class="p">,</span><span·class="w">
325 ·······························</span><span·class="p"·data-group-id="2829205747-29">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2829205747-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:·30ebff4b969fabd9e22a30eab589ef36f6a963812e2de84d9f838fa7918051b8·...·]-26">)</span><span·class="p">.</span><span·class="w">325 ·······························</span><span·class="p"·data-group-id="4831770964-29">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4831770964-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:·63b89a9410d8f3c15e2c7e73b6676a55e940c2510bd13acb81978194a93387f6·...·]-26">)</span><span·class="p">.</span><span·class="w">
326 </span><span·class="p"·data-group-id="2829205747-31">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="2829205747-31">}</span><span·class="gp·unselectable">326 </span><span·class="p"·data-group-id="4831770964-31">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4831770964-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="2829205747-32">(</span><span·class="n">Rec</span><span·class="p"·data-group-id="2829205747-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:·e966f7184565cf42b499426832f3fda810b4fe09074271cac2ffbd420ddd727b·...·]-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="4831770964-32">(</span><span·class="n">Rec</span><span·class="p"·data-group-id="4831770964-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:·f9abd2ee43fd9b920e4f2a9c87646789440429766e7a1bb74e6cb494d3c9f8c8·...·]-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="2829205747-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="4831770964-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="2829205747-35">[</span><span·class="p"·data-group-id="2829205747-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:·3c7c6572d248866f86b86231254467a541136f2735f1c86fcb2268620c3df773·...·]-34">)</span><span·class="p">.</span><span·class="w">334 ··························</span><span·class="p"·data-group-id="4831770964-35">[</span><span·class="p"·data-group-id="4831770964-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:·37bd684d4d560564eb243f51dc37fa949efdebe120f047be1bb67f258139fe7d·...·]-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="2829205747-37">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="2829205747-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:·b6da9c6fdba1bbc1261ccebbd558bd225106a76777baf86ad68aca2c9b509db5·...·]-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="4831770964-37">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="4831770964-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:·ddf3883b5ed1482edd80be76a55e46536fc5c5d5c570db96a66ec591e2644a69·...·]-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="2829205747-39">[</span><span·class="p"·data-group-id="2829205747-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:·9b44ace339a04861617d64b20442cb687156b69f5560dbdee5d5a741b4d236b1·...·]-38">)</span><span·class="p">.</span><span·class="w">337 ···························</span><span·class="p"·data-group-id="4831770964-39">[</span><span·class="p"·data-group-id="4831770964-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:·c6e914dfdefcd1715e6741beb27d837b4e8ce73702cf765ff096b5803fab5c5a·...·]-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="2829205747-41">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="2829205747-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:·503bcd77700211adadd9dd01ac99361caeda997a312fc3fae4717ea2cc4e5448·...·]-42">)</span><span·class="p">.</span><span·class="w">339 </span><span·class="p"·data-group-id="4831770964-41">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="4831770964-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:·1e836dbbaa301d08d83e0c2f6aebac33fce6659348f541eef36611f74b0798f0·...·]-42">)</span><span·class="p">.</span><span·class="w">
340 </span><span·class="p"·data-group-id="2829205747-46">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="2829205747-46">}</span><span·class="gp·unselectable">340 </span><span·class="p"·data-group-id="4831770964-46">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4831770964-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="2829205747-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="2829205747-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="4831770964-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="4831770964-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="2829205747-48">(</span><span·class="p"·data-group-id="2829205747-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="2829205747-49">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·179,·SHA:·d55a9b9b59148b6ed6a2ffd6d08b2ff8ee4ad561861cecde6e4478e64f350721·...·]-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="4831770964-48">(</span><span·class="p"·data-group-id="4831770964-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="4831770964-49">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·179,·SHA:·acc8c3996bdfe7b43be26ca6ab7c483aea22afaa91b06e5d359a40fc25ae0b24·...·]-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="2829205747-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="4831770964-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="2829205747-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="2829205747-51">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_[·...·truncated·by·diffoscope;·len:·52,·SHA:·e8a9e2fad71ddbf9a19e5ac6699f1a64d3a8fae7637f84a818c93b3af2b6780b·...·]-50">)</span><span·class="p">.</span><span·class="w">345 ···························</span><span·class="p"·data-group-id="4831770964-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="4831770964-51">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_[·...·truncated·by·diffoscope;·len:·52,·SHA:·8ba1c088c5ecb3e09d5514a9dd9cdb05bf9458316d8d6067872bdb0104f2c620·...·]-50">)</span><span·class="p">.</span><span·class="w">
346 </span><span·class="p"·data-group-id="2829205747-52">[</span><span·class="p"·data-group-id="2829205747-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="2829205747-53">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·adb9974a556390c94f8fa7505b29cb7b3707880871b515d45851ac1cc6f159cf·...·]-52">]</span><span·class="gp·unselectable">346 </span><span·class="p"·data-group-id="4831770964-52">[</span><span·class="p"·data-group-id="4831770964-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="4831770964-53">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·c0600a743e10f0da48729a40f5264ba43b83d8f5e2da49f46f4adc95c54dc9c6·...·]-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="2829205747-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="2829205747-54">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·282,·SHA:·c3fd5ec99fe34d252d1c899746140ba7beee0b26383b151637cd3cc13a610f43·...·]-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="4831770964-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="4831770964-54">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·282,·SHA:·71c78c0c304c43dfffcb1feb6706243946b86221960991bccd5069ec95c0cd0f·...·]-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="2829205747-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="4831770964-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="2829205747-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="2829205747-57">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·59,·SHA:·e84b73f1818aae84452b3f028b836efc7572441979ae92413278dd188ea17a46·...·]-56">)</span><span·class="p">.</span><span·class="w">350 ···························</span><span·class="p"·data-group-id="4831770964-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="4831770964-57">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·59,·SHA:·5b0dca17d5af00a13869b183218ceb626ba3480b8b9fd9ee706f49dae6290a35·...·]-56">)</span><span·class="p">.</span><span·class="w">
351 </span><span·class="p"·data-group-id="2829205747-58">[</span><span·class="p"·data-group-id="2829205747-59">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="2829205747-59">}</span><span·class="p">,</span><span·class="w">351 </span><span·class="p"·data-group-id="4831770964-58">[</span><span·class="p"·data-group-id="4831770964-59">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="4831770964-59">}</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 63550/153707 bytes (41.34%) of diff not shown.
861 B
html2text {}
Max HTML report size reached
47.0 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_chap7.html
    
Offset 229, 34 lines modifiedOffset 229, 34 lines modified
229 ··</a>229 ··</a>
230 ··<span·class="text">Startup·Files</span>230 ··<span·class="text">Startup·Files</span>
231 </h3>231 </h3>
232 <p><a·href="mnesia_chap3.html#start_mnesia">Start·Mnesia</a>·states·the·following·prerequisites232 <p><a·href="mnesia_chap3.html#start_mnesia">Start·Mnesia</a>·states·the·following·prerequisites
233 for·starting·<code·class="inline">Mnesia</code>:</p><ul><li>An·Erlang·session·must·be·started·and·a·<code·class="inline">Mnesia</code>·directory·must·be·specified233 for·starting·<code·class="inline">Mnesia</code>:</p><ul><li>An·Erlang·session·must·be·started·and·a·<code·class="inline">Mnesia</code>·directory·must·be·specified
234 for·the·database.</li><li>A·database·schema·must·be·initiated,·using·the·function234 for·the·database.</li><li>A·database·schema·must·be·initiated,·using·the·function
235 <a·href="mnesia.html#create_schema/1"><code·class="inline">mnesia:create_schema/1</code></a>.</li></ul><p>The·following·example·shows·how·these·tasks·are·performed:</p><p><em>Step·1:</em>·Start·an·Erlang·session·and·specify·a·<code·class="inline">Mnesia</code>·directory·for·the235 <a·href="mnesia.html#create_schema/1"><code·class="inline">mnesia:create_schema/1</code></a>.</li></ul><p>The·following·example·shows·how·these·tasks·are·performed:</p><p><em>Step·1:</em>·Start·an·Erlang·session·and·specify·a·<code·class="inline">Mnesia</code>·directory·for·the
236 database:</p><pre><code·class="text">%·erl·-sname·klacke·-mnesia·dir·'&quot;/ldisc/scratch/klacke&quot;'</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">27</span><span·class="w">·</span><span·class="p"·data-group-id="1644440203-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="1644440203-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="0377934929-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="0377934929-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="1644440203-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:·83471d52d17f0154a6006dad907d9da18a513767155e13c92858db7dba01c926·...·]-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="0377934929-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:·03418b5c5db4b2110b181e32c5197313c2026095d5512c0b4ae696de09b41bf7·...·]-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="1644440203-4">(</span><span·class="p"·data-group-id="1644440203-5">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1644440203-6">(</span><span·class="p"·data-group-id="1644440203-6">)</span><span·class="p"·data-group-id="1644440203-5">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·9665aa962a7fdfbc86d95d2cf2013befd820db916fcac1625476306c0e57f817·...·]-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="0377934929-4">(</span><span·class="p"·data-group-id="0377934929-5">[</span><span·class="nf">node</span><span·class="p"·data-group-id="0377934929-6">(</span><span·class="p"·data-group-id="0377934929-6">)</span><span·class="p"·data-group-id="0377934929-5">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·b30834e1585d121120785975923efb55afc7ed15a4aaad4623140c0a3ce5d738·...·]-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="1644440203-7">(</span><span·class="ss">klacke@gin</span><span·class="p"·data-group-id="1644440203-7">)</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">240 </span><span·class="p"·data-group-id="0377934929-7">(</span><span·class="ss">klacke@gin</span><span·class="p"·data-group-id="0377934929-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="1644440203-8">[</span><span·class="mi">1</span><span·class="p"·data-group-id="1644440203-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="0377934929-8">[</span><span·class="mi">1</span><span·class="p"·data-group-id="0377934929-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="4211558548-1">(</span><span·class="p"·data-group-id="4211558548-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="0090941631-1">(</span><span·class="p"·data-group-id="0090941631-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="1145620713-1">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="p"·data-group-id="1145620713-2">[</span><span·class="p"·data-group-id="1145620713-3">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1145620713-4">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1145620713-5">(</span><span·class="p"·data-group-id="1145620713-5">)</span><span·class="p"·data-group-id="1145620713-4">]</span><span·class="p"·data-group-id="1145620713-3">}</span><span·class="p"·data-group-id="1145620713-2">]</span><span·class="p"·data-group-id="1145620713-1">)</span><span·class="p">.</span><span·class="w"> 
254 </span><span·class="p"·data-group-id="1145620713-6">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="1145620713-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:·5f9bf4a800338a31091860899670fa422227f886e80c547aff13b9f2e65d873a·...·]
 254 </span><span·class="p"·data-group-id="0556076112-6">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="0556076112-6">}</span></code></pre><p><em>Step·6:</em>·You·can·see·the·following·listing·in·the·<code·class="inline">Mnesia</code>·directory:</p><pre><code·class="text">%·ls·-l·/ldisc/scratch/klacke
255 -rw-rw-r--·1·klacke·staff····86·May·26·19:07·LATEST.LOG255 -rw-rw-r--·1·klacke·staff····86·May·26·19:07·LATEST.LOG
256 -rw-rw-r--·1·klacke·staff····94·May·26·19:07·foo.DCD256 -rw-rw-r--·1·klacke·staff····94·May·26·19:07·foo.DCD
257 -rw-rw-r--·1·klacke·staff··6679·May·26·19:07·schema.DAT</code></pre><p>The·file·<code·class="inline">foo.DCD</code>·has·been·created.·This·file·will·eventually·store·all·data257 -rw-rw-r--·1·klacke·staff··6679·May·26·19:07·schema.DAT</code></pre><p>The·file·<code·class="inline">foo.DCD</code>·has·been·created.·This·file·will·eventually·store·all·data
258 that·is·written·into·the·<code·class="inline">foo</code>·table.</p><h3·id="log-file"·class="section-heading">258 that·is·written·into·the·<code·class="inline">foo</code>·table.</p><h3·id="log-file"·class="section-heading">
259 ··<a·href="#log-file"·class="hover-link">259 ··<a·href="#log-file"·class="hover-link">
260 ····<i·class="ri-link-m"·aria-hidden="true"></i>260 ····<i·class="ri-link-m"·aria-hidden="true"></i>
261 ··</a>261 ··</a>
Offset 292, 19 lines modifiedOffset 292, 19 lines modified
292 and·it·is·efficient·to·insert·and·search·for·records·in·these·files·with·a292 and·it·is·efficient·to·insert·and·search·for·records·in·these·files·with·a
293 specific·key.·The·<code·class="inline">.DAT</code>·files·are·used·for·the·schema·and·for293 specific·key.·The·<code·class="inline">.DAT</code>·files·are·used·for·the·schema·and·for
294 <code·class="inline">disc_only_copies</code>·tables.·The·<code·class="inline">Mnesia</code>·data·files·are·currently·implemented·in294 <code·class="inline">disc_only_copies</code>·tables.·The·<code·class="inline">Mnesia</code>·data·files·are·currently·implemented·in
295 the·standard·library·module·<a·href="../../../../lib/stdlib-7.0/doc/html/dets.html"><code·class="inline">dets</code></a>·in·<code·class="inline">STDLIB</code>.</p><p>All·operations·that·can·be·performed·on·<code·class="inline">dets</code>·files·can·also·be·performed·on295 the·standard·library·module·<a·href="../../../../lib/stdlib-7.0/doc/html/dets.html"><code·class="inline">dets</code></a>·in·<code·class="inline">STDLIB</code>.</p><p>All·operations·that·can·be·performed·on·<code·class="inline">dets</code>·files·can·also·be·performed·on
296 the·<code·class="inline">Mnesia</code>·data·files.·For·example,·<code·class="inline">dets</code>·contains·the·function296 the·<code·class="inline">Mnesia</code>·data·files.·For·example,·<code·class="inline">dets</code>·contains·the·function
297 <a·href="../../../../lib/stdlib-7.0/doc/html/dets.html#traverse/2"><code·class="inline">dets:traverse/2</code></a>,·which·can·be·used·to·view·the·contents·of·a·<code·class="inline">Mnesia</code>·<code·class="inline">DAT</code>297 <a·href="../../../../lib/stdlib-7.0/doc/html/dets.html#traverse/2"><code·class="inline">dets:traverse/2</code></a>,·which·can·be·used·to·view·the·contents·of·a·<code·class="inline">Mnesia</code>·<code·class="inline">DAT</code>
298 file.·However,·this·can·only·be·done·when·<code·class="inline">Mnesia</code>·is·not·running.·So,·to·view298 file.·However,·this·can·only·be·done·when·<code·class="inline">Mnesia</code>·is·not·running.·So,·to·view
299 the·schema·file,·do·as·follows;</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9932925647-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="9932925647-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·688,·SHA:·83433c71a8d2744d77e2b6eabcba394ee21c24259cd26f69675f343a0a04bb0e·...·]-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="3813278166-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="3813278166-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·688,·SHA:·b10d85c5d0dfaf23255b2cad15a7c7d8d53b9e3058bb7bfe447599b09baf1128·...·]-5">}</span><span·class="p">,</span><span·class="w">
300 </span><span·class="p"·data-group-id="9932925647-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="9932925647-6">}</span><span·class="p"·data-group-id="9932925647-3">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·e54de3242bf710b9e535af3b6ef291cef34fe81956dbd9612f76745646414e03·...·]-2">)</span><span·class="p">,</span><span·class="w">300 </span><span·class="p"·data-group-id="3813278166-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="3813278166-6">}</span><span·class="p"·data-group-id="3813278166-3">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·77f0c46ace24fc86922d2e7f7cc03a61581ff281a8fd66c4d45415ab04c62c0a·...·]-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="9932925647-7">(</span><span·class="n">X</span><span·class="p"·data-group-id="9932925647-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:·72722a3c1eee324fec28381a40706dd366a32193994203bc145984ccb88773cc·...·]-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="3813278166-7">(</span><span·class="n">X</span><span·class="p"·data-group-id="3813278166-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:·ee035721fe5b1176aeb7e49723bd2297eed85b7318fc71bd33c7d2a68d61dcf7·...·]-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="9932925647-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="9932925647-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="3813278166-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="3813278166-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="9932925647-11">(</span><span·class="n">N</span><span·class="p"·data-group-id="9932925647-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="3813278166-11">(</span><span·class="n">N</span><span·class="p"·data-group-id="3813278166-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="7041575685-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:·009306bcfc110a8ceaaeba545ce1e6659a69190b01bd6db5e89e6533243010a1·...·]-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="4411628364-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:·2517e5425ab9ded36a0d806c2e48052fd4dafc44e053f08bea995e44f884b239·...·]-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="7041575685-2">(</span><span·class="n">Node</span><span·class="p"·data-group-id="7041575685-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="4411628364-2">(</span><span·class="n">Node</span><span·class="p"·data-group-id="4411628364-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="7041575685-3">(</span><span·class="n">Node</span><span·class="p"·data-group-id="7041575685-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:·0d61133f010d2daf9a4082bb891614707fa7de14145f79fa5e144f1fbbffd640·...·]-4">)</span><span·class="p">;</span><span·class="w">540 ···········</span><span·class="p"·data-group-id="4411628364-3">(</span><span·class="n">Node</span><span·class="p"·data-group-id="4411628364-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:·405072dfa61cc1442d343b98674a2cbc2ab9374d46206b9c9646a43734a6009d·...·]-4">)</span><span·class="p">;</span><span·class="w">
541 ···········</span><span·class="p"·data-group-id="7041575685-6">(</span><span·class="n">Node</span><span·class="p"·data-group-id="7041575685-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="4411628364-6">(</span><span·class="n">Node</span><span·class="p"·data-group-id="4411628364-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="7041575685-7">(</span><span·class="p"·data-group-id="7041575685-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:·49f15885543f5b39afbedd0e71891acb5ba5e72f4d1e0676557a1b36588dfebf·...·]-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="4411628364-7">(</span><span·class="p"·data-group-id="4411628364-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:·259186f90b074acf5cd94e4027ebbd3119683103ad637f038a8198cea6490c74·...·]-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
545 ················</span><span·class="p"·data-group-id="7041575685-9">{</span><span·class="p"·data-group-id="7041575685-10">[</span><span·class="p"·data-group-id="7041575685-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:·755e9e62b6f7f76dd2e9bef27a9c9275ac210ce62fd78cb47ab1d31bf94af2d1·...·]-9">}</span><span·class="p">;</span><span·class="w">545 ················</span><span·class="p"·data-group-id="4411628364-9">{</span><span·class="p"·data-group-id="4411628364-10">[</span><span·class="p"·data-group-id="4411628364-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:·1d462787bba3f3d72580152d9a7b364cbc296ab5b83ed479aa02fc283ce1ed21·...·]-9">}</span><span·class="p">;</span><span·class="w">
546 ···········</span><span·class="p"·data-group-id="7041575685-12">(</span><span·class="p"·data-group-id="7041575685-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:·9a9223a97b20bf60bbb53816374c2628cfb627c67b933e731c47badd9321dce8·...·]-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">546 ···········</span><span·class="p"·data-group-id="4411628364-12">(</span><span·class="p"·data-group-id="4411628364-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:·37e3b7a097d6eda8b80aa2607325539582c8c9b7f38404ad1ed1a736ccc85faa·...·]-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
547 ················</span><span·class="p"·data-group-id="7041575685-14">{</span><span·class="p"·data-group-id="7041575685-15">[</span><span·class="p"·data-group-id="7041575685-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:·92476f4eb1c5f52a13fc48307cd0d03ec85a0d6271486f6a5a52788e63f5ec1a·...·]-14">}</span><span·class="p">;</span><span·class="w">547 ················</span><span·class="p"·data-group-id="4411628364-14">{</span><span·class="p"·data-group-id="4411628364-15">[</span><span·class="p"·data-group-id="4411628364-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:·efb8f6a8ca0a9a259d8697ba9d2cf4303be628119f4342a88652dcf069e6b05c·...·]-14">}</span><span·class="p">;</span><span·class="w">
548 ···········</span><span·class="p"·data-group-id="7041575685-17">(</span><span·class="p"·data-group-id="7041575685-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:·011afe70671ed47e2d21a0a630e9fafe48dd059230f0993061553b07b4d05338·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">548 ···········</span><span·class="p"·data-group-id="4411628364-17">(</span><span·class="p"·data-group-id="4411628364-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:·c6f53ecc8bed67a42e611c30537091db150030fe601ab2579e8c96930794b621·...·]-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="7041575685-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:·34f7b7fcad6b6da6af1270dbb668a114a88f9d213cc49ff6515cb73970e0bedb·...·]-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="4411628364-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:·139701956c13ceb2f16d51adcba868d61178de09a0406c9afb728b0a24a5f0b4·...·]-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="7041575685-20">(</span><span·class="p"·data-group-id="7041575685-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="7041575685-21">}</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·fd93f5e5a750e3c8cfcb88b4dd90b4ed921dfe52a11f03894fcf939c568ba98a·...·]-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="4411628364-20">(</span><span·class="p"·data-group-id="4411628364-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="4411628364-21">}</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·571c50f5c1ecef91faac40dc2e3e282258fd60e1582f94fad344c7061e2ecf9b·...·]-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="7041575685-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="7041575685-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="4411628364-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="4411628364-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="7041575685-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="7041575685-24">(</span><span·class="n">Switch</s[·...·truncated·by·diffoscope;·len:·173,·SHA:·8581525a388e6093438241fc7e9f869104ab4e2f2640cb47b7da99e776850baa·...·]-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="4411628364-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="4411628364-24">(</span><span·class="n">Switch</s[·...·truncated·by·diffoscope;·len:·173,·SHA:·f47d35ba1f6b83ce27a6be6b46e0a7f3f9db0f257b3f0cb648d21aa3e71460b2·...·]-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="7041575685-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="7041575685-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="4411628364-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="4411628364-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="7041575685-26">{</span><span·class="p"·data-group-id="7041575685-27">[</span><span·class="p"·data-group-id="7041575685-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:·f034eb75c0acde336937e885acdabf5a965e61f3dda541ee4c0549a170b8aaf2·...·]-26">}</span><span·class="p">;</span><span·class="w">557 ················</span><span·class="p"·data-group-id="4411628364-26">{</span><span·class="p"·data-group-id="4411628364-27">[</span><span·class="p"·data-group-id="4411628364-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:·f1060163d93878255d38f2066667636727ad0a1abcfb60d6159974340833eb56·...·]-26">}</span><span·class="p">;</span><span·class="w">
558 ···········</span><span·class="p"·data-group-id="7041575685-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="7041575685-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">558 ···········</span><span·class="p"·data-group-id="4411628364-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="4411628364-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
559 ················</span><span·class="p"·data-group-id="7041575685-31">{</span><span·class="p"·data-group-id="7041575685-32">[</span><span·class="n">Other</span><span·class="p"·data-group-id="7041575685-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:·9ba0192b95607735184f78eb8119c1e61f5cd6aab5aa97922f5360ce3368d32b·...·]-31">}</span><span·class="w">559 ················</span><span·class="p"·data-group-id="4411628364-31">{</span><span·class="p"·data-group-id="4411628364-32">[</span><span·class="n">Other</span><span·class="p"·data-group-id="4411628364-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:·0f789e1c16cb3c490c06998e1a5c97d9e7b63c89028a1bb7243af1ca975cb25f·...·]-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="7041575685-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:·857fe9f79116a85decb6ddfc6d2c7fd85d1dee0ff59f131c75a4510542e66f19·...·]-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="4411628364-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:·235a0bba5de1c4156bfd1c66b0faade84ad13f60621b0dce33c7bd54a8746966·...·]-33">)</span><span·class="p">.</span><span·class="w">
  
562 </span><span·class="nf">view</span><span·class="p"·data-group-id="7041575685-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="7041575685-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="4411628364-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="4411628364-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="7041575685-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="7041575685-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="4411628364-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="4411628364-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="7041575685-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="7041575685-37">[</span><span·class="n">Item<[·...·truncated·by·diffoscope;·len:·101,·SHA:·36b6d3d7f563ba977c4cfea238f943949c3b19a4597d941b5e876b4d908015b3·...·]-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="4411628364-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="4411628364-37">[</span><span·class="n">Item<[·...·truncated·by·diffoscope;·len:·101,·SHA:·649569309d5bec35860f77ea38e3ba7621d82ba2d583c0afe5069516d96ba858·...·]-36">)</span><span·class="p">,</span><span·class="w">
565 ···················</span><span·class="p"·data-group-id="7041575685-38">{</span><span·class="p"·data-group-id="7041575685-39">[</span><span·class="n">Item</span><span·class="p"·data-group-id="7041575685-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:·7330e4c0ba8876422e985c5b3f05e756e65e0fa4a55505dba203ea412f0a9b95·...·]-38">}</span><span·class="w">565 ···················</span><span·class="p"·data-group-id="4411628364-38">{</span><span·class="p"·data-group-id="4411628364-39">[</span><span·class="n">Item</span><span·class="p"·data-group-id="4411628364-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:·1a285de768324a7324b22ff97db7628c8a5f0bf4257e2b87703d6950608856ea·...·]-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="7041575685-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:·123a5f4091fd4c0935c97d788d78405de27caefd8b9f25ce8b33b106740b7730·...·]-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="4411628364-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:·527e76ff334d3c3be25e72891b82d81ca7fe641c657e10a52117e43a6f770f9c·...·]-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.24/doc/html/mnesia_chap8.html
    
Offset 187, 15 lines modifiedOffset 187, 15 lines modified
187 ······<p·class="built-using">187 ······<p·class="built-using">
188 ········Built·using188 ········Built·using
189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
191 ······</p>191 ······</p>
192 <p>Copyright·©·1996-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.53 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_frag_hash.html
    
Offset 405, 15 lines modifiedOffset 405, 15 lines modified
405 ······<p·class="built-using">405 ······<p·class="built-using">
406 ········Built·using406 ········Built·using
407 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the407 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
408 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>408 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
409 ······</p>409 ······</p>
410 <p>Copyright·©·1996-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.52 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_overview.html
    
Offset 239, 15 lines modifiedOffset 239, 15 lines modified
239 ······<p·class="built-using">239 ······<p·class="built-using">
240 ········Built·using240 ········Built·using
241 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the241 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
242 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>242 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
243 ······</p>243 ······</p>
244 <p>Copyright·©·1996-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.16 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_registry.html
    
Offset 250, 16 lines modifiedOffset 250, 16 lines modified
250 ··········<pre·translate="no"><span·class="attribute">-spec</span>·create_table(Tab·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),·Opt·::·[{<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}])·->·ok.</pre>250 ··········<pre·translate="no"><span·class="attribute">-spec</span>·create_table(Tab·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),·Opt·::·[{<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}])·->·ok.</pre>
  
251 ······</div>251 ······</div>
  
252 <section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p><em>This·function·is·deprecated.·Do·not·use·it.</em></p></section><p>A·wrapper·function·for·<a·href="mnesia.html#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>,·which·creates·a·table·(if·there252 <section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p><em>This·function·is·deprecated.·Do·not·use·it.</em></p></section><p>A·wrapper·function·for·<a·href="mnesia.html#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>,·which·creates·a·table·(if·there
253 is·no·existing·table)·with·an·appropriate·set·of·<code·class="inline">attributes</code>.·The·attributes253 is·no·existing·table)·with·an·appropriate·set·of·<code·class="inline">attributes</code>.·The·attributes
254 and·<code·class="inline">TabDef</code>·are·forwarded·to·<a·href="mnesia.html#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>.·For·example,·if·the·table254 and·<code·class="inline">TabDef</code>·are·forwarded·to·<a·href="mnesia.html#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>.·For·example,·if·the·table
255 is·to·reside·as·<code·class="inline">disc_only_copies</code>·on·all·nodes,·a·call·looks·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">TabDef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1229362927-1">[</span><span·class="p"·data-group-id="1229362927-2">{</span><span·class="p"·data-group-id="1229362927-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:·c74f47afd151f91175960419b6adcdf55e2e0a21a21b0257a7f0c7beffe1a8bd·...·]-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="9912475013-1">[</span><span·class="p"·data-group-id="9912475013-2">{</span><span·class="p"·data-group-id="9912475013-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:·d47e242e1d329c83988aea87db72a0d05e4c8413ce6b0e31eefc02d982412161·...·]-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="1229362927-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="1229362927-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="9912475013-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="9912475013-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
10.7 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/notes.html
    
Offset 137, 17 lines modifiedOffset 137, 17 lines modified
137 </h2>137 </h2>
138 <h3·id="improvements-and-new-features"·class="section-heading">138 <h3·id="improvements-and-new-features"·class="section-heading">
139 ··<a·href="#improvements-and-new-features"·class="hover-link">139 ··<a·href="#improvements-and-new-features"·class="hover-link">
140 ····<i·class="ri-link-m"·aria-hidden="true"></i>140 ····<i·class="ri-link-m"·aria-hidden="true"></i>
141 ··</a>141 ··</a>
142 ··<span·class="text">Improvements·and·New·Features</span>142 ··<span·class="text">Improvements·and·New·Features</span>
143 </h3>143 </h3>
144 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="8942031063-1">(</span><span·class="p"·data-group-id="8942031063-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8942031063-2">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·340560a8b5ece480300d6fcd70978ce57016b658ca1134e36030f73142416634·...·]3-2">)</span><span·class="p">.</span><span·class="w">144 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="2137596453-1">(</span><span·class="p"·data-group-id="2137596453-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2137596453-2">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·29e412d4728b77a7e7e05fa8098ccce55a0cd12dc63dcc2e771a51c25fb657df·...·]3-2">)</span><span·class="p">.</span><span·class="w">
145 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8942031063-3">(</span><span·class="p"·data-group-id="8942031063-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8942031063-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·048ed39e0e7d0af1e7067b827b257c82604d447644ea084be674ef0fa1faa9de·...·]-2">)</span><span·class="p">.</span><span·class="w">145 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2137596453-3">(</span><span·class="p"·data-group-id="2137596453-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2137596453-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·a6b4ff58fe6dd3cc31a5b79861819acbd2919f50da4fb5677f511581a4cf0226·...·]-2">)</span><span·class="p">.</span><span·class="w">
146 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="3941983673-3">(</span><span·class="p"·data-group-id="3941983673-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3941983673-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·878b1748d343787c35425921c243ade1d098ce2bdae85157c9c192b218f2dd2b·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="mnesia-4-23-5"·class="section-heading">146 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="9181812506-3">(</span><span·class="p"·data-group-id="9181812506-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9181812506-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·9a931a3481ef0df4a4fa790e62aef6917a9d735ec5a62c70fb49641f146c0be4·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="mnesia-4-23-5"·class="section-heading">
147 ··<a·href="#mnesia-4-23-5"·class="hover-link">147 ··<a·href="#mnesia-4-23-5"·class="hover-link">
148 ····<i·class="ri-link-m"·aria-hidden="true"></i>148 ····<i·class="ri-link-m"·aria-hidden="true"></i>
149 ··</a>149 ··</a>
150 ··<span·class="text">Mnesia·4.23.5</span>150 ··<span·class="text">Mnesia·4.23.5</span>
151 </h2>151 </h2>
152 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">152 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">
153 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">153 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">
Offset 1573, 15 lines modifiedOffset 1573, 15 lines modified
1573 ······<p·class="built-using">1573 ······<p·class="built-using">
1574 ········Built·using1574 ········Built·using
1575 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1575 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1576 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1576 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1577 ······</p>1577 ······</p>
1578 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1578 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1579 ····</footer>1579 ····</footer>
1580 ··</div>1580 ··</div>
1581 </main>1581 </main>
1582 </div>1582 </div>
1583 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1583 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1584 ··<script>1584 ··<script>
1585 ··let·initialized·=·false;1585 ··let·initialized·=·false;
680 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.47 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.18/doc/html/api-reference.html
    
Offset 209, 15 lines modifiedOffset 209, 15 lines modified
209 ······<p·class="built-using">209 ······<p·class="built-using">
210 ········Built·using210 ········Built·using
211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
213 ······</p>213 ······</p>
214 <p>Copyright·©·1996-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.18/doc/html/cdv_cmd.html
    
Offset 178, 15 lines modifiedOffset 178, 15 lines modified
178 ······<p·class="built-using">178 ······<p·class="built-using">
179 ········Built·using179 ········Built·using
180 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the180 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
181 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>181 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
182 ······</p>182 ······</p>
183 <p>Copyright·©·1996-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.18/doc/html/crashdump_ug.html
    
Offset 367, 15 lines modifiedOffset 367, 15 lines modified
367 ······<p·class="built-using">367 ······<p·class="built-using">
368 ········Built·using368 ········Built·using
369 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the369 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
370 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>370 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
371 ······</p>371 ······</p>
372 <p>Copyright·©·1996-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.18/doc/html/crashdump_viewer.html
    
Offset 293, 15 lines modifiedOffset 293, 15 lines modified
293 ······<p·class="built-using">293 ······<p·class="built-using">
294 ········Built·using294 ········Built·using
295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
297 ······</p>297 ······</p>
298 <p>Copyright·©·1996-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.18/doc/html/etop.html
    
Offset 419, 15 lines modifiedOffset 419, 15 lines modified
419 ······<p·class="built-using">419 ······<p·class="built-using">
420 ········Built·using420 ········Built·using
421 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the421 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
422 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>422 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
423 ······</p>423 ······</p>
424 <p>Copyright·©·1996-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.18/doc/html/etop_ug.html
    
Offset 269, 15 lines modifiedOffset 269, 15 lines modified
269 ······<p·class="built-using">269 ······<p·class="built-using">
270 ········Built·using270 ········Built·using
271 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the271 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
272 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>272 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
273 ······</p>273 ······</p>
274 <p>Copyright·©·1996-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.18/doc/html/introduction_ug.html
    
Offset 185, 15 lines modifiedOffset 185, 15 lines modified
185 ······<p·class="built-using">185 ······<p·class="built-using">
186 ········Built·using186 ········Built·using
187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
189 ······</p>189 ······</p>
190 <p>Copyright·©·1996-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.18/doc/html/notes.html
    
Offset 1182, 15 lines modifiedOffset 1182, 15 lines modified
1182 ······<p·class="built-using">1182 ······<p·class="built-using">
1183 ········Built·using1183 ········Built·using
1184 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1184 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1185 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1185 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1186 ······</p>1186 ······</p>
1187 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1187 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1188 ····</footer>1188 ····</footer>
1189 ··</div>1189 ··</div>
1190 </main>1190 </main>
1191 </div>1191 </div>
1192 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1192 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1193 ··<script>1193 ··<script>
1194 ··let·initialized·=·false;1194 ··let·initialized·=·false;
686 B
html2text {}
Max HTML report size reached
410 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/observer.epub
3.75 KB
zipinfo {}
Max HTML report size reached
135 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
250 KB
OEBPS/ttb_ug.xhtml
Max HTML report size reached
19.6 KB
OEBPS/ttb.xhtml
Max HTML report size reached
1.24 KB
OEBPS/content.opf
Max HTML report size reached
1.37 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/observer.html
    
Offset 377, 15 lines modifiedOffset 377, 15 lines modified
377 ······<p·class="built-using">377 ······<p·class="built-using">
378 ········Built·using378 ········Built·using
379 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the379 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
380 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>380 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
381 ······</p>381 ······</p>
382 <p>Copyright·©·1996-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.18/doc/html/observer_app.html
    
Offset 185, 15 lines modifiedOffset 185, 15 lines modified
185 ······<p·class="built-using">185 ······<p·class="built-using">
186 ········Built·using186 ········Built·using
187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
189 ······</p>189 ······</p>
190 <p>Copyright·©·1996-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.18/doc/html/observer_ug.html
    
Offset 331, 15 lines modifiedOffset 331, 15 lines modified
331 ······<p·class="built-using">331 ······<p·class="built-using">
332 ········Built·using332 ········Built·using
333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
335 ······</p>335 ······</p>
336 <p>Copyright·©·1996-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.18/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.18/doc/html/ttb.html
    
Offset 1848, 21 lines modifiedOffset 1848, 21 lines modified
1848 returns·a·match·specification,·which·turns·on·sequential·tracing·with·the1848 returns·a·match·specification,·which·turns·on·sequential·tracing·with·the
1849 specified·<code·class="inline">Flags</code>.</p><p>This·match·specification·can·be·specified·as·the·last·argument·to·<code·class="inline">tp</code>·or·<code·class="inline">tpl</code>.1849 specified·<code·class="inline">Flags</code>.</p><p>This·match·specification·can·be·specified·as·the·last·argument·to·<code·class="inline">tp</code>·or·<code·class="inline">tpl</code>.
1850 The·activated·<code·class="inline">Item</code>·then·becomes·a·<em>trigger</em>·for·sequential·tracing.·This·means1850 The·activated·<code·class="inline">Item</code>·then·becomes·a·<em>trigger</em>·for·sequential·tracing.·This·means
1851 that·if·the·item·is·called·on·a·process·with·trace·flag·<code·class="inline">call</code>·set,·the·process1851 that·if·the·item·is·called·on·a·process·with·trace·flag·<code·class="inline">call</code>·set,·the·process
1852 is·&quot;contaminated&quot;·with·token·<code·class="inline">seq_trace</code>.</p><p>If·<code·class="inline">Flags·=·all</code>,·all·possible·flags·are·set.</p><p>The·possible·values·for·<code·class="inline">SeqTraceFlag</code>·are·available·in·<a·href="../../../../lib/kernel-10.3/doc/html/seq_trace.html"><code·class="inline">seq_trace</code></a>.</p><p>For·a·description·of·the·<code·class="inline">match_spec()</code>·syntax,·see·section1852 is·&quot;contaminated&quot;·with·token·<code·class="inline">seq_trace</code>.</p><p>If·<code·class="inline">Flags·=·all</code>,·all·possible·flags·are·set.</p><p>The·possible·values·for·<code·class="inline">SeqTraceFlag</code>·are·available·in·<a·href="../../../../lib/kernel-10.3/doc/html/seq_trace.html"><code·class="inline">seq_trace</code></a>.</p><p>For·a·description·of·the·<code·class="inline">match_spec()</code>·syntax,·see·section
1853 <a·href="../../../../erts-16.0/doc/html/match_spec.html"><code·class="inline">Match·Specifications·in·Erlang</code></a>·in·ERTS,·which1853 <a·href="../../../../erts-16.0/doc/html/match_spec.html"><code·class="inline">Match·Specifications·in·Erlang</code></a>·in·ERTS,·which
1854 explains·the·general·match·specification·&quot;language&quot;.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·<em>system·tracer</em>·for·sequential·tracing·is·automatically·initiated·by·<code·class="inline">ttb</code>1854 explains·the·general·match·specification·&quot;language&quot;.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·<em>system·tracer</em>·for·sequential·tracing·is·automatically·initiated·by·<code·class="inline">ttb</code>
1855 when·a·trace·port·is·started·with·<code·class="inline">ttb:tracer/0,1,2</code>.</p></section><p>An·example·of·how·to·use·function·<code·class="inline">seq_trigger_ms/0,1</code>·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(tiger@durin)5&gt;·</span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">tracer</span><span·class="p"·data-group-id="1636621128-1">(</span><span·class="p"·data-group-id="1636621128-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="3295942033-1">(</span><span·class="p"·data-group-id="3295942033-1">)</span><span·class="p">.</span><span·class="w">
1856 </span><span·class="p"·data-group-id="1636621128-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1636621128-3">[</span><span·class="ss">tiger@durin</span><span·class="p"·data-group-id="1636621128-3">]</span><span·class="p"·data-group-id="1636621128-2">}</span><span·class="gp·unselectable">1856 </span><span·class="p"·data-group-id="3295942033-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3295942033-3">[</span><span·class="ss">tiger@durin</span><span·class="p"·data-group-id="3295942033-3">]</span><span·class="p"·data-group-id="3295942033-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="1636621128-4">(</span><span·class="ss">all</span><span·class="p">,</span><span·class="ss">call</span><span·class="p"·data-group-id="1636621128-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="3295942033-4">(</span><span·class="ss">all</span><span·class="p">,</span><span·class="ss">call</span><span·class="p"·data-group-id="3295942033-4">)</span><span·class="p">.</span><span·class="w">
1858 </span><span·class="p"·data-group-id="1636621128-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1636621128-6">{</span><span·class="p"·data-group-id="1636621128-7">[</span><span·class="ss">all</span><span·class="p"·data-group-id="1636621128-7">]</spa[·...·truncated·by·diffoscope;·len:·254,·SHA:·b35e8cf4f04c2908ad21d8ef202a878d08c82ca52e62c4bd4982ac96b881a483·...·]-5">}</span><span·class="gp·unselectable">1858 </span><span·class="p"·data-group-id="3295942033-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3295942033-6">{</span><span·class="p"·data-group-id="3295942033-7">[</span><span·class="ss">all</span><span·class="p"·data-group-id="3295942033-7">]</spa[·...·truncated·by·diffoscope;·len:·254,·SHA:·1897a428537c543c4e8ecece013cc962666d4c7099adfdad70f6c7c8f1cdd629·...·]-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="1636621128-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="1636621128-[·...·truncated·by·diffoscope;·len:·107,·SHA:·fe6a2696005d10565288a978390e7f58cf36c7b28ed6f002d8ec89b066066fa4·...·]-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="3295942033-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="3295942033-[·...·truncated·by·diffoscope;·len:·107,·SHA:·ad4df19e99fc8ae2564c2592ba28f6e5ba58775be1459dcb383b62788f47ab9f·...·]-9">)</span><span·class="p">.</span><span·class="w">
1860 </span><span·class="p"·data-group-id="1636621128-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1636621128-12">[</span><span·class="p"·data-group-id="1636621128-13">{</span><span·class="ss">matched</span><span·class="p">,</span><span·class="mi">1</[·...·truncated·by·diffoscope;·len:·364,·SHA:·cc56ded85f11d5278503c2f1fbd8c9d9d81ffa01783977cff4aec4e70c3a6e64·...·]-11">}</span><span·class="w">1860 </span><span·class="p"·data-group-id="3295942033-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3295942033-12">[</span><span·class="p"·data-group-id="3295942033-13">{</span><span·class="ss">matched</span><span·class="p">,</span><span·class="mi">1</[·...·truncated·by·diffoscope;·len:·364,·SHA:·c2beef51a5f0ef59192190b7a81aebbb2a131c614b2e1ea748e86d780ca19575·...·]-11">}</span><span·class="w">
1861 </span><span·class="p"·data-group-id="1636621128-15">(</span><span·class="ss">tiger@durin</span><span·class="p"·data-group-id="1636621128-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="3295942033-15">(</span><span·class="ss">tiger@durin</span><span·class="p"·data-group-id="3295942033-15">)</span><span·class="mi">8</span><span·class="o">&gt;</span></code></pre><p>Whenever·<code·class="inline">mod:func(...)</code>·is·called·after·this,·token·<code·class="inline">seq_trace</code>·is·set·on·the
1862 executing·process.</p>1862 executing·process.</p>
1863 ··</section>1863 ··</section>
1864 </section>1864 </section>
1865 <section·class="detail"·id="start_trace/4">1865 <section·class="detail"·id="start_trace/4">
  
1866 ··<div·class="detail-header">1866 ··<div·class="detail-header">
1867 ····<a·href="#start_trace/4"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1867 ····<a·href="#start_trace/4"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1891, 22 lines modifiedOffset 1891, 22 lines modified
1891 ·························TracerOpts·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),1891 ·························TracerOpts·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),
1892 ·························Result·::·{ok,·[{<a·href="#t:item/0">item</a>(),·<a·href="#t:match_desc/0">match_desc</a>()}]}.</pre>1892 ·························Result·::·{ok,·[{<a·href="#t:item/0">item</a>(),·<a·href="#t:match_desc/0">match_desc</a>()}]}.</pre>
  
1893 ······</div>1893 ······</div>
  
1894 <p>This·function·is·a·shortcut·allowing·to·start·a·trace·with·one·command.·Each1894 <p>This·function·is·a·shortcut·allowing·to·start·a·trace·with·one·command.·Each
1895 tuple·in·<code·class="inline">Patterns</code>·is·converted·to·a·list,·which·in·turn·is·passed·to1895 tuple·in·<code·class="inline">Patterns</code>·is·converted·to·a·list,·which·in·turn·is·passed·to
1896 <code·class="inline">ttb:tpl/2,3,4</code>.</p><p>The·call:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">start_trace</span><span·class="p"·data-group-id="1613026257-1">(</span><span·class="p"·data-group-id="1613026257-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="1613026257-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="2586750946-1">(</span><span·class="p"·data-group-id="2586750946-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="2586750946-2">]</span><span·class="p">,</span><span·class="w">
1897 ··················</span><span·class="p"·data-group-id="1613026257-3">[</span><span·class="p"·data-group-id="1613026257-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:·d55ed9fc146c42dc0649d4bcbf26fe80e0545bd12abd5525b7b5452499e42a31·...·]-3">]</span><span·class="p">,</span><span·class="w">1897 ··················</span><span·class="p"·data-group-id="2586750946-3">[</span><span·class="p"·data-group-id="2586750946-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:·469740856aec6e81700cbeac34945d7503d362527e4a4af588e2e745786a8365·...·]-3">]</span><span·class="p">,</span><span·class="w">
1898 ··················</span><span·class="p"·data-group-id="1613026257-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="1613026257-7">}</span><span·class="p">,</span><span·class="w">1898 ··················</span><span·class="p"·data-group-id="2586750946-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="2586750946-7">}</span><span·class="p">,</span><span·class="w">
1899 ··················</span><span·class="p"·data-group-id="1613026257-8">[</span><span·class="p"·data-group-id="1613026257-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="1613026257-9">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·1095,·SHA:·c03cef83b3f2310e04c0848081249d8a399dbea166dd19ec4021d498960e1e3f·...·]-2">]</span><span·class="p">,</span><span·class="w">1899 ··················</span><span·class="p"·data-group-id="2586750946-8">[</span><span·class="p"·data-group-id="2586750946-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="2586750946-9">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·1095,·SHA:·2682c6d8c374be273eb3e4cc31df40cb2acaf0ee45f16508838f2539fbe055f4·...·]-2">]</span><span·class="p">,</span><span·class="w">
1900 ··················</span><span·class="p"·data-group-id="9848723513-3">[</span><span·class="p"·data-group-id="9848723513-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="9848723513-4">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·588,·SHA:·ea222f08c20656bdfed6bf19f4d1fc921b472cb0ea537ddf599966d4e2f56f03·...·]-1">)</span><span·class="p">,</span><span·class="w">1900 ··················</span><span·class="p"·data-group-id="6943800128-3">[</span><span·class="p"·data-group-id="6943800128-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="6943800128-4">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·588,·SHA:·5e6bbc12f71477dedbc9374fd85883e2224585a96379d8ad6dc0f4a779610e30·...·]-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="9848723513-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="9848723513-8">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·63,·SHA:·73e266af458abb164211b3ee5d462458540936fcf3f60632c18baabe91d5d028·...·]-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="6943800128-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="6943800128-8">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·63,·SHA:·081192aa5db70d28841c2ea9514a06ab98c4ca18f42b24f2f17987640f12700c·...·]-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="9848723513-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:·c184e2408858fb9800718832b78c1ad7b531ce57c0f1630b196f341dd77744ed·...·]-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="6943800128-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:·a45630688411a217547247dd124ac934cee1eeb1e7b5ba218af64845488e615f·...·]-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="9848723513-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="9848723513-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="6943800128-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="6943800128-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.18/doc/html/ttb_ug.html
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.16/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-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.16/doc/html/databases.html
    
Offset 268, 15 lines modifiedOffset 268, 15 lines modified
268 ······<p·class="built-using">268 ······<p·class="built-using">
269 ········Built·using269 ········Built·using
270 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the270 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
271 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>271 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
272 ······</p>272 ······</p>
273 <p>Copyright·©·1996-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.16/doc/html/error_handling.html
    
Offset 267, 15 lines modifiedOffset 267, 15 lines modified
267 ······<p·class="built-using">267 ······<p·class="built-using">
268 ········Built·using268 ········Built·using
269 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the269 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
270 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>270 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
271 ······</p>271 ······</p>
272 <p>Copyright·©·1996-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.16/doc/html/getting_started.html
    
Offset 153, 85 lines modifiedOffset 153, 85 lines modified
153 ··<span·class="text">Using·the·Erlang·API</span>153 ··<span·class="text">Using·the·Erlang·API</span>
154 </h2>154 </h2>
155 <p>The·following·dialog·within·the·Erlang·shell·illustrates·the·functionality·of155 <p>The·following·dialog·within·the·Erlang·shell·illustrates·the·functionality·of
156 the·Erlang·ODBC·interface.·The·table·used·in·the·example·does·not·have·any156 the·Erlang·ODBC·interface.·The·table·used·in·the·example·does·not·have·any
157 relevance·to·anything·that·exist·in·reality,·it·is·just·a·simple·example.·The157 relevance·to·anything·that·exist·in·reality,·it·is·just·a·simple·example.·The
158 example·was·created·using·<code·class="inline">sqlserver·7.0·with·servicepack·1</code>·as·database·and·the158 example·was·created·using·<code·class="inline">sqlserver·7.0·with·servicepack·1</code>·as·database·and·the
159 ODBC·driver·for·<code·class="inline">sqlserver</code>·with·version·<code·class="inline">2000.80.194.00</code>.</p><pre><code·class="text">·1·&gt;·odbc:start().159 ODBC·driver·for·<code·class="inline">sqlserver</code>·with·version·<code·class="inline">2000.80.194.00</code>.</p><pre><code·class="text">·1·&gt;·odbc:start().
160 ······ok</code></pre><p>Connect·to·the·database</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1108404824-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="1108404824-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·394,·SHA:·7015f49adce73fbd3edfda14c97f31a647e87026badaf306dab6dc4f217be3b4·...·]-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="6324141831-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="6324141831-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·394,·SHA:·b2abb9a0316fe34edd4fa6e9947be9dfe02413ff4b5c00821a8a580464d7e049·...·]-2">)</span><span·class="p">.</span><span·class="w">
161 ······</span><span·class="p"·data-group-id="1108404824-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="1108404824-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="6324141831-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="6324141831-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="1242849182-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="1242849182-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="0386604708-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="0386604708-1">)</span><span·class="p">.</span><span·class="w">
168 ······</span><span·class="p"·data-group-id="1242849182-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1242849182-3">[</span><span·class="p"·data-group-id="1242849182-4">{</span><span·class="s">&quot;NR&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·107,·SHA:·0361d95571e8f2cf971a478c8cdcc0c73b0e168a7b8ad7060fba94acef770020·...·]-4">}</span><span·class="p">,</span><span·class="w">168 ······</span><span·class="p"·data-group-id="0386604708-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0386604708-3">[</span><span·class="p"·data-group-id="0386604708-4">{</span><span·class="s">&quot;NR&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·107,·SHA:·bde149738d62542600a7662d4ea90f528df814d05188fa02d0bda1023da02322·...·]-4">}</span><span·class="p">,</span><span·class="w">
169 ············</span><span·class="p"·data-group-id="1242849182-5">{</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1242849182-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="1242849182-6">}</span><span·class="p"·data-group-id="1242849182-5">}</span><span·class="p">,</span><span·class="w"> 
170 ············</span><span·class="p"·data-group-id="1242849182-7">{</span><span·class="s">&quot;LASTNAME&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1242849182-8">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·118,·SHA:·c566507208ff78aeb8de051ae93100e364b81825f0f42dea0eff1194ef9c6f18·...·]</span><span·class="w">169 ············</span><span·class="p"·data-group-id="0386604708-5">{</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0386604708-6">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·143,·SHA:·d8d6116a44e9faf378aecdc7b43c7b8ad01cfbe2a7619dd8fe73e1b3511faaf4·...·]</span><span·class="w">
171 ············</span><span·class="p"·data-group-id="1242849182-9">{</span><span·class="s">&quot;GENDER&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1242849182-10">{</span><span·class="ss">sql_char</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·763,·SHA:·36ff8dea1bf6ba99a89d643106dc0217c7282c8047e7ec5584fc2c5642f4a5e9·...·]</span><span·class="w">170 ············</span><span·class="p"·data-group-id="0386604708-7">{</span><span·class="s">&quot;LASTNAME&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0386604708-8">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·118,·SHA:·87a8bf816e63328e67ea8afe105b9313e543d883cb844f1beea8d4886dc556fb·...·]</span><span·class="w">
 171 ············</span><span·class="p"·data-group-id="0386604708-9">{</span><span·class="s">&quot;GENDER&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0386604708-10">{</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="0386604708-10">}</span><span·class="p"·data-group-id="0386604708-9">}</span><span·class="p"·data-group-id="0386604708-3">]</span><span·class="p"·data-group-id="0386604708-2">}</span></code></pre><p><a·href=""·id="param_query"></a>·Use·a·parameterized·query·to·insert·many·rows·in·one·go.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">6</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">param_query</span><span·class="p"·data-group-id="8952714671-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="4658170566-2">[</span><span·class="p"·data-group-id="4658170566-3">{</span><span·class="ss">sql_integer</span><span·class="p">,</span><span·class="p"·data-group-id="4658170566-4">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</[·...·truncated·by·diffoscope;·len:·344,·SHA:·5a8b2a28df5351a8ad3114ac3c0f56cc1315c4b5a1975ccecbb332df8fc8ed05·...·]-3">}</span><span·class="p">,</span><span·class="w">173 ···················</span><span·class="p"·data-group-id="8952714671-2">[</span><span·class="p"·data-group-id="8952714671-3">{</span><span·class="ss">sql_integer</span><span·class="p">,</span><span·class="p"·data-group-id="8952714671-4">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</[·...·truncated·by·diffoscope;·len:·344,·SHA:·7f7e3132766557512612421df5a5f82a40d232e75c64cd8e1e4471bb1f40ebc2·...·]-3">}</span><span·class="p">,</span><span·class="w">
174 ····················</span><span·class="p"·data-group-id="4658170566-5">{</span><span·class="p"·data-group-id="4658170566-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="4658170566-6">}</span><span·class="p">,</span><span·class="w">174 ····················</span><span·class="p"·data-group-id="8952714671-5">{</span><span·class="p"·data-group-id="8952714671-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="8952714671-6">}</span><span·class="p">,</span><span·class="w">
175 ·····························</span><span·class="p"·data-group-id="4658170566-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="8952714671-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="4658170566-7">]</span><span·class="p"·data-group-id="4658170566-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="8952714671-7">]</span><span·class="p"·data-group-id="8952714671-5">}</span><span·class="p">,</span><span·class="w">
177 ···················</span><span·class="p"·data-group-id="4658170566-8">{</span><span·class="p"·data-group-id="4658170566-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="4658170566-9">}</span><span·class="p">,</span><span·class="w">177 ···················</span><span·class="p"·data-group-id="8952714671-8">{</span><span·class="p"·data-group-id="8952714671-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="8952714671-9">}</span><span·class="p">,</span><span·class="w">
178 ·····························</span><span·class="p"·data-group-id="4658170566-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="8952714671-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="4658170566-10">]</span><span·class="p"·data-group-id="4658170566-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="8952714671-10">]</span><span·class="p"·data-group-id="8952714671-8">}</span><span·class="p">,</span><span·class="w">
180 ···················</span><span·class="p"·data-group-id="4658170566-11">{</span><span·class="p"·data-group-id="4658170566-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="4658170566-12">}</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·680,·SHA:·dc1b7b0bfb1cd60f7d24044140c15d7d4602a1b306c9cc30d3d96187fd14937b·...·]-1">)</span><span·class="p">.</span><span·class="w">180 ···················</span><span·class="p"·data-group-id="8952714671-11">{</span><span·class="p"·data-group-id="8952714671-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="8952714671-12">}</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·680,·SHA:·4bc0e8d0712d15fe50412c0bb41c575f7ac4e147b2710a6d38a54556b5f39f6e·...·]-1">)</span><span·class="p">.</span><span·class="w">
181 ······</span><span·class="p"·data-group-id="4658170566-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="4658170566-14">}</span></code></pre><p>Fetch·all·data·in·the·table·employee</p><pre><code·class="m[·...·truncated·by·diffoscope;·len:·439,·SHA:·f6f3f22241b51163aa6898c2373b951ac7348b04bca384505d6ad392c23942a9·...·]-1">)</span><span·class="p">.</span><span·class="w">181 ······</span><span·class="p"·data-group-id="8952714671-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="8952714671-14">}</span></code></pre><p>Fetch·all·data·in·the·table·employee</p><pre><code·class="m[·...·truncated·by·diffoscope;·len:·439,·SHA:·87af2cf03af47f98873b37b5c9d4d7fa65c31982b9b0f5c22b0019c1d03f5156·...·]-1">)</span><span·class="p">.</span><span·class="w">
182 ····</span><span·class="p"·data-group-id="4387240576-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="4387240576-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:·0c38e4404ee29002f1cb1888b86e43f3c4fed0c24725742332a75ac861a03a7d·...·]-3">]</span><span·class="p">,</span><span·class="w">182 ····</span><span·class="p"·data-group-id="8597944334-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="8597944334-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:·7a265b15666efd727dba379ed4c2254d385440805b7e3ee62f7e12396e1c11db·...·]-3">]</span><span·class="p">,</span><span·class="w">
183 ··········</span><span·class="p"·data-group-id="4387240576-4">[</span><span·class="p"·data-group-id="4387240576-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:·18ba2016dbe9d27136296cebc860e1903db8aece9885db7a952d8b05a3a2e609·...·]-5">}</span><span·class="p">,</span><span·class="w">183 ··········</span><span·class="p"·data-group-id="8597944334-4">[</span><span·class="p"·data-group-id="8597944334-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:·b51973b263b2597fda66b51ee25a1b602c77d108f3f33fe6baa3e8d477d8a823·...·]-5">}</span><span·class="p">,</span><span·class="w">
184 ···········</span><span·class="p"·data-group-id="4387240576-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:·326e861a1807bbae60ae55fdcb9ff1f2676988d869dfd96600d10c9d45704d5f·...·]-6">}</span><span·class="p">,</span><span·class="w">184 ···········</span><span·class="p"·data-group-id="8597944334-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:·390489201ca80a43775cd1455371e6df0323e47ffa350ffa1809d2b1c28e3225·...·]-6">}</span><span·class="p">,</span><span·class="w">
185 ···········</span><span·class="p"·data-group-id="4387240576-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:·45d12aac92d84e0a49923d745b4ce67b4c0f3330e1781ee71bdda82bd30eba25·...·]-7">}</span><span·class="p">,</span><span·class="w">185 ···········</span><span·class="p"·data-group-id="8597944334-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:·d28560a172280c7a45fd8a772217000fc18e5c5551d1b85ce1dc8d96619bf261·...·]-7">}</span><span·class="p">,</span><span·class="w">
186 ···········</span><span·class="p"·data-group-id="4387240576-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:·32a89b557212da03e8005db90c64714e4d7ffd556a01cc71106e04ba4fc0249b·...·]-8">}</span><span·class="p">,</span><span·class="w">186 ···········</span><span·class="p"·data-group-id="8597944334-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:·9aa5f007f16ad6ccf3eb329fb98591534c42f300fede33b8fc2fa066c4f8d30a·...·]-8">}</span><span·class="p">,</span><span·class="w">
187 ···········</span><span·class="p"·data-group-id="4387240576-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:·437799bb288dc3f961e521c7c7d3d664d3390b80947577db34097fe828574128·...·]-9">}</span><span·class="p">,</span><span·class="w">187 ···········</span><span·class="p"·data-group-id="8597944334-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:·0e57de11c472432dd89aaa1c6f6279a41b151aab702fa066b339b0d6e4bd98c1·...·]-9">}</span><span·class="p">,</span><span·class="w">
188 ···········</span><span·class="p"·data-group-id="4387240576-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:·622c6e2cc9d0d3fe571511b6754b09b0fb88d08c00f96dda1532db5059bb94e1·...·]-10">}</span><span·class="p">,</span><span·class="w">188 ···········</span><span·class="p"·data-group-id="8597944334-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:·3b05e1894fe3104bb92e7574c8580c4e716336418b9c8526b8a87a118b7c29d6·...·]-10">}</span><span·class="p">,</span><span·class="w">
189 ···········</span><span·class="p"·data-group-id="4387240576-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:·e015819b2c6c4d91fd6375440e076c11719c3478438def5387bf5d3a70ff1397·...·]-11">}</span><span·class="p">,</span><span·class="w">189 ···········</span><span·class="p"·data-group-id="8597944334-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:·f6406e46fb97e2599f0f1b728909cdfca20eae17c017d7e238fe4254e8dd5fb7·...·]-11">}</span><span·class="p">,</span><span·class="w">
190 ···········</span><span·class="p"·data-group-id="4387240576-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:·d807158e22b2afaf7c3405834e7483c2f1cfe25814a41c9318db1874af7c372e·...·]-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="8597944334-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:·662379b7166a84c1f35975a4e3906b47471499de56a4195c243abc079b37f5de·...·]-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="6508754897-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="6508754897-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="9297932127-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="9297932127-1">)</span><span·class="p">.</span><span·class="w">
192 ······</span><span·class="p"·data-group-id="6508754897-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="6508754897-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:·d19b21d8937318f808b42c189dff825a9e387b72419b7aaecf2b15fcffa5ee5a·...·]-1">)</span><span·class="p">.</span><span·class="w">192 ······</span><span·class="p"·data-group-id="9297932127-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="9297932127-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:·cc639d73f02efbf00c12684223b733b9688b4ba9cd2aff0ad39989adf22371fd·...·]-1">)</span><span·class="p">.</span><span·class="w">
193 ······</span><span·class="p"·data-group-id="0089747846-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="0089747846-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:·48b5aefed26a129ce4d18187151f091517432df1d0357cd32c3f286bdb32446b·...·]-1">)</span><span·class="p">.</span><span·class="w">193 ······</span><span·class="p"·data-group-id="1763429318-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="1763429318-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:·f3452e043f3d739ff1d33199a35cd696362a7833638d74a19b2e271e5f07fe9e·...·]-1">)</span><span·class="p">.</span><span·class="w">
194 ······</span><span·class="p"·data-group-id="6959951872-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="6959951872-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:·7c7c2f3fa9a8ef65189d9ad341bd4116316ed3b80dd3bb195c8c2c4ddb26ef58·...·]-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="9767063639-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="9767063639-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:·910ce61f724ce95ed5d43877393234e53fca3bb063d196ee304b453c490dfcf3·...·]-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="7403224542-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="7403224542-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="1967688141-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="1967688141-1">)</span><span·class="p">.</span><span·class="w">
196 ······</span><span·class="p"·data-group-id="7403224542-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="7403224542-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:·c25ca298d3fdcc5fae28d96ed3cdafe4e635cb98729c440f733ef0d46455fabf·...·]-1">)</span><span·class="p">.</span><span·class="w">196 ······</span><span·class="p"·data-group-id="1967688141-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="1967688141-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:·bb693461aa4b494bc4d3d20772eb97a4ad50040ab4066b8531c97485f0f2aef1·...·]-1">)</span><span·class="p">.</span><span·class="w">
 197 ······</span><span·class="p"·data-group-id="6686815030-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="6686815030-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="6686815030-3">]</span><span·class="p">,</span><span·class="p"·data-group-id="6686815030-4">[</span><span·class="p"·data-group-id="6686815030-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="6686815030-5">}</span><span·class="p"·data-group-id="6686815030-4">]</span><span·class="p"·data-group-id="6686815030-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="9605082152-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="9605082152-1">)</span><span·class="p">.</span><span·class="w">
197 ······</span><span·class="p"·data-group-id="3842395984-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="3842395984-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:·1056,·SHA:·408bfe77c1086d88f6a754800dd5e69139cab94582cf31757fe9d1a53076ea0a·...·]0-1">)</span><span·class="p">.</span><span·class="w">198 ······</span><span·class="p"·data-group-id="9605082152-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="9605082152-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:·1049,·SHA:·c1c9510f845d1202a50d5b3c10e3f938939177d915b370af240cfeea100d9b31·...·]0-1">)</span><span·class="p">.</span><span·class="w">
198 ······</span><span·class="p"·data-group-id="1241441440-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="1241441440-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="1241441440-3">]</span><span·class="p">,</span><span·class="p"·data-group-id="1241441440-4">[</span><span·class="p"·data-group-id="1241441440-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="1241441440-5">}</span><span·class="p"·data-group-id="1241441440-4">]</span><span·class="p"·data-group-id="1241441440-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="9194012556-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="9194012556-1">)</span><span·class="p">.</span><span·class="w"> 
199 ······</span><span·class="p"·data-group-id="9194012556-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="9194012556-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·1318,·SHA:·41a5771f0735b7d10cdbedb17efd69b2c53aa5b4194c84d0bfc7bcad8c7fe657·...·]-1">)</span><span·class="p">.</span><span·class="w">199 ······</span><span·class="p"·data-group-id="2515328860-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="2515328860-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·1318,·SHA:·d769e54806f05170076b45ce4eb82a0d2225c2465a423f0f2460de800c31190e·...·]-1">)</span><span·class="p">.</span><span·class="w">
200 ·····</span><span·class="p"·data-group-id="9365256590-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="9365256590-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:·0793f9d420cf50a3381b1c5f042d5dc3a8fe693ee02eaabf3d188b9cbb0a4e1f·...·]-3">]</span><span·class="p">,</span><span·class="w">200 ·····</span><span·class="p"·data-group-id="1250476322-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="1250476322-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:·3b4598935a4a0e22d5da090c5da13612f8ba229f6c4fd57ddb6bf8622c12f329·...·]-3">]</span><span·class="p">,</span><span·class="w">
201 ··········</span><span·class="p"·data-group-id="9365256590-4">[</span><span·class="p"·data-group-id="9365256590-5">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="9365256590-5">}</span><span·class="p">,</span><span·class="w">201 ··········</span><span·class="p"·data-group-id="1250476322-4">[</span><span·class="p"·data-group-id="1250476322-5">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1250476322-5">}</span><span·class="p">,</span><span·class="w">
202 ···········</span><span·class="p"·data-group-id="9365256590-6">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="9365256590-6">}</span><span·class="p">,</span><span·class="w">202 ···········</span><span·class="p"·data-group-id="1250476322-6">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="1250476322-6">}</span><span·class="p">,</span><span·class="w">
203 ···········</span><span·class="p"·data-group-id="9365256590-7">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="9365256590-7">}</span><span·class="p">,</span><span·class="w">203 ···········</span><span·class="p"·data-group-id="1250476322-7">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="1250476322-7">}</span><span·class="p">,</span><span·class="w">
204 ···········</span><span·class="p"·data-group-id="9365256590-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="9365256590-8">}</span><span·class="p">,</span><span·class="w">204 ···········</span><span·class="p"·data-group-id="1250476322-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1250476322-8">}</span><span·class="p">,</span><span·class="w">
205 ···········</span><span·class="p"·data-group-id="9365256590-9">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="9365256590-9">}</span><span·class="p">,</span><span·class="w">205 ···········</span><span·class="p"·data-group-id="1250476322-9">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="1250476322-9">}</span><span·class="p">,</span><span·class="w">
206 ···········</span><span·class="p"·data-group-id="9365256590-10">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="9365256590-10">}</span><span·class="p"·data-group-id="9365256590-4">]</span><span·class="p"·data-group-id="93652[·...·truncated·by·diffoscope;·len:·5,·SHA:·54de064f286e4df861f9a9dda9cefe401023032d61ebc52580d770b226416a4a·...·]-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="1250476322-10">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="1250476322-10">}</span><span·class="p"·data-group-id="1250476322-4">]</span><span·class="p"·data-group-id="12504[·...·truncated·by·diffoscope;·len:·5,·SHA:·ffdffe074e4a603b151a5f0248f7b10295314f9430a7a35fdaf2764d858603db·...·]-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="6888645335-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="3448776325-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="6888645335-1">)</span><span·class="p">.</span><span·class="w">208 ······ORDER·BY·FIRSTNAME&quot;</span><span·class="p"·data-group-id="3448776325-1">)</span><span·class="p">.</span><span·class="w">
209 ····</span><span·class="p"·data-group-id="6888645335-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="6888645335-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:·20,·SHA:·0e3949d73bcd40e849c16ac96dd3bfbd03fee9022e80c0a52e758606b81c302c·...·]5-3">]</span><span·class="p">,</span><span·class="w">209 ····</span><span·class="p"·data-group-id="3448776325-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="3448776325-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:·20,·SHA:·952c8515876b78f95bcac28da73dc50d4719742a8a45ec54207e21fa17c71901·...·]5-3">]</span><span·class="p">,</span><span·class="w">
210 ··········</span><span·class="p"·data-group-id="6888645335-4">[</span><span·class="p"·data-group-id="6888645335-5">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6888645335-5">}</span><span·class="p">,</span><span·class="w">210 ··········</span><span·class="p"·data-group-id="3448776325-4">[</span><span·class="p"·data-group-id="3448776325-5">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="3448776325-5">}</span><span·class="p">,</span><span·class="w">
211 ···········</span><span·class="p"·data-group-id="6888645335-6">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="6888645335-6">}</span><span·class="p">,</span><span·class="w">211 ···········</span><span·class="p"·data-group-id="3448776325-6">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="3448776325-6">}</span><span·class="p">,</span><span·class="w">
212 ···········</span><span·class="p"·data-group-id="6888645335-7">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="6888645335-7">}</span><span·class="p">,</span><span·class="w">212 ···········</span><span·class="p"·data-group-id="3448776325-7">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="3448776325-7">}</span><span·class="p">,</span><span·class="w">
213 ···········</span><span·class="p"·data-group-id="6888645335-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="6888645335-8">}</span><span·class="p">,</span><span·class="w">213 ···········</span><span·class="p"·data-group-id="3448776325-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="3448776325-8">}</span><span·class="p">,</span><span·class="w">
214 ···········</span><span·class="p"·data-group-id="6888645335-9">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="6888645335-9">}</span><span·class="p">,</span><span·class="w">214 ···········</span><span·class="p"·data-group-id="3448776325-9">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="3448776325-9">}</span><span·class="p">,</span><span·class="w">
215 ···········</span><span·class="p"·data-group-id="6888645335-10">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="6888645335-10">}</span><span·class="p"·data-group-id="6888645335-4">]</span><span·class="p"·data-group-id="68886[·...·truncated·by·diffoscope;·len:·4,·SHA:·323e4847e6864b77e07ca44f314f7d3677c9314e7259a99ca74c7b2c90a2e940·...·]5-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="3448776325-10">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="3448776325-10">}</span><span·class="p"·data-group-id="3448776325-4">]</span><span·class="p"·data-group-id="34487[·...·truncated·by·diffoscope;·len:·4,·SHA:·4ca58879ca37e84160e833b875298e0b6b413cf9baab5e90a2bfe9f65d9bfa58·...·]5-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="0022172707-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="0022172707-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="8923565384-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="8923565384-1">)</span><span·class="p">.</span><span·class="w">
218 ······</span><span·class="p"·data-group-id="0022172707-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="0022172707-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="8923565384-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8923565384-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="1688450171-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1688450171-2">{</span><span·class="ss">relative</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="1688450171-2">}</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="1688450171-1">)</span><span·class="p">.</span><span·class="w"> 
221 ····</span><span·class="p"·data-group-id="1688450171-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="1688450171-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="1688450171-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="1688450171-5">[</span><span·class="p"·data-group-id="1688450171-6">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="1688450171-6">}</span><span·class="p">,</span><span·class="p"·data-group-id="1688450171-7">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="1688450171-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="1688450171-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1688450171-8">}</span><span·class="p"·data-group-id="1688450171-5">]</span><span·class="p"·data-group-id="1688450171-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="6852972298-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="6852972298-1">)</span><span·class="p">.</span><span·class="w"> 
222 ······</span><span·class="p"·data-group-id="6852972298-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="6852972298-3">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·1394,·SHA:·83344377b12ebe0cd27d4a239d0f928c62adc07e01f7e281ed82857e9cce4cac·...·]-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">se[·...·truncated·by·diffoscope;·len:·463,·SHA:·b278ff888f501dc171b0c72681973b7644490a793aa4cd9ee8b26ec92d236106·...·]-1">)</span><span·class="p">.</span><span·class="w">
 221 ····</span><span·class="p"·data-group-id="5073064169-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="5073064169-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="5073064169-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="5073064169-5">[</span><span·class="p"·data-group-id="5073064169-6">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="5073064169-6">}</span><span·class="p">,</span><span·class="p"·data-group-id="5073064169-7">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="5073064169-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="5073064169-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="5073064169-8">}</span><span·class="p"·data-group-id="5073064169-5">]</span><span·class="p"·data-group-id="5073064169-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="0103133977-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="0103133977-1">)</span><span·class="p">.</span><span·class="w">
 222 ······</span><span·class="p"·data-group-id="0103133977-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="0103133977-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="0103133977-3">]</span><span·class="p">,</span><span·class="p"·data-group-id="0103133977-4">[</span><span·class="p"·data-group-id="0103133977-5">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="0103133977-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="0103133977-6">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="0103133977-6">}</span><span·class="p"·data-group-id="0103133977-4">]</span><span·class="p"·data-group-id="0103133977-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="4930550247-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4930550247-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="4930550247-2">}</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="4930550247-1">)</span><span·class="p">.</span><span·class="w">
223 ······</span><span·class="p"·data-group-id="7430495895-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="7430495895-4">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·1167,·SHA:·0815364a01dd6bcb7279ad05c67b2b1f2f45cdca34b61f977014f2055712090a·...·]-1">)</span><span·class="p">.</span><span·class="w">223 ······</span><span·class="p"·data-group-id="4930550247-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="4930550247-4">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·1167,·SHA:·5e047dc1c3d323b9ca487d91af9ca4270fd08490843d1aa66ed5037da8c368c7·...·]-1">)</span><span·class="p">.</span><span·class="w">
224 ····</span><span·class="p"·data-group-id="6884303140-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="6884303140-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:·1350,·SHA:·8611b120576b8b819a04c3805bf6fb7881354d2d556e27e16fac1f1557eafb4e·...·]-1">)</span><span·class="p">.</span><span·class="w">224 ····</span><span·class="p"·data-group-id="6256686086-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="6256686086-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:·1350,·SHA:·7a91ee93dc9a1f902dee747b2c935d9c45e24df0f58c7e46e5c3c9a9869812a8·...·]-1">)</span><span·class="p">.</span><span·class="w">
225 ······</span><span·class="p"·data-group-id="4782256649-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="4782256649-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:·3954e5835035d1997792727ffcd20d5920ad510b0c0481c0726cd6153c2552fe·...·]-4">]</span><span·class="p">,</span><span·class="w">225 ······</span><span·class="p"·data-group-id="7295072943-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="7295072943-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:·9a092bebeeed85917297c0529981e9a622d6c07bd530550a771ec2790f481f65·...·]-4">]</span><span·class="p">,</span><span·class="w">
226 ················</span><span·class="p"·data-group-id="4782256649-5">[</span><span·class="p"·data-group-id="4782256649-6">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4782256649-6">}</span><span·class="p">,</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·1082,·SHA:·b8d2f165be9bce926b779f71daf7a0fce5407a4d26fd20f130f781c68fb5b421·...·]-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="7295072943-5">[</span><span·class="p"·data-group-id="7295072943-6">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7295072943-6">}</span><span·class="p">,</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·1082,·SHA:·4a995ab1466f12effb9f0802d4bee073482cce866baada2c61adb29275bce024·...·]-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="8209407434-2">[</span><span·class="p"·data-group-id="8209407434-3">{</span><span·class="p"·data-group-id="8209407434-4">{</span><span·class="ss">sql_char</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·367,·SHA:·fd89d03c1bbb9101db7b3ff1300048ed5f292d8b1ac2adf35e45e1094cf83c33·...·]-1">)</span><span·class="p">.</span><span·class="w">227 ······</span><span·class="p"·data-group-id="5927376547-2">[</span><span·class="p"·data-group-id="5927376547-3">{</span><span·class="p"·data-group-id="5927376547-4">{</span><span·class="ss">sql_char</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·367,·SHA:·06945d6a5aa29e73c8bb9c508621cd0ba9e4751352a73559a2e09d2fd49b0d94·...·]-1">)</span><span·class="p">.</span><span·class="w">
228 ······</span><span·class="p"·data-group-id="8209407434-6">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="8209407434-7">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·7466b9c952d31ce0a3d8ccdf30e05c22de2d446f210026ccccbe6eaa982903f3·...·]-7">]</span><span·class="p">,</span><span·class="w">228 ······</span><span·class="p"·data-group-id="5927376547-6">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="5927376547-7">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·07cce190f3f0efb194bf9ee072956d634f60462d5af9a9619d6701a427ea10ae·...·]-7">]</span><span·class="p">,</span><span·class="w">
229 ················</span><span·class="p"·data-group-id="8209407434-8">[</span><span·class="p"·data-group-id="8209407434-9">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="s">&quot;John&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Doe&quot;</span><span·c[·...·truncated·by·diffoscope;·len:·569,·SHA:·369cb3f14c0022ba523d6035e4b999209cf4059f48dac3dbbb2316a2357d124b·...·]-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="5927376547-8">[</span><span·class="p"·data-group-id="5927376547-9">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="s">&quot;John&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Doe&quot;</span><span·c[·...·truncated·by·diffoscope;·len:·569,·SHA:·70e7908fcec3a16a8c797b27cdf28d773d4fe4536529d1f343809186b88b1c1e·...·]-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="3642290451-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="3642290451-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="5005808696-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="5005808696-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.16/doc/html/introduction.html
    
Offset 203, 15 lines modifiedOffset 203, 15 lines modified
203 ······<p·class="built-using">203 ······<p·class="built-using">
204 ········Built·using204 ········Built·using
205 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the205 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
206 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>206 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
207 ······</p>207 ······</p>
208 <p>Copyright·©·1996-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.16/doc/html/notes.html
    
Offset 1070, 15 lines modifiedOffset 1070, 15 lines modified
1070 ······<p·class="built-using">1070 ······<p·class="built-using">
1071 ········Built·using1071 ········Built·using
1072 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1072 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1073 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1073 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1074 ······</p>1074 ······</p>
1075 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1075 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1076 ····</footer>1076 ····</footer>
1077 ··</div>1077 ··</div>
1078 </main>1078 </main>
1079 </div>1079 </div>
1080 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1080 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1081 ··<script>1081 ··<script>
1082 ··let·initialized·=·false;1082 ··let·initialized·=·false;
663 B
html2text {}
Max HTML report size reached
173 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/odbc.epub
2.71 KB
zipinfo {}
Max HTML report size reached
85.9 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
82.3 KB
OEBPS/getting_started.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/odbc.html
    
Offset 1773, 15 lines modifiedOffset 1773, 15 lines modified
1773 ······<p·class="built-using">1773 ······<p·class="built-using">
1774 ········Built·using1774 ········Built·using
1775 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1775 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1776 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1776 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1777 ······</p>1777 ······</p>
1778 <p>Copyright·©·1996-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.16/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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/os_mon-2.11/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.11/doc/html/api-reference.html
    
Offset 217, 15 lines modifiedOffset 217, 15 lines modified
217 ······<p·class="built-using">217 ······<p·class="built-using">
218 ········Built·using218 ········Built·using
219 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the219 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
220 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>220 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
221 ······</p>221 ······</p>
222 <p>Copyright·©·1996-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.11/doc/html/cpu_sup.html
    
Offset 621, 15 lines modifiedOffset 621, 15 lines modified
621 ······<p·class="built-using">621 ······<p·class="built-using">
622 ········Built·using622 ········Built·using
623 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the623 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
624 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>624 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
625 ······</p>625 ······</p>
626 <p>Copyright·©·1996-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.51 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/disksup.html
    
Offset 555, 15 lines modifiedOffset 555, 15 lines modified
555 ······<p·class="built-using">555 ······<p·class="built-using">
556 ········Built·using556 ········Built·using
557 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the557 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
558 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>558 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
559 ······</p>559 ······</p>
560 <p>Copyright·©·1996-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.54 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/memsup.html
    
Offset 673, 15 lines modifiedOffset 673, 15 lines modified
673 ······<p·class="built-using">673 ······<p·class="built-using">
674 ········Built·using674 ········Built·using
675 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the675 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
676 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>676 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
677 ······</p>677 ······</p>
678 <p>Copyright·©·1996-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.43 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/notes.html
    
Offset 1053, 15 lines modifiedOffset 1053, 15 lines modified
1053 ······<p·class="built-using">1053 ······<p·class="built-using">
1054 ········Built·using1054 ········Built·using
1055 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1055 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1056 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1056 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1057 ······</p>1057 ······</p>
1058 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1058 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1059 ····</footer>1059 ····</footer>
1060 ··</div>1060 ··</div>
1061 </main>1061 </main>
1062 </div>1062 </div>
1063 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1063 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1064 ··<script>1064 ··<script>
1065 ··let·initialized·=·false;1065 ··let·initialized·=·false;
633 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/nteventlog.html
    
Offset 331, 15 lines modifiedOffset 331, 15 lines modified
331 ······<p·class="built-using">331 ······<p·class="built-using">
332 ········Built·using332 ········Built·using
333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
335 ······</p>335 ······</p>
336 <p>Copyright·©·1996-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.11/doc/html/os_mon.epub
2.66 KB
zipinfo {}
Max HTML report size reached
77.8 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
1.21 KB
OEBPS/content.opf
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/os_mon_app.html
    
Offset 203, 15 lines modifiedOffset 203, 15 lines modified
203 ······<p·class="built-using">203 ······<p·class="built-using">
204 ········Built·using204 ········Built·using
205 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the205 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
206 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>206 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
207 ······</p>207 ······</p>
208 <p>Copyright·©·1996-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.42 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/os_sup.html
    
Offset 410, 15 lines modifiedOffset 410, 15 lines modified
410 ······<p·class="built-using">410 ······<p·class="built-using">
411 ········Built·using411 ········Built·using
412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
414 ······</p>414 ······</p>
415 <p>Copyright·©·1996-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.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;
462 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.7/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.7/doc/html/api-reference.html
    
Offset 190, 15 lines modifiedOffset 190, 15 lines modified
190 ······<p·class="built-using">190 ······<p·class="built-using">
191 ········Built·using191 ········Built·using
192 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the192 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
193 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>193 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
194 ······</p>194 ······</p>
195 <p>Copyright·©·1996-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.7/doc/html/leex.html
    
Offset 169, 21 lines modifiedOffset 169, 21 lines modified
169 <code·class="inline">error_location</code>·is·set·to·<code·class="inline">line</code>).</p></li></ul><p>The·code·must·return:</p><ul><li><p><strong><code·class="inline">{token,Token}</code></strong>·-·Return·<code·class="inline">Token</code>·to·the·caller.</p></li><li><p><strong><code·class="inline">{end_token,Token}</code></strong>·-·Return·<code·class="inline">Token</code>·and·is·last·token·in·a·tokens·call.</p></li><li><p><strong><code·class="inline">skip_token</code></strong>·-·Skip·this·token·completely.</p></li><li><p><strong><code·class="inline">{error,ErrString}</code></strong>·-·An·error·in·the·token,·<code·class="inline">ErrString</code>·is·a·string169 <code·class="inline">error_location</code>·is·set·to·<code·class="inline">line</code>).</p></li></ul><p>The·code·must·return:</p><ul><li><p><strong><code·class="inline">{token,Token}</code></strong>·-·Return·<code·class="inline">Token</code>·to·the·caller.</p></li><li><p><strong><code·class="inline">{end_token,Token}</code></strong>·-·Return·<code·class="inline">Token</code>·and·is·last·token·in·a·tokens·call.</p></li><li><p><strong><code·class="inline">skip_token</code></strong>·-·Skip·this·token·completely.</p></li><li><p><strong><code·class="inline">{error,ErrString}</code></strong>·-·An·error·in·the·token,·<code·class="inline">ErrString</code>·is·a·string
170 describing·the·error.</p></li></ul><p>It·is·also·possible·to·push·back·characters·into·the·input·characters·with·the170 describing·the·error.</p></li></ul><p>It·is·also·possible·to·push·back·characters·into·the·input·characters·with·the
171 following·returns:</p><ul><li><code·class="inline">{token,Token,PushBackList}</code></li><li><code·class="inline">{end_token,Token,PushBackList}</code></li><li><code·class="inline">{skip_token,PushBackList}</code></li></ul><p>These·have·the·same·meanings·as·the·normal·returns·but·the·characters·in171 following·returns:</p><ul><li><code·class="inline">{token,Token,PushBackList}</code></li><li><code·class="inline">{end_token,Token,PushBackList}</code></li><li><code·class="inline">{skip_token,PushBackList}</code></li></ul><p>These·have·the·same·meanings·as·the·normal·returns·but·the·characters·in
172 <code·class="inline">PushBackList</code>·will·be·prepended·to·the·input·characters·and·scanned·for·the172 <code·class="inline">PushBackList</code>·will·be·prepended·to·the·input·characters·and·scanned·for·the
173 next·token.·Note·that·pushing·back·a·newline·will·mean·the·line·numbering·will173 next·token.·Note·that·pushing·back·a·newline·will·mean·the·line·numbering·will
174 no·longer·be·correct.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Pushing·back·characters·gives·you·unexpected·possibilities·to·cause·the174 no·longer·be·correct.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Pushing·back·characters·gives·you·unexpected·possibilities·to·cause·the
175 scanner·to·loop!</p></section><p>The·following·example·would·match·a·simple·Erlang·integer·or·float·and·return·a175 scanner·to·loop!</p></section><p>The·following·example·would·match·a·simple·Erlang·integer·or·float·and·return·a
176 token·which·could·be·sent·to·the·Erlang·parser:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">D</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9057762412-1">[</span><span·class="mi">0</span><span·class="o">-</span><span·class="mi">9</span><span·class="p"·data-group-id="9057762412-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="5777254452-1">[</span><span·class="mi">0</span><span·class="o">-</span><span·class="mi">9</span><span·class="p"·data-group-id="5777254452-1">]</span><span·class="w">
  
177 </span><span·class="p"·data-group-id="9057762412-2">{</span><span·class="n">D</span><span·class="p"·data-group-id="9057762412-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="5777254452-2">{</span><span·class="n">D</span><span·class="p"·data-group-id="5777254452-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="9057762412-3">{</span><span·class="ss">token</span><span·class="p">,</span><span·class="p"·data-group-id="9057762412-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:·254,·SHA:·ae55098827c6141cc64fd2dea0d78868133ac4b1d6092da81a534ff8025c1918·...·]2-3">}</span><span·class="p">.</span><span·class="w">178 ··</span><span·class="p"·data-group-id="5777254452-3">{</span><span·class="ss">token</span><span·class="p">,</span><span·class="p"·data-group-id="5777254452-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:·254,·SHA:·fc1002641bb7ec9f5cf051dfbee61feacd8abadde06f685915cefa1228034f3a·...·]2-3">}</span><span·class="p">.</span><span·class="w">
  
179 </span><span·class="p"·data-group-id="9057762412-6">{</span><span·class="n">D</span><span·class="p"·data-group-id="9057762412-6">}</span><span·class="o">+</span><span·class="err">\</span><span·class="p">.</span><span·class="p"·data-group-id="9057762412-7">{</span><span·class="n">D</span><span·[·...·truncated·by·diffoscope;·len:·755,·SHA:·d01320cad757f477c5a768c88f5af0484d51fac4e53e8ac4b4c79ef3a9d6dd5d·...·]2-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="5777254452-6">{</span><span·class="n">D</span><span·class="p"·data-group-id="5777254452-6">}</span><span·class="o">+</span><span·class="err">\</span><span·class="p">.</span><span·class="p"·data-group-id="5777254452-7">{</span><span·class="n">D</span><span·[·...·truncated·by·diffoscope;·len:·755,·SHA:·326d0427edb787420124782b0817f44446db7e0dc4d56f5b40b9c1ad2af29886·...·]2-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="9057762412-12">{</span><span·class="ss">token</span><span·class="p">,</span><span·class="p"·data-group-id="9057762412-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:·255,·SHA:·4ab6102d7156857174b09752131b77c2a431d2dd196377d78f0e82305694e033·...·]2-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="5777254452-12">{</span><span·class="ss">token</span><span·class="p">,</span><span·class="p"·data-group-id="5777254452-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:·255,·SHA:·38e6f4272830fd2f7b959db342b9a739edb9c7ae9aa92c2ec05dd147e426e538·...·]2-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="0042789006-1">(</span><span·class="n">InFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0042789006-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:·62a41f87b3454f381457f5bdb9860ba02d301077d2e4009950268c0517bb6076·...·]-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="1172192255-1">(</span><span·class="n">InFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1172192255-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:·999605d55455634bfb5fc30f5c88b0e75cdac8dc4060f2ada53c33cbbf0b8b32·...·]-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="1460312662-1">(</span><span·class="n">InFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1460312662-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:·b46e8b448b10e24cc092aa3c4fd188345cf4b37e4acfabf64436aae695f398c0·...·]2-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="9917168782-1">(</span><span·class="n">InFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9917168782-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:·0cc04875d9e2e9d5f4b13fdf39abe0a7a98dc6e068527fc869ce88df28f84b2e·...·]2-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
11.5 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.7/doc/html/notes.html
    
Offset 133, 17 lines modifiedOffset 133, 17 lines modified
133 </h2>133 </h2>
134 <h3·id="improvements-and-new-features"·class="section-heading">134 <h3·id="improvements-and-new-features"·class="section-heading">
135 ··<a·href="#improvements-and-new-features"·class="hover-link">135 ··<a·href="#improvements-and-new-features"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Improvements·and·New·Features</span>138 ··<span·class="text">Improvements·and·New·Features</span>
139 </h3>139 </h3>
140 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="2508741578-1">(</span><span·class="p"·data-group-id="2508741578-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2508741578-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·9b524c8be61efac32f676c22fddbe4d256950905ec27f8d7423e4cabf303d159·...·]-2">)</span><span·class="p">.</span><span·class="w">140 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="6452568812-1">(</span><span·class="p"·data-group-id="6452568812-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6452568812-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·64a397ece9993276497065ca25396113ba94079866669ec396fc8dce4fedfba0·...·]-2">)</span><span·class="p">.</span><span·class="w">
141 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2508741578-3">(</span><span·class="p"·data-group-id="2508741578-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2508741578-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·da70eb12d275e13223234d49b877dc61d3e5dd69e4bc792cd4eaad01e0216a86·...·]-2">)</span><span·class="p">.</span><span·class="w">141 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="6452568812-3">(</span><span·class="p"·data-group-id="6452568812-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6452568812-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·66a8fa1872425a2be31d30df494720dcde6d7acb858d79ef973bea16e7a56d2f·...·]-2">)</span><span·class="p">.</span><span·class="w">
142 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8628311317-3">(</span><span·class="p"·data-group-id="8628311317-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8628311317-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·2836f9cd5e281e1bf6416f131f1ab9e844a0a68bbb5dedfecc7d0f6e4f3385db·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="parsetools-2-6"·class="section-heading">142 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="9644551982-3">(</span><span·class="p"·data-group-id="9644551982-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9644551982-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·d3a18fe51f1f2458684f06c7a80539d45bbd2c9f7fd4e5a636ae34b79878b60b·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="parsetools-2-6"·class="section-heading">
143 ··<a·href="#parsetools-2-6"·class="hover-link">143 ··<a·href="#parsetools-2-6"·class="hover-link">
144 ····<i·class="ri-link-m"·aria-hidden="true"></i>144 ····<i·class="ri-link-m"·aria-hidden="true"></i>
145 ··</a>145 ··</a>
146 ··<span·class="text">Parsetools·2.6</span>146 ··<span·class="text">Parsetools·2.6</span>
147 </h2>147 </h2>
148 <h3·id="improvements-and-new-features-1"·class="section-heading">148 <h3·id="improvements-and-new-features-1"·class="section-heading">
149 ··<a·href="#improvements-and-new-features-1"·class="hover-link">149 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
Offset 744, 15 lines modifiedOffset 744, 15 lines modified
744 ······<p·class="built-using">744 ······<p·class="built-using">
745 ········Built·using745 ········Built·using
746 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the746 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
747 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>747 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
748 ······</p>748 ······</p>
749 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>749 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
750 ····</footer>750 ····</footer>
751 ··</div>751 ··</div>
752 </main>752 </main>
753 </div>753 </div>
754 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>754 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
755 ··<script>755 ··<script>
756 ··let·initialized·=·false;756 ··let·initialized·=·false;
679 B
html2text {}
Max HTML report size reached
143 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.7/doc/html/parsetools.epub
2.06 KB
zipinfo {}
Max HTML report size reached
66.6 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
49.2 KB
OEBPS/yecc.xhtml
Max HTML report size reached
10.1 KB
OEBPS/notes.xhtml
Max HTML report size reached
13.5 KB
OEBPS/leex.xhtml
Max HTML report size reached
1.21 KB
OEBPS/content.opf
Max HTML report size reached
1.28 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.7/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.7/doc/html/yecc.html
    
Offset 158, 16 lines modifiedOffset 158, 16 lines modified
158 <code·class="inline">{Category,·Position,·Symbol}</code>.</p><p>If·a·terminal·symbol·is·the·only·member·of·a·category,·and·the·symbol·name·is158 <code·class="inline">{Category,·Position,·Symbol}</code>.</p><p>If·a·terminal·symbol·is·the·only·member·of·a·category,·and·the·symbol·name·is
159 identical·to·the·category·name,·the·token·format·can·be·<code·class="inline">{Symbol,·Position}</code>.</p><p>A·list·of·tokens·produced·by·the·scanner·should·end·with·a·special159 identical·to·the·category·name,·the·token·format·can·be·<code·class="inline">{Symbol,·Position}</code>.</p><p>A·list·of·tokens·produced·by·the·scanner·should·end·with·a·special
160 <code·class="inline">end_of_input</code>·tuple·which·the·parser·is·looking·for.·The·format·of·this·tuple160 <code·class="inline">end_of_input</code>·tuple·which·the·parser·is·looking·for.·The·format·of·this·tuple
161 should·be·<code·class="inline">{Endsymbol,·EndPosition}</code>,·where·<code·class="inline">Endsymbol</code>·is·an·identifier·that·is161 should·be·<code·class="inline">{Endsymbol,·EndPosition}</code>,·where·<code·class="inline">Endsymbol</code>·is·an·identifier·that·is
162 distinguished·from·all·the·terminal·and·non-terminal·categories·of·the·syntax162 distinguished·from·all·the·terminal·and·non-terminal·categories·of·the·syntax
163 rules.·The·<code·class="inline">Endsymbol</code>·can·be·declared·in·the·grammar·file.</p><p>The·simplest·case·is·to·segment·the·input·string·into·a·list·of·identifiers163 rules.·The·<code·class="inline">Endsymbol</code>·can·be·declared·in·the·grammar·file.</p><p>The·simplest·case·is·to·segment·the·input·string·into·a·list·of·identifiers
164 (atoms)·and·use·those·atoms·both·as·categories·and·values·of·the·tokens.·For164 (atoms)·and·use·those·atoms·both·as·categories·and·values·of·the·tokens.·For
165 example,·the·input·string·<code·class="inline">aaa·bbb·777,·X</code>·may·be·scanned·(tokenized)·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8050956713-1">[</span><span·class="p"·data-group-id="8050956713-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="8050956713-2">}</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·1016,·SHA:·d4f24f613d366a2ca1b633acc330cbce0476faf35c61ba6ecc26833162dc2ea3·...·]-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="0518734174-1">[</span><span·class="p"·data-group-id="0518734174-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="0518734174-2">}</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·1016,·SHA:·cd82c9d1d5c83fb24612809ea67553c2c85134446b9a534759d5d99c2e211b6e·...·]-6">}</span><span·class="p">,</span><span·class="w">
166 ·</span><span·class="p"·data-group-id="8050956713-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="8050956713-7">}</span><span·class="p"·data-group-id="8050956713-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="0518734174-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="0518734174-7">}</span><span·class="p"·data-group-id="0518734174-1">]</span><span·class="p">.</span></code></pre><p>This·assumes·that·this·is·the·first·line·of·the·input·text,·and·that·<code·class="inline">'$end'</code>·is
167 the·distinguished·<code·class="inline">end_of_input</code>·symbol.</p><p>The·Erlang·scanner·in·the·<code·class="inline">io</code>·module·can·be·used·as·a·starting·point·when167 the·distinguished·<code·class="inline">end_of_input</code>·symbol.</p><p>The·Erlang·scanner·in·the·<code·class="inline">io</code>·module·can·be·used·as·a·starting·point·when
168 writing·a·new·scanner.·Study·<code·class="inline">yeccscan.erl</code>·in·order·to·see·how·a·filter·can·be168 writing·a·new·scanner.·Study·<code·class="inline">yeccscan.erl</code>·in·order·to·see·how·a·filter·can·be
169 added·on·top·of·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#scan_erl_form/3"><code·class="inline">io:scan_erl_form/3</code></a>·to·provide·a·scanner·for·Yecc·that169 added·on·top·of·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#scan_erl_form/3"><code·class="inline">io:scan_erl_form/3</code></a>·to·provide·a·scanner·for·Yecc·that
170 tokenizes·grammar·files·before·parsing·them·with·the·Yecc·parser.·A·more·general170 tokenizes·grammar·files·before·parsing·them·with·the·Yecc·parser.·A·more·general
171 approach·to·scanner·implementation·is·to·use·a·scanner·generator·such·as171 approach·to·scanner·implementation·is·to·use·a·scanner·generator·such·as
172 <a·href="leex.html"><code·class="inline">leex</code></a>.</p><h2·id="module-grammar-definition-format"·class="section-heading">172 <a·href="leex.html"><code·class="inline">leex</code></a>.</p><h2·id="module-grammar-definition-format"·class="section-heading">
173 ··<a·href="#module-grammar-definition-format"·class="hover-link">173 ··<a·href="#module-grammar-definition-format"·class="hover-link">
Offset 229, 29 lines modifiedOffset 229, 29 lines modified
229 list·-&gt;·'('·')'.229 list·-&gt;·'('·')'.
230 list·-&gt;·'('·elements·')'.230 list·-&gt;·'('·elements·')'.
231 elements·-&gt;·element.231 elements·-&gt;·element.
232 elements·-&gt;·element·elements.232 elements·-&gt;·element·elements.
233 element·-&gt;·atom.233 element·-&gt;·atom.
234 element·-&gt;·list.</code></pre><p>This·grammar·can·be·used·to·generate·a·parser·which·parses·list·expressions,234 element·-&gt;·list.</code></pre><p>This·grammar·can·be·used·to·generate·a·parser·which·parses·list·expressions,
235 such·as·<code·class="inline">(),·(a),·(peter·charles),·(a·(b·c)·d·(())),·...</code>·provided·that·your235 such·as·<code·class="inline">(),·(a),·(peter·charles),·(a·(b·c)·d·(())),·...</code>·provided·that·your
236 scanner·tokenizes,·for·example,·the·input·<code·class="inline">(peter·charles)</code>·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2162583888-1">[</span><span·class="p"·data-group-id="2162583888-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="2162583888-2">}</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·920,·SHA:·23817b2b6df8b627702e7bc3611000a0f9a616203f8255738b6bcdc8430fd4ab·...·]-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="8356712636-1">[</span><span·class="p"·data-group-id="8356712636-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="8356712636-2">}</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·920,·SHA:·3e9e358b0bdda4bad34d2e72de1f381a78388e77af508380b4581d9f46bb0bf9·...·]-5">}</span><span·class="p">,</span><span·class="w">
237 ·</span><span·class="p"·data-group-id="2162583888-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="2162583888-6">}</span><span·class="p"·data-group-id="2162583888-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="8356712636-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="8356712636-6">}</span><span·class="p"·data-group-id="8356712636-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="9332087559-1">{</span><span·class="ss">cons</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9332087559-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:·0cc5ec870e0e860d56e50d831b12a8aa359b785c4b690d554d440f1ace35c1ec·...·]-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="3394125415-1">{</span><span·class="ss">cons</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3394125415-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:·9098a60765e8bb59b42ce74955eebe14234d879ce77a7e36d342ed91a5f34d55·...·]-4">}</span><span·class="p">,</span><span·class="w">
250 ····························</span><span·class="p"·data-group-id="9332087559-5">{</span><span·class="ss">cons</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9332087559-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:·5e222587a45b71e40ea92ca836812ea52968f0678d3190d514b91ee9f1fb4219·...·]-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="3394125415-5">{</span><span·class="ss">cons</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3394125415-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:·3b269018ffb573018a3378655ce15bc384cd2d4fcfe20eefb038a537b89870c0·...·]-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="7789953340-1">(</span><span·class="n">Grammarfile</span><span·class="p"·data-group-id="7789953340-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="0684674335-1">(</span><span·class="n">Grammarfile</span><span·class="p"·data-group-id="0684674335-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="8258814577-1">(</span><span·class="nc">myscanner</span><span·class="p">:</span><span·class="nf">scan</span><span·class="p"·data-group-id="8258814577-2">(</span><span·class="n">Inport</span><span·class="p"·data-group-id="8258814577-2">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·f658dcbfc849e14491bd423b7a350974e3cbb97fcd5c42e9b187f816d50a4ce0·...·]-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="5309629553-1">(</span><span·class="nc">myscanner</span><span·class="p">:</span><span·class="nf">scan</span><span·class="p"·data-group-id="5309629553-2">(</span><span·class="n">Inport</span><span·class="p"·data-group-id="5309629553-2">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·a48781606d7cf530aa027624a5f890bfc8ddd34382f6f46d78b6544bcbc84e4f·...·]-1">)</span></code></pre><p>The·call·format·can·be·different·if·a·customized·prologue·file·has·been·included
279 when·generating·the·parser·instead·of·the·default·file279 when·generating·the·parser·instead·of·the·default·file
280 <code·class="inline">lib/parsetools/include/yeccpre.hrl</code>.</p><p>With·the·standard·prologue,·this·call·will·return·either·<code·class="inline">{ok,·Result}</code>,·where280 <code·class="inline">lib/parsetools/include/yeccpre.hrl</code>.</p><p>With·the·standard·prologue,·this·call·will·return·either·<code·class="inline">{ok,·Result}</code>,·where
281 <code·class="inline">Result</code>·is·a·structure·that·the·Erlang·code·of·the·grammar·file·has·built,·or281 <code·class="inline">Result</code>·is·a·structure·that·the·Erlang·code·of·the·grammar·file·has·built,·or
282 <code·class="inline">{error,·{Position,·Module,·Message}}</code>·if·there·was·a·syntax·error·in·the·input.</p><p><code·class="inline">Message</code>·is·something·which·may·be·converted·into·a·string·by·calling282 <code·class="inline">{error,·{Position,·Module,·Message}}</code>·if·there·was·a·syntax·error·in·the·input.</p><p><code·class="inline">Message</code>·is·something·which·may·be·converted·into·a·string·by·calling
283 <code·class="inline">Module:format_error(Message)</code>·and·printed·with·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#format/3"><code·class="inline">io:format/3</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>By·default,·the·parser·that·was·generated·will·not·print·out·error·messages·to283 <code·class="inline">Module:format_error(Message)</code>·and·printed·with·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#format/3"><code·class="inline">io:format/3</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>By·default,·the·parser·that·was·generated·will·not·print·out·error·messages·to
284 the·screen.·The·user·will·have·to·do·this·either·by·printing·the·returned284 the·screen.·The·user·will·have·to·do·this·either·by·printing·the·returned
285 error·messages,·or·by·inserting·tests·and·print·instructions·in·the·Erlang285 error·messages,·or·by·inserting·tests·and·print·instructions·in·the·Erlang
286 code·associated·with·the·syntax·rules·of·the·grammar·file.</p></section><p>It·is·also·possible·to·make·the·parser·ask·for·more·input·tokens·when·needed·if286 code·associated·with·the·syntax·rules·of·the·grammar·file.</p></section><p>It·is·also·possible·to·make·the·parser·ask·for·more·input·tokens·when·needed·if
287 the·following·call·format·is·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">myparser</span><span·class="p">:</span><span·class="nf">parse_and_scan</span><span·class="p"·data-group-id="2646150467-1">(</span><span·class="p"·data-group-id="2646150467-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="2646150467-2">}</span><span·class="p"·data-group-id="2646150467-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="2646150467-3">(</span><span·class="p"·data-group-id="2646150467-4">{</span><span·class="n">Mod</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·386,·SHA:·9d0d12940d9ce15300e3e7739c96416177f03845f042cb1272125134ef8f0be1·...·]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="1429880606-1">(</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·258,·SHA:·948cc37eb45526d52210916339e640ad5ce7ab6a45b8fa64d10042106185baa2·...·]
 288 </span><span·class="nc">myparser</span><span·class="p">:</span><span·class="nf">parse_and_scan</span><span·class="p"·data-group-id="1429880606-3">(</span><span·class="p"·data-group-id="1429880606-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="1429880606-4">}</span><span·class="p"·data-group-id="1429880606-3">)</span></code></pre><p>The·tokenizer·<code·class="inline">Function</code>·is·either·a·fun·or·a·tuple·<code·class="inline">{Mod,·Tokenizer}</code>.·The·call
289 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/2"><code·class="inline">apply(Function,·Args)</code></a>·or289 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/2"><code·class="inline">apply(Function,·Args)</code></a>·or
290 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/2"><code·class="inline">apply({Mod,·Tokenizer},·Args)</code></a>·is·executed·whenever·a·new·token·is290 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/2"><code·class="inline">apply({Mod,·Tokenizer},·Args)</code></a>·is·executed·whenever·a·new·token·is
291 needed.·This,·for·example,·makes·it·possible·to·parse·from·a·file,·token·by291 needed.·This,·for·example,·makes·it·possible·to·parse·from·a·file,·token·by
292 token.</p><p>The·tokenizer·used·above·has·to·be·implemented·so·as·to·return·one·of·the292 token.</p><p>The·tokenizer·used·above·has·to·be·implemented·so·as·to·return·one·of·the
293 following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8242586406-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="8242586406-1">}</span><span·class="w">293 following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3216536393-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="3216536393-1">}</span><span·class="w">
294 </span><span·class="p"·data-group-id="8242586406-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="8242586406-2">}</span><span·class="w">294 </span><span·class="p"·data-group-id="3216536393-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="3216536393-2">}</span><span·class="w">
295 </span><span·class="p"·data-group-id="8242586406-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="8242[·...·truncated·by·diffoscope;·len:·6,·SHA:·3c47075e4166618a8c28fa74a5cb83819519c78df98d5944187f5139ea4270af·...·]-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="3216536393-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="3216[·...·truncated·by·diffoscope;·len:·6,·SHA:·d00de9241a00e1c5a4859bd7c0c2ff6f4bf8bbb9ac3636b953b5aef5b32c3c6e·...·]-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="4538059029-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="4538059029-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="9789361800-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="9789361800-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="4538059029-2">{</span><span·class="ss">rule</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4538059029-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:·df3ca5a55341f278faa0892908accc42d030fd35efc9e233e815b634bb15721a·...·]-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="9789361800-2">{</span><span·class="ss">rule</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9789361800-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:·0eb9a8cdc2f4f6055b09dd6aa4379f5711e4325dae0f6d3d5aba8787e6189d11·...·]-3">]</span><span·class="p">,</span><span·class="w">
347 ········</span><span·class="ss">&#39;$4&#39;</span><span·class="p"·data-group-id="4538059029-2">}</span><span·class="p">.</span><span·class="w">347 ········</span><span·class="ss">&#39;$4&#39;</span><span·class="p"·data-group-id="9789361800-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="4538059029-4">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4538059029-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="9789361800-4">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9789361800-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="4538059029-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="4538059029-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="9789361800-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="9789361800-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="4538059029-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="4538059029-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="9789361800-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="9789361800-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="4538059029-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="9789361800-7">{</span><span·class="ss">erlang_code</span><span·class="p">,</span><span·class="w">
353 ·················</span><span·class="p"·data-group-id="4538059029-8">[</span><span·class="p"·data-group-id="4538059029-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:·db28f0f35f4d2017e28856cd6149607807d899b7fa8791dab1b2dfffce6a47f2·...·]-7">}</span><span·class="p">.</span><span·class="w">353 ·················</span><span·class="p"·data-group-id="9789361800-8">[</span><span·class="p"·data-group-id="9789361800-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:·60c41a088d32191ee5bc4d7bde7b6e209de07fbbac4d985f92281a9b76a0dae3·...·]-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="4538059029-10">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4538059029-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="9789361800-10">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9789361800-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="4538059029-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="4538059029-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="9789361800-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="9789361800-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="4538059029-12">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4538059029-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="9789361800-12">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9789361800-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="4538059029-13">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4538059029-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="9789361800-13">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9789361800-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="4538059029-14">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4538059029-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="9789361800-14">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9789361800-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="4538059029-15">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4538059029-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="9789361800-15">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9789361800-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="4538059029-16">{</span><span·class="nf">value_of</span><span·class="p"·data-group-id="4538059029-17">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4538059029-17">)</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·207,·SHA:·135b976ab76a6775825fc5fe67b08e5e02daf4e1291398b5484b3708db24b0b1·...·]-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="9789361800-16">{</span><span·class="nf">value_of</span><span·class="p"·data-group-id="9789361800-17">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9789361800-17">)</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·207,·SHA:·fbc01b8a1b00c143ffee143f1d6ba9e19dfbcf10baff02e35cb8dbf50be8f242·...·]-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="4538059029-19">{</span><span·class="nf">value_of</span><span·class="p"·data-group-id="4538059029-20">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="4538059029-20">)</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·207,·SHA:·2f4850f5270178e0637c996cb95be0ab1809e6eb32bb306aa3acc2e27bf782b1·...·]-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="9789361800-19">{</span><span·class="nf">value_of</span><span·class="p"·data-group-id="9789361800-20">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9789361800-20">)</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·207,·SHA:·5bd58058b439d899557dcc1475c143326e9b08f21019ea173353a6882d4d2c10·...·]-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="4538059029-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="4538059029-23">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·70,·SHA:·e75b5e1075db381c99b033e8cdbd99e02177e8b5dd6fade109121256aa70c9a6·...·]-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="9789361800-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="9789361800-23">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·70,·SHA:·22d7dd901982b6c499c6a7c5d1e8c5c6ef438d6020abcb39fb713f9bee68c800·...·]-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="4538059029-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="4538059029-25">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·ee2dfc3cd0e7d64710ccd41ef53296368b2e8ed8230889f3c7b3211ba63f0573·...·]-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="9789361800-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="9789361800-25">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·5126f94e2c5681ac3ae909c3dbccc70b49290d9f8954bfcd18e602074b6baea5·...·]-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="4538059029-26">(</span><span·class="n">Token</span><span·class="p"·data-group-id="4538059029-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="9789361800-26">(</span><span·class="n">Token</span><span·class="p"·data-group-id="9789361800-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="4538059029-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="4538059029-27">)</span><span·class="p">.</span><span·class="w">372 ····</span><span·class="nf">element</span><span·class="p"·data-group-id="9789361800-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="9789361800-27">)</span><span·class="p">.</span><span·class="w">
373 </span><span·class="nf">line_of</span><span·class="p"·data-group-id="4538059029-28">(</span><span·class="n">Token</span><span·class="p"·data-group-id="4538059029-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="9789361800-28">(</span><span·class="n">Token</span><span·class="p"·data-group-id="9789361800-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="4538059029-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="4538059029-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="9789361800-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="9789361800-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/51093 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.18/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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/public_key-1.18/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-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;
689 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/notes.html
    
Offset 1499, 15 lines modifiedOffset 1499, 15 lines modified
1499 ······<p·class="built-using">1499 ······<p·class="built-using">
1500 ········Built·using1500 ········Built·using
1501 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1501 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1502 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1502 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1503 ······</p>1503 ······</p>
1504 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1504 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1505 ····</footer>1505 ····</footer>
1506 ··</div>1506 ··</div>
1507 </main>1507 </main>
1508 </div>1508 </div>
1509 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1509 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1510 ··<script>1510 ··<script>
1511 ··let·initialized·=·false;1511 ··let·initialized·=·false;
704 B
html2text {}
Max HTML report size reached
433 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/public_key.epub
2.42 KB
zipinfo {}
Max HTML report size reached
80.0 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
207 KB
OEBPS/using_public_key.xhtml
Max HTML report size reached
95.7 KB
OEBPS/public_key_records.xhtml
Max HTML report size reached
46.0 KB
OEBPS/public_key.xhtml
Max HTML report size reached
1.25 KB
OEBPS/content.opf
Max HTML report size reached
47.5 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/public_key.html
    
Offset 2642, 30 lines modifiedOffset 2642, 30 lines modified
2642 certificates·include·policies·the·constrained·policy·set·with2642 certificates·include·policies·the·constrained·policy·set·with
2643 potential·qualifiers·will·be·returned,·these·values·are·derived·from2643 potential·qualifiers·will·be·returned,·these·values·are·derived·from
2644 the·policy·tree·created·as·part·of·the·path·validation·algorithm.·The2644 the·policy·tree·created·as·part·of·the·path·validation·algorithm.·The
2645 constrained·set·can·be·constrained·only·by·the·Certificate·Authorities2645 constrained·set·can·be·constrained·only·by·the·Certificate·Authorities
2646 or·also·by·the·user·when·the·option·<code·class="inline">policy_set</code>·is·provided·to·this2646 or·also·by·the·user·when·the·option·<code·class="inline">policy_set</code>·is·provided·to·this
2647 function.·The·qualifiers·convey·information·about·the·valid·policy·and2647 function.·The·qualifiers·convey·information·about·the·valid·policy·and
2648 is·intended·as·information·to·end·users.</p><p>Available·options:</p><ul><li><p><strong>{verify_fun,·{fun(),·UserState::term()}</strong>·-·The·fun·must·be2648 is·intended·as·information·to·end·users.</p><p>Available·options:</p><ul><li><p><strong>{verify_fun,·{fun(),·UserState::term()}</strong>·-·The·fun·must·be
2649 defined·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="2696218785-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="26962[·...·truncated·by·diffoscope;·len:·58,·SHA:·9d5c2f060430fa8966a5a7a4c3f41e45272256239680935bccd206a2ac484d41·...·]-2">}</span><span·class="p">,</span><span·class="w">2649 defined·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="4805089220-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="48050[·...·truncated·by·diffoscope;·len:·58,·SHA:·c07f0f3eef1ae013c8334f6bdf2ee9bb10d542767b274acf3e2ecb8793121a74·...·]-2">}</span><span·class="p">,</span><span·class="w">
2650 ····</span><span·class="n">Event</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="2696218785-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:·40a2384ac0211977cdd17396d75e291fa893e7e58f42fb850da2537fce4cb122·...·]-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2650 ····</span><span·class="n">Event</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="4805089220-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:·24c2d94631648fec0221994d3b3bd6cf7248f90096a7793a5cbc18f01ae2ab69·...·]-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2651 ·············</span><span·class="p"·data-group-id="2696218785-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="2696218785-8">{</span><span·class="p"·data-group-id="26[·...·truncated·by·diffoscope;·len:·61,·SHA:·6020c39fc979d8f9073edbb2d4023313f5a002dbdc1f384878d8a1c6df13035d·...·]-7">}</span><span·class="p">,</span><span·class="w">2651 ·············</span><span·class="p"·data-group-id="4805089220-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="4805089220-8">{</span><span·class="p"·data-group-id="48[·...·truncated·by·diffoscope;·len:·61,·SHA:·bf490703c4cc69898b4d4d873311c58fb2b568fa943fb501cf3cd708b0966178·...·]-7">}</span><span·class="p">,</span><span·class="w">
2652 ····</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="2696218785-9">(</span><span·class="p"·data-group-id="2696218785-9">)</span><span·class="p"·data-group-id="2696218785-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2652 ····</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="4805089220-9">(</span><span·class="p"·data-group-id="4805089220-9">)</span><span·class="p"·data-group-id="4805089220-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2653 ··</span><span·class="p"·data-group-id="2696218785-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:·38a5e658a2a6984ad4697947a085ef88d2e5848c3dbb978764afdf963b7aecb1·...·]-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2653 ··</span><span·class="p"·data-group-id="4805089220-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:·6b1d83cce9f668c240fe0cc3a3423a50cbbd47e7066d67106c4e525dd3a09eb6·...·]-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2654 ··</span><span·class="p"·data-group-id="2696218785-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:·545aecc97cae0b071dd9ad6346dc05145adf67da0c606bf497a247506929f281·...·]-12">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2654 ··</span><span·class="p"·data-group-id="4805089220-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:·ae1ee8961b870e67aa6efde2b78a6304be5029ed29f57341e8cde9067992d3d8·...·]-12">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2655 ··</span><span·class="p"·data-group-id="2696218785-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:·e5a58edc9ca469f466931397e6975fa7adb2d5d35c9e8bd8a8471b9ba54c02c0·...·]-14">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2655 ··</span><span·class="p"·data-group-id="4805089220-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:·86e1de89e7d9ec062ff1a0cea8101f0cf077b79ff85946a6fa9519693441ab46·...·]-14">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2656 ··</span><span·class="p"·data-group-id="2696218785-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:·634,·SHA:·33029a66edb2c4122403f1cb7c3cd9b71409b76a14931582b082e36a5bb97098·...·]-2">}</span><span·class="p">,</span><span·class="w">2656 ··</span><span·class="p"·data-group-id="4805089220-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:·634,·SHA:·6cdc184b1ae74719939268972466dc3bad5d78f88959bb3041db1638d6e6a5ee·...·]-2">}</span><span·class="p">,</span><span·class="w">
2657 ····</span><span·class="n">DerCert</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">der_encoded</span><span·class="p"·data-group-id="8023213110-3">(</span><span·class="p"·data-group-id="8023213110-3">)</span><span·class="p">,</span><span·class="w">2657 ····</span><span·class="n">DerCert</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">der_encoded</span><span·class="p"·data-group-id="1555463518-3">(</span><span·class="p"·data-group-id="1555463518-3">)</span><span·class="p">,</span><span·class="w">
2658 ····</span><span·class="n">Event</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="8023213110-4">{</span><span·class="ss">bad_cert</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">bad_cert_rea[·...·truncated·by·diffoscope;·len:·548,·SHA:·0db1ca68d12ee3c39b80a6ee7ba4db1482661997426362c0e7944aa19a4773fc·...·]-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2658 ····</span><span·class="n">Event</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="1555463518-4">{</span><span·class="ss">bad_cert</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">bad_cert_rea[·...·truncated·by·diffoscope;·len:·548,·SHA:·603664900ee20c887adb3d5bc2a62ed8c7d2c58d15cf5ca4cfd245d20db1409e·...·]-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2659 ·············</span><span·class="p"·data-group-id="8023213110-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="8023213110-9">{</span><span·class="p"·data-group-id="80[·...·truncated·by·diffoscope;·len:·61,·SHA:·6180faa50a2baecdc9504eb6c8229f4e4815e1a1c8d5420dd06e7f738ef6d8b9·...·]-8">}</span><span·class="p">,</span><span·class="w">2659 ·············</span><span·class="p"·data-group-id="1555463518-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="1555463518-9">{</span><span·class="p"·data-group-id="15[·...·truncated·by·diffoscope;·len:·61,·SHA:·2b6940958fdbec2e1f543155f30b929bc1f5070fa5259d01bd6e6ca6ea96565b·...·]-8">}</span><span·class="p">,</span><span·class="w">
2660 ····</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="8023213110-10">(</span><span·class="p"·data-group-id="8023213110-10">)</span><span·class="p"·data-group-id="8023213110-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2660 ····</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="1555463518-10">(</span><span·class="p"·data-group-id="1555463518-10">)</span><span·class="p"·data-group-id="1555463518-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2661 ··</span><span·class="p"·data-group-id="8023213110-11">{</span><span·class="ss">valid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span>[·...·truncated·by·diffoscope;·len:·149,·SHA:·9fb704b8a96d541cd881c4946e8705100e2d5144de6fddf2295fb67cb482c39e·...·]-11">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2661 ··</span><span·class="p"·data-group-id="1555463518-11">{</span><span·class="ss">valid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span>[·...·truncated·by·diffoscope;·len:·149,·SHA:·662f5d758e9b29c0f616f0f9ab995e4c683fce1e6dca2ce55dd848b1d0651e93·...·]-11">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2662 ··</span><span·class="p"·data-group-id="8023213110-13">{</span><span·class="ss">valid_peer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</[·...·truncated·by·diffoscope;·len:·154,·SHA:·80b43d5f9a5b4de37b21d598723f38eccc8e994d4aa2383bd1e9ce6e45b6c444·...·]-13">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2662 ··</span><span·class="p"·data-group-id="1555463518-13">{</span><span·class="ss">valid_peer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</[·...·truncated·by·diffoscope;·len:·154,·SHA:·63dad1cba4b3ef59a1a3a62ad4675c07c4fafa20b73ce64ff05ca2cf99425fa8·...·]-13">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2663 ··</span><span·class="p"·data-group-id="8023213110-15">{</span><span·class="ss">fail</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><spa[·...·truncated·by·diffoscope;·len:·145,·SHA:·67389b211415e3565c440b30f46f9410ad9172ae43de0e8d6a7c50a5e4ae33c1·...·]-15">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2663 ··</span><span·class="p"·data-group-id="1555463518-15">{</span><span·class="ss">fail</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><spa[·...·truncated·by·diffoscope;·len:·145,·SHA:·364608242ef741c198756ef48753d5025db5528db3443db226538d5a56819541·...·]-15">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2664 ··</span><span·class="p"·data-group-id="8023213110-17">{</span><span·class="ss">unknown</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</spa[·...·truncated·by·diffoscope;·len:·151,·SHA:·3320b0059be5d5ba8598c4a1550862af69e0cdc10c9d5367b8ba056b5c23ef5d·...·]-17">}</span><span·class="p">.</span></code></pre><p>The·verify·callback·can·have·3·or·4·arguments·in·case·the·DER·encoded2664 ··</span><span·class="p"·data-group-id="1555463518-17">{</span><span·class="ss">unknown</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</spa[·...·truncated·by·diffoscope;·len:·151,·SHA:·b812039fb94baefc2198cab4dc61c6f33ea401adb260b7ddc45cc89e4cb96df1·...·]-17">}</span><span·class="p">.</span></code></pre><p>The·verify·callback·can·have·3·or·4·arguments·in·case·the·DER·encoded
2665 version·is·needed·by·the·callback.</p><p>If·the·verify·callback·fun·returns·<code·class="inline">{fail,·Reason}</code>,·the·verification·process2665 version·is·needed·by·the·callback.</p><p>If·the·verify·callback·fun·returns·<code·class="inline">{fail,·Reason}</code>,·the·verification·process
2666 is·immediately·stopped.·If·the·verify·callback·fun·returns2666 is·immediately·stopped.·If·the·verify·callback·fun·returns
2667 <code·class="inline">{valid,·UserState}</code>,·the·verification·process·is·continued.·This·can·be·used2667 <code·class="inline">{valid,·UserState}</code>,·the·verification·process·is·continued.·This·can·be·used
2668 to·accept·specific·path·validation·errors,·such·as·<code·class="inline">selfsigned_peer</code>,·as·well2668 to·accept·specific·path·validation·errors,·such·as·<code·class="inline">selfsigned_peer</code>,·as·well
2669 as·verifying·application-specific·extensions.·If·called·with·an·extension2669 as·verifying·application-specific·extensions.·If·called·with·an·extension
2670 unknown·to·the·user·application,·the·return·value·<code·class="inline">{unknown,·UserState}</code>·is·to2670 unknown·to·the·user·application,·the·return·value·<code·class="inline">{unknown,·UserState}</code>·is·to
2671 be·used.</p><blockquote><h4·class="note">Note</h4><p>If·you·need·the·DER·encoded·version·of·the·certificate·and·have2671 be·used.</p><blockquote><h4·class="note">Note</h4><p>If·you·need·the·DER·encoded·version·of·the·certificate·and·have
Offset 2821, 17 lines modifiedOffset 2821, 17 lines modified
2821 certificate·is·in·agreement·with·at·least·one·of·the·<em>Reference·Identifier</em>·that2821 certificate·is·in·agreement·with·at·least·one·of·the·<em>Reference·Identifier</em>·that
2822 the·client·expects·to·be·connected·to.</p><p>The·function·is·intended·to·be·added·as·an·extra·client·check·of·the2822 the·client·expects·to·be·connected·to.</p><p>The·function·is·intended·to·be·added·as·an·extra·client·check·of·the
2823 peer·certificate·when·performing2823 peer·certificate·when·performing
2824 <a·href="#pkix_path_validation/3">public_key:pkix_path_validation/3</a></p><p>See·<a·href="https://tools.ietf.org/html/rfc6125">RFC·6125</a>·for·detailed·information2824 <a·href="#pkix_path_validation/3">public_key:pkix_path_validation/3</a></p><p>See·<a·href="https://tools.ietf.org/html/rfc6125">RFC·6125</a>·for·detailed·information
2825 about·hostname·verification.·The2825 about·hostname·verification.·The
2826 <a·href="using_public_key.html#verify_hostname">User's·Guide</a>·and2826 <a·href="using_public_key.html#verify_hostname">User's·Guide</a>·and
2827 <a·href="using_public_key.html#verify_hostname_examples">code·examples</a>·describes·this2827 <a·href="using_public_key.html#verify_hostname_examples">code·examples</a>·describes·this
2828 function·more·detailed.</p><p>The·option·funs·are·described·here:</p><ul><li><p><strong><code·class="inline">match_fun</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="0346296653-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="0346296653-2">(</span><span·class="p"·data-group-id="0346296653-2">)</span><span·class=[·...·truncated·by·diffoscope;·len:·259,·SHA:·5ccf55d8090de8d5106d7a9fb083dc06e5100b61b5157b0c48848080fb5862f2·...·]-3">)</span><span·class="p">,</span><span·class="w">2828 function·more·detailed.</p><p>The·option·funs·are·described·here:</p><ul><li><p><strong><code·class="inline">match_fun</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="4272291218-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="4272291218-2">(</span><span·class="p"·data-group-id="4272291218-2">)</span><span·class=[·...·truncated·by·diffoscope;·len:·259,·SHA:·28b1d033be13af87263efd90409459bf8ffa29974a3dff07ee707e7456135e56·...·]-3">)</span><span·class="p">,</span><span·class="w">
2829 ····</span><span·class="n">PresentedId</span><span·class="p">:</span><span·class="p">:</span><span·class="p"·data-group-id="0346296653-4">{</span><span·class="ss">dNSName</span><span·class="p">,</span><span·class="nf">string</span><span·class="p"·data-group-id="0346296653-5">(</span><span·class="p"·data-group-id="0346296653-5">)</span><span·class="p"·data-group-id="0346296653-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0346296653-6">{</span><span·class="ss">uniformResourceIdentifier</span><span·class="p">,</span><span·class="nf">string</span><span·class="p"·data-group-id="0346296653-7">(</span><span·class="p"·data-group-id="0346296653-7">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w"> 
2830 ·················</span><span·class="p"·data-group-id="0346296653-8">{</span><span·class="ss">iPAddress</span><span·class="p">,</span><span·class="nf">list</span><span·class="p"·data-group-id="0346296653-9">(</span><span·class="nf">byte</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1107,·SHA:·6fba9eae6e8d8b6c2a387d0d588edcfa802f698b16ad77b5698ca910bb40c2a9·...·]2829 ····</span><span·class="n">PresentedId</span><span·class="p">:</span><span·class="p">:</span><span·class="p"·data-group-id="4272291218-4">{</span><span·class="ss">dNSName</span><span·class="p">,</span><span·class="nf">string</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·528,·SHA:·4adccfc9cd48b2fe2b3012889f47bf09ce4c1347833f5fbba58fa69e65a504e0·...·]
 2830 ·················</span><span·class="p"·data-group-id="4272291218-8">{</span><span·class="ss">iPAddress</span><span·class="p">,</span><span·class="nf">list</span><span·class="p"·data-group-id="4272291218-9">(</span><span·class="nf">byte</span><span·class="p"·data-group-id="4272291218-10">(</span><span·class="p"·data-group-id="4272291218-10">)</span><span·class="p"·data-group-id="4272291218-9">)</span><span·class="p"·data-group-id="4272291218-8">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4272291218-11">{</span><span·class="n">OtherId</span><span·class="p">:</span><span·class="p">:</span><span·class="nf">atom</span><span·class="p"·data-group-id="4272291218-12">(</span><span·class="p"·data-group-id="4272291218-12">)</span><span·class="p">|</span><span·class="nf">oid</span><span·class="p"·data-group-id="4272291218-13">(</span><span·class="p"·data-group-id="4272291218-13">)</span><span·class="p">,</span><span·class="nf">term</span><span·class="p"·data-group-id="4272291218-14">(</span><span·class="p"·data-group-id="4272291218-14">)</span><span·class="p"·data-group-id="4272291218-11">}</span><span·class="p"·data-group-id="4272291218-6">}</span><span·class="p"·data-group-id="4272291218-1">)</span></code></pre><p>This·function·replaces·the·default·host·name·matching·rules.·The·fun·should
2831 return·a·boolean·to·tell·if·the·Reference·ID·and·Presented·ID·matches·or·not.2831 return·a·boolean·to·tell·if·the·Reference·ID·and·Presented·ID·matches·or·not.
2832 The·match·fun·can·also·return·a·third·value,·value,·the·atom·<code·class="inline">default</code>,·if·the2832 The·match·fun·can·also·return·a·third·value,·value,·the·atom·<code·class="inline">default</code>,·if·the
2833 default·matching·rules·shall·apply.·This·makes·it·possible·to·augment·the2833 default·matching·rules·shall·apply.·This·makes·it·possible·to·augment·the
2834 tests·with·a·special·case:</p><pre><code·class="text">fun(....)·-&gt;·true;···%·My·special·case2834 tests·with·a·special·case:</p><pre><code·class="text">fun(....)·-&gt;·true;···%·My·special·case
2835 ···(_,·_)·-&gt;·default·%·all·others·falls·back·to·the·inherit·tests2835 ···(_,·_)·-&gt;·default·%·all·others·falls·back·to·the·inherit·tests
2836 end</code></pre><p>See·<a·href="#pkix_verify_hostname_match_fun/1"><code·class="inline">pkix_verify_hostname_match_fun/1</code></a>·for·a·function·that·takes·a·protocol2836 end</code></pre><p>See·<a·href="#pkix_verify_hostname_match_fun/1"><code·class="inline">pkix_verify_hostname_match_fun/1</code></a>·for·a·function·that·takes·a·protocol
2837 name·as·argument·and·returns·a·<code·class="inline">fun/2</code>·suitable·for·this·option·and2837 name·as·argument·and·returns·a·<code·class="inline">fun/2</code>·suitable·for·this·option·and
Offset 3015, 22 lines modifiedOffset 3015, 22 lines modified
3015 ····································revocation_status_undetermined·|3015 ····································revocation_status_undetermined·|
3016 ····································{revocation_status_undetermined,·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}·|3016 ····································{revocation_status_undetermined,·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}·|
3017 ····································{revoked,·<a·href="#t:crl_reason/0">crl_reason</a>()}.</pre>3017 ····································{revoked,·<a·href="#t:crl_reason/0">crl_reason</a>()}.</pre>
  
3018 ······</div>3018 ······</div>
  
3019 <p>Performs·CRL·validation.·It·is·intended·to·be·called·from·the·verify·fun·of3019 <p>Performs·CRL·validation.·It·is·intended·to·be·called·from·the·verify·fun·of
3020 <a·href="#pkix_path_validation/3">pkix_path_validation/3·</a>.</p><p>Available·options:</p><ul><li><p><strong>{update_crl,·fun()}</strong>·-·The·fun·has·the·following·type·specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="6248660375-1">(</span><span·class="o">#</span><span·class="ss">&#39;DistributionPoint&#39;</span><span·class="p"·data-group-id="6248660375-2">{</span><span·class="p"·data-group-id="6248660375-2">}</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·214,·SHA:·e99e08c526c9f5cfcf3c1f95d60f11ab94ee2f39dd797d9d56b5eac4e4364df7·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">3020 <a·href="#pkix_path_validation/3">pkix_path_validation/3·</a>.</p><p>Available·options:</p><ul><li><p><strong>{update_crl,·fun()}</strong>·-·The·fun·has·the·following·type·specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="6390717653-1">(</span><span·class="o">#</span><span·class="ss">&#39;DistributionPoint&#39;</span><span·class="p"·data-group-id="6390717653-2">{</span><span·class="p"·data-group-id="6390717653-2">}</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·214,·SHA:·fec75c136678d42af7010b6cdda158d3fff5e2ec65ebd64b59c36d71217a847d·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
3021 ········</span><span·class="o">#</span><span·class="ss">&#39;CertificateList&#39;</span><span·class="p"·data-group-id="6248660375-4">{</span><span·class="p"·data-group-id="6248660375-4">}</span></code></pre><p>The·fun·uses·the·information·in·the·distribution·point·to·access·the·latest3021 ········</span><span·class="o">#</span><span·class="ss">&#39;CertificateList&#39;</span><span·class="p"·data-group-id="6390717653-4">{</span><span·class="p"·data-group-id="6390717653-4">}</span></code></pre><p>The·fun·uses·the·information·in·the·distribution·point·to·access·the·latest
3022 possible·version·of·the·CRL.·If·this·fun·is·not·specified,·Public·Key·uses·the3022 possible·version·of·the·CRL.·If·this·fun·is·not·specified,·Public·Key·uses·the
3023 default·implementation:</p><pre><code·class="text">·fun(_DP,·CRL)·-&gt;·CRL·end</code></pre></li><li><p><strong>{issuer_fun,·{fun(),·UserState::term()}}</strong>·-·The·fun·has·the·following·type3023 default·implementation:</p><pre><code·class="text">·fun(_DP,·CRL)·-&gt;·CRL·end</code></pre></li><li><p><strong>{issuer_fun,·{fun(),·UserState::term()}}</strong>·-·The·fun·has·the·following·type
3024 specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="6075765147-1">(</span><span·class="o">#</span><span·class="ss">&#39;DistributionPoint&#39;</span><span·class="p"·data-group-id="6075765147-2">{</span><span·class="p"·data-group-id="6075765147-2">}</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·162,·SHA:·1f048327f8cadae896561c7d5323041a59b2fe1bdda70480f6c9539e7ac925a6·...·]-3">}</span><span·class="p">,</span><span·class="w">3024 specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="7095418849-1">(</span><span·class="o">#</span><span·class="ss">&#39;DistributionPoint&#39;</span><span·class="p"·data-group-id="7095418849-2">{</span><span·class="p"·data-group-id="7095418849-2">}</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·162,·SHA:·d720d1671d951ea42f0a12173067021e69cd990246b1030937a0782eede398f2·...·]-3">}</span><span·class="p">,</span><span·class="w">
3025 ····</span><span·class="p"·data-group-id="6075765147-4">{</span><span·class="ss">rdnSequence</span><span·class="p">,</span><span·class="p"·data-group-id="6075765147-5">[</span><span·class="o">#</span><span·class="ss">&#39;AttributeTypeAndValue&#39;</span><span·class="p"·data-group-id="6075765147-6">{</span><span·class="p"·data-group-id="6075765147-6">}</span><span·class="p"·data-group-id="6075765147-5">]</span><span·class="p"·data-group-id="6075765147-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="6075765147-7">(</span><span·class="p"·data-group-id="6075765147-7">)</span><span·class="p"·data-group-id="6075765147-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
3026 ··</span><span·class="p"·data-group-id="6075765147-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="6075765147-9">{</sp[·...·truncated·by·diffoscope;·len:·394,·SHA:·2bebbf48f1cdebc052f5838f973676a96ef1f77fd68456619b9b5a0371537f15·...·]3025 ····</span><span·class="p"·data-group-id="7095418849-4">{</span><span·class="ss">rdnSequence</span><span·class="p">,</span><span·class="p"·data-group-id="7095418849-5">[</span><span·class="o">#</span><span·class="ss">&#39;AttributeTypeAndValue&#39;</span><sp[·...·truncated·by·diffoscope;·len:·592,·SHA:·689fa9966190a303425b7aa4008fa6a9bb211dfea3fa3b1c550393bf525b496f·...·]
 3026 ··</span><span·class="p"·data-group-id="7095418849-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="7095418849-9">{</span><span·class="p"·data-group-id="7095418849-9">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7095418849-10">[</span><span·class="ss">der_encoded</span><span·class="p"·data-group-id="7095418849-10">]</span><span·class="p"·data-group-id="7095418849-8">}</span></code></pre><p>The·fun·returns·the·root·certificate·and·certificate·chain·that·has·signed·the
3027 CRL.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9224312872-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:·b5a6b9f26eea11656bd3fb008fbf2d3dc65714286c2f5a4f4f4041f1a185d977·...·]-2">}</span></code></pre></li><li><p><strong>{undetermined_details,·boolean()}</strong>·-·Defaults·to·false.·When·revocation3027 CRL.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="0085459797-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:·a7346822aa4cad472f6cfbf0887c483c0405f470c0bb5032c6728d4a1214e8a4·...·]-2">}</span></code></pre></li><li><p><strong>{undetermined_details,·boolean()}</strong>·-·Defaults·to·false.·When·revocation
3028 status·cannot·be·determined,·and·this·option·is·set·to·true,·details·of·why·no3028 status·cannot·be·determined,·and·this·option·is·set·to·true,·details·of·why·no
3029 CRLs·where·accepted·are·included·in·the·return·value.</p></li></ul>3029 CRLs·where·accepted·are·included·in·the·return·value.</p></li></ul>
3030 ··</section>3030 ··</section>
3031 </section>3031 </section>
3032 <section·class="detail"·id="pkix_dist_point/1">3032 <section·class="detail"·id="pkix_dist_point/1">
  
3033 ··<div·class="detail-header">3033 ··<div·class="detail-header">
Offset 4167, 26 lines modifiedOffset 4167, 26 lines modified
4167 certificate,·but·makes·the·certificate·useful·for·both·roles.</p><p>Explanation·of·the·options·used·to·customize·certificates·in·the·generated4167 certificate,·but·makes·the·certificate·useful·for·both·roles.</p><p>Explanation·of·the·options·used·to·customize·certificates·in·the·generated
4168 chains:</p><ul><li><p><strong>{digest,·digest_type()}</strong>·-·Hash·algorithm·to·be·used·for·signing·the4168 chains:</p><ul><li><p><strong>{digest,·digest_type()}</strong>·-·Hash·algorithm·to·be·used·for·signing·the
4169 certificate·together·with·the·key·option.·Defaults·to·sha·that·is·sha1.</p></li><li><p><strong>{key,··ec_params()|·{rsa,·Size:pos_integer(),·Prime::pos_integer()}·|·private_key()}</strong>·-·Parameters·to·be·used·to·call4169 certificate·together·with·the·key·option.·Defaults·to·sha·that·is·sha1.</p></li><li><p><strong>{key,··ec_params()|·{rsa,·Size:pos_integer(),·Prime::pos_integer()}·|·private_key()}</strong>·-·Parameters·to·be·used·to·call
4170 public_key:generate_key/1,·to·generate·a·key,·or·an·existing·key.·Defaults·to4170 public_key:generate_key/1,·to·generate·a·key,·or·an·existing·key.·Defaults·to
4171 generating·an·ECDSA·key.·Note·this·could·fail·if·Erlang/OTP·is·compiled·with·a4171 generating·an·ECDSA·key.·Note·this·could·fail·if·Erlang/OTP·is·compiled·with·a
4172 very·old·cryptolib.</p></li><li><p><strong>{validity,·{From::erlang:timestamp(),·To::erlang:timestamp()}}</strong>·-·The4172 very·old·cryptolib.</p></li><li><p><strong>{validity,·{From::erlang:timestamp(),·To::erlang:timestamp()}}</strong>·-·The
4173 validity·period·of·the·certificate.</p></li><li><p><strong>{extensions,·[#'Extension'{}]}</strong>·-·Extensions·to·include·in·the4173 validity·period·of·the·certificate.</p></li><li><p><strong>{extensions,·[#'Extension'{}]}</strong>·-·Extensions·to·include·in·the
4174 certificate.</p><p>Default·extensions·included·in·CA·certificates·if·not·otherwise·specified·are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6910266600-1">[</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="6910266600-2">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-keyUsage&#39;</span><span·class="p">,</span><span·class="w">4174 certificate.</p><p>Default·extensions·included·in·CA·certificates·if·not·otherwise·specified·are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4529520997-1">[</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="4529520997-2">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-keyUsage&#39;</span><span·class="p">,</span><span·class="w">
4175 ··············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6910266600-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="6910266600-3">]</span><span·class="p">,</span><span·class="w">4175 ··············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4529520997-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="4529520997-3">]</span><span·class="p">,</span><span·class="w">
 4176 ··············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="4529520997-2">}</span><span·class="p">,</span><span·class="w">
 4177 </span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="4529520997-4">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-basicConstraints&#39;</span><span·class="p">,</span><span·class="w">
 4178 ·············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;BasicConstraints&#39;</span><span·class="p"·data-group-id="4529520997-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="4529520997-5">}</span><span·class="p">,</span><span·class="w">
 4179 ·············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="4529520997-4">}</span><span·class="p"·data-group-id="4529520997-1">]</span></code></pre><p>Default·extensions·included·in·the·server·peer·cert·if·not·otherwise·specified
 4180 are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5107349268-1">[</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="5107349268-2">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-keyUsage&#39;</span><span·class="p">,</span><span·class="w">
 4181 ··············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5107349268-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="5107349268-3">]</span><span·class="p">,</span><span·class="w">
4176 ··············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="6910266600-2">}</span><span·class="p">,</span><span·class="w">4182 ··············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="5107349268-2">}</span><span·class="p">,</span><span·class="w">
4177 </span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="6910266600-4">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-basicConstraints&#39;</span><span·class="p">,</span><span·class="w"> 
4178 ·············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;BasicConstraints&#39;</span><span·class="p"·data-group-id="6910266600-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="6910266600-5">}</span><span·class="p">,</span><span·class="w"> 
4179 ·············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="6910266600-4">}</span><span·class="p"·data-group-id="6910266600-1">]</span></code></pre><p>Default·extensions·included·in·the·server·peer·cert·if·not·otherwise·specified 
4180 are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9987060223-1">[</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="9987060223-2">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-keyUsage&#39;</span><span·class="p">,</span><span·class="w"> 
4181 ··············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9987060223-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="9987060223-3">]</span><span·class="p">,</span><span·class="w"> 
4182 ··············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="9987060223-2">}</span><span·class="p">,</span><span·class="w"> 
4183 </span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="9987060223-4">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-subjectAltName&#39;</span><span·class="p">,</span><span·class="w">4183 </span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="5107349268-4">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-subjectAltName&#39;</span><span·class="p">,</span><span·class="w">
4184 ·············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9987060223-5">[</span><span·class="p"·data-group-id="9987060223-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="9987060223-6">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·633b1338aa70d791e76f4e1c06089ec6bb9764f50639eecf85df6d9b807c1178·...·]-5">]</span><span·class="p">,</span><span·class="w">4184 ·············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5107349268-5">[</span><span·class="p"·data-group-id="5107349268-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="5107349268-6">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·211ae45c22cba242ca885fb506af89543c8fce0bfff2113845cd5c3fa0033903·...·]-5">]</span><span·class="p">,</span><span·class="w">
4185 ·············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="9987060223-4">}</span><span·class="p"·data-group-id="9987060223-1">]</span></code></pre><p>Hostname·is·the·result·of·calling·net_adm:localhost()·in·the·Erlang·node·where4185 ·············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="5107349268-4">}</span><span·class="p"·data-group-id="5107349268-1">]</span></code></pre><p>Hostname·is·the·result·of·calling·net_adm:localhost()·in·the·Erlang·node·where
4186 this·function·is·called.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Note·that·the·generated·certificates·and·keys·does·not·provide·a·formally4186 this·function·is·called.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Note·that·the·generated·certificates·and·keys·does·not·provide·a·formally
4187 correct·PKIX-trust-chain·and·they·cannot·be·used·to·achieve·real·security.4187 correct·PKIX-trust-chain·and·they·cannot·be·used·to·achieve·real·security.
4188 This·function·is·provided·for·testing·purposes·only.</p></section>4188 This·function·is·provided·for·testing·purposes·only.</p></section>
4189 ··</section>4189 ··</section>
4190 </section>4190 </section>
4191 <section·class="detail"·id="pkix_test_root_cert/2">4191 <section·class="detail"·id="pkix_test_root_cert/2">
  
Offset 4244, 15 lines modifiedOffset 4244, 15 lines modified
4244 ······<p·class="built-using">4244 ······<p·class="built-using">
4245 ········Built·using4245 ········Built·using
4246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the4246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
4247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>4247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
4248 ······</p>4248 ······</p>
4249 <p>Copyright·©·1996-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;
709 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/public_key_app.html
    
Offset 221, 15 lines modifiedOffset 221, 15 lines modified
221 ······<p·class="built-using">221 ······<p·class="built-using">
222 ········Built·using222 ········Built·using
223 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the223 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
224 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>224 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
225 ······</p>225 ······</p>
226 <p>Copyright·©·1996-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.3 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/public_key_records.html
    
Offset 125, 428 lines modifiedOffset 125, 428 lines modified
125 ····<span>Public-Key·Records</span>125 ····<span>Public-Key·Records</span>
126 ··</h1>126 ··</h1>
  
127 <p>This·chapter·briefly·describes·Erlang·records·derived·from·ASN.1·specifications127 <p>This·chapter·briefly·describes·Erlang·records·derived·from·ASN.1·specifications
128 used·to·handle·public·key·infrastructure.·The·scope·is·to·describe·the·data128 used·to·handle·public·key·infrastructure.·The·scope·is·to·describe·the·data
129 types·of·each·component,·not·the·semantics.·For·information·on·the·semantics,129 types·of·each·component,·not·the·semantics.·For·information·on·the·semantics,
130 refer·to·the·relevant·standards·and·RFCs·linked·in·the·sections·below.</p><p>Use·the·following·include·directive·to·get·access·to·the·records·and·constant130 refer·to·the·relevant·standards·and·RFCs·linked·in·the·sections·below.</p><p>Use·the·following·include·directive·to·get·access·to·the·records·and·constant
131 macros·described·in·the·following·sections:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="9689120300-1">(</span><span·class="s">&quot;public_key/include/public_key.hrl&quot;</span><span·class="p"·data-group-id="9689120300-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="6279060807-1">(</span><span·class="s">&quot;public_key/include/public_key.hrl&quot;</span><span·class="p"·data-group-id="6279060807-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="5822626530-1">(</span><span·class="p"·data-group-id="5822626530-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="5822626530-2">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·231,·SHA:·d704d089ae69b323ac06a5d8ceedd733c76c80c4d24a41dcbfda776382bc13b7·...·]-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="9512380635-1">(</span><span·class="p"·data-group-id="9512380635-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="9512380635-2">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·231,·SHA:·4a367e4e63400e1feef51479d945f404ebbdbd931bb4cc7af2b22e7f7a9e773f·...·]-3">)</span><span·class="w">
  
140 </span><span·class="nf">utc_time</span><span·class="p"·data-group-id="5822626530-4">(</span><span·class="p"·data-group-id="5822626530-4">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5822626530-5">{</span><span·class="ss">utcTime</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·113,·SHA:·731896741af7992704203c901f61d68947bed585f87e70f33f34c1ed263fce58·...·]-5">}</span><span·class="w">140 </span><span·class="nf">utc_time</span><span·class="p"·data-group-id="9512380635-4">(</span><span·class="p"·data-group-id="9512380635-4">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9512380635-5">{</span><span·class="ss">utcTime</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·113,·SHA:·2106e2c38e9dc6a8f5b127446e7da4e4f6fbba470feb1183100ab0da60eaa24f·...·]-5">}</span><span·class="w">
  
141 </span><span·class="nf">general_time</span><span·class="p"·data-group-id="5822626530-6">(</span><span·class="p"·data-group-id="5822626530-6">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5822626530-7">{</span><span·class="ss">generalTime</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·118,·SHA:·dba75643318006cc0482b3b66f188d8f62af42aae6ff72bd4f560d9cf055e3ef·...·]-7">}</span><span·class="w">141 </span><span·class="nf">general_time</span><span·class="p"·data-group-id="9512380635-6">(</span><span·class="p"·data-group-id="9512380635-6">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9512380635-7">{</span><span·class="ss">generalTime</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·118,·SHA:·36864f2059d27b0e0ac824df03ec38b16ca4b7a2737d4ff8652b04ec02c14bd7·...·]-7">}</span><span·class="w">
  
142 </span><span·class="nf">general_name</span><span·class="p"·data-group-id="5822626530-8">(</span><span·class="p"·data-group-id="5822626530-8">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5822626530-9">{</span><span·class="ss">rfc822Name</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·205,·SHA:·460f06311002b1df27dbde1d111349747b1366ce62d9fbecbc305d933435145b·...·]-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="9512380635-8">(</span><span·class="p"·data-group-id="9512380635-8">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9512380635-9">{</span><span·class="ss">rfc822Name</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·205,·SHA:·b4a7e637f7425b5c1bc36e9222846720263cebd1f6e6ec5c8e8c688150532d1a·...·]-9">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
143 ·················</span><span·class="p"·data-group-id="5822626530-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="5822626530-12">(</span><span·class="p"·data-group-id="5822626530-12">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·48866dde22459cc5a4ebe8e9c618979213a53b39ad90b9719a92301718d1c2c2·...·]-11">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">143 ·················</span><span·class="p"·data-group-id="9512380635-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="9512380635-12">(</span><span·class="p"·data-group-id="9512380635-12">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·acc72926fc2af86319c92c906247f32039f8ac3156cb6dd056686446affc7d9e·...·]-11">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
144 ·················</span><span·class="p"·data-group-id="5822626530-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="5822626530-14">(</span><span·class="p"·data-group-id="5822626530-14">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">144 ·················</span><span·class="p"·data-group-id="9512380635-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="9512380635-14">(</span><span·class="p"·data-group-id="9512380635-14">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
145 ·················</span><span·class="p"·data-group-id="5822626530-15">{</span><span·class="ss">directoryName</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5822626530-16">{</span><span·class="ss">rdnSequence</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·379,·SHA:·72e0df02a0ec5dfafa611fb71cbca290197b71aa697984884cfd60a89bbdbfde·...·]-15">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">145 ·················</span><span·class="p"·data-group-id="9512380635-15">{</span><span·class="ss">directoryName</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9512380635-16">{</span><span·class="ss">rdnSequence</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·379,·SHA:·88ae2ef4fb2c23170cc2b35a41148a529eb26d18519eed7b136dc46f964b2d13·...·]-15">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
146 ·················</span><span·class="p"·data-group-id="5822626530-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="5822626530-20">(</span><span·class="p"·data-group-id="5822626530-20">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·81bdff9e451ef50605bb740f212c1922877ac36d2d777090a15590abd39a2729·...·]-19">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">146 ·················</span><span·class="p"·data-group-id="9512380635-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="9512380635-20">(</span><span·class="p"·data-group-id="9512380635-20">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·228c3e6282df55bd0659d05b78814abe8040bac47f7b657843f85fa6ff1f4226·...·]-19">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
147 ·················</span><span·class="p"·data-group-id="5822626530-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="5822626530-22">(</span><span·class="p"·data-group-id="5822626530-22">)</span><sp[·...·truncated·by·diffoscope;·len:·232,·SHA:·dc3a633e570aef2b63944689beeabb4aeb1f374473b97baa5ddb4325232e22f2·...·]-21">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">147 ·················</span><span·class="p"·data-group-id="9512380635-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="9512380635-22">(</span><span·class="p"·data-group-id="9512380635-22">)</span><sp[·...·truncated·by·diffoscope;·len:·232,·SHA:·f902bc9787913dec237861b05afcfb34413fde06335ffec0f4ba81bddd25b70d·...·]-21">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
148 ·················</span><span·class="p"·data-group-id="5822626530-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="5822626530-25">(</span><span·class="p"·data-group-id="5822626530-25">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·253b93ba38ca735d33c42016a5433ee8c2691bc887304cccf2571f6559a6eba5·...·]-24">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">148 ·················</span><span·class="p"·data-group-id="9512380635-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="9512380635-25">(</span><span·class="p"·data-group-id="9512380635-25">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·7f83554ee25247ba36081215ca97b033dc3cd0b8eef856266e62c3a01c69838a·...·]-24">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
149 ·················</span><span·class="p"·data-group-id="5822626530-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="5822626530-27">(</span><span·class="p"·data-group-id="5822626530-27">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·d88b935af4184f8a27c1a78ef1f950f78009e8004f42cb456c4196c385bd7e2b·...·]-26">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">149 ·················</span><span·class="p"·data-group-id="9512380635-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="9512380635-27">(</span><span·class="p"·data-group-id="9512380635-27">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·62d36816cf161e82b0276e97d119af60fc273434e17a22b830f526700ce3402f·...·]-26">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
150 ·················</span><span·class="p"·data-group-id="5822626530-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="5822626530-29">(</span><span·class="p"·data-group-id="5822626530-29">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·d88b935af4184f8a27c1a78ef1f950f78009e8004f42cb456c4196c385bd7e2b·...·]-28">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">150 ·················</span><span·class="p"·data-group-id="9512380635-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="9512380635-29">(</span><span·class="p"·data-group-id="9512380635-29">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·62d36816cf161e82b0276e97d119af60fc273434e17a22b830f526700ce3402f·...·]-28">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
151 ·················</span><span·class="p"·data-group-id="5822626530-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="5822626530-31">(</span><span·class="p"·data-group-id="5822626530-31">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·48866dde22459cc5a4ebe8e9c618979213a53b39ad90b9719a92301718d1c2c2·...·]-30">}</span><span·class="w">151 ·················</span><span·class="p"·data-group-id="9512380635-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="9512380635-31">(</span><span·class="p"·data-group-id="9512380635-31">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·acc72926fc2af86319c92c906247f32039f8ac3156cb6dd056686446affc7d9e·...·]-30">}</span><span·class="w">
  
152 </span><span·class="nf">special_string</span><span·class="p"·data-group-id="5822626530-32">(</span><span·class="p"·data-group-id="5822626530-32">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5822626530-33">{</span><span·class="ss">teletexString</span><span·class="p">[·...·truncated·by·diffoscope;·len:·211,·SHA:·662d24b2fc012e38f6342f41f5beff9339b2bd2d07249819bca60546888b1919·...·]-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="9512380635-32">(</span><span·class="p"·data-group-id="9512380635-32">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9512380635-33">{</span><span·class="ss">teletexString</span><span·class="p">[·...·truncated·by·diffoscope;·len:·211,·SHA:·bbd4aefbb8f9b91a3da0c7ea96b2a9b24432cd5c3a1e29b6f021cd263692390f·...·]-33">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
153 ·153 ·
154 ···················</span><span·class="p"·data-group-id="5822626530-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="5822626530-36">(</span><span·class="p"·data-group-id="5822626530-36">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·28e8fd179de708572f1a3e1c89a33235f56d731d31b868ce6c38cd426e1140e5·...·]-35">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">154 ···················</span><span·class="p"·data-group-id="9512380635-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="9512380635-36">(</span><span·class="p"·data-group-id="9512380635-36">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·2e68769b73c6d5095a96895d81656b75a77cd0bcf7244589db8728652cb09d9e·...·]-35">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
155 ···················</span><span·class="p"·data-group-id="5822626530-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="5822626530-38">(</span><span·class="p"·data-group-id="5822626530-38">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·28e8fd179de708572f1a3e1c89a33235f56d731d31b868ce6c38cd426e1140e5·...·]-37">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">155 ···················</span><span·class="p"·data-group-id="9512380635-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="9512380635-38">(</span><span·class="p"·data-group-id="9512380635-38">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·2e68769b73c6d5095a96895d81656b75a77cd0bcf7244589db8728652cb09d9e·...·]-37">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
156 ···················</span><span·class="p"·data-group-id="5822626530-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="5822626530-40">(</span><span·class="p"·data-group-id="5822626530-40">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·9922223a757f6b31b6df1755c869f2e2acaad424c9d06e1c866a9efe5ae1c8ab·...·]-39">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">156 ···················</span><span·class="p"·data-group-id="9512380635-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="9512380635-40">(</span><span·class="p"·data-group-id="9512380635-40">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·1238333a166fe68cfbcbd89d2084c1612ed93f8d8779dbeca4981bc0990c07c0·...·]-39">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
157 ···················</span><span·class="p"·data-group-id="5822626530-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="5822626530-42">(</span><span·class="p"·data-group-id="5822626530-42">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·d88b935af4184f8a27c1a78ef1f950f78009e8004f42cb456c4196c385bd7e2b·...·]-41">}</span><span·class="w">157 ···················</span><span·class="p"·data-group-id="9512380635-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="9512380635-42">(</span><span·class="p"·data-group-id="9512380635-42">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·62d36816cf161e82b0276e97d119af60fc273434e17a22b830f526700ce3402f·...·]-41">}</span><span·class="w">
  
158 </span><span·class="nf">dist_reason</span><span·class="p"·data-group-id="5822626530-43">(</span><span·class="p"·data-group-id="5822626530-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="9512380635-43">(</span><span·class="p"·data-group-id="9512380635-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="5822626530-44">(</span><span·class="p"·data-group-id="5822626530-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="5822626530-45">(</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·253b93ba38ca735d33c42016a5433ee8c2691bc887304cccf2571f6559a6eba5·...·]-45">)</span><span·class="w">160 </span><span·class="n">OID_macro</span><span·class="p"·data-group-id="9512380635-44">(</span><span·class="p"·data-group-id="9512380635-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="9512380635-45">(</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·7f83554ee25247ba36081215ca97b033dc3cd0b8eef856266e62c3a01c69838a·...·]-45">)</span><span·class="w">
  
161 </span><span·class="n">OID_name</span><span·class="p"·data-group-id="5822626530-46">(</span><span·class="p"·data-group-id="5822626530-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="5822626530-47">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·92cfee1e8385c956f2f6cc1754e594cd833ce720de4aa6e1cc0c3a2eff918676·...·]-47">)</span></code></pre><h2·id="rsa"·class="section-heading">161 </span><span·class="n">OID_name</span><span·class="p"·data-group-id="9512380635-46">(</span><span·class="p"·data-group-id="9512380635-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="9512380635-47">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·42e8fe64271402d20db98dadda50c5fc5acfe5b01ba875553a3d053d735d16f9·...·]-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="2375072523-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="8346794371-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="2375072523-1">}</span><span·class="p">.</span><span·class="w">172 ··</span><span·class="p"·data-group-id="8346794371-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="2375072523-2">{</span><span·class="w">173 </span><span·class="o">#</span><span·class="ss">&#39;RSAPrivateKey&#39;</span><span·class="p"·data-group-id="8346794371-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="2375072523-2">}</span><span·class="p">.</span><span·class="w">184 ··</span><span·class="p"·data-group-id="8346794371-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="2375072523-3">{</span><span·class="w">185 </span><span·class="o">#</span><span·class="ss">&#39;OtherPrimeInfo&#39;</span><span·class="p"·data-group-id="8346794371-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="2375072523-3">}</span><span·class="p">.</span><span·class="w">189 ··</span><span·class="p"·data-group-id="8346794371-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="2375072523-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="8346794371-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="2375072523-4">}</span><span·class="p">.</span><span·class="w">195 ··</span><span·class="p"·data-group-id="8346794371-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="2375072523-5">{</span><span·class="w">196 </span><span·class="o">#</span><span·class="ss">&#39;HashAlgorithm&#39;</span><span·class="p"·data-group-id="8346794371-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="2375072523-5">}</span><span·class="p">.</span><span·class="w">199 ··</span><span·class="p"·data-group-id="8346794371-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="2375072523-6">{</span><span·class="w">200 </span><span·class="o">#</span><span·class="ss">&#39;MaskGenAlgorithm&#39;</span><span·class="p"·data-group-id="8346794371-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="2375072523-6">}</span><span·class="p">.</span></code></pre><h2·id="dsa"·class="section-heading">203 ··</span><span·class="p"·data-group-id="8346794371-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="8783826219-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="3625140570-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="8783826219-1">}</span><span·class="p">.</span><span·class="w">217 ··</span><span·class="p"·data-group-id="3625140570-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="8783826219-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="3625140570-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="8783826219-2">}</span><span·class="p">.</span></code></pre><h2·id="ecdsa-and-eddsa"·class="section-heading">222 ··</span><span·class="p"·data-group-id="3625140570-2">}</span><span·class="p">.</span></code></pre><h2·id="ecdsa-and-eddsa"·class="section-heading">
223 ··<a·href="#ecdsa-and-eddsa"·class="hover-link">223 ··<a·href="#ecdsa-and-eddsa"·class="hover-link">
224 ····<i·class="ri-link-m"·aria-hidden="true"></i>224 ····<i·class="ri-link-m"·aria-hidden="true"></i>
225 ··</a>225 ··</a>
Max diff block lines reached; 66355/98834 bytes (67.14%) of diff not shown.
608 B
html2text {}
Max HTML report size reached
1.28 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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;
466 B
html2text {}
Max HTML report size reached
208 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/using_public_key.html
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.2/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-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.2/doc/html/notes.html
    
Offset 790, 15 lines modifiedOffset 790, 15 lines modified
790 ······<p·class="built-using">790 ······<p·class="built-using">
791 ········Built·using791 ········Built·using
792 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the792 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
793 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>793 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
794 ······</p>794 ······</p>
795 <p>Copyright·©·1996-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;
689 B
html2text {}
Max HTML report size reached
453 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/reltool.epub
2.4 KB
zipinfo {}
Max HTML report size reached
77.2 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
372 KB
OEBPS/reltool_examples.xhtml
Max HTML report size reached
1.23 KB
OEBPS/content.opf
1.2 KB
OEBPS/content.opf
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/reltool.html
    
Offset 2747, 15 lines modifiedOffset 2747, 15 lines modified
2747 ······<p·class="built-using">2747 ······<p·class="built-using">
2748 ········Built·using2748 ········Built·using
2749 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2749 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2750 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2750 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2751 ······</p>2751 ······</p>
2752 <p>Copyright·©·1996-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.2/doc/html/reltool_examples.html
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/reltool_intro.html
    
Offset 208, 15 lines modifiedOffset 208, 15 lines modified
208 ······<p·class="built-using">208 ······<p·class="built-using">
209 ········Built·using209 ········Built·using
210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
212 ······</p>212 ······</p>
213 <p>Copyright·©·1996-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.2/doc/html/reltool_usage.html
    
Offset 378, 15 lines modifiedOffset 378, 15 lines modified
378 ······<p·class="built-using">378 ······<p·class="built-using">
379 ········Built·using379 ········Built·using
380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
382 ······</p>382 ······</p>
383 <p>Copyright·©·1996-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.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;
464 B
html2text {}
Max HTML report size reached
632 B
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/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-280DC1A3.js22 dist/search_data-309AD241.js
23 dist/sidebar_items-EC3B5298.js23 dist/sidebar_items-EC3B5298.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.47 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.2/doc/html/api-reference.html
    
Offset 226, 15 lines modifiedOffset 226, 15 lines modified
226 ······<p·class="built-using">226 ······<p·class="built-using">
227 ········Built·using227 ········Built·using
228 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the228 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
229 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>229 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
230 ······</p>230 ······</p>
231 <p>Copyright·©·1996-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.2/doc/html/dbg.html
Max HTML report size reached
1.62 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/dtrace.html
    
Offset 217, 15 lines modifiedOffset 217, 15 lines modified
217 ······<p·class="built-using">217 ······<p·class="built-using">
218 ········Built·using218 ········Built·using
219 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the219 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
220 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>220 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
221 ······</p>221 ······</p>
222 <p>Copyright·©·1996-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.2/doc/html/dyntrace.html
    
Offset 825, 22 lines modifiedOffset 825, 22 lines modified
825 ··········<pre·translate="no"><span·class="attribute">-spec</span>·restore_tag(true·|·{<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()·|·[]})·->·true.</pre>825 ··········<pre·translate="no"><span·class="attribute">-spec</span>·restore_tag(true·|·{<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()·|·[]})·->·true.</pre>
  
826 ······</div>826 ······</div>
  
827 <p>Restores·the·previous·state·of·user·tags·and·their·spreading·as·it·was·before·a827 <p>Restores·the·previous·state·of·user·tags·and·their·spreading·as·it·was·before·a
828 call·to·<a·href="#spread_tag/1"><code·class="inline">spread_tag/1</code></a>.</p><p>Note·that·the·restoring·is·not·limited·to·the·same·process;·one·can828 call·to·<a·href="#spread_tag/1"><code·class="inline">spread_tag/1</code></a>.</p><p>Note·that·the·restoring·is·not·limited·to·the·same·process;·one·can
829 utilize·this·to·turn·off·spreding·in·one·process·and·restore·it·in·a829 utilize·this·to·turn·off·spreding·in·one·process·and·restore·it·in·a
830 newly·created·process·that·is·is·actually·going·to·send·messages:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="2777282472-1">(</span><span·class="p"·data-group-id="2777282472-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="5764585076-1">(</span><span·class="p"·data-group-id="5764585076-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="2777282472-2">(</span><span·class="ss">false</span><span·class="p"·data-group-id="2777282472-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="5764585076-2">(</span><span·class="ss">false</span><span·class="p"·data-group-id="5764585076-2">)</span><span·class="p">,</span><span·class="w">
832 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2777282472-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2777282472-4">(</span><span·class="p"·data-group-id="2777282472-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="5764585076-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5764585076-4">(</span><span·class="p"·data-group-id="5764585076-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="2777282472-5">(</span><span·class="n">TagData</span><span·class="p"·data-group-id="2777282472-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="5764585076-5">(</span><span·class="n">TagData</span><span·class="p"·data-group-id="5764585076-5">)</span><span·class="p">,</span><span·class="w">
834 ·············</span><span·class="nf">do_something</span><span·class="p"·data-group-id="2777282472-6">(</span><span·class="p"·data-group-id="2777282472-6">)</span><span·class="w">834 ·············</span><span·class="nf">do_something</span><span·class="p"·data-group-id="5764585076-6">(</span><span·class="p"·data-group-id="5764585076-6">)</span><span·class="w">
835 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="2777282472-3">)</span><span·class="p">,</span><span·class="w">835 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="5764585076-3">)</span><span·class="p">,</span><span·class="w">
836 ····</span><span·class="nf">do_something_else</span><span·class="p"·data-group-id="2777282472-7">(</span><span·class="p"·data-group-id="2777282472-7">)</span><span·class="p">,</span><span·class="w">836 ····</span><span·class="nf">do_something_else</span><span·class="p"·data-group-id="5764585076-7">(</span><span·class="p"·data-group-id="5764585076-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="2777282472-8">(</span><span·class="n">TagData</span><span·class="p"·data-group-id="2777282472-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="5764585076-8">(</span><span·class="n">TagData</span><span·class="p"·data-group-id="5764585076-8">)</span><span·class="p">.</span></code></pre><p>Correctly·handling·user·tags·and·their·spreading·might·take·some·effort,·as
838 Erlang·programs·tend·to·send·and·receive·messages·so·that·sometimes·the·user·tag838 Erlang·programs·tend·to·send·and·receive·messages·so·that·sometimes·the·user·tag
839 gets·lost·due·to·various·things,·like·double·receives·or·communication·with·a839 gets·lost·due·to·various·things,·like·double·receives·or·communication·with·a
840 port·(ports·do·not·handle·user·tags,·in·the·same·way·as·they·do·not·handle840 port·(ports·do·not·handle·user·tags,·in·the·same·way·as·they·do·not·handle
841 regular·sequential·trace·tokens).</p>841 regular·sequential·trace·tokens).</p>
842 ··</section>842 ··</section>
843 </section>843 </section>
844 <section·class="detail"·id="spread_tag/1">844 <section·class="detail"·id="spread_tag/1">
Offset 877, 20 lines modifiedOffset 877, 20 lines modified
877 <a·href="#restore_tag/1"><code·class="inline">restore_tag/1</code></a>,·one·can·enable·or·disable·spreading·of·user877 <a·href="#restore_tag/1"><code·class="inline">restore_tag/1</code></a>,·one·can·enable·or·disable·spreading·of·user
878 tags·to·other·processes·and·then·restore·the·previous·state·of·the·user·tag.·The878 tags·to·other·processes·and·then·restore·the·previous·state·of·the·user·tag.·The
879 TagData·returned·from·this·call·contains·all·previous·information·so·the·state879 TagData·returned·from·this·call·contains·all·previous·information·so·the·state
880 (including·any·previously·spread·user·tags)·will·be·completely·restored·by·a880 (including·any·previously·spread·user·tags)·will·be·completely·restored·by·a
881 later·call·to·<a·href="#restore_tag/1"><code·class="inline">restore_tag/1</code></a>.</p><p>The·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>·module·already·spreads·tags,·so·there·is·no·need·to·manually·call881 later·call·to·<a·href="#restore_tag/1"><code·class="inline">restore_tag/1</code></a>.</p><p>The·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>·module·already·spreads·tags,·so·there·is·no·need·to·manually·call
882 this·function·to·get·user·tags·spread·to·the·<code·class="inline">efile</code>·driver·through·that·module.</p><p>The·most·use·of·this·function·would·be·if·one,·for·example,·uses·the·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html"><code·class="inline">io</code></a>·module882 this·function·to·get·user·tags·spread·to·the·<code·class="inline">efile</code>·driver·through·that·module.</p><p>The·most·use·of·this·function·would·be·if·one,·for·example,·uses·the·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html"><code·class="inline">io</code></a>·module
883 to·communicate·with·an·I/O-server·for·a·regular·file,·such·as·in·the·following883 to·communicate·with·an·I/O-server·for·a·regular·file,·such·as·in·the·following
884 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="7435053092-1">(</span><span·class="p"·data-group-id="7435053092-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="1236545501-1">(</span><span·class="p"·data-group-id="1236545501-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
885 ···</span><span·class="p"·data-group-id="7435053092-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="7435053092-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·389,·SHA:·07090a1567f5a1cd49aff18d8b9e33b64b3c729545452101413b785bab76dd92·...·]-3">)</span><span·class="p">,</span><span·class="w">885 ···</span><span·class="p"·data-group-id="1236545501-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="1236545501-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·389,·SHA:·e5e2e4019b36d7d1746122f4afb7904cadfe4d1dacb47457244ddc4c0470be57·...·]-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="7435053092-5">(</span><span·class="ss">true</span><span·class="p"·data-group-id="7435053092-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="1236545501-5">(</span><span·class="ss">true</span><span·class="p"·data-group-id="1236545501-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="7435053092-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="7435053092-7">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·80,·SHA:·e558ad05055ab38fcc1319ea9713de5008e76850347406b8978fdcb2ed04b6c6·...·]-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="1236545501-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="1236545501-7">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·80,·SHA:·41fe1836baf9d3f46a950b1f9b5b515a90983835bc0fc7a1525803e0071cce5f·...·]-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="7435053092-8">(</span><span·class="n">Saved</span><span·class="p"·data-group-id="7435053092-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="1236545501-8">(</span><span·class="n">Saved</span><span·class="p"·data-group-id="1236545501-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="7435053092-9">(</span><span·class="n">F</span><span·class="p"·data-group-id="7435053092-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="1236545501-9">(</span><span·class="n">F</span><span·class="p"·data-group-id="1236545501-9">)</span><span·class="p">.</span></code></pre><p>In·this·example,·any·user·tag·set·in·the·calling·process·will·be·spread·to·the
890 I/O-server·when·the·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#format/3"><code·class="inline">io:format/3</code></a>·call·is·done.</p>890 I/O-server·when·the·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#format/3"><code·class="inline">io:format/3</code></a>·call·is·done.</p>
891 ··</section>891 ··</section>
892 </section>892 </section>
  
893 ····</div>893 ····</div>
894 ··</section>894 ··</section>
  
Offset 912, 15 lines modifiedOffset 912, 15 lines modified
912 ······<p·class="built-using">912 ······<p·class="built-using">
913 ········Built·using913 ········Built·using
914 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the914 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
915 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>915 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
916 ······</p>916 ······</p>
917 <p>Copyright·©·1996-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.2/doc/html/instrument.html
    
Offset 345, 16 lines modifiedOffset 345, 16 lines modified
  
345 ······</div>345 ······</div>
  
346 <p>A·histogram·of·block·sizes·where·each·interval's·upper·bound·is·twice·as·high·as346 <p>A·histogram·of·block·sizes·where·each·interval's·upper·bound·is·twice·as·high·as
347 the·one·before·it.</p><p>The·upper·bound·of·the·first·interval·is·provided·by·the·function·that·returned347 the·one·before·it.</p><p>The·upper·bound·of·the·first·interval·is·provided·by·the·function·that·returned
348 the·histogram,·and·the·last·interval·has·no·upper·bound.</p><p>For·example,·the·histogram·below·has·40·(<code·class="inline">message</code>)·blocks·between·128-256·bytes348 the·histogram,·and·the·last·interval·has·no·upper·bound.</p><p>For·example,·the·histogram·below·has·40·(<code·class="inline">message</code>)·blocks·between·128-256·bytes
349 in·size,·78·blocks·between·256-512·bytes,2·blocks·between·512-1024·bytes,·and·2349 in·size,·78·blocks·between·256-512·bytes,2·blocks·between·512-1024·bytes,·and·2
350 blocks·between·1-2KB.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">instrument</span><span·class="p">:</span><span·class="nf">allocations</span><span·class="p"·data-group-id="5042816887-1">(</span><span·class="p"·data-group-id="5042816887-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:·18a41fe96664f6fdc5a680a3b5c91e4dd9fb2a908b93ed0be8a1f2608ff820c7·...·]-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="6260393571-1">(</span><span·class="p"·data-group-id="6260393571-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:·635a473541596fefbde490f63ca107fb3d2e903104ee8d6e9481441fe0b06f75·...·]-1">)</span><span·class="p">.</span><span·class="w">
351 </span><span·class="p"·data-group-id="5042816887-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5042816887-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:·bbd883702cf987dcd683eaa84b895407a2ba2ee4648be8053770c64f7c654195·...·]-3">}</span></code></pre>351 </span><span·class="p"·data-group-id="6260393571-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6260393571-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:·eee369fa375120d9dcf48bd1eef89a7caa0cdd4ebeb0544d87f8b4677d4865e4·...·]-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="0199900614-1">(</span><span·class="p"·data-group-id="0199900614-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:·75f28f462444f8e287e8bf476409819d649d8aa3173cf22f53914fd47bdcd2f3·...·]-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="1950000458-1">(</span><span·class="p"·data-group-id="1950000458-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:·92782bd6aba83df36253766bd6e82b2ddf4b0d8e66f7536d621287607be97305·...·]-1">)</span><span·class="p">.</span><span·class="w">
488 </span><span·class="p"·data-group-id="0199900614-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0199900614-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="1950000458-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1950000458-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="0199900614-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="1950000458-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="0199900614-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="0199900614-7">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·743,·SHA:·f18e0b2751a1844901cbb2b9f6e1b6b0240b94f197e0d3fc7cdd0cbee37d13b0·...·]-6">}</span><span·class="p">,</span><span·class="w">490 ···········</span><span·class="p"·data-group-id="1950000458-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="1950000458-7">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·743,·SHA:·3e708906a401bf020da47717c562dba51bd27d47ff8b3ccd3c9c6601e8b2e8d0·...·]-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="0199900614-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="0199900614-9">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><s[·...·truncated·by·diffoscope;·len:·677,·SHA:·6dfa75288ce7cd3be0cc28e3fcf0c8610275fde7ea43337b0e17145d424b8889·...·]-9">}</span><span·class="p">,</span><span·class="w">492 ···········</span><span·class="p"·data-group-id="1950000458-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="1950000458-9">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><s[·...·truncated·by·diffoscope;·len:·677,·SHA:·10ceecd44772df7bea25befba654bd7d9d5794641b5b7f200d586cb45b38fd83·...·]-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="0199900614-10">{</span><span·class="mi">271</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">52</span><span·class="p">,</span><span·class="mi">80</span><span·cl[·...·truncated·by·diffoscope;·len:·523,·SHA:·b2be12b599ed3ee374bbbb0aa2754dfea00c0a973becde5632521a04df4dde85·...·]-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="1950000458-10">{</span><span·class="mi">271</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">52</span><span·class="p">,</span><span·class="mi">80</span><span·cl[·...·truncated·by·diffoscope;·len:·523,·SHA:·33a1e0681d29def0e1200e5e4bc2994971ff7554dd36709d7ec58316de2fb60d·...·]-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="0199900614-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:·524,·SHA:·15e9a2c568dba80ea10f61577df2f76a79e6ffdba31f474c75be23ee55589fce·...·]-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="1950000458-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:·524,·SHA:·b640368f797fa2488ab9be5f3e2adfd195f06606aaefdd6f55f429356daaa1a7·...·]-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="0199900614-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:·520,·SHA:·bb1a2452af24b081448b67f6f1ff2c452cf3ebde7c9b3a2f5f4907d156c6691e·...·]-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="1950000458-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:·520,·SHA:·3e3763a39bd6ead59cc64cb3204103d6c9c30a9163409df3be75c38492615181·...·]-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="0199900614-13">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">40</span><span·class="p">,</span><span·class="mi">78</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">2</span><span·clas[·...·truncated·by·diffoscope;·len:·521,·SHA:·726a2e5de528dff5f352956c635bb1a4d4ec1761bfb50130f5b7ea0015ac583d·...·]-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="1950000458-13">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">40</span><span·class="p">,</span><span·class="mi">78</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">2</span><span·clas[·...·truncated·by·diffoscope;·len:·521,·SHA:·ff838798c55bfb960bbeace7e78f64cc9e2972b2223e718149a8c10dc5de813d·...·]-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="0199900614-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="1950000458-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="0199900614-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="1950000458-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="0199900614-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:·573,·SHA:·650d87ffe86efcba81091bcefa380b9750b5425999982134c5939c35fb8ce749·...·]-14">}</span><span·class="p">,</span><span·class="w">500 ·················</span><span·class="p"·data-group-id="1950000458-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:·573,·SHA:·26dba6c96a1b90bc22e2a176a4f4916a6ed3d3bcf7462727c2bb021d196f3778·...·]-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="0199900614-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="0199900614-17">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0<[·...·truncated·by·diffoscope;·len:·738,·SHA:·72baeca2f4525d773eefcaaa4fa08cea4d4b521a08f425cdaf08041c8f71955e·...·]-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="1950000458-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="1950000458-17">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0<[·...·truncated·by·diffoscope;·len:·738,·SHA:·1f6111c1026e6648eef9f66c47f15227cdad53d929695db312e8ea8aa6d991b3·...·]-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="0199900614-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="0199900614-19">{</span><span·class="mi">2</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·695,·SHA:·9a1fe1bd894e99afc734601b23d38a9f330ca3fc15fcf8f43ff96bd1ee5290b2·...·]-19">}</span><span·class="p">,</span><span·class="w">503 ···········</span><span·class="p"·data-group-id="1950000458-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="1950000458-19">{</span><span·class="mi">2</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·695,·SHA:·30a804f84b518ea3829a2bed4009e3ff343e7851f4a57ccb0c51b0f5cd7d742a·...·]-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="0199900614-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:·519,·SHA:·935f20eaeec97ccd068020d2fffe733509db06a0ed451ff33a71d11a82900689·...·]-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="1950000458-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:·519,·SHA:·314e2a8fa699c900d2604756c42f50a2321932d4105293d0f6c7d4a49eef51f1·...·]-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="0199900614-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:·519,·SHA:·935f20eaeec97ccd068020d2fffe733509db06a0ed451ff33a71d11a82900689·...·]-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="1950000458-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:·519,·SHA:·314e2a8fa699c900d2604756c42f50a2321932d4105293d0f6c7d4a49eef51f1·...·]-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="0199900614-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:·519,·SHA:·221b47a126a447ef6c18a3195124ea11081a7a5cbe5ba4db9e058a5df05b04d8·...·]-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="1950000458-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:·519,·SHA:·23731f13e2407769124c9138f806ceb55b86b2851de313ff9019660d2bccd0d2·...·]-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="0199900614-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:·573,·SHA:·9511d66b026317b888f48d5a8fbd0b4596967d1262bdce9a41ac0150122b7b8d·...·]-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="1950000458-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:·573,·SHA:·068b0f421ba8b11dfddb23a368cf73c32705d5c8238fc58ea764f5871533d646·...·]-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="0199900614-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="0199900614-25">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">[·...·truncated·by·diffoscope;·len:·686,·SHA:·0ff91c883760c586d392011af1b6b0751ea04d309b685d3fcd9d3f5139a54b1c·...·]-25">}</span><span·class="p">,</span><span·class="w">509 ···········</span><span·class="p"·data-group-id="1950000458-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="1950000458-25">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">[·...·truncated·by·diffoscope;·len:·686,·SHA:·fe2a1bbf2895706011cfbeecc8eae5ce754d07fbd42992b1882990e57545c403·...·]-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="0199900614-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:·733,·SHA:·637b04f37974a14e35dfeba18426286094f93fb4ce6bab0fc35703a0406a6e6e·...·]-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="1950000458-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:·733,·SHA:·b52a7caab24bf71f7dd2f5b1ba4dd925a29a27daec7e97e7f62f127696b1d410·...·]-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="1828234983-1">(</span><span·class="p"·data-group-id="1828234983-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:·34eb567e8c53b676dabfa2584d7f1655bb6e7932352ddac9f1787b0f19327b4d·...·]-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="0372337858-1">(</span><span·class="p"·data-group-id="0372337858-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:·2355daab6d0c59eac81928b20b958ec1487c2e6c72569ed83e81058be71f269c·...·]-1">)</span><span·class="p">.</span><span·class="w">
584 </span><span·class="p"·data-group-id="1828234983-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1828234983-4">{</span><span·class="mi">512</span><span·class="p">,</span><span·class="w">584 </span><span·class="p"·data-group-id="0372337858-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0372337858-4">{</span><span·class="mi">512</span><span·class="p">,</span><span·class="w">
585 ·····</span><span·class="p"·data-group-id="1828234983-5">[</span><span·class="p"·data-group-id="1828234983-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="0372337858-5">[</span><span·class="p"·data-group-id="0372337858-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="1828234983-7">[</span><span·class="p"·data-group-id="1828234983-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="1828234983-8[·...·truncated·by·diffoscope;·len:·51,·SHA:·fe47398b8c88ae1b00d4975081a76f6f8a3fdc60cd208218ba58583c7888e5cf·...·]-7">]</span><span·class="p">,</span><span·class="w">586 ····················</span><span·class="p"·data-group-id="0372337858-7">[</span><span·class="p"·data-group-id="0372337858-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="0372337858-8[·...·truncated·by·diffoscope;·len:·51,·SHA:·c96a5872507a79403c52ad6dfaac40048eecf6461addfae7f930795c4c1507a0·...·]-7">]</span><span·class="p">,</span><span·class="w">
587 ····················</span><span·class="p"·data-group-id="1828234983-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:·415f162183c785519f743b452ee8a69a22ade66d61e285ba03fe155b2777e7f7·...·]-6">}</span><span·class="p">,</span><span·class="w">587 ····················</span><span·class="p"·data-group-id="0372337858-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:·e8f51d89fcfd54ed44e498aeba303acc0a8f019efbeb987f9407e2c159b5c829·...·]-6">}</span><span·class="p">,</span><span·class="w">
588 ······</span><span·class="p"·data-group-id="1828234983-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="0372337858-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="1828234983-11">[</span><span·class="p"·data-group-id="1828234983-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="1828234983[·...·truncated·by·diffoscope;·len:·54,·SHA:·25a2b9c65b2bc8cec97222bf8c2921bbae53c6f35be848c5d704e9c3c2d0269e·...·]-11">]</span><span·class="p">,</span><span·class="w">589 ····················</span><span·class="p"·data-group-id="0372337858-11">[</span><span·class="p"·data-group-id="0372337858-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="0372337858[·...·truncated·by·diffoscope;·len:·54,·SHA:·ef952b5efafd3803c1a58eec8e2d608505b64f470d8df9b6b9e5f66370f48be9·...·]-11">]</span><span·class="p">,</span><span·class="w">
590 ····················</span><span·class="p"·data-group-id="1828234983-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:·5a2d97100053c2b3858dd7e99c71b81e78d27f41fb739bc1289f26424cc7f3d6·...·]-10">}</span><span·class="p">,</span><span·class="w">590 ····················</span><span·class="p"·data-group-id="0372337858-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:·53f0deef1b305f0897c641b32dde5ec614cdfe29909af0d2c9d03d644a8e6852·...·]-10">}</span><span·class="p">,</span><span·class="w">
591 ······</span><span·class="p"·data-group-id="1828234983-14">{</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1828234983-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:·0423939bab615de3f65955367952482956737d29ec5dff2cd8821cebca714247·...·]-3">}</span></code></pre>591 ······</span><span·class="p"·data-group-id="0372337858-14">{</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0372337858-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:·9d7de2e487210de38ef11322ed1871d3254c6950a5575858d569762c3a6434f1·...·]-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.6 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/lttng.html
    
Offset 146, 40 lines modifiedOffset 146, 40 lines modified
146 $·make</code></pre><h2·id="dyntrace-tracepoints"·class="section-heading">146 $·make</code></pre><h2·id="dyntrace-tracepoints"·class="section-heading">
147 ··<a·href="#dyntrace-tracepoints"·class="hover-link">147 ··<a·href="#dyntrace-tracepoints"·class="hover-link">
148 ····<i·class="ri-link-m"·aria-hidden="true"></i>148 ····<i·class="ri-link-m"·aria-hidden="true"></i>
149 ··</a>149 ··</a>
150 ··<span·class="text">Dyntrace·Tracepoints</span>150 ··<span·class="text">Dyntrace·Tracepoints</span>
151 </h2>151 </h2>
152 <p>All·tracepoints·are·in·the·domain·of·<code·class="inline">org_erlang_dyntrace</code></p><p>All·Erlang·types·are·the·string·equivalent·in·LTTng.</p><p><em>process_spawn</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">parent·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">procs</code>·and152 <p>All·tracepoints·are·in·the·domain·of·<code·class="inline">org_erlang_dyntrace</code></p><p>All·Erlang·types·are·the·string·equivalent·in·LTTng.</p><p><em>process_spawn</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">parent·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">procs</code>·and
153 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">process_spawn</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="8978855283-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="8978855283-1">}</span><span·[·...·truncated·by·diffoscope;·len:·731,·SHA:·8e1baa73fbafbd5a2e99a1d63a636dbb6feefd5a76c38ddb663d98981a0a7199·...·]-2">}</span></code></pre><p><em>process_link</em></p><ul><li><code·class="inline">to·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">from·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><p><code·class="inline">type·:·string</code>·::·<code·class="inline">&quot;link&quot;·|·&quot;unlink&quot;</code></p></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">procs</code>·and153 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">process_spawn</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="2840700297-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="2840700297-1">}</span><span·[·...·truncated·by·diffoscope;·len:·731,·SHA:·7fc1da7b464112ed87b93f94265e10b325cbbb909dffbbab3b81077f70dd4dcf·...·]-2">}</span></code></pre><p><em>process_link</em></p><ul><li><code·class="inline">to·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">from·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><p><code·class="inline">type·:·string</code>·::·<code·class="inline">&quot;link&quot;·|·&quot;unlink&quot;</code></p></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">procs</code>·and
154 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">process_link:·{·cpu_id·=·3·},·{·from·=·&quot;&lt;0.130.0&gt;&quot;,·to·=·&quot;&lt;0.131.0&gt;&quot;,·type·=·&quot;link&quot;·}</code></pre><p><em>process_exit</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">reason·:·string</code>·::·Exit·reason.·Ex.·<code·class="inline">&quot;normal&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">procs</code>·and154 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">process_link:·{·cpu_id·=·3·},·{·from·=·&quot;&lt;0.130.0&gt;&quot;,·to·=·&quot;&lt;0.131.0&gt;&quot;,·type·=·&quot;link&quot;·}</code></pre><p><em>process_exit</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">reason·:·string</code>·::·Exit·reason.·Ex.·<code·class="inline">&quot;normal&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">procs</code>·and
155 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">process_exit:·{·cpu_id·=·3·},·{·pid·=·&quot;&lt;0.130.0&gt;&quot;,·reason·=·&quot;normal&quot;·}</code></pre><p><em>process_register</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">name·:·string</code>·::·Registered·name.·Ex.·<code·class="inline">&quot;logger&quot;</code></li><li><p><code·class="inline">type·:·string</code>·::·<code·class="inline">&quot;register&quot;·|·&quot;unregister&quot;</code></p></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">process_register</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="0160475631-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="0160475631-1">}</span><span·[·...·truncated·by·diffoscope;·len:·703,·SHA:·ca1ab30c79f5cf35bc74a33ba3f30b34ed9072e69dd0410c0b46979d6c4de959·...·]-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="3513411212-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="3513411212-1">}</span><span·[·...·truncated·by·diffoscope;·len:·703,·SHA:·81faaf7e38f2a99c508f12ec097269c5c4d9003ddbb7928f5456eb9281e98038·...·]-2">}</span></code></pre><p><em>process_scheduled</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">type·:·string</code>·::
156 <code·class="inline">&quot;in&quot;·|·&quot;out&quot;·|·&quot;in_exiting&quot;·|·&quot;out_exiting&quot;·|·&quot;out_exited&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">running</code>·and156 <code·class="inline">&quot;in&quot;·|·&quot;out&quot;·|·&quot;in_exiting&quot;·|·&quot;out_exiting&quot;·|·&quot;out_exited&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">running</code>·and
157 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">process_scheduled</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="4615344620-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="4615344620-1">}</span><span·[·...·truncated·by·diffoscope;·len:·716,·SHA:·8187383c330f5d4ab1558182b5cae6f211c0d2e938fed57790e84b66aa869a6e·...·]-2">}</span></code></pre><p><em>port_open</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">driver·:·string</code>·::·Driver·name.·Ex.·<code·class="inline">&quot;tcp_inet&quot;</code></li><li><code·class="inline">port·:·string</code>·::·Port·ID.·Ex.·<code·class="inline">&quot;#Port&lt;0.1031&gt;&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">ports</code>·and157 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">process_scheduled</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="5145464132-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="5145464132-1">}</span><span·[·...·truncated·by·diffoscope;·len:·716,·SHA:·ece124d0429f70ead6ccc648037980644797b3a434ae4baa2690882d1a6808c3·...·]-2">}</span></code></pre><p><em>port_open</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">driver·:·string</code>·::·Driver·name.·Ex.·<code·class="inline">&quot;tcp_inet&quot;</code></li><li><code·class="inline">port·:·string</code>·::·Port·ID.·Ex.·<code·class="inline">&quot;#Port&lt;0.1031&gt;&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">ports</code>·and
158 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">port_open:·{·cpu_id·=·5·},·{·pid·=·&quot;&lt;0.131.0&gt;&quot;,·driver·=·&quot;'/bin/sh·-s·unix:cmd'&quot;,·port·=·&quot;#Port&lt;0.1887&gt;&quot;·}</code></pre><p><em>port_exit</em></p><ul><li><code·class="inline">port·:·string</code>·::·Port·ID.·Ex.·<code·class="inline">&quot;#Port&lt;0.1031&gt;&quot;</code></li><li><code·class="inline">reason·:·string</code>·::·Exit·reason.·Ex.·<code·class="inline">&quot;normal&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">ports</code>·and158 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">port_open:·{·cpu_id·=·5·},·{·pid·=·&quot;&lt;0.131.0&gt;&quot;,·driver·=·&quot;'/bin/sh·-s·unix:cmd'&quot;,·port·=·&quot;#Port&lt;0.1887&gt;&quot;·}</code></pre><p><em>port_exit</em></p><ul><li><code·class="inline">port·:·string</code>·::·Port·ID.·Ex.·<code·class="inline">&quot;#Port&lt;0.1031&gt;&quot;</code></li><li><code·class="inline">reason·:·string</code>·::·Exit·reason.·Ex.·<code·class="inline">&quot;normal&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">ports</code>·and
159 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">port_exit:·{·cpu_id·=·5·},·{·port·=·&quot;#Port&lt;0.1887&gt;&quot;,·reason·=·&quot;normal&quot;·}</code></pre><p><em>port_link</em></p><ul><li><code·class="inline">to·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">from·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><p><code·class="inline">type·:·string</code>·::·<code·class="inline">&quot;link&quot;·|·&quot;unlink&quot;</code></p></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">ports</code>·and159 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">port_exit:·{·cpu_id·=·5·},·{·port·=·&quot;#Port&lt;0.1887&gt;&quot;,·reason·=·&quot;normal&quot;·}</code></pre><p><em>port_link</em></p><ul><li><code·class="inline">to·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">from·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><p><code·class="inline">type·:·string</code>·::·<code·class="inline">&quot;link&quot;·|·&quot;unlink&quot;</code></p></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">ports</code>·and
160 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">port_link</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9267606662-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="9267606662-1">}</span><span·[·...·truncated·by·diffoscope;·len:·723,·SHA:·d2e9f8e3e31829049728ba7580d10394cd8e3f5f32943ba7a1c40043a35a5850·...·]-2">}</span></code></pre><p><em>port_scheduled</em></p><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">running</code>·and160 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">port_link</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="8192774571-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="8192774571-1">}</span><span·[·...·truncated·by·diffoscope;·len:·723,·SHA:·910a4684906f065cf2d71270dad4392bdc967caa7b65fc16e12a004231c3057e·...·]-2">}</span></code></pre><p><em>port_scheduled</em></p><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">running</code>·and
161 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><ul><li><code·class="inline">port·:·string</code>·::·Port·ID.·Ex.·<code·class="inline">&quot;#Port&lt;0.1031&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Callback.·Ex.·<code·class="inline">&quot;open&quot;</code></li><li><code·class="inline">type·:·string</code>·::161 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><ul><li><code·class="inline">port·:·string</code>·::·Port·ID.·Ex.·<code·class="inline">&quot;#Port&lt;0.1031&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Callback.·Ex.·<code·class="inline">&quot;open&quot;</code></li><li><code·class="inline">type·:·string</code>·::
162 <code·class="inline">&quot;in&quot;·|·&quot;out&quot;·|·&quot;in_exiting&quot;·|·&quot;out_exiting&quot;·|·&quot;out_exited&quot;</code></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">port_scheduled</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="8131101148-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="8131101148-1">}</span><span·[·...·truncated·by·diffoscope;·len:·712,·SHA:·c809e25fe02b242f2b8bc538950a3bd9ec234b7520eb02b5f71b902cc8447013·...·]-2">}</span></code></pre><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">running</code>·and162 <code·class="inline">&quot;in&quot;·|·&quot;out&quot;·|·&quot;in_exiting&quot;·|·&quot;out_exiting&quot;·|·&quot;out_exited&quot;</code></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">port_scheduled</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="6564741755-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="6564741755-1">}</span><span·[·...·truncated·by·diffoscope;·len:·712,·SHA:·852b83be63a8ab934ff9f5b64b424b35a704f0a39e1d2572d3ce50b02f6f8b0f·...·]-2">}</span></code></pre><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">running</code>·and
163 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p><em>function_call</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">depth·:·integer</code>·::·Stack·depth.·Ex.·<code·class="inline">0</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">call</code>·and163 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p><em>function_call</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">depth·:·integer</code>·::·Stack·depth.·Ex.·<code·class="inline">0</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">call</code>·and
164 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">function_call</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="8076720422-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="8076720422-1">}</span><span·[·...·truncated·by·diffoscope;·len:·740,·SHA:·20c90340abcbe8a355a528ac012185a215b4cd4e84c767454abb055574887b11·...·]-2">}</span></code></pre><p><em>function_return</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">depth·:·integer</code>·::·Stack·depth.·Ex.·<code·class="inline">0</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">call</code>·or·<code·class="inline">return_to</code>·and164 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">function_call</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="0312354415-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="0312354415-1">}</span><span·[·...·truncated·by·diffoscope;·len:·740,·SHA:·06135851ad273715ffed2d06ff6cb8498d7922e57a357848e099a58d0d808e02·...·]-2">}</span></code></pre><p><em>function_return</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">depth·:·integer</code>·::·Stack·depth.·Ex.·<code·class="inline">0</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">call</code>·or·<code·class="inline">return_to</code>·and
165 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">function_return</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="1649046754-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="1649046754-1">}</span><span·[·...·truncated·by·diffoscope;·len:·720,·SHA:·c0272ed464243eab7fd3fbbdad0bc78ab837bab66d1ddfa3ce90132735f8dadb·...·]-2">}</span></code></pre><p><em>function_exception</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">class·:·string</code>·::·Error·reason.·Ex.·<code·class="inline">&quot;error&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">call</code>·and165 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">function_return</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="5545243255-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="5545243255-1">}</span><span·[·...·truncated·by·diffoscope;·len:·720,·SHA:·086faa9ffb099a21614975dbb8df43d634bec173456598a7043c35bc96f44d32·...·]-2">}</span></code></pre><p><em>function_exception</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">class·:·string</code>·::·Error·reason.·Ex.·<code·class="inline">&quot;error&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">call</code>·and
166 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">function_exception</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="2122823439-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="2122823439-1">}</span><span·[·...·truncated·by·diffoscope;·len:·718,·SHA:·0887478e679ae860a1901dc1cebb16367e6271d4d67e989938b4e0d5debbb05a·...·]-2">}</span></code></pre><p><em>message_send</em></p><ul><li><code·class="inline">from·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">to·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">message·:·string</code>·::·Message·sent.·Ex.·<code·class="inline">&quot;{&lt;0.162.0&gt;,ok}&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">send</code>·and166 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">function_exception</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="5561580578-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="5561580578-1">}</span><span·[·...·truncated·by·diffoscope;·len:·718,·SHA:·0ef3bb9fdad71edf1dd855de521f9edddea77d51005dca3a4eb1c41b61c25b8c·...·]-2">}</span></code></pre><p><em>message_send</em></p><ul><li><code·class="inline">from·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">to·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">message·:·string</code>·::·Message·sent.·Ex.·<code·class="inline">&quot;{&lt;0.162.0&gt;,ok}&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">send</code>·and
167 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">message_send:·{·cpu_id·=·3·},·{·from·=·&quot;#Port&lt;0.1938&gt;&quot;,·to·=·&quot;&lt;0.160.0&gt;&quot;,·message·=·&quot;{#Port&lt;0.1938&gt;,eof}&quot;·}</code></pre><p><em>message_receive</em></p><ul><li><code·class="inline">to·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">message·:·string</code>·::·Message·received.·Ex.·<code·class="inline">&quot;{&lt;0.162.0&gt;,ok}&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">'receive'</code>·and167 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">message_send:·{·cpu_id·=·3·},·{·from·=·&quot;#Port&lt;0.1938&gt;&quot;,·to·=·&quot;&lt;0.160.0&gt;&quot;,·message·=·&quot;{#Port&lt;0.1938&gt;,eof}&quot;·}</code></pre><p><em>message_receive</em></p><ul><li><code·class="inline">to·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">message·:·string</code>·::·Message·received.·Ex.·<code·class="inline">&quot;{&lt;0.162.0&gt;,ok}&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">'receive'</code>·and
168 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">message_receive:·{·cpu_id·=·7·},·{·to·=·&quot;&lt;0.167.0&gt;&quot;,·message·=·&quot;{&lt;0.165.0&gt;,ok}&quot;·}</code></pre><p><em>gc_minor_start</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">need·:·integer</code>·::·Heap·need.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and168 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">message_receive:·{·cpu_id·=·7·},·{·to·=·&quot;&lt;0.167.0&gt;&quot;,·message·=·&quot;{&lt;0.165.0&gt;,ok}&quot;·}</code></pre><p><em>gc_minor_start</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">need·:·integer</code>·::·Heap·need.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and
169 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gc_minor_start</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9420323227-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="9420323227-1">}</span><span·[·...·truncated·by·diffoscope;·len:·858,·SHA:·d37e5dea728ef5f06bcfeb2525bafbc007055859422fdefbf5c1393e7d63d14d·...·]-2">}</span></code></pre><p><em>gc_minor_end</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">reclaimed·:·integer</code>·::·Heap·reclaimed.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and169 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gc_minor_start</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3724376248-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="3724376248-1">}</span><span·[·...·truncated·by·diffoscope;·len:·858,·SHA:·d3f70c986638c4b7dfd8c9f22f6f7b1d83c7a899d0f631b52dab304c1f066238·...·]-2">}</span></code></pre><p><em>gc_minor_end</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">reclaimed·:·integer</code>·::·Heap·reclaimed.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and
170 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="c">gc_minor_end:·{·cpu_id·=·0·},·{·pid·=·&quot;&lt;0.172.0&gt;&quot;,·reclaimed·=·120,·heap·=·1598,·old_heap·=·1598·}</code></pre><p><em>gc_major_start</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">need·:·integer</code>·::·Heap·need.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and170 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="c">gc_minor_end:·{·cpu_id·=·0·},·{·pid·=·&quot;&lt;0.172.0&gt;&quot;,·reclaimed·=·120,·heap·=·1598,·old_heap·=·1598·}</code></pre><p><em>gc_major_start</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">need·:·integer</code>·::·Heap·need.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and
171 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gc_major_start</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7639515593-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="7639515593-1">}</span><span·[·...·truncated·by·diffoscope;·len:·862,·SHA:·2a2d5b966725f013ec3d7d23d3811f48a6a2b43ce6d1da19c2126e611b03ac54·...·]-2">}</span></code></pre><p><em>gc_major_end</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">reclaimed·:·integer</code>·::·Heap·reclaimed.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and171 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gc_major_start</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="8077111107-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="8077111107-1">}</span><span·[·...·truncated·by·diffoscope;·len:·862,·SHA:·ebe0b77761a263cb2a90c1024e0b9584f0263448accb2c00147c414d5396204c·...·]-2">}</span></code></pre><p><em>gc_major_end</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">reclaimed·:·integer</code>·::·Heap·reclaimed.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and
172 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">gc_major_end:·{·cpu_id·=·0·},·{·pid·=·&quot;&lt;0.172.0&gt;&quot;,·reclaimed·=·240,·heap·=·4185,·old_heap·=·0·}</code></pre><h2·id="beam-tracepoints"·class="section-heading">172 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">gc_major_end:·{·cpu_id·=·0·},·{·pid·=·&quot;&lt;0.172.0&gt;&quot;,·reclaimed·=·240,·heap·=·4185,·old_heap·=·0·}</code></pre><h2·id="beam-tracepoints"·class="section-heading">
173 ··<a·href="#beam-tracepoints"·class="hover-link">173 ··<a·href="#beam-tracepoints"·class="hover-link">
174 ····<i·class="ri-link-m"·aria-hidden="true"></i>174 ····<i·class="ri-link-m"·aria-hidden="true"></i>
175 ··</a>175 ··</a>
176 ··<span·class="text">BEAM·Tracepoints</span>176 ··<span·class="text">BEAM·Tracepoints</span>
177 </h2>177 </h2>
178 <p>All·tracepoints·are·in·the·domain·of·<code·class="inline">org_erlang_otp</code></p><p>All·Erlang·types·are·the·string·equivalent·in·LTTng.</p><p><em>driver_init</em></p><ul><li><code·class="inline">driver·:·string</code>·::·Driver·name.·Ex.·<code·class="inline">&quot;tcp_inet&quot;</code></li><li><code·class="inline">major·:·integer</code>·::·Major·version.·Ex.·<code·class="inline">3</code></li><li><code·class="inline">minor·:·integer</code>·::·Minor·version.·Ex.·<code·class="inline">1</code></li><li><code·class="inline">flags·:·integer</code>·::·Flags.·Ex.·<code·class="inline">1</code></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">driver_init</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="4852411285-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="4852411285-1">}</span><span·[·...·truncated·by·diffoscope;·len:·19389,·SHA:·c8c0cca255e25ae80cf07a9362645610dfd81acc83c8dabb523e07b5b50cf044·...·]-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="1942970258-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="1942970258-1">}</span><span·[·...·truncated·by·diffoscope;·len:·19389,·SHA:·0745d233faa47ef39e068d4c7cc0db864792eaff09d21f9fe9b92b27b3ae94c4·...·]-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="3912795754-1">(</span><span·class="ss">dyntrace</span><span·class="p"·data-group-id="3912795754-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="2066925826-1">(</span><span·class="ss">dyntrace</span><span·class="p"·data-group-id="2066925826-1">)</span><span·class="p">.</span><span·class="w">
201 </span><span·class="p"·data-group-id="3912795754-2">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">dyntrace</span><span·class="p"·data-group-id="3912795754-2">}</span></code></pre><p>All·tracepoints·via·dyntrace·are·now·visible·and·can·be·listed·through201 </span><span·class="p"·data-group-id="2066925826-2">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">dyntrace</span><span·class="p"·data-group-id="2066925826-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="2372886074-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="2372886074-2">[</span><span·class="ss">procs</span><span·class="p">,</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·391,·SHA:·7cbe148bf6e8b294fc1802b7f9ffef4ab562f866a815ab8749b7837944ada8e5·...·]-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="4474599346-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="4474599346-2">[</span><span·class="ss">procs</span><span·class="p">,</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·391,·SHA:·ce0dabb9ea4c1115c93ffc7bec7fb45d688830e74c2bb8fa384e472b7150496e·...·]-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.2/doc/html/msacc.html
    
Offset 127, 29 lines modifiedOffset 127, 29 lines modified
127 ··</h1>127 ··</h1>
  
  
128 ····<section·id="moduledoc">128 ····<section·id="moduledoc">
129 <p>Convenience·functions·for·microstate·accounting</p><p>This·module·implements·some·convenience·functions·for·analyzing·microstate129 <p>Convenience·functions·for·microstate·accounting</p><p>This·module·implements·some·convenience·functions·for·analyzing·microstate
130 accounting·data.·For·details·about·how·to·use·the·basic·API·and·what·the130 accounting·data.·For·details·about·how·to·use·the·basic·API·and·what·the
131 different·states·represent,·see131 different·states·represent,·see
132 <a·href="../../../../erts-16.0/doc/html/erlang.html#statistics_microstate_accounting"><code·class="inline">erlang:statistics(microstate_accounting)</code></a>.</p><p><a·href=""·id="msacc_print_example"></a></p><p><em>Basic·Scenario</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="9736040795-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="9736040795-1">)</span><span·class="p">.</span><span·class="w">132 <a·href="../../../../erts-16.0/doc/html/erlang.html#statistics_microstate_accounting"><code·class="inline">erlang:statistics(microstate_accounting)</code></a>.</p><p><a·href=""·id="msacc_print_example"></a></p><p><em>Basic·Scenario</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="6841409456-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="6841409456-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="9736040795-2">(</span><span·class="p"·data-group-id="9736040795-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="6841409456-2">(</span><span·class="p"·data-group-id="6841409456-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="9736040795-3">(</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="9736040795-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="6841409456-3">(</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="6841409456-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="9736040795-4">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="9736040795-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="6841409456-4">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6841409456-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="9736040795-5">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="9736040795-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="6841409456-5">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6841409456-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="9736040795-6">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="9736040795-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="6841409456-6">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6841409456-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="9736040795-7">(</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="9736040795-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="6841409456-7">(</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="6841409456-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="3463944441-1">(</span><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">stats</span><span·class="p"·data-group-id="3463944441-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:·9adff3854707f34f904476beb2aec200b1cc6f304f567db0b14e4ebb8667c002·...·]-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="4955256533-1">(</span><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">stats</span><span·class="p"·data-group-id="4955256533-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:·392a00b1dd1456545d702ddd74be0f2eb20625b3faaa09a5063329427f87e24a·...·]-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
12.3 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/notes.html
    
Offset 133, 17 lines modifiedOffset 133, 17 lines modified
133 </h2>133 </h2>
134 <h3·id="improvements-and-new-features"·class="section-heading">134 <h3·id="improvements-and-new-features"·class="section-heading">
135 ··<a·href="#improvements-and-new-features"·class="hover-link">135 ··<a·href="#improvements-and-new-features"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Improvements·and·New·Features</span>138 ··<span·class="text">Improvements·and·New·Features</span>
139 </h3>139 </h3>
140 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="3680182262-1">(</span><span·class="p"·data-group-id="3680182262-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3680182262-2">(</span><span·class="p"·data-group-id="3680182262-2">)</span><span·class="p">.</span><span·class="w"> 
141 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="3680182262-3">(</span><span·class="p"·data-group-id="3680182262-3">)</span><span·class="w">·</span><span·class="p">[·...·truncated·by·diffoscope;·len:·1202,·SHA:·81eafc6c1c1262e8a9c3eaa4a21bc12eb5ea41f5fe80421e94f1f3966be10fda·...·]-2">)</span><span·class="p">.</span><span·class="w">140 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·exist[·...·truncated·by·diffoscope;·len:·949,·SHA:·26eae2b407dcfd2153e4899be30f167b8c1bb3c4160a4bfb19fd20b37fd73851·...·]-2">)</span><span·class="p">.</span><span·class="w">
 141 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="5463118719-3">(</span><span·class="p"·data-group-id="5463118719-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5463118719-4">(</span><span·class="p"·data-group-id="5463118719-4">)</span><span·class="p">.</span></code></pre><p>Nominal·typing·is·an·alternative·type·system,·where·two·types·are·equivalent·if·and·only·if·they·are·declared·with·the·same·type·name.·The·EEP·proposes·one·new·syntax·-nominal·for·declaring·nominal·types.·Under·nominal·typing,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·no·longer·compatible.·Whenever·a·function·expects·type·<code·class="inline">meter()</code>,·passing·in·type·<code·class="inline">foot()</code>·would·result·in·a·Dialyzer·error.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="1271335714-1">(</span><span·class="p"·data-group-id="1271335714-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1271335714-2">(</span><span·class="p"·data-group-id="1271335714-2">)</span><span·class="p">.</span><span·class="w">
142 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="4534871882-3">(</span><span·class="p"·data-group-id="4534871882-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4534871882-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·e9391ead17842a9349f1ba6dc25424c86cc363fced9025260ab37cdd53594fb4·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>When·compiling·C/C++·code·on·Unix·systems,·the·compiler·hardening·flags·suggested·by·the·<a·href="https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md">Open·Source·Security·Foundation</a>·are·now·enabled·by·default.·To·disable·them,·pass·<code·class="inline">--disable-security-hardening-flags</code>·to·<code·class="inline">configure</code>.</p><p>Own·Id:·OTP-19519·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9441"·title="">PR-9441</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>With·this·change·observer·will·use·cheaper·iterators·to·avoid·locking·when·not·necessary.</p><p>Own·Id:·OTP-19584·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9711"·title="">PR-9711</a></p></li></ul><h2·id="runtime_tools-2-1-1"·class="section-heading">142 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="1271335714-3">(</span><span·class="p"·data-group-id="1271335714-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1271335714-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·7c71919c67f4e5050a49c1e496b52d31832d8eacc90610c76c2c8c4003b32fc3·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>When·compiling·C/C++·code·on·Unix·systems,·the·compiler·hardening·flags·suggested·by·the·<a·href="https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md">Open·Source·Security·Foundation</a>·are·now·enabled·by·default.·To·disable·them,·pass·<code·class="inline">--disable-security-hardening-flags</code>·to·<code·class="inline">configure</code>.</p><p>Own·Id:·OTP-19519·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9441"·title="">PR-9441</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>With·this·change·observer·will·use·cheaper·iterators·to·avoid·locking·when·not·necessary.</p><p>Own·Id:·OTP-19584·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9711"·title="">PR-9711</a></p></li></ul><h2·id="runtime_tools-2-1-1"·class="section-heading">
143 ··<a·href="#runtime_tools-2-1-1"·class="hover-link">143 ··<a·href="#runtime_tools-2-1-1"·class="hover-link">
144 ····<i·class="ri-link-m"·aria-hidden="true"></i>144 ····<i·class="ri-link-m"·aria-hidden="true"></i>
145 ··</a>145 ··</a>
146 ··<span·class="text">Runtime_Tools·2.1.1</span>146 ··<span·class="text">Runtime_Tools·2.1.1</span>
147 </h2>147 </h2>
148 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">148 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">
149 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">149 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">
Offset 1289, 15 lines modifiedOffset 1289, 15 lines modified
1289 ······<p·class="built-using">1289 ······<p·class="built-using">
1290 ········Built·using1290 ········Built·using
1291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1293 ······</p>1293 ······</p>
1294 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1294 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1295 ····</footer>1295 ····</footer>
1296 ··</div>1296 ··</div>
1297 </main>1297 </main>
1298 </div>1298 </div>
1299 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1299 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1300 ··<script>1300 ··<script>
1301 ··let·initialized·=·false;1301 ··let·initialized·=·false;
680 B
html2text {}
Max HTML report size reached
511 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/runtime_tools.epub
3.27 KB
zipinfo {}
Max HTML report size reached
111 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
2.53 KB
OEBPS/scheduler.xhtml
Max HTML report size reached
10.8 KB
OEBPS/notes.xhtml
Max HTML report size reached
12.9 KB
OEBPS/msacc.xhtml
Max HTML report size reached
92.2 KB
OEBPS/lttng.xhtml
Max HTML report size reached
50.5 KB
OEBPS/instrument.xhtml
Max HTML report size reached
11.3 KB
OEBPS/dyntrace.xhtml
Max HTML report size reached
215 KB
OEBPS/dbg.xhtml
Max HTML report size reached
1.24 KB
OEBPS/content.opf
1.21 KB
OEBPS/content.opf
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/runtime_tools_app.html
    
Offset 191, 15 lines modifiedOffset 191, 15 lines modified
191 ······<p·class="built-using">191 ······<p·class="built-using">
192 ········Built·using192 ········Built·using
193 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the193 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
194 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>194 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
195 ······</p>195 ······</p>
196 <p>Copyright·©·1996-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.1 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/scheduler.html
    
Offset 591, 15 lines modifiedOffset 591, 15 lines modified
591 ······</div>591 ······</div>
  
592 <p>Measure·utilization·for·normal·and·dirty-cpu·schedulers·during·<code·class="inline">Seconds</code>592 <p>Measure·utilization·for·normal·and·dirty-cpu·schedulers·during·<code·class="inline">Seconds</code>
593 seconds,·and·then·return·the·result.</p><p>Will·automatically·first·enable·and·then·disable593 seconds,·and·then·return·the·result.</p><p>Will·automatically·first·enable·and·then·disable
594 <a·href="../../../../erts-16.0/doc/html/erlang.html#system_flag_scheduler_wall_time"><code·class="inline">scheduler_wall_time</code></a>.</p><p>Calculate·scheduler·utilizations·for·the·time·interval·from·when·<code·class="inline">Sample</code>·was594 <a·href="../../../../erts-16.0/doc/html/erlang.html#system_flag_scheduler_wall_time"><code·class="inline">scheduler_wall_time</code></a>.</p><p>Calculate·scheduler·utilizations·for·the·time·interval·from·when·<code·class="inline">Sample</code>·was
595 taken·and·&quot;now&quot;.·The·same·as·calling595 taken·and·&quot;now&quot;.·The·same·as·calling
596 <code·class="inline">scheduler:utilization(Sample,·scheduler:sample_all())</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·function·is·<em>not·recommended</em>·as·it's·so·easy·to·get·invalid·results596 <code·class="inline">scheduler:utilization(Sample,·scheduler:sample_all())</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·function·is·<em>not·recommended</em>·as·it's·so·easy·to·get·invalid·results
597 without·noticing.·In·particular·do·not·do·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">scheduler</span><span·class="p">:</span><span·class="nf">utilization</span><span·class="p"·data-group-id="1585100235-1">(</span><span·class="nc">scheduler</span><span·class="p">:</span><span·class="nf">sample</span><span·class="p"·data-group-id="1585100235-2">(</span><span·class="p"·data-group-id="1585100235-2">)</span><span·class="p"·data-group-id="1585100235-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="2749673280-1">(</span><span·class="nc">scheduler</span><span·class="p">:</span><span·class="nf">sample</span><span·class="p"·data-group-id="2749673280-2">(</span><span·class="p"·data-group-id="2749673280-2">)</span><span·class="p"·data-group-id="2749673280-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.76 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/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-280DC1A3.js"></script>124 <script·src="dist/search_data-309AD241.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;
468 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/system_information.html
    
Offset 290, 15 lines modifiedOffset 290, 15 lines modified
290 ······<p·class="built-using">290 ······<p·class="built-using">
291 ········Built·using291 ········Built·using
292 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the292 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
293 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>293 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
294 ······</p>294 ······</p>
295 <p>Copyright·©·1996-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.54 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/systemtap.html
    
Offset 209, 15 lines modifiedOffset 209, 15 lines modified
209 ······<p·class="built-using">209 ······<p·class="built-using">
210 ········Built·using210 ········Built·using
211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
213 ······</p>213 ······</p>
214 <p>Copyright·©·1996-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.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.51 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/alarm_handler.html
    
Offset 404, 15 lines modifiedOffset 404, 15 lines modified
404 ······<p·class="built-using">404 ······<p·class="built-using">
405 ········Built·using405 ········Built·using
406 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the406 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
407 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>407 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
408 ······</p>408 ······</p>
409 <p>Copyright·©·1996-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.41 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/api-reference.html
    
Offset 208, 15 lines modifiedOffset 208, 15 lines modified
208 ······<p·class="built-using">208 ······<p·class="built-using">
209 ········Built·using209 ········Built·using
210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
212 ······</p>212 ······</p>
213 <p>Copyright·©·1996-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.3/doc/html/appup.html
    
Offset 216, 29 lines modifiedOffset 216, 29 lines modified
216 that·is,·if·a·process·using·the·module·spontaneously·switches·to·new·code,·or216 that·is,·if·a·process·using·the·module·spontaneously·switches·to·new·code,·or
217 if·it·is·&quot;static&quot;.·When·doing·an·advanced·update·and·upgrade,·the·new·version217 if·it·is·&quot;static&quot;.·When·doing·an·advanced·update·and·upgrade,·the·new·version
218 of·a·dynamic·module·is·loaded·before·the·process·is·asked·to·change·code.·When218 of·a·dynamic·module·is·loaded·before·the·process·is·asked·to·change·code.·When
219 downgrading,·the·process·is·asked·to·change·code·before·loading·the·new219 downgrading,·the·process·is·asked·to·change·code·before·loading·the·new
220 version.·For·static·modules,·the·new·version·is·loaded·before·the·process·is220 version.·For·static·modules,·the·new·version·is·loaded·before·the·process·is
221 asked·to·change·code,·both·in·the·case·of·upgrading·and·downgrading.·Callback221 asked·to·change·code,·both·in·the·case·of·upgrading·and·downgrading.·Callback
222 modules·are·dynamic.</p></li></ul><p><code·class="inline">update</code>·with·argument·<code·class="inline">supervisor</code>·is·used·when·changing·the·start222 modules·are·dynamic.</p></li></ul><p><code·class="inline">update</code>·with·argument·<code·class="inline">supervisor</code>·is·used·when·changing·the·start
223 specification·of·a·supervisor.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1788747390-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="1788747390-1">}</span><span·class="w">223 specification·of·a·supervisor.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4269029630-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="4269029630-1">}</span><span·class="w">
224 </span><span·class="p"·data-group-id="1788747390-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="1788747390-2">}</span><span·class="w">224 </span><span·class="p"·data-group-id="4269029630-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="4269029630-2">}</span><span·class="w">
225 </span><span·class="p"·data-group-id="1788747390-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:·152,·SHA:·fa02d8d2f429f6799732302bcb2e4c28b34fbc0829864f677e594cc2b5dbbf90·...·]0-3">}</span><span·class="w">225 </span><span·class="p"·data-group-id="4269029630-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:·152,·SHA:·158d28ed2361e254a9a1b3f9f0a213f8f4d1e3bb83cbdf9edd21d0440d4fd671·...·]0-3">}</span><span·class="w">
226 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="1788747390-4">(</span><span·class="p"·data-group-id="1788747390-4">)</span><span·class="w">226 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="4269029630-4">(</span><span·class="p"·data-group-id="4269029630-4">)</span><span·class="w">
227 ··</span><span·class="n">PrePurge</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">PostPurge</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">soft_purge</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">brutal_purge</span><span·class="w">227 ··</span><span·class="n">PrePurge</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">PostPurge</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">soft_purge</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">brutal_purge</span><span·class="w">
228 ··</span><span·class="n">DepMods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1788747390-5">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="1788747390-5">]</span></code></pre><p>Simple·code·replacement·of·the·module·<code·class="inline">Mod</code>.</p><p>For·a·description·of·<code·class="inline">PrePurge</code>·and·<code·class="inline">PostPurge</code>,·see·<code·class="inline">update</code>·above.</p><p><code·class="inline">DepMods</code>·defaults·to·<code·class="inline">[]</code>·and·defines·which·other·modules·<code·class="inline">Mod</code>·is·dependent228 ··</span><span·class="n">DepMods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4269029630-5">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="4269029630-5">]</span></code></pre><p>Simple·code·replacement·of·the·module·<code·class="inline">Mod</code>.</p><p>For·a·description·of·<code·class="inline">PrePurge</code>·and·<code·class="inline">PostPurge</code>,·see·<code·class="inline">update</code>·above.</p><p><code·class="inline">DepMods</code>·defaults·to·<code·class="inline">[]</code>·and·defines·which·other·modules·<code·class="inline">Mod</code>·is·dependent
229 on.·In·the·<code·class="inline">relup</code>·file,·instructions·for·loading·these·modules·come·before·the229 on.·In·the·<code·class="inline">relup</code>·file,·instructions·for·loading·these·modules·come·before·the
230 instruction·for·loading·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5243969117-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="5243969117-1">}</span><span·class="w">230 instruction·for·loading·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0792993578-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="0792993578-1">}</span><span·class="w">
231 </span><span·class="p"·data-group-id="5243969117-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="5243969117-2">}</span><span·class="w">231 </span><span·class="p"·data-group-id="0792993578-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="0792993578-2">}</span><span·class="w">
232 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="5243969117-3">(</span><span·class="p"·data-group-id="5243969117-3">)</span><span·class="w">232 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="0792993578-3">(</span><span·class="p"·data-group-id="0792993578-3">)</span><span·class="w">
233 ··</span><span·class="n">DepMods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5243969117-4">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="5243969117-4">]</span></code></pre><p>Loads·a·new·module·<code·class="inline">Mod</code>.</p><p><code·class="inline">DepMods</code>·defaults·to·<code·class="inline">[]</code>·and·defines·which·other·modules·<code·class="inline">Mod</code>·is·dependent233 ··</span><span·class="n">DepMods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0792993578-4">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="0792993578-4">]</span></code></pre><p>Loads·a·new·module·<code·class="inline">Mod</code>.</p><p><code·class="inline">DepMods</code>·defaults·to·<code·class="inline">[]</code>·and·defines·which·other·modules·<code·class="inline">Mod</code>·is·dependent
234 on.·In·the·<code·class="inline">relup</code>·file,·instructions·related·to·these·modules·come·before·the234 on.·In·the·<code·class="inline">relup</code>·file,·instructions·related·to·these·modules·come·before·the
235 instruction·for·loading·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0382570743-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="0382570743-1">}</span><span·class="w">235 instruction·for·loading·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6790991367-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="6790991367-1">}</span><span·class="w">
236 </span><span·class="p"·data-group-id="0382570743-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="0382570743-2">}</span><span·class="w">236 </span><span·class="p"·data-group-id="6790991367-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="6790991367-2">}</span><span·class="w">
237 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="0382570743-3">(</span><span·class="p"·data-group-id="0382570743-3">)</span></code></pre><p>Deletes·a·module·<code·class="inline">Mod</code>·using·the·low-level·instructions·<code·class="inline">remove</code>·and·<code·class="inline">purge</code>.</p><p><code·class="inline">DepMods</code>·defaults·to·<code·class="inline">[]</code>·and·defines·which·other·modules·<code·class="inline">Mod</code>·is·dependent237 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="6790991367-3">(</span><span·class="p"·data-group-id="6790991367-3">)</span></code></pre><p>Deletes·a·module·<code·class="inline">Mod</code>·using·the·low-level·instructions·<code·class="inline">remove</code>·and·<code·class="inline">purge</code>.</p><p><code·class="inline">DepMods</code>·defaults·to·<code·class="inline">[]</code>·and·defines·which·other·modules·<code·class="inline">Mod</code>·is·dependent
238 on.·In·the·<code·class="inline">relup</code>·file,·instructions·related·to·these·modules·come·before·the238 on.·In·the·<code·class="inline">relup</code>·file,·instructions·related·to·these·modules·come·before·the
239 instruction·for·removing·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="text">{add_application,·Application}239 instruction·for·removing·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="text">{add_application,·Application}
240 {add_application,·Application,·Type}240 {add_application,·Application,·Type}
241 ··Application·=·atom()241 ··Application·=·atom()
242 ··Type·=·permanent·|·transient·|·temporary·|·load·|·none</code></pre><p>Adding·an·application·means·that·the·modules·defined·by·the·<code·class="inline">modules</code>·key·in·the242 ··Type·=·permanent·|·transient·|·temporary·|·load·|·none</code></pre><p>Adding·an·application·means·that·the·modules·defined·by·the·<code·class="inline">modules</code>·key·in·the
243 <code·class="inline">.app</code>·file·are·loaded·using·<code·class="inline">add_module</code>.</p><p><code·class="inline">Type</code>·defaults·to·<code·class="inline">permanent</code>·and·specifies·the·start·type·of·the·application.243 <code·class="inline">.app</code>·file·are·loaded·using·<code·class="inline">add_module</code>.</p><p><code·class="inline">Type</code>·defaults·to·<code·class="inline">permanent</code>·and·specifies·the·start·type·of·the·application.
244 If·<code·class="inline">Type·=·permanent·|·transient·|·temporary</code>,·the·application·is·loaded·and244 If·<code·class="inline">Type·=·permanent·|·transient·|·temporary</code>,·the·application·is·loaded·and
Offset 257, 62 lines modifiedOffset 257, 62 lines modified
257 application·is·not·loaded·and·not·started,·although·the·code·for·its·modules·is257 application·is·not·loaded·and·not·started,·although·the·code·for·its·modules·is
258 loaded.</p><h3·id="low-level-instructions"·class="section-heading">258 loaded.</p><h3·id="low-level-instructions"·class="section-heading">
259 ··<a·href="#low-level-instructions"·class="hover-link">259 ··<a·href="#low-level-instructions"·class="hover-link">
260 ····<i·class="ri-link-m"·aria-hidden="true"></i>260 ····<i·class="ri-link-m"·aria-hidden="true"></i>
261 ··</a>261 ··</a>
262 ··<span·class="text">Low-Level·Instructions</span>262 ··<span·class="text">Low-Level·Instructions</span>
263 </h3>263 </h3>
264 <pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0855408636-1">{</span><span·class="ss">load_object_code</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0855408636-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:·d06bb3a83ff6007040112026cd1b9312a012a8fd7cbfa4184e376d0d8f9b80f8·...·]-1">}</span><span·class="w">264 <pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4058115347-1">{</span><span·class="ss">load_object_code</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4058115347-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:·28b1505ac73eb5e95e318871d8dbc9c19393eef913cd8c74cbc6e63fec8c94f8·...·]-1">}</span><span·class="w">
265 ··</span><span·class="n">App</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="0855408636-4">(</span><span·class="p"·data-group-id="0855408636-4">)</span><span·class="w">265 ··</span><span·class="n">App</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="4058115347-4">(</span><span·class="p"·data-group-id="4058115347-4">)</span><span·class="w">
266 ··</span><span·class="n">Vsn</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="0855408636-5">(</span><span·class="p"·data-group-id="0855408636-5">)</span></code></pre><p>Reads·each·<code·class="inline">Mod</code>·from·directory·<code·class="inline">App-Vsn/ebin</code>·as·a·binary.·It·does·not·load·the266 ··</span><span·class="n">Vsn</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="4058115347-5">(</span><span·class="p"·data-group-id="4058115347-5">)</span></code></pre><p>Reads·each·<code·class="inline">Mod</code>·from·directory·<code·class="inline">App-Vsn/ebin</code>·as·a·binary.·It·does·not·load·the
267 modules.·The·instruction·is·to·be·placed·first·in·the·script·to·read·all·new267 modules.·The·instruction·is·to·be·placed·first·in·the·script·to·read·all·new
268 code·from·the·file·to·make·the·suspend-load-resume·cycle·less·time-consuming.</p><pre><code·class="text">point_of_no_return</code></pre><p>If·a·crash·occurs·after·this·instruction,·the·system·cannot·recover·and·is268 code·from·the·file·to·make·the·suspend-load-resume·cycle·less·time-consuming.</p><pre><code·class="text">point_of_no_return</code></pre><p>If·a·crash·occurs·after·this·instruction,·the·system·cannot·recover·and·is
269 restarted·from·the·old·release·version.·The·instruction·must·only·occur·once·in269 restarted·from·the·old·release·version.·The·instruction·must·only·occur·once·in
270 a·script.·It·is·to·be·placed·after·all·<code·class="inline">load_object_code</code>·instructions.</p><pre><code·class="text">{load,·{Mod,·PrePurge,·PostPurge}}270 a·script.·It·is·to·be·placed·after·all·<code·class="inline">load_object_code</code>·instructions.</p><pre><code·class="text">{load,·{Mod,·PrePurge,·PostPurge}}
271 ··Mod·=·atom()271 ··Mod·=·atom()
272 ··PrePurge·=·PostPurge·=·soft_purge·|·brutal_purge</code></pre><p>Before·this·instruction·occurs,·<code·class="inline">Mod</code>·must·have·been·loaded·using272 ··PrePurge·=·PostPurge·=·soft_purge·|·brutal_purge</code></pre><p>Before·this·instruction·occurs,·<code·class="inline">Mod</code>·must·have·been·loaded·using
273 <code·class="inline">load_object_code</code>.·This·instruction·loads·the·module.·<code·class="inline">PrePurge</code>·is·ignored.273 <code·class="inline">load_object_code</code>.·This·instruction·loads·the·module.·<code·class="inline">PrePurge</code>·is·ignored.
274 For·a·description·of·<code·class="inline">PostPurge</code>,·see·the·high-level·instruction·<code·class="inline">update</code>274 For·a·description·of·<code·class="inline">PostPurge</code>,·see·the·high-level·instruction·<code·class="inline">update</code>
275 earlier.</p><pre><code·class="text">{remove,·{Mod,·PrePurge,·PostPurge}}275 earlier.</p><pre><code·class="text">{remove,·{Mod,·PrePurge,·PostPurge}}
276 ··Mod·=·atom()276 ··Mod·=·atom()
277 ··PrePurge·=·PostPurge·=·soft_purge·|·brutal_purge</code></pre><p>Makes·the·current·version·of·<code·class="inline">Mod</code>·old.·<code·class="inline">PrePurge</code>·is·ignored.·For·a·description277 ··PrePurge·=·PostPurge·=·soft_purge·|·brutal_purge</code></pre><p>Makes·the·current·version·of·<code·class="inline">Mod</code>·old.·<code·class="inline">PrePurge</code>·is·ignored.·For·a·description
278 of·<code·class="inline">PostPurge</code>,·see·the·high-level·instruction·<code·class="inline">update</code>·earlier.</p><pre><code·class="text">{purge,·[Mod]}278 of·<code·class="inline">PostPurge</code>,·see·the·high-level·instruction·<code·class="inline">update</code>·earlier.</p><pre><code·class="text">{purge,·[Mod]}
279 ··Mod·=·atom()</code></pre><p>Purges·each·module·<code·class="inline">Mod</code>,·that·is,·removes·the·old·code.·Notice·that·any·process279 ··Mod·=·atom()</code></pre><p>Purges·each·module·<code·class="inline">Mod</code>,·that·is,·removes·the·old·code.·Notice·that·any·process
280 executing·purged·code·is·killed.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7358801869-1">{</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7358801869-2">[</span><span·class="n">Mod</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·300,·SHA:·540d97a2c0394c399a02fc136af3e576bf7022ea72c5539789d5ad6607953656·...·]-1">}</span><span·class="w">280 executing·purged·code·is·killed.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2625017802-1">{</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2625017802-2">[</span><span·class="n">Mod</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·300,·SHA:·bc64b584f590aa6b03c47cfea14ad642e0bef2c5134c14dcdef8bf5fb9b21be4·...·]-1">}</span><span·class="w">
281 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="7358801869-4">(</span><span·class="p"·data-group-id="7358801869-4">)</span><span·class="w">281 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="2625017802-4">(</span><span·class="p"·data-group-id="2625017802-4">)</span><span·class="w">
282 ··</span><span·class="n">Timeout</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="7358801869-5">(</span><span·class="p"·data-group-id="7358801869-5">)</span><span·class="o">&gt;</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">default</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">infinity</span></code></pre><p>Tries·to·suspend·all·processes·using·a·module·<code·class="inline">Mod</code>.·If·a·process·does·not282 ··</span><span·class="n">Timeout</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="2625017802-5">(</span><span·class="p"·data-group-id="2625017802-5">)</span><span·class="o">&gt;</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">default</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">infinity</span></code></pre><p>Tries·to·suspend·all·processes·using·a·module·<code·class="inline">Mod</code>.·If·a·process·does·not
283 respond,·it·is·ignored.·This·can·cause·the·process·to·die,·either·because·it283 respond,·it·is·ignored.·This·can·cause·the·process·to·die,·either·because·it
284 crashes·when·it·spontaneously·switches·to·new·code,·or·as·a·result·of·a·purge284 crashes·when·it·spontaneously·switches·to·new·code,·or·as·a·result·of·a·purge
285 operation.·If·no·<code·class="inline">Timeout</code>·is·specified·or·<code·class="inline">default</code>·is·specified,·the·default285 operation.·If·no·<code·class="inline">Timeout</code>·is·specified·or·<code·class="inline">default</code>·is·specified,·the·default
286 value·for·<a·href="../../../../lib/stdlib-7.0/doc/html/sys.html#suspend/1"><code·class="inline">sys:suspend</code></a>·is·used.</p><pre><code·class="text">{resume,·[Mod]}286 value·for·<a·href="../../../../lib/stdlib-7.0/doc/html/sys.html#suspend/1"><code·class="inline">sys:suspend</code></a>·is·used.</p><pre><code·class="text">{resume,·[Mod]}
287 ··Mod·=·atom()</code></pre><p>Resumes·all·suspended·processes·using·a·module·<code·class="inline">Mod</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9193281699-1">{</span><span·class="ss">code_change</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9193281699-2">[</span><span·class="p"·data-group-id="9193281699-3">{</span><span·class="n">Mod</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·202,·SHA:·f049cc769796b9c20d25eb3eaec7c1c429348eee57ce04e70662d8971775fd5f·...·]99-1">}</span><span·class="w">287 ··Mod·=·atom()</code></pre><p>Resumes·all·suspended·processes·using·a·module·<code·class="inline">Mod</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2902655399-1">{</span><span·class="ss">code_change</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2902655399-2">[</span><span·class="p"·data-group-id="2902655399-3">{</span><span·class="n">Mod</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·202,·SHA:·982a2b3041dbcb83f5ead182415748781a3ac2814b84942f0683fd1bfc2cda5a·...·]99-1">}</span><span·class="w">
288 </span><span·class="p"·data-group-id="9193281699-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="9193281699-5">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·277,·SHA:·c98c4945844df3b69313ad1a57f8300343053555bbe41c6121fa61946eaa8dd7·...·]99-4">}</span><span·class="w">288 </span><span·class="p"·data-group-id="2902655399-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="2902655399-5">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·277,·SHA:·b9ac71ccc76b92d36e49fff78523901db41102b9e339128695777b088a1271b8·...·]99-4">}</span><span·class="w">
289 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="9193281699-7">(</span><span·class="p"·data-group-id="9193281699-7">)</span><span·class="w">289 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="2902655399-7">(</span><span·class="p"·data-group-id="2902655399-7">)</span><span·class="w">
290 ··</span><span·class="n">Mode</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">up</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">down</span><span·class="w">290 ··</span><span·class="n">Mode</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">up</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">down</span><span·class="w">
291 ··</span><span·class="n">Extra</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="9193281699-8">(</span><span·class="p"·data-group-id="9193281699-8">)</span></code></pre><p><code·class="inline">Mode</code>·defaults·to·<code·class="inline">up</code>·and·specifies·if·it·is·an·upgrade·or·downgrade.·This291 ··</span><span·class="n">Extra</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="2902655399-8">(</span><span·class="p"·data-group-id="2902655399-8">)</span></code></pre><p><code·class="inline">Mode</code>·defaults·to·<code·class="inline">up</code>·and·specifies·if·it·is·an·upgrade·or·downgrade.·This
292 instruction·sends·a·<code·class="inline">code_change</code>·system·message·to·all·processes·using·a·module292 instruction·sends·a·<code·class="inline">code_change</code>·system·message·to·all·processes·using·a·module
293 <code·class="inline">Mod</code>·by·calling·function·<a·href="../../../../lib/stdlib-7.0/doc/html/sys.html#change_code/4"><code·class="inline">sys:change_code</code></a>,·passing·term293 <code·class="inline">Mod</code>·by·calling·function·<a·href="../../../../lib/stdlib-7.0/doc/html/sys.html#change_code/4"><code·class="inline">sys:change_code</code></a>,·passing·term
294 <code·class="inline">Extra</code>·as·argument.</p><pre><code·class="text">{stop,·[Mod]}294 <code·class="inline">Extra</code>·as·argument.</p><pre><code·class="text">{stop,·[Mod]}
295 ··Mod·=·atom()</code></pre><p>Stops·all·processes·using·a·module·<code·class="inline">Mod</code>·by·calling295 ··Mod·=·atom()</code></pre><p>Stops·all·processes·using·a·module·<code·class="inline">Mod</code>·by·calling
296 <a·href="../../../../lib/stdlib-7.0/doc/html/supervisor.html#terminate_child/2"><code·class="inline">supervisor:terminate_child/2</code></a>.·This·instruction·is·useful·when·the·simplest·way296 <a·href="../../../../lib/stdlib-7.0/doc/html/supervisor.html#terminate_child/2"><code·class="inline">supervisor:terminate_child/2</code></a>.·This·instruction·is·useful·when·the·simplest·way
297 to·change·code·is·to·stop·and·restart·the·processes·that·run·the·code.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4467238683-1">{</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4467238683-2">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="4467238683-2">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·2edaf41751e8bf23e9e92d8ad1f5f24ca44632612ca62f02586b8e9ccfe371db·...·]-1">}</span><span·class="w">297 to·change·code·is·to·stop·and·restart·the·processes·that·run·the·code.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8061501995-1">{</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8061501995-2">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="8061501995-2">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·ff0d41b7585d1581a9c413184253590ea3663d985d3fac9f82b5e3763b806d71·...·]-1">}</span><span·class="w">
298 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="4467238683-3">(</span><span·class="p"·data-group-id="4467238683-3">)</span></code></pre><p>Starts·all·stopped·processes·using·a·module·<code·class="inline">Mod</code>·by·calling298 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="8061501995-3">(</span><span·class="p"·data-group-id="8061501995-3">)</span></code></pre><p>Starts·all·stopped·processes·using·a·module·<code·class="inline">Mod</code>·by·calling
299 <a·href="../../../../lib/stdlib-7.0/doc/html/supervisor.html#restart_child/2"><code·class="inline">supervisor:restart_child/2</code></a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5094399845-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="5094399845-2">[</span><span·class="n">Node</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·14742766e5ee527a8c92eee83a93ab454f96ac0d56cad145cb5670f110d86d64·...·]-1">}</span><span·class="w">299 <a·href="../../../../lib/stdlib-7.0/doc/html/supervisor.html#restart_child/2"><code·class="inline">supervisor:restart_child/2</code></a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0714338364-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="0714338364-2">[</span><span·class="n">Node</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·411f67f2e58a37cd6bb71de260f3cbc04820316ff448be97fe19f6799a25e0f1·...·]-1">}</span><span·class="w">
300 </span><span·class="p"·data-group-id="5094399845-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="5094399845-4">{</span><span·class="n">M</span><s[·...·truncated·by·diffoscope;·len:·236,·SHA:·397bd9f70a2929464f069df1c0466346cf1be07db3748964fe138c51396fc83e·...·]-3">}</span><span·class="w">300 </span><span·class="p"·data-group-id="0714338364-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="0714338364-4">{</span><span·class="n">M</span><s[·...·truncated·by·diffoscope;·len:·236,·SHA:·0361e9d2428118202adeb88c5efec541e355e672e7e6330a75e155d3f4a8b0f8·...·]-3">}</span><span·class="w">
301 ··</span><span·class="n">Id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="5094399845-5">(</span><span·class="p"·data-group-id="5094399845-5">)</span><span·class="w">301 ··</span><span·class="n">Id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="0714338364-5">(</span><span·class="p"·data-group-id="0714338364-5">)</span><span·class="w">
302 ··</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="5094399845-6">(</span><span·class="p"·data-group-id="5094399845-6">)</span><span·class="w">302 ··</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="0714338364-6">(</span><span·class="p"·data-group-id="0714338364-6">)</span><span·class="w">
303 ··</span><span·class="n">M</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="5094399845-7">(</span><span·class="p"·data-group-id="5094399845-7">)</span><span·class="w">303 ··</span><span·class="n">M</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="0714338364-7">(</span><span·class="p"·data-group-id="0714338364-7">)</span><span·class="w">
304 ··</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5094399845-8">[</span><span·class="nf">term</span><span·class="p"·data-group-id="5094399845-9">(</span><span·class="p"·data-group-id="5094399845-9">)</span><span·class="p"·data-group-id="5094399845-8">]</span></code></pre><p><a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,·F,·A)</code></a>·must·return·a·list·of·nodes.</p><p>This·instruction·synchronizes·the·release·installation·with·other·nodes.·Each304 ··</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0714338364-8">[</span><span·class="nf">term</span><span·class="p"·data-group-id="0714338364-9">(</span><span·class="p"·data-group-id="0714338364-9">)</span><span·class="p"·data-group-id="0714338364-8">]</span></code></pre><p><a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,·F,·A)</code></a>·must·return·a·list·of·nodes.</p><p>This·instruction·synchronizes·the·release·installation·with·other·nodes.·Each
305 <code·class="inline">Node</code>·must·evaluate·this·command·with·the·same·<code·class="inline">Id</code>.·The·local·node·waits·for305 <code·class="inline">Node</code>·must·evaluate·this·command·with·the·same·<code·class="inline">Id</code>.·The·local·node·waits·for
306 all·other·nodes·to·evaluate·the·instruction·before·execution·continues.·If·a306 all·other·nodes·to·evaluate·the·instruction·before·execution·continues.·If·a
307 node·goes·down,·it·is·considered·to·be·an·unrecoverable·error,·and·the·local307 node·goes·down,·it·is·considered·to·be·an·unrecoverable·error,·and·the·local
308 node·is·restarted·from·the·old·release.·There·is·no·time-out·for·this308 node·is·restarted·from·the·old·release.·There·is·no·time-out·for·this
309 instruction,·which·means·that·it·can·hang·forever.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8865125172-1">{</span><span·class="nb">apply</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8865125172-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:·c024fd1361b09bb5cd2552cc4d382d038c0cd79506d1daccb5b27aedae0a7fe0·...·]-1">}</span><span·class="w">309 instruction,·which·means·that·it·can·hang·forever.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2625244025-1">{</span><span·class="nb">apply</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2625244025-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:·019b101436b8e8d84381d324e177b30492ee9537e37bb7d3e4efa42cc3a3c48b·...·]-1">}</span><span·class="w">
310 ··</span><span·class="n">M</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="8865125172-3">(</span><span·class="p"·data-group-id="8865125172-3">)</span><span·class="w">310 ··</span><span·class="n">M</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="2625244025-3">(</span><span·class="p"·data-group-id="2625244025-3">)</span><span·class="w">
311 ··</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8865125172-4">[</span><span·class="nf">term</span><span·class="p"·data-group-id="8865125172-5">(</span><span·class="p"·data-group-id="8865125172-5">)</span><span·class="p"·data-group-id="8865125172-4">]</span></code></pre><p>Evaluates·<a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,·F,·A)</code></a>.</p><p>If·the·instruction·appears·before·instruction·<code·class="inline">point_of_no_return</code>,·a·failure·is311 ··</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2625244025-4">[</span><span·class="nf">term</span><span·class="p"·data-group-id="2625244025-5">(</span><span·class="p"·data-group-id="2625244025-5">)</span><span·class="p"·data-group-id="2625244025-4">]</span></code></pre><p>Evaluates·<a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,·F,·A)</code></a>.</p><p>If·the·instruction·appears·before·instruction·<code·class="inline">point_of_no_return</code>,·a·failure·is
312 caught.·<a·href="release_handler.html#install_release/1"><code·class="inline">release_handler:install_release/1</code></a>·then·returns312 caught.·<a·href="release_handler.html#install_release/1"><code·class="inline">release_handler:install_release/1</code></a>·then·returns
313 <code·class="inline">{error,{'EXIT',Reason}}</code>,·unless·<code·class="inline">{error,Error}</code>·is·thrown·or·returned.·Then·it313 <code·class="inline">{error,{'EXIT',Reason}}</code>,·unless·<code·class="inline">{error,Error}</code>·is·thrown·or·returned.·Then·it
314 returns·<code·class="inline">{error,Error}</code>.</p><p>If·the·instruction·appears·after·instruction·<code·class="inline">point_of_no_return</code>·and·the314 returns·<code·class="inline">{error,Error}</code>.</p><p>If·the·instruction·appears·after·instruction·<code·class="inline">point_of_no_return</code>·and·the
315 function·call·fails,·the·system·is·restarted.</p><pre><code·class="text">restart_new_emulator</code></pre><p>This·instruction·is·used·when·the·application·ERTS,·Kernel,·STDLIB,·or·SASL·is315 function·call·fails,·the·system·is·restarted.</p><pre><code·class="text">restart_new_emulator</code></pre><p>This·instruction·is·used·when·the·application·ERTS,·Kernel,·STDLIB,·or·SASL·is
316 upgraded.·It·shuts·down·the·current·emulator·and·starts·a·new·one.·All·processes316 upgraded.·It·shuts·down·the·current·emulator·and·starts·a·new·one.·All·processes
317 are·terminated·gracefully,·and·the·new·version·of·ERTS,·Kernel,·STDLIB,·and·SASL317 are·terminated·gracefully,·and·the·new·version·of·ERTS,·Kernel,·STDLIB,·and·SASL
318 are·used·when·the·emulator·restarts.·Only·one·<code·class="inline">restart_new_emulator</code>·instruction318 are·used·when·the·emulator·restarts.·Only·one·<code·class="inline">restart_new_emulator</code>·instruction
Offset 390, 15 lines modifiedOffset 390, 15 lines modified
390 ······<p·class="built-using">390 ······<p·class="built-using">
391 ········Built·using391 ········Built·using
392 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the392 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
393 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>393 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
394 ······</p>394 ······</p>
395 <p>Copyright·©·1996-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;
690 B
html2text {}
Max HTML report size reached
18.7 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/error_logging.html
    
Offset 304, 50 lines modifiedOffset 304, 50 lines modified
304 ········ok</code></pre><h3·id="show-reports"·class="section-heading">304 ········ok</code></pre><h3·id="show-reports"·class="section-heading">
305 ··<a·href="#show-reports"·class="hover-link">305 ··<a·href="#show-reports"·class="hover-link">
306 ····<i·class="ri-link-m"·aria-hidden="true"></i>306 ····<i·class="ri-link-m"·aria-hidden="true"></i>
307 ··</a>307 ··</a>
308 ··<span·class="text">Show·Reports</span>308 ··<span·class="text">Show·Reports</span>
309 </h3>309 </h3>
310 <p>Use·function·<a·href="rb.html#show/1"><code·class="inline">rb:show(Number)</code></a>·to·show·details·of·a·specific310 <p>Use·function·<a·href="rb.html#show/1"><code·class="inline">rb:show(Number)</code></a>·to·show·details·of·a·specific
311 report:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">7&gt;·</span><span·class="nc">rb</span><span·class="p">:</span><span·class="nf">show</span><span·class="p"·data-group-id="3936934280-1">(</span><span·class="mi">4</span><span·class="p"·data-group-id="3936934280-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="7579149808-1">(</span><span·class="mi">4</span><span·class="p"·data-group-id="7579149808-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="3936934280-2">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">sasl_sup</span><span·class="p"·data-group-id="3936934280-2">}</span><span·class="w">314 </span><span·class="ss">supervisor</span><span·class="w">·····················································</span><span·class="p"·data-group-id="7579149808-2">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">sasl_sup</span><span·class="p"·data-group-id="7579149808-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="3936934280-3">[</span><span·class="p"·data-group-id="3936934280-4">{</span><span·class="ss">pid</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.24</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·7f12d9272a40b1d48eb6464f49f0b9db6969742674573257c7fe97b5e3ab1319·...·]-4">}</span><span·class="p">,</span><span·class="w">316 </span><span·class="p"·data-group-id="7579149808-3">[</span><span·class="p"·data-group-id="7579149808-4">{</span><span·class="ss">pid</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.24</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·b4f32407583b02572c59dc4ac59c601fefb0e6b67b2638ca58717c0087b2f308·...·]-4">}</span><span·class="p">,</span><span·class="w">
317 </span><span·class="p"·data-group-id="3936934280-5">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="ss">release_handler</span><span·class="p"·data-group-id="3936934280-5">}</span><span·class="p">,</span><span·class="w">317 </span><span·class="p"·data-group-id="7579149808-5">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="ss">release_handler</span><span·class="p"·data-group-id="7579149808-5">}</span><span·class="p">,</span><span·class="w">
318 </span><span·class="p"·data-group-id="3936934280-6">{</span><span·class="ss">mfa</span><span·class="p">,</span><span·class="p"·data-group-id="3936934280-7">{</span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·191,·SHA:·c6746d87d0218c74fe616949dfecfb2ff8235c28d084121e800f58570fb75505·...·]-6">}</span><span·class="p">,</span><span·class="w">318 </span><span·class="p"·data-group-id="7579149808-6">{</span><span·class="ss">mfa</span><span·class="p">,</span><span·class="p"·data-group-id="7579149808-7">{</span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·191,·SHA:·2539797e6caab590e215f8b2328f13ed889b20b33ee1651d9df9bf2e3cc3e5de·...·]-6">}</span><span·class="p">,</span><span·class="w">
319 </span><span·class="p"·data-group-id="3936934280-9">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="3936934280-9">}</span><span·class="p">,</span><span·class="w">319 </span><span·class="p"·data-group-id="7579149808-9">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="7579149808-9">}</span><span·class="p">,</span><span·class="w">
320 </span><span·class="p"·data-group-id="3936934280-10">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">2000</span><span·class="p"·data-group-id="3936934280-10">}</span><span·class="p">,</span><span·class="w">320 </span><span·class="p"·data-group-id="7579149808-10">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">2000</span><span·class="p"·data-group-id="7579149808-10">}</span><span·class="p">,</span><span·class="w">
321 </span><span·class="p"·data-group-id="3936934280-11">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">worker</span><span·class="p"·data-group-id="3936934280-11">}</span><span·class="p"·data-group-id="3936934280-3">]</span><span·class="w">321 </span><span·class="p"·data-group-id="7579149808-11">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">worker</span><span·class="p"·data-group-id="7579149808-11">}</span><span·class="p"·data-group-id="7579149808-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="3936934280-12">(</span><span·class="mi">9</span><span·class="p"·data-group-id="3936934280-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="7579149808-12">(</span><span·class="mi">9</span><span·class="p"·data-group-id="7579149808-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="3936934280-13">{</span><span·class="ss">undef</span><span·class="p">,</span><span·class="p"·data-group-id="3936934280-14">{</span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="ss">mbj_func</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·196,·SHA:·33d4e956e4a657ce928902b29c066559165446e767bdd66a31f67765fca23cdd·...·]-13">}</span><span·class="w">329 </span><span·class="ss">error_info</span><span·class="w">·····························</span><span·class="p"·data-group-id="7579149808-13">{</span><span·class="ss">undef</span><span·class="p">,</span><span·class="p"·data-group-id="7579149808-14">{</span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="ss">mbj_func</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·196,·SHA:·372257749800b5db88b785d30a2d23aa5762535d9eea6b4f8113dfbd9966797b·...·]-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="3936934280-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="7579149808-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="3936934280-17">[</span><span·class="ss">gen_server</span><span·class="p">,</span><span·class="w">332 </span><span·class="p"·data-group-id="7579149808-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="3936934280-18">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">register</span><span·class="p"·data-group-id="3936934280-18">}</span><span·class="p">,</span><span·class="w">335 </span><span·class="p"·data-group-id="7579149808-18">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">register</span><span·class="p"·data-group-id="7579149808-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="3936934280-19">[</span><span·class="p"·data-group-id="3936934280-19">]</span><span·class="p">,</span><span·class="w">338 </span><span·class="p"·data-group-id="7579149808-19">[</span><span·class="p"·data-group-id="7579149808-19">]</span><span·class="p">,</span><span·class="w">
339 </span><span·class="p"·data-group-id="3936934280-20">[</span><span·class="p"·data-group-id="3936934280-20">]</span><span·class="p"·data-group-id="3936934280-17">]</span><span·class="p"·data-group-id="3936934280-16">}</span><span·class="w">339 </span><span·class="p"·data-group-id="7579149808-20">[</span><span·class="p"·data-group-id="7579149808-20">]</span><span·class="p"·data-group-id="7579149808-17">]</span><span·class="p"·data-group-id="7579149808-16">}</span><span·class="w">
340 </span><span·class="ss">ancestors</span><span·class="w">················································</span><span·class="p"·data-group-id="3936934280-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="3936934280-21">]</span><span·class="w">340 </span><span·class="ss">ancestors</span><span·class="w">················································</span><span·class="p"·data-group-id="7579149808-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="7579149808-21">]</span><span·class="w">
341 </span><span·class="ss">messages</span><span·class="w">··································································</span><span·class="p"·data-group-id="3936934280-22">[</span><span·class="p"·data-group-id="3936934280-22">]</span><span·class="w">341 </span><span·class="ss">messages</span><span·class="w">··································································</span><span·class="p"·data-group-id="7579149808-22">[</span><span·class="p"·data-group-id="7579149808-22">]</span><span·class="w">
342 </span><span·class="ss">links</span><span·class="w">····················································</span><span·class="p"·data-group-id="3936934280-23">[</span><span·class="o">&lt;</span><span·class="mf">0.23</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.20</span><span·class="p">.</span[·...·truncated·by·diffoscope;·len:·94,·SHA:·dd7664388e7fb0ab4d34ed4de7458af1e7736912d34a74223cc7c707825a2263·...·]-23">]</span><span·class="w">342 </span><span·class="ss">links</span><span·class="w">····················································</span><span·class="p"·data-group-id="7579149808-23">[</span><span·class="o">&lt;</span><span·class="mf">0.23</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.20</span><span·class="p">.</span[·...·truncated·by·diffoscope;·len:·94,·SHA:·299b314577122d9e2bfebb5d697a873ca2ed6e8046bec0f0550bad2d54b9e48b·...·]-23">]</span><span·class="w">
343 </span><span·class="ss">dictionary</span><span·class="w">································································</span><span·class="p"·data-group-id="3936934280-24">[</span><span·class="p"·data-group-id="3936934280-24">]</span><span·class="w">343 </span><span·class="ss">dictionary</span><span·class="w">································································</span><span·class="p"·data-group-id="7579149808-24">[</span><span·class="p"·data-group-id="7579149808-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.3/doc/html/notes.html
    
Offset 1177, 15 lines modifiedOffset 1177, 15 lines modified
1177 ······<p·class="built-using">1177 ······<p·class="built-using">
1178 ········Built·using1178 ········Built·using
1179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1181 ······</p>1181 ······</p>
1182 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1182 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1183 ····</footer>1183 ····</footer>
1184 ··</div>1184 ··</div>
1185 </main>1185 </main>
1186 </div>1186 </div>
1187 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1187 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1188 ··<script>1188 ··<script>
1189 ··let·initialized·=·false;1189 ··let·initialized·=·false;
694 B
html2text {}
Max HTML report size reached
1.39 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/rb.html
    
Offset 1065, 15 lines modifiedOffset 1065, 15 lines modified
1065 ······<p·class="built-using">1065 ······<p·class="built-using">
1066 ········Built·using1066 ········Built·using
1067 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1067 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1068 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1068 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1069 ······</p>1069 ······</p>
1070 <p>Copyright·©·1996-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.1 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/rel.html
    
Offset 136, 19 lines modifiedOffset 136, 19 lines modified
136 (<code·class="inline">.script</code>,·<code·class="inline">.boot</code>)·and·release·upgrade·files·(<code·class="inline">relup</code>).</p><h2·id="file-syntax"·class="section-heading">136 (<code·class="inline">.script</code>,·<code·class="inline">.boot</code>)·and·release·upgrade·files·(<code·class="inline">relup</code>).</p><h2·id="file-syntax"·class="section-heading">
137 ··<a·href="#file-syntax"·class="hover-link">137 ··<a·href="#file-syntax"·class="hover-link">
138 ····<i·class="ri-link-m"·aria-hidden="true"></i>138 ····<i·class="ri-link-m"·aria-hidden="true"></i>
139 ··</a>139 ··</a>
140 ··<span·class="text">File·Syntax</span>140 ··<span·class="text">File·Syntax</span>
141 </h2>141 </h2>
142 <p>The·release·resource·file·is·to·be·called·<code·class="inline">Name.rel</code>.</p><p>The·<code·class="inline">.rel</code>·file·contains·one·single·Erlang·term,·which·is·called·a·<em>release142 <p>The·release·resource·file·is·to·be·called·<code·class="inline">Name.rel</code>.</p><p>The·<code·class="inline">.rel</code>·file·contains·one·single·Erlang·term,·which·is·called·a·<em>release
143 specification</em>.·The·file·has·the·following·syntax:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8116799344-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8116799344-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:·a27fb8b053b9bf68ce96d703efb1498b8dfc46483f42842cdc674c09c6ffd11f·...·]-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="5637863376-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5637863376-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:·4019592f970a0fbb70f874efb86d3edae55823adcef3f3f06b3706a8c2f9cf4b·...·]-3">}</span><span·class="p">,</span><span·class="w">
144 ··</span><span·class="p"·data-group-id="8116799344-4">[</span><span·class="p"·data-group-id="8116799344-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="8116799344-5">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">144 ··</span><span·class="p"·data-group-id="5637863376-4">[</span><span·class="p"·data-group-id="5637863376-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="5637863376-5">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
145 ···</span><span·class="p"·data-group-id="8116799344-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="8116799344-6">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">145 ···</span><span·class="p"·data-group-id="5637863376-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="5637863376-6">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
146 ···</span><span·class="p"·data-group-id="8116799344-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="8116799344-7">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">146 ···</span><span·class="p"·data-group-id="5637863376-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="5637863376-7">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
147 ···</span><span·class="p"·data-group-id="8116799344-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:·e23724714df471d3a6f88fcb058768bb046d1e27072e74aa2894f9cb75c4a742·...·]-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="5637863376-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:·e6b6c426d5c62d3b126b72ea92d2f5d40aa9d9f3a91f11e82e3d59f3dcf0bae2·...·]-1">}</span><span·class="p">.</span></code></pre><ul><li><p><strong><code·class="inline">RelName·=·string()</code></strong>·-·Release·name.</p></li><li><p><strong><code·class="inline">Vsn·=·string()</code></strong>·-·Release·version.</p></li><li><p><strong><code·class="inline">EVsn·=·string()</code></strong>·-·ERTS·version·the·release·is·intended·for.</p></li><li><p><strong><code·class="inline">Application·=·atom()</code></strong>·-·Name·of·an·application·included·in·the·release.</p></li><li><p><strong><code·class="inline">AppVsn·=·string()</code></strong>·-·Version·of·an·application·included·in·the·release.</p></li><li><p><strong><code·class="inline">Type·=·permanent·|·transient·|·temporary·|·load·|·none</code></strong>·-·Start·type·of
148 an·application·included·in·the·release.</p><p>If·<code·class="inline">Type·=·permanent·|·transient·|·temporary</code>,·the·application·is·loaded·and148 an·application·included·in·the·release.</p><p>If·<code·class="inline">Type·=·permanent·|·transient·|·temporary</code>,·the·application·is·loaded·and
149 started·in·the·corresponding·way,·see·<a·href="../../../../lib/kernel-10.3/doc/html/application.html"><code·class="inline">application</code></a>.</p><p>If·<code·class="inline">Type·=·load</code>,·the·application·is·only·loaded.</p><p>If·<code·class="inline">Type·=·none</code>,·the·application·is·not·loaded·and·not·started,·although·the149 started·in·the·corresponding·way,·see·<a·href="../../../../lib/kernel-10.3/doc/html/application.html"><code·class="inline">application</code></a>.</p><p>If·<code·class="inline">Type·=·load</code>,·the·application·is·only·loaded.</p><p>If·<code·class="inline">Type·=·none</code>,·the·application·is·not·loaded·and·not·started,·although·the
150 code·for·its·modules·is·loaded.</p><p>Defaults·to·<code·class="inline">permanent</code></p></li><li><p><strong><code·class="inline">IncApps·=·[atom()]</code></strong>·-·A·list·of·applications·that·are·included·by·an150 code·for·its·modules·is·loaded.</p><p>Defaults·to·<code·class="inline">permanent</code></p></li><li><p><strong><code·class="inline">IncApps·=·[atom()]</code></strong>·-·A·list·of·applications·that·are·included·by·an
151 application·included·in·the·release.·The·list·must·be·a·subset·of·the·included151 application·included·in·the·release.·The·list·must·be·a·subset·of·the·included
152 applications·specified·in·the·application·resource·file·(<code·class="inline">Application.app</code>)152 applications·specified·in·the·application·resource·file·(<code·class="inline">Application.app</code>)
153 and·overrides·this·value.·Defaults·to·the·same·value·as·in·the·application153 and·overrides·this·value.·Defaults·to·the·same·value·as·in·the·application
154 resource·file.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·list·of·applications·must·contain·the·Kernel·and·STDLIB·applications.</p></section><h2·id="see-also"·class="section-heading">154 resource·file.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·list·of·applications·must·contain·the·Kernel·and·STDLIB·applications.</p></section><h2·id="see-also"·class="section-heading">
Offset 204, 15 lines modifiedOffset 204, 15 lines modified
204 ······<p·class="built-using">204 ······<p·class="built-using">
205 ········Built·using205 ········Built·using
206 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the206 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
207 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>207 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
208 ······</p>208 ······</p>
209 <p>Copyright·©·1996-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.3/doc/html/release_handler.html
    
Offset 1053, 16 lines modifiedOffset 1053, 16 lines modified
1053 updated·(<code·class="inline">Bool==true</code>)·or·if·only·code·paths·for·modified·applications·are·to1053 updated·(<code·class="inline">Bool==true</code>)·or·if·only·code·paths·for·modified·applications·are·to
1054 be·updated·(<code·class="inline">Bool==false</code>,·default).·This·option·has·only·effect·for·other1054 be·updated·(<code·class="inline">Bool==false</code>,·default).·This·option·has·only·effect·for·other
1055 application·directories·than·the·default·<code·class="inline">$ROOT/lib/App-Vsn</code>,·that·is,1055 application·directories·than·the·default·<code·class="inline">$ROOT/lib/App-Vsn</code>,·that·is,
1056 application·directories·specified·in·argument·<code·class="inline">AppDirs</code>·in·a·call·to1056 application·directories·specified·in·argument·<code·class="inline">AppDirs</code>·in·a·call·to
1057 <a·href="#create_RELEASES/4"><code·class="inline">create_RELEASES/4</code></a>·or·<a·href="#set_unpacked/2"><code·class="inline">set_unpacked/2</code></a>.</p><p><em>Example:</em></p><p>In·the·current·version·<code·class="inline">CurVsn</code>·of·a·release,·the·application·directory·of1057 <a·href="#create_RELEASES/4"><code·class="inline">create_RELEASES/4</code></a>·or·<a·href="#set_unpacked/2"><code·class="inline">set_unpacked/2</code></a>.</p><p><em>Example:</em></p><p>In·the·current·version·<code·class="inline">CurVsn</code>·of·a·release,·the·application·directory·of
1058 <code·class="inline">myapp</code>·is·<code·class="inline">$ROOT/lib/myapp-1.0</code>.·A·new·version·<code·class="inline">NewVsn</code>·is·unpacked·outside1058 <code·class="inline">myapp</code>·is·<code·class="inline">$ROOT/lib/myapp-1.0</code>.·A·new·version·<code·class="inline">NewVsn</code>·is·unpacked·outside
1059 the·release·handler·and·the·release·handler·is·informed·about·this·with·a·call1059 the·release·handler·and·the·release·handler·is·informed·about·this·with·a·call
1060 as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">release_handler</span><span·class="p">:</span><span·class="nf">set_unpacked</span><span·class="p"·data-group-id="8483056739-1">(</span><span·class="n">RelFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8483056739-2">[</span><span·class="p"·data-group-id="8483056739-3">{</span><span·class="ss">myapp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·353,·SHA:·134fafdc25d2460ed121e120142c6de8a4dfb0ddef0a71e10aec09f3e3af523e·...·]-1">)</span><span·class="p">.</span><span·class="w">1060 as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">release_handler</span><span·class="p">:</span><span·class="nf">set_unpacked</span><span·class="p"·data-group-id="3588076122-1">(</span><span·class="n">RelFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3588076122-2">[</span><span·class="p"·data-group-id="3588076122-3">{</span><span·class="ss">myapp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·353,·SHA:·da10ec3e9d49eb8ea7c54424846956fc6d14400139ba4b73874ae86fc53a7625·...·]-1">)</span><span·class="p">.</span><span·class="w">
1061 </span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8483056739-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">NewVsn</span><span·class="p"·data-group-id="8483056739-4">}</span></code></pre><p>If·<code·class="inline">NewVsn</code>·is·installed·with·option·<code·class="inline">{update_paths,true}</code>,·then1061 </span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3588076122-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">NewVsn</span><span·class="p"·data-group-id="3588076122-4">}</span></code></pre><p>If·<code·class="inline">NewVsn</code>·is·installed·with·option·<code·class="inline">{update_paths,true}</code>,·then
1062 <a·href="../../../../lib/kernel-10.3/doc/html/code.html#lib_dir/1"><code·class="inline">code:lib_dir(myapp)</code></a>·returns·<code·class="inline">/home/user/myapp-1.0</code>.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Installing·a·new·release·can·be·time·consuming·if·there·are·many·processes·in1062 <a·href="../../../../lib/kernel-10.3/doc/html/code.html#lib_dir/1"><code·class="inline">code:lib_dir(myapp)</code></a>·returns·<code·class="inline">/home/user/myapp-1.0</code>.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Installing·a·new·release·can·be·time·consuming·if·there·are·many·processes·in
1063 the·system.·The·reason·is·that·each·process·must·be·checked·for·references·to1063 the·system.·The·reason·is·that·each·process·must·be·checked·for·references·to
1064 old·code·before·a·module·can·be·purged.·This·check·can·lead·to·garbage1064 old·code·before·a·module·can·be·purged.·This·check·can·lead·to·garbage
1065 collections·and·copying·of·data.</p><p>To·speed·up·the·execution·of·<a·href="#install_release/1"><code·class="inline">install_release</code></a>,·first1065 collections·and·copying·of·data.</p><p>To·speed·up·the·execution·of·<a·href="#install_release/1"><code·class="inline">install_release</code></a>,·first
1066 call·<a·href="#check_install_release/1"><code·class="inline">check_install_release</code></a>,·using·option1066 call·<a·href="#check_install_release/1"><code·class="inline">check_install_release</code></a>,·using·option
1067 <code·class="inline">purge</code>.·This·does·the·same·check·for·old·code.·Then·purges·all·modules·that1067 <code·class="inline">purge</code>.·This·does·the·same·check·for·old·code.·Then·purges·all·modules·that
1068 can·be·soft-purged.·The·purged·modules·do·then·no·longer·have·any·old·code,1068 can·be·soft-purged.·The·purged·modules·do·then·no·longer·have·any·old·code,
Offset 1339, 15 lines modifiedOffset 1339, 15 lines modified
1339 ······<p·class="built-using">1339 ······<p·class="built-using">
1340 ········Built·using1340 ········Built·using
1341 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1341 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1342 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1342 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1343 ······</p>1343 ······</p>
1344 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1344 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1345 ····</footer>1345 ····</footer>
1346 ··</div>1346 ··</div>
1347 </main>1347 </main>
1348 </div>1348 </div>
1349 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1349 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1350 ··<script>1350 ··<script>
1351 ··let·initialized·=·false;1351 ··let·initialized·=·false;
707 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/relup.html
    
Offset 206, 15 lines modifiedOffset 206, 15 lines modified
206 ······<p·class="built-using">206 ······<p·class="built-using">
207 ········Built·using207 ········Built·using
208 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the208 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
209 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>209 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
210 ······</p>210 ······</p>
211 <p>Copyright·©·1996-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.3/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
Max HTML report size reached
35.0 KB
OEBPS/appup.xhtml
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/sasl_app.html
    
Offset 261, 15 lines modifiedOffset 261, 15 lines modified
261 ······<p·class="built-using">261 ······<p·class="built-using">
262 ········Built·using262 ········Built·using
263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
265 ······</p>265 ······</p>
266 <p>Copyright·©·1996-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.3/doc/html/sasl_intro.html
    
Offset 188, 15 lines modifiedOffset 188, 15 lines modified
188 ······<p·class="built-using">188 ······<p·class="built-using">
189 ········Built·using189 ········Built·using
190 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the190 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
191 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>191 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
192 ······</p>192 ······</p>
193 <p>Copyright·©·1996-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.3/doc/html/script.html
    
Offset 138, 28 lines modifiedOffset 138, 28 lines modified
138 files.</p><h2·id="file-syntax"·class="section-heading">138 files.</p><h2·id="file-syntax"·class="section-heading">
139 ··<a·href="#file-syntax"·class="hover-link">139 ··<a·href="#file-syntax"·class="hover-link">
140 ····<i·class="ri-link-m"·aria-hidden="true"></i>140 ····<i·class="ri-link-m"·aria-hidden="true"></i>
141 ··</a>141 ··</a>
142 ··<span·class="text">File·Syntax</span>142 ··<span·class="text">File·Syntax</span>
143 </h2>143 </h2>
144 <p>The·boot·script·is·stored·in·a·file·with·extension·<code·class="inline">.script</code>.·The·file·has·the144 <p>The·boot·script·is·stored·in·a·file·with·extension·<code·class="inline">.script</code>.·The·file·has·the
145 following·syntax:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9827808113-1">{</span><span·class="ss">script</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9827808113-2">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Vsn</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·697e7abc44358a08d627bf90161cc654b83195adf98b0a28b2a27a0b6e67be23·...·]-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="0990594992-1">{</span><span·class="ss">script</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0990594992-2">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Vsn</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·7c57a5f330844e37d69e14880c094d0a4ed9c15faa67a96e0927fdcd079b59ca·...·]-2">}</span><span·class="p">,</span><span·class="w">
146 ·</span><span·class="p"·data-group-id="9827808113-3">[</span><span·class="w">146 ·</span><span·class="p"·data-group-id="0990594992-3">[</span><span·class="w">
147 ··</span><span·class="p"·data-group-id="9827808113-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="9827808113-4">}</span><span·class="p">,</span><span·class="w">147 ··</span><span·class="p"·data-group-id="0990594992-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="0990594992-4">}</span><span·class="p">,</span><span·class="w">
148 ··</span><span·class="p"·data-group-id="9827808113-5">{</span><span·class="ss">preLoaded</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9827808113-6">[</span><span·class="n">Mod1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod2</spa[·...·truncated·by·diffoscope;·len:·216,·SHA:·99ba454460742b30dc1c2ecac966820ebd75e05fb755339d5659a3fd2772d824·...·]-5">}</span><span·class="p">,</span><span·class="w">148 ··</span><span·class="p"·data-group-id="0990594992-5">{</span><span·class="ss">preLoaded</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0990594992-6">[</span><span·class="n">Mod1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod2</spa[·...·truncated·by·diffoscope;·len:·216,·SHA:·d7abcf5e81e701c6dd45cdce92d567a4dc2e808d194d1cc1d738275c9fbab914·...·]-5">}</span><span·class="p">,</span><span·class="w">
149 ··</span><span·class="p"·data-group-id="9827808113-7">{</span><span·class="ss">path</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9827808113-8">[</span><span·class="n">Dir1</span><span·class="p">,</span><span·class="s">&quot;$ROOT/Dir&quot;</span><span·clas[·...·truncated·by·diffoscope;·len:·180,·SHA:·b01243ddc92da4c75fd90188020faf9a863fd3370e4437c7c55cbcd576ea4472·...·]-7">}</span><span·class="p">.</span><span·class="w">149 ··</span><span·class="p"·data-group-id="0990594992-7">{</span><span·class="ss">path</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0990594992-8">[</span><span·class="n">Dir1</span><span·class="p">,</span><span·class="s">&quot;$ROOT/Dir&quot;</span><span·clas[·...·truncated·by·diffoscope;·len:·180,·SHA:·0617d4f4f88638a833267ed5eb12eb03ce6401d4bbdf488a09871f1ca3fe4fd2·...·]-7">}</span><span·class="p">.</span><span·class="w">
150 ··</span><span·class="p"·data-group-id="9827808113-9">{</span><span·class="ss">primLoad</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9827808113-10">[</span><span·class="n">Mod1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod2</spa[·...·truncated·by·diffoscope;·len:·217,·SHA:·55a3b3b553c2f0b47756efc753d45b478067d3c12eaf63978d3ea7c32a868a12·...·]-9">}</span><span·class="p">,</span><span·class="w">150 ··</span><span·class="p"·data-group-id="0990594992-9">{</span><span·class="ss">primLoad</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0990594992-10">[</span><span·class="n">Mod1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod2</spa[·...·truncated·by·diffoscope;·len:·217,·SHA:·a070945961eba0c6cd5562f7e817a4dc92f7322922a2110d7fd98011dc13d1c7·...·]-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="9827808113-11">{</span><span·class="ss">kernel_load_completed</span><span·class="p"·data-group-id="9827808113-11">}</span><span·class="p">,</span><span·class="w">152 ··</span><span·class="p"·data-group-id="0990594992-11">{</span><span·class="ss">kernel_load_completed</span><span·class="p"·data-group-id="0990594992-11">}</span><span·class="p">,</span><span·class="w">
153 ··</span><span·class="p"·data-group-id="9827808113-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="9827808113-12">}</span><span·class="p">,</span><span·class="w">153 ··</span><span·class="p"·data-group-id="0990594992-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="0990594992-12">}</span><span·class="p">,</span><span·class="w">
154 ··</span><span·class="p"·data-group-id="9827808113-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="9827808113-14">{</span><span·class="n">Mod[·...·truncated·by·diffoscope;·len:·252,·SHA:·239148c696a1cf1da10243e603649bef272240c3e2f5f44b9c27b0d53c324612·...·]-13">}</span><span·class="p">,</span><span·class="w">154 ··</span><span·class="p"·data-group-id="0990594992-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="0990594992-14">{</span><span·class="n">Mod[·...·truncated·by·diffoscope;·len:·252,·SHA:·a55a517602890e9e79dff162fdbd9e86b70a022b1ba175248881f0cab0ec8403·...·]-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="9827808113-15">{</span><span·class="nb">apply</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9827808113-16">{</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Func</span><[·...·truncated·by·diffoscope;·len:·169,·SHA:·4568ea3b9c0abf75a385b4a1a64baa2533bc20de22188861518a257e66102618·...·]-15">}</span><span·class="p">,</span><span·class="w">156 ··</span><span·class="p"·data-group-id="0990594992-15">{</span><span·class="nb">apply</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0990594992-16">{</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Func</span><[·...·truncated·by·diffoscope;·len:·169,·SHA:·ea3e9fbe0818760c4d13309ca02cfa8d2b2e479c316cb1d2dfb5d9b5f4b2bfdc·...·]-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="9827808113-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="9827808113-17">}</span><span·class="p"·data-group-id="9827808113-3">]</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·a2a51281bbe41509931ad4ac6509cb0fd4c9cefc68254a9cc06ffbc05f2a5ecc·...·]-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="0990594992-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="0990594992-17">}</span><span·class="p"·data-group-id="0990594992-3">]</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·ed2a3bda56adbf72eb073f0ea3b2adc7b6d8caf37a57fb678410d49ad1f0fc5e·...·]-1">}</span><span·class="p">.</span></code></pre><ul><li><p><strong><code·class="inline">Name·=·string()</code></strong>·-·Defines·the·system·name.</p></li><li><p><strong><code·class="inline">Vsn·=·string()</code></strong>·-·Defines·the·system·version.</p></li><li><p><strong><code·class="inline">{progress,·Term}</code></strong>·-·Sets·the·&quot;progress&quot;·of·the·initialization·program.
159 The·<a·href="../../../../erts-16.0/doc/html/init.html#get_status/0"><code·class="inline">init:get_status/0</code></a>·function·returns·the·current·value·of·the·progress,159 The·<a·href="../../../../erts-16.0/doc/html/init.html#get_status/0"><code·class="inline">init:get_status/0</code></a>·function·returns·the·current·value·of·the·progress,
160 which·is·<code·class="inline">{InternalStatus,Term}</code>.</p></li><li><p><strong><code·class="inline">{path,·[Dir]}</code></strong>·-·<code·class="inline">Dir</code>·is·a·string.·This·argument·sets·the·load·path·of160 which·is·<code·class="inline">{InternalStatus,Term}</code>.</p></li><li><p><strong><code·class="inline">{path,·[Dir]}</code></strong>·-·<code·class="inline">Dir</code>·is·a·string.·This·argument·sets·the·load·path·of
161 the·system·to·<code·class="inline">[Dir]</code>.·The·load·path·used·to·load·modules·is·obtained·from·the161 the·system·to·<code·class="inline">[Dir]</code>.·The·load·path·used·to·load·modules·is·obtained·from·the
162 initial·load·path,·which·is·given·in·the·script·file,·together·with·any·path162 initial·load·path,·which·is·given·in·the·script·file,·together·with·any·path
163 flags·that·were·supplied·in·the·command-line·arguments.·The·command-line163 flags·that·were·supplied·in·the·command-line·arguments.·The·command-line
164 arguments·modify·the·path·as·follows:</p><ul><li><code·class="inline">-pa·Dir1·Dir2·...·DirN</code>·adds·the·directories164 arguments·modify·the·path·as·follows:</p><ul><li><code·class="inline">-pa·Dir1·Dir2·...·DirN</code>·adds·the·directories
165 <code·class="inline">DirN,·DirN-1,·...,·Dir2,·Dir1</code>·to·the·front·of·the·initial·load·path.</li><li><code·class="inline">-pz·Dir1·Dir2·...·DirN</code>·adds·the·directories·<code·class="inline">Dir1,·Dir2,·...,·DirN</code>·to·the165 <code·class="inline">DirN,·DirN-1,·...,·Dir2,·Dir1</code>·to·the·front·of·the·initial·load·path.</li><li><code·class="inline">-pz·Dir1·Dir2·...·DirN</code>·adds·the·directories·<code·class="inline">Dir1,·Dir2,·...,·DirN</code>·to·the
Offset 230, 15 lines modifiedOffset 230, 15 lines modified
230 ······<p·class="built-using">230 ······<p·class="built-using">
231 ········Built·using231 ········Built·using
232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
234 ······</p>234 ······</p>
235 <p>Copyright·©·1996-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.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.42 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/systools.html
    
Offset 654, 15 lines modifiedOffset 654, 15 lines modified
654 ······<p·class="built-using">654 ······<p·class="built-using">
655 ········Built·using655 ········Built·using
656 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the656 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
657 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>657 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
658 ······</p>658 ······</p>
659 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>659 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
660 ····</footer>660 ····</footer>
661 ··</div>661 ··</div>
662 </main>662 </main>
663 </div>663 </div>
664 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>664 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
665 ··<script>665 ··<script>
666 ··let·initialized·=·false;666 ··let·initialized·=·false;
625 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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/snmp-5.19/doc/html/api-reference.html
    
Offset 478, 15 lines modifiedOffset 478, 15 lines modified
478 ······<p·class="built-using">478 ······<p·class="built-using">
479 ········Built·using479 ········Built·using
480 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the480 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
481 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>481 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
482 ······</p>482 ······</p>
483 <p>Copyright·©·1996-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
12.3 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/notes.html
    
Offset 133, 17 lines modifiedOffset 133, 17 lines modified
133 </h2>133 </h2>
134 <h3·id="improvements-and-new-features"·class="section-heading">134 <h3·id="improvements-and-new-features"·class="section-heading">
135 ··<a·href="#improvements-and-new-features"·class="hover-link">135 ··<a·href="#improvements-and-new-features"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Improvements·and·New·Features</span>138 ··<span·class="text">Improvements·and·New·Features</span>
139 </h3>139 </h3>
140 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="4786263301-1">(</span><span·class="p"·data-group-id="4786263301-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4786263301-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·7b0e7a73b0a1871b9c7320adfe8145b0cb75d8bad5f01db6aea6f5f3cfb7140f·...·]-2">)</span><span·class="p">.</span><span·class="w">140 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="6907526863-1">(</span><span·class="p"·data-group-id="6907526863-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6907526863-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·f998abcd6b8c06c37f20862993e337c3e384e9f0fa1c7e2d7aa97a88fe320180·...·]-2">)</span><span·class="p">.</span><span·class="w">
141 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="4786263301-3">(</span><span·class="p"·data-group-id="4786263301-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4786263301-4">(</span><[·...·truncated·by·diffoscope;·len:·1060,·SHA:·b793b09b984837cf51778a3ff9b3cfdd720a8c511b95232d3d38134baca36426·...·]5-2">)</span><span·class="p">.</span><span·class="w">141 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="6907526863-3">(</span><span·class="p"·data-group-id="6907526863-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6907526863-4">(</span><[·...·truncated·by·diffoscope;·len:·1060,·SHA:·75b6e59b98e15124050b6e0b2cf827f2ddfe64e8550e0df9e1c48a5923eb8c4e·...·]5-2">)</span><span·class="p">.</span><span·class="w">
142 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="3105565795-3">(</span><span·class="p"·data-group-id="3105565795-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3105565795-4">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·f52f621291fca186bcd44d4a1ec7a5f01466306227d33672a1e1b0d7561327f5·...·]5-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Added·support·for·compiling·Erlang/OTP·for·Windows·on·ARM64.</p><p>Own·Id:·OTP-19480·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8734"·title="">PR-8734</a></p></li><li><p>When·compiling·C/C++·code·on·Unix·systems,·the·compiler·hardening·flags·suggested·by·the·<a·href="https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md">Open·Source·Security·Foundation</a>·are·now·enabled·by·default.·To·disable·them,·pass·<code·class="inline">--disable-security-hardening-flags</code>·to·<code·class="inline">configure</code>.</p><p>Own·Id:·OTP-19519·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9441"·title="">PR-9441</a></p></li><li><p>Add·copyright·notice·to·files·that·still·had·none.</p><p>Own·Id:·OTP-19572</p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="snmp-5-18-2"·class="section-heading">142 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="5432732745-3">(</span><span·class="p"·data-group-id="5432732745-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5432732745-4">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·b3cfdc32b93518c202684481d3c383dac050462d2965aa64a3caa0f1ccb962c1·...·]5-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Added·support·for·compiling·Erlang/OTP·for·Windows·on·ARM64.</p><p>Own·Id:·OTP-19480·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8734"·title="">PR-8734</a></p></li><li><p>When·compiling·C/C++·code·on·Unix·systems,·the·compiler·hardening·flags·suggested·by·the·<a·href="https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md">Open·Source·Security·Foundation</a>·are·now·enabled·by·default.·To·disable·them,·pass·<code·class="inline">--disable-security-hardening-flags</code>·to·<code·class="inline">configure</code>.</p><p>Own·Id:·OTP-19519·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9441"·title="">PR-9441</a></p></li><li><p>Add·copyright·notice·to·files·that·still·had·none.</p><p>Own·Id:·OTP-19572</p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="snmp-5-18-2"·class="section-heading">
143 ··<a·href="#snmp-5-18-2"·class="hover-link">143 ··<a·href="#snmp-5-18-2"·class="hover-link">
144 ····<i·class="ri-link-m"·aria-hidden="true"></i>144 ····<i·class="ri-link-m"·aria-hidden="true"></i>
145 ··</a>145 ··</a>
146 ··<span·class="text">SNMP·5.18.2</span>146 ··<span·class="text">SNMP·5.18.2</span>
147 </h2>147 </h2>
148 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">148 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">
149 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">149 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">
Offset 1141, 15 lines modifiedOffset 1141, 15 lines modified
1141 ······<p·class="built-using">1141 ······<p·class="built-using">
1142 ········Built·using1142 ········Built·using
1143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1145 ······</p>1145 ······</p>
1146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1147 ····</footer>1147 ····</footer>
1148 ··</div>1148 ··</div>
1149 </main>1149 </main>
1150 </div>1150 </div>
1151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1152 ··<script>1152 ··<script>
1153 ··let·initialized·=·false;1153 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.0 MB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp.epub
14.1 KB
zipinfo {}
Max HTML report size reached
493 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
5.4 KB
OEBPS/snmpm.xhtml
Max HTML report size reached
1.75 KB
OEBPS/snmpc_cmd.xhtml
Max HTML report size reached
28.5 KB
OEBPS/snmpa.xhtml
Max HTML report size reached
2.4 KB
OEBPS/snmp_pdus.xhtml
Max HTML report size reached
7.26 KB
OEBPS/snmp_mib_compiler.xhtml
Max HTML report size reached
35.9 KB
OEBPS/snmp_manager_config_files.xhtml
Max HTML report size reached
19.9 KB
OEBPS/snmp_instr_functions.xhtml
Max HTML report size reached
6.55 KB
OEBPS/snmp_index.xhtml
Max HTML report size reached
174 KB
OEBPS/snmp_impl_example_agent.xhtml
Max HTML report size reached
18.8 KB
OEBPS/snmp_generic.xhtml
Max HTML report size reached
34.8 KB
OEBPS/snmp_config.xhtml
Max HTML report size reached
43.5 KB
OEBPS/snmp_app.xhtml
Max HTML report size reached
6.77 KB
OEBPS/snmp_agent_funct_descr.xhtml
Max HTML report size reached
80.4 KB
OEBPS/snmp_agent_config_files.xhtml
Max HTML report size reached
30.1 KB
OEBPS/snmp_advanced_agent.xhtml
Max HTML report size reached
10.2 KB
OEBPS/snmp.xhtml
Max HTML report size reached
10.9 KB
OEBPS/notes.xhtml
Max HTML report size reached
1.2 KB
OEBPS/content.opf
Max HTML report size reached
11.6 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp.html
    
Offset 3195, 16 lines modifiedOffset 3195, 16 lines modified
3195 ······<div·class="specs">3195 ······<div·class="specs">
  
3196 ··········<pre·translate="no"><span·class="attribute">-spec</span>·print_version_info(Prefix)·->·<a·href="#t:void/0">void</a>()·when·Prefix·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>3196 ··········<pre·translate="no"><span·class="attribute">-spec</span>·print_version_info(Prefix)·->·<a·href="#t:void/0">void</a>()·when·Prefix·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>
  
3197 ······</div>3197 ······</div>
  
3198 <p>Utility·function(s)·to·produce·a·formatted·printout·of·the·versions·info3198 <p>Utility·function(s)·to·produce·a·formatted·printout·of·the·versions·info
3199 generated·by·the·<code·class="inline">versions1</code>·function</p><p>This·is·the·same·as·doing,·e.g.:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">···········</span><span·class="p"·data-group-id="8581826754-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="8581826754-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·168,·SHA:·45d16e57863fec93c3c5078677413411d9ea5791f8fd814f757d19d06a581ea5·...·]-2">)</span><span·class="p">,</span><span·class="w">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="9926898303-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="9926898303-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·168,·SHA:·618ef686dad91cce83dd03a64abf75d95c328544dbe1f55321cd77e51821cf98·...·]-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="8581826754-3">(</span><span·class="n">V</span><span·class="p"·data-group-id="8581826754-3">)</span><span·class="p">.</span></code></pre>3200 ···········</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">print_versions</span><span·class="p"·data-group-id="9926898303-3">(</span><span·class="n">V</span><span·class="p"·data-group-id="9926898303-3">)</span><span·class="p">.</span></code></pre>
3201 ··</section>3201 ··</section>
3202 </section>3202 </section>
3203 <section·class="detail"·id="print_versions/1">3203 <section·class="detail"·id="print_versions/1">
  
3204 ··<div·class="detail-header">3204 ··<div·class="detail-header">
3205 ····<a·href="#print_versions/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3205 ····<a·href="#print_versions/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
3206 ······<i·class="ri-link-m"·aria-hidden="true"></i>3206 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3253, 16 lines modifiedOffset 3253, 16 lines modified
3253 ····························Prefix·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),3253 ····························Prefix·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
3254 ····························Versions·::·[VersionInfo],3254 ····························Versions·::·[VersionInfo],
3255 ····························VersionInfo·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>3255 ····························VersionInfo·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3256 ······</div>3256 ······</div>
  
3257 <p>Utility·function·to·produce·a·formatted·printout·of·the·versions·info·generated3257 <p>Utility·function·to·produce·a·formatted·printout·of·the·versions·info·generated
3258 by·the·<code·class="inline">versions1</code>·and·<code·class="inline">versions2</code>·functions</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">···········</span><span·class="p"·data-group-id="1967202492-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="1967202492-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="1967202492-2">(</span><span·class="p"·data-group-id="1967202492-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="1967202492-3">(</span><span·class="n">V</span><span·class="p"·data-group-id="1967202492-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="7311219611-1">{</span><span·[·...·truncated·by·diffoscope;·len:·447,·SHA:·1f6f455dd7907766ce190e03d35a5a9cac5b274cb382bd0469e1cb41a0b5c666·...·]>
 3259 ···········</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">print_versions</span><span·class="p"·data-group-id="7311219611-3">(</span><span·class="n">V</span><span·class="p"·data-group-id="7311219611-3">)</span><span·class="p">.</span></code></pre>
3260 ··</section>3260 ··</section>
3261 </section>3261 </section>
3262 <section·class="detail"·id="read_mib/1">3262 <section·class="detail"·id="read_mib/1">
  
3263 ··<div·class="detail-header">3263 ··<div·class="detail-header">
3264 ····<a·href="#read_mib/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3264 ····<a·href="#read_mib/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
3265 ······<i·class="ri-link-m"·aria-hidden="true"></i>3265 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3382, 25 lines modifiedOffset 3382, 25 lines modified
3382 ·······················TraceOpt·::·{timestamp,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()}·|·TargetOpt.</pre>3382 ·······················TraceOpt·::·{timestamp,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()}·|·TargetOpt.</pre>
  
3383 ······</div>3383 ······</div>
  
3384 <p>This·function·is·used·to·set·up·trace·on·function(s)·for·the·given·module·or3384 <p>This·function·is·used·to·set·up·trace·on·function(s)·for·the·given·module·or
3385 modules.</p><p>The·example·below·sets·up·trace·on·the·exported·functions·(default)·of·module3385 modules.</p><p>The·example·below·sets·up·trace·on·the·exported·functions·(default)·of·module
3386 <code·class="inline">snmp_generic</code>·and·all·functions·of·module·<code·class="inline">snmp_generic_mnesia</code>.·With·return3386 <code·class="inline">snmp_generic</code>·and·all·functions·of·module·<code·class="inline">snmp_generic_mnesia</code>.·With·return
3387 values·(which·is·default)·and·timestamps·in·both·cases·(which·is·also·default):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»    ··</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">enable_trace</span><span·class="p"·data-group-id="8990060345-1">(</span><span·class="p"·data-group-id="8990060345-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="0015085168-1">(</span><span·class="p"·data-group-id="0015085168-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="8990060345-2">(</span><span·class="p"·data-group-id="8990060345-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="0015085168-2">(</span><span·class="p"·data-group-id="0015085168-3">[</span><span·class="ss">snmp_generic</span><span·class="p">,</span><span·class="w">
3389 ··························</span><span·class="p"·data-group-id="8990060345-4">{</span><span·class="ss">snmp_generic_mnesia</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8990060345-5">[</span><span·class="p"·data-group-id="8990060345-6">{</span><span·class="ss">scope</span><span·cl[·...·truncated·by·diffoscope;·len:·330,·SHA:·44b37e6571d723a6ff52b724475b7d16e55871b8ee53b374fa61f2e52b24afde·...·]-2">)</span><span·class="p">,</span><span·class="w">3389 ··························</span><span·class="p"·data-group-id="0015085168-4">{</span><span·class="ss">snmp_generic_mnesia</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0015085168-5">[</span><span·class="p"·data-group-id="0015085168-6">{</span><span·class="ss">scope</span><span·cl[·...·truncated·by·diffoscope;·len:·330,·SHA:·36aeb878edbf7ab6759b1ffde5e7089514642ef9b6d5287835461bccc99e5b18·...·]-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="8990060345-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="8990060345-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="0015085168-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="0015085168-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="8990060345-8">(</span><span·class="p"·data-group-id="8990060345-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="0015085168-8">(</span><span·class="p"·data-group-id="0015085168-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.19/doc/html/snmp_advanced_agent.html
    
Offset 325, 74 lines modifiedOffset 325, 74 lines modified
325 ·······::=·{·empTable·1·}325 ·······::=·{·empTable·1·}
326 ·······EmpEntry·::=326 ·······EmpEntry·::=
327 ··············SEQUENCE·{327 ··············SEQUENCE·{
328 ··················empDepNo·········INTEGER,328 ··················empDepNo·········INTEGER,
329 ··················empName··········DisplayString,329 ··················empName··········DisplayString,
330 ··················empTelNo·········DisplayString,330 ··················empTelNo·········DisplayString,
331 ··················empStatus········RowStatus331 ··················empStatus········RowStatus
332 ··············}</code></pre><p>The·corresponding·Mnesia·table·is·specified·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="1681793770-1">(</span><span·class="p"·data-group-id="1681793770-2">[</span><span·class="p"·data-group-id="1681793770-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:·52dac086f4835c287388c4390ab0cb519804fe1e6c7dbb5d25097fe62c8838af·...·]-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="3835299439-1">(</span><span·class="p"·data-group-id="3835299439-2">[</span><span·class="p"·data-group-id="3835299439-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:·24ecff4355c3a4eb7a26812f741f153a0d6217ccf43545579b14e5bacd7cc39d·...·]-3">}</span><span·class="p">,</span><span·class="w">
333 ·····················</span><span·class="p"·data-group-id="1681793770-4">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1681793770-5">[</span><span·class="p"·data-group-id="1681793770-6">{</span><span·class="ss">key</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·385,·SHA:·234c9391bc494748804db11adb91ce31e34bfcc42dfe8af28f60ed32f10325db·...·]-4">}</span><span·class="p">,</span><span·class="w">333 ·····················</span><span·class="p"·data-group-id="3835299439-4">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3835299439-5">[</span><span·class="p"·data-group-id="3835299439-6">{</span><span·class="ss">key</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·385,·SHA:·708ab2fdad6d316f7ed2e98e0c63eecbfaa6bfde4131a23036a2ccb297c069af·...·]-4">}</span><span·class="p">,</span><span·class="w">
334 ·····················</span><span·class="p"·data-group-id="1681793770-8">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1681793770-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:·65fc9f04945737c1f7236d7330f42ef82d7465c209f54fc7173cbb0af78008ae·...·]-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="3835299439-8">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3835299439-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:·378a099f06f0b52e60443017c9fc91e04e6768df57b6da2c42ddfa306c38c702·...·]-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="2719566770-1">(</span><span·class="s">&quot;EmpMIB&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2719566770-2">[</span><span·class="p"·data-group-id="2719566770-3">{</span><span·class="ss">db</span><span·class="[·...·truncated·by·diffoscope;·len:·212,·SHA:·54ad599f2a2f961248dbdec42d04a5852177c9a7ef53579d7bd5693c127d7b3c·...·]-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="0249253857-1">(</span><span·class="s">&quot;EmpMIB&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0249253857-2">[</span><span·class="p"·data-group-id="0249253857-3">{</span><span·class="ss">db</span><span·class="[·...·truncated·by·diffoscope;·len:·212,·SHA:·b1c12e6f5373087321db7eda62e7858021387ef945eefd68751aa90c6d8454ff·...·]-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="0557996258-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="0557996258-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="2738764810-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="2738764810-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="0557996258-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="0557996258-2">)</span><span·class="p">,</span><span·class="w">354 ····</span><span·class="nf">notify_internal_resources</span><span·class="p"·data-group-id="2738764810-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="2738764810-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="0557996258-3">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·252,·SHA:·4f89ffd342a40c9be9a634dcb8ea7b5e10a71c509d28896fc44237e65f05f17e·...·]-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="2738764810-3">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·252,·SHA:·81518bf1b997d3ca65bc3d0b87ddfd81ebb38323d3744c13e80f6e9cc5e5885c·...·]-3">)</span><span·class="p">;</span><span·class="w">
356 </span><span·class="nf">emp_table</span><span·class="p"·data-group-id="0557996258-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="0557996258-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="2738764810-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="2738764810-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="0557996258-6">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·250,·SHA:·724730799173c8cd3b61bd2116c816a2b3934fb40c47e397888bc13f2172b806·...·]-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="2738764810-6">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·250,·SHA:·85a86b669178febdca7f1970abcc3f8074f78141e72bc61db8fa9cbc159ea5aa·...·]-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="2237580257-1">(</span><span·class="p"·data-group-id="2237580257-2">[</span><span·class="p"·data-group-id="2237580257-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:·6740eac0115b996184b12a54c76f353f919f6fab28f41d154b96a2f473104c66·...·]-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="5247967553-1">(</span><span·class="p"·data-group-id="5247967553-2">[</span><span·class="p"·data-group-id="5247967553-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:·9b754d0ddb4df7c27e0bfa1859c7512efcaf8206fd0d6de3785d16984ff68ab6·...·]-3">}</span><span·class="p">,</span><span·class="w">
371 ·····················</span><span·class="p"·data-group-id="2237580257-4">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2237580257-5">[</span><span·class="p"·data-group-id="2237580257-6">{</span><span·class="ss">key</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·385,·SHA:·013cc01f28e3dd37c604b9ab08659b7b6c549e99dff33aed196ea0a994e11610·...·]-4">}</span><span·class="p">,</span><span·class="w">371 ·····················</span><span·class="p"·data-group-id="5247967553-4">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5247967553-5">[</span><span·class="p"·data-group-id="5247967553-6">{</span><span·class="ss">key</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·385,·SHA:·c0c785a94ae5e0148dace5252d7fa9d33cb7ff24a06ce5caf1e868aaa682d936·...·]-4">}</span><span·class="p">,</span><span·class="w">
372 ·····················</span><span·class="p"·data-group-id="2237580257-8">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2237580257-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:·8d7502533db5f416b51c549d6117756f2aba9c78911ba3d7483195cd71c80cc7·...·]-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="5247967553-8">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5247967553-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:·b95a0eba526c6235d1136eead562740fa421f92e55ae0ff87f54fb9145315c68·...·]-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="1892164052-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="1892164052-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="7494875501-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="7494875501-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="1892164052-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="1892164052-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="7494875501-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="7494875501-2">)</span><span·class="p">.</span><span·class="w">
  
376 </span><span·class="nf">emp_table</span><span·class="p"·data-group-id="1892164052-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="1892164052-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="7494875501-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="7494875501-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="1892164052-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="1892164052-4">)</span><span·class="p">,</span><span·class="w">377 ··</span><span·class="nf">notify_internal_resources</span><span·class="p"·data-group-id="7494875501-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="7494875501-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="1892164052-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="1892164052-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="7494875501-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="7494875501-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="1892164052-6">[</span><span·class="p"·data-group-id="1892164052-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="1892164052-7">}</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·bf846dc56ac1c7cab9234217e2aa4f44ecdcb921c5ffd49dadd738ff709de289·...·]-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="7494875501-6">[</span><span·class="p"·data-group-id="7494875501-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="7494875501-7">}</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·12e08b197d45b8f34fb490232ec4d152df641125a43f6790d3efe06fa589ccc6·...·]-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="1892164052-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:·d9a7ab9f8391a361a34ca4269c0711e51faa1c1801d41728b6cf0d0eb1184a2e·...·]-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="7494875501-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:·11d1199beacf7e943d8e8a934153ba92e0f50d9aea13e01c8b5f7f2372b1153a·...·]-8">)</span><span·class="p">;</span><span·class="w">
384 </span><span·class="nf">emp_table</span><span·class="p"·data-group-id="1892164052-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="1892164052-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="7494875501-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="7494875501-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="1892164052-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:·6c2d1c95ccf17ffa8a2a1e0bfa9749222b8e4623c178121b244b06c1850325ef·...·]-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="7494875501-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:·a2fff6bf6765f3e0689d80a7e46646ab1cf4eaa4da31d080a64892661246ade4·...·]-11">)</span><span·class="p">.</span><span·class="w">
  
386 </span><span·class="nf">is_row_created</span><span·class="p"·data-group-id="1892164052-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="1892164052-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="7494875501-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="7494875501-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="1892164052-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="1892164052-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="7494875501-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="7494875501-14">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
388 ····</span><span·class="p"·data-group-id="1892164052-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="1892164052-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="7494875501-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="7494875501-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="1892164052-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="1892164052-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="7494875501-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="7494875501-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.19/doc/html/snmp_agent_config_files.html
    
Offset 146, 38 lines modifiedOffset 146, 38 lines modified
146 ····<i·class="ri-link-m"·aria-hidden="true"></i>146 ····<i·class="ri-link-m"·aria-hidden="true"></i>
147 ··</a>147 ··</a>
148 ··<span·class="text">Agent·Information</span>148 ··<span·class="text">Agent·Information</span>
149 </h2>149 </h2>
150 <p>The·agent·information·should·be·stored·in·a·file·called·<code·class="inline">agent.conf</code>.</p><p>Each·entry·is·a·tuple·of·size·two:</p><p><code·class="inline">{AgentVariable,·Value}.</code></p><ul><li><code·class="inline">AgentVariable</code>·is·one·of·the·variables·in·SNMP-FRAMEWORK-MIB·or·one·of·the150 <p>The·agent·information·should·be·stored·in·a·file·called·<code·class="inline">agent.conf</code>.</p><p>Each·entry·is·a·tuple·of·size·two:</p><p><code·class="inline">{AgentVariable,·Value}.</code></p><ul><li><code·class="inline">AgentVariable</code>·is·one·of·the·variables·in·SNMP-FRAMEWORK-MIB·or·one·of·the
151 internal·variables·<code·class="inline">intAgentUDPPort</code>,·which·defines·which·UDP·port·the·agent151 internal·variables·<code·class="inline">intAgentUDPPort</code>,·which·defines·which·UDP·port·the·agent
152 listens·to,·or·<code·class="inline">intAgentTransports</code>,·which·defines·the·transport·domains·and152 listens·to,·or·<code·class="inline">intAgentTransports</code>,·which·defines·the·transport·domains·and
153 addresses·of·the·agent.</li><li><code·class="inline">Value</code>·is·the·value·for·the·variable.</li></ul><p>The·following·example·shows·an·<code·class="inline">agent.conf</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4933387564-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="4933387564-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="4837314134-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="4837314134-1">}</span><span·class="p">.</span><span·class="w">
154 </span><span·class="p"·data-group-id="4933387564-2">{</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">154 </span><span·class="p"·data-group-id="4837314134-2">{</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">
155 ·</span><span·class="p"·data-group-id="4933387564-3">[</span><span·class="p"·data-group-id="4933387564-4">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4933387564-5">{</span><span·class="mi">141</span><span·cl[·...·truncated·by·diffoscope;·len:·236,·SHA:·647c4972f7191464d90ecf50a6d197efbe0d2f93d73dc00b28f1f07867f933eb·...·]4-4">}</span><span·class="p">,</span><span·class="w">155 ·</span><span·class="p"·data-group-id="4837314134-3">[</span><span·class="p"·data-group-id="4837314134-4">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4837314134-5">{</span><span·class="mi">141</span><span·cl[·...·truncated·by·diffoscope;·len:·236,·SHA:·964c6aa23ef31e09ea81ad3ec973aa2bcea58eed6644e7d0ebb9c79637a7aa1b·...·]4-4">}</span><span·class="p">,</span><span·class="w">
156 ··</span><span·class="p"·data-group-id="4933387564-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4933387564-7">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p[·...·truncated·by·diffoscope;·len:·479,·SHA:·454112b9b59bba6e26ac66b8fc4c362ca05b4bc4e45963fbb17dac5c30843e30·...·]4-2">}</span><span·class="p">.</span><span·class="w">156 ··</span><span·class="p"·data-group-id="4837314134-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4837314134-7">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p[·...·truncated·by·diffoscope;·len:·479,·SHA:·7eb1ff287ab6d3b8190eb585d4d1dbb0720acae5fc899b7abc2b278d747a11a7·...·]4-2">}</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="4933387564-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="4933387564-8">}</span><span·class="p">.</span><span·class="w">157 </span><span·class="p"·data-group-id="4837314134-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="4837314134-8">}</span><span·class="p">.</span><span·class="w">
158 </span><span·class="p"·data-group-id="4933387564-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="4933387564-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="4837314134-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="4837314134-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="3921743276-1">[</span><span·class="p"·data-group-id="3921743276-2">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3921743276-3">{</span><span·class="mi">141</span><span·c[·...·truncated·by·diffoscope;·len:·238,·SHA:·9abaa745ec579e18d4bbaf3b6a9b5e705cef41d29f173b833dc617726c8cc41f·...·]-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="4366790295-1">[</span><span·class="p"·data-group-id="4366790295-2">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4366790295-3">{</span><span·class="mi">141</span><span·c[·...·truncated·by·diffoscope;·len:·238,·SHA:·1641414346db3806f83085b0f1877cc41cfd23b6a0290bfb8edbbb2c9a1657cf·...·]-2">}</span><span·class="p">,</span><span·class="w">
161 ···············</span><span·class="p"·data-group-id="3921743276-4">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3921743276-5">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·428,·SHA:·6b036e9a083a64e30d49c7887fa14d09df1fd0dabc27ef369132a61646f70ebc·...·]-1">]</span><span·class="p">,</span><span·class="w">161 ···············</span><span·class="p"·data-group-id="4366790295-4">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4366790295-5">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·428,·SHA:·0739773ec80a0e5f7a47248f37820fb021af7df0bfe686de163f9c776d5898ed·...·]-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="3921743276-6">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">agent_entry</span><span·class="p"·data-group-id="3921743276-7">(</span><span·class="ss">intAgentUDPPort</span><span·class="p">,</span><span·class="w">·········[·...·truncated·by·diffoscope;·len:·81,·SHA:·cc69a4e0ab5c3e321d1019518404a060851c660f8566ed5f4e96192a9c103749·...·]-7">)</span><span·class="p">,</span><span·class="w">165 ···</span><span·class="p"·data-group-id="4366790295-6">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">agent_entry</span><span·class="p"·data-group-id="4366790295-7">(</span><span·class="ss">intAgentUDPPort</span><span·class="p">,</span><span·class="w">·········[·...·truncated·by·diffoscope;·len:·81,·SHA:·ac48eeb91b6562dca0976f02e6643dcd74e5f771a0029518d492bccc18004aeb·...·]-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="3921743276-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="3921743276-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="4366790295-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="4366790295-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="3921743276-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="3921743276-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="4366790295-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="4366790295-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="3921743276-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="3921743276-10">)</span><span·class="p"·data-group-id="3921743276-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="4366790295-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="4366790295-10">)</span><span·class="p"·data-group-id="4366790295-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="3921743276-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="3921743276-11">)</span><span·class="p">,</span></code></pre><p>These·are·the·supported·en[·...·truncated·by·diffoscope;·len:·434,·SHA:·6110539911fd7d71117c0a0e45e3dc4bfd55dd76ce5cee77b3e805a0806a5b26·...·]6-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="4366790295-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="4366790295-11">)</span><span·class="p">,</span></code></pre><p>These·are·the·supported·en[·...·truncated·by·diffoscope;·len:·434,·SHA:·acbe8968c653b2262725a189014e0cadbf10970eac10dc019f1880d3dfc6947c·...·]6-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="7667994926-3">{</span><span·class="ss">snmpEngineMaxMessageSize</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">snmp_framework_mib</span><span·class="p">:</span><span·class="nf">max_message_size</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·114,·SHA:·5a487f7d6ee11e9b082bcef29ee80b091d757ec00bdcdbeae945d99732d1880f·...·]6-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="1924759876-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="1[·...·truncated·by·diffoscope;·len:·114,·SHA:·31ef92a6241b89d832a6ad2a0f6fe9e7493156913653ae8b44349a75bf063509·...·]6-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="7667994926-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="7667994926-6">(</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·5f8139f8d8233ad9c75cefa91286cc84177a7d040ee7e696225cdb758f998207·...·]6-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="1924759876-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="1924759876-6">(</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·785ccd939608e32a60d11a05dca2a4551b37b76bd78002b30c7cf7a027ad3708·...·]6-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="7667994926-7">{</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">·······</span><span·class="p"·data-group-id="7667994926-8">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">intAgentTr[·...·truncated·by·diffoscope;·len:·213,·SHA:·6c89e2c756be3e575c9faeb74fa41dbe454c0fa0a83579663c00980ee1eb10a7·...·]6-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="1924759876-7">{</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">·······</span><span·class="p"·data-group-id="1924759876-8">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">intAgentTr[·...·truncated·by·diffoscope;·len:·213,·SHA:·dea1d72f1550334b80275358dcab6a17a72342b8276b6799c972700b7b98c771·...·]6-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="2067123231-1">[</span><span·class="p"·data-group-id="2067123231-2">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2067123231-3">{</span><span·class="p"·data-group-id="2067123231-4">{</span><span·class="mi">141</span><span·class="p">,</span><span·class="mi">213</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">24</span><span·class="p"·data-group-id="2067123231-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4000</span><span·class="p"·data-group-id="2067123231-3">}</span><span·class="p"·data-group-id="2067123231-2">}</span><span·class="p">,</span><span·class="w"> 
176 ··</span><span·class="p"·data-group-id="2067123231-5">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2067123231-6">{</span><span·class="p"·data-group-id="2067123231-7">{<[·...·truncated·by·diffoscope;·len:·665,·SHA:·42ee36c2398edd69f531875ed4895de89151f4d1f11ebed1c9b5424d83390f3c·...·]175 example,·<em>not</em>·allowed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="p"·data-group-id="2562661958-1">[</span><span·class="p"·data-group-id="2562661958-2">{</span><span·class="ss">transportDomainUdpIpv4</spa[·...·truncated·by·diffoscope;·len:·609,·SHA:·ab355171be47592947e84f89580cd42b23bd47ad93d2870dc1eb065b04ca5398·...·]
 176 ··</span><span·class="p"·data-group-id="2562661958-5">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2562661958-6">{</span><span·class="p"·data-group-id="2562661958-7">{</span><span·class="mi">141</span><span·class="p">,</span><span·class="mi">213</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">24</span><span·class="p"·data-group-id="2562661958-7">}</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4001</span><span·class="p"·data-group-id="2562661958-6">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">trap_sender</span><span·class="p"·data-group-id="2562661958-5">}</span><span·class="p"·data-group-id="2562661958-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="2698026952-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">context_entry</span><span·class="p"·data-group-id="2698026952-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="2698026952-2">)</span><span·class="p">,</span><span·class="w">197 ···</span><span·class="p"·data-group-id="8622234458-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">context_entry</span><span·class="p"·data-group-id="8622234458-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="8622234458-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="2698026952-3">(</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="2698026952-3">)</span><span·class="p"·data-group-id="2698026952-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="8622234458-3">(</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="8622234458-3">)</span><span·class="p"·data-group-id="8622234458-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="2698026952-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="2698026952-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="8622234458-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="8622234458-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="1499573704-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="1499573704-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="3001259337-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="3001259337-1">}</span><span·class="p">.</span><span·class="w">
207 </span><span·class="p"·data-group-id="1499573704-2">{</span><span·class="ss">sysObjectID</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1499573704-3">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·119,·SHA:·9e9423ec11d52ce2954ab2d36c1c3f31bd431616801e2c2c77092c3195bd964f·...·]-2">}</span><span·class="p">.</span><span·class="w">207 </span><span·class="p"·data-group-id="3001259337-2">{</span><span·class="ss">sysObjectID</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3001259337-3">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·119,·SHA:·228f0f4d0c967c90175d2f207c5b2fb911889b9cc8c1fe65c9b84df944125f50·...·]-2">}</span><span·class="p">.</span><span·class="w">
208 </span><span·class="p"·data-group-id="1499573704-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="1499573704-4">}</span><span·class="p">.</span><span·class="w">208 </span><span·class="p"·data-group-id="3001259337-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="3001259337-4">}</span><span·class="p">.</span><span·class="w">
209 </span><span·class="p"·data-group-id="1499573704-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="1499573704-5">}</span><span·class="p">.</span><span·class="w">209 </span><span·class="p"·data-group-id="3001259337-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="3001259337-5">}</span><span·class="p">.</span><span·class="w">
210 </span><span·class="p"·data-group-id="1499573704-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="1499573704-6">}</span><span·class="p">.</span><span·class="w">210 </span><span·class="p"·data-group-id="3001259337-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="3001259337-6">}</span><span·class="p">.</span><span·class="w">
211 </span><span·class="p"·data-group-id="1499573704-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="1499573704-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="3001259337-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="3001259337-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="8644256949-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="8644256949-2">(</span><span·class="ss">sysDescr</span><span·class="p">,</span><span·class="w">····</span><s[·...·truncated·by·diffoscope;·len:·91,·SHA:·c83fe4fff720509ee0146336648265e0857bdc421b6aac32631e838ac3de395f·...·]-2">)</span><span·class="p">,</span><span·class="w">213 ···</span><span·class="p"·data-group-id="7908562096-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="7908562096-2">(</span><span·class="ss">sysDescr</span><span·class="p">,</span><span·class="w">····</span><s[·...·truncated·by·diffoscope;·len:·91,·SHA:·80487ee4577d36fe7871c34201eb828728c1cdc96b01ceb36fc4d9b8f72d577c·...·]-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="8644256949-3">(</span><span·class="ss">sysObjectID</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8644256949-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:·c7df118d77c47c8c894818e50bf4b16245bc8da8e96d2e7cc1aa4210750cc8bb·...·]-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="7908562096-3">(</span><span·class="ss">sysObjectID</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7908562096-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:·dfe90d3053649606b155e64fa6396b7bdf5a99c67927e3a2d638d008d020eafb·...·]-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="8644256949-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="8644256949-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="7908562096-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="7908562096-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="8644256949-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="8644256949-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="7908562096-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="7908562096-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="8644256949-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="8644256949-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="7908562096-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="7908562096-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="8644256949-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="8644256949-8">)</span><span·class="p"·data-group-id="8644256949-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="7908562096-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="7908562096-8">)</span><span·class="p"·data-group-id="7908562096-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="8644256949-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="8644256949-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="7908562096-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="7908562096-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="8309970917-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">community_entry</span><span·class="p"·data-group-id="8309970917-2">(</span><span·class="s">&quot;public&quot;</span><span·class="p"·data-group-id="8309970917-2">)</span><span·class="p">,</span><span·class="w">230 ···</span><span·class="p"·data-group-id="5456513722-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">community_entry</span><span·class="p"·data-group-id="5456513722-2">(</span><span·class="s">&quot;public&quot;</span><span·class="p"·data-group-id="5456513722-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="8309970917-3">(</span><span·class="s">&quot;all-rights&quot;</span><span·class="p"·data-group-id="8309970917-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="5456513722-3">(</span><span·class="s">&quot;all-rights&quot;</span><span·class="p"·data-group-id="5456513722-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="8309970917-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="5456513722-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="8309970917-4">)</span><span·class="p"·data-group-id="8309970917-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="5456513722-4">)</span><span·class="p"·data-group-id="5456513722-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="8309970917-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="8309970917-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="5456513722-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="5456513722-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="0175937136-1">[</span><span·class="c1">%%························SecModel,·SecName,·GroupName</span><span·class="w">249 ···</span><span·class="p"·data-group-id="6466146536-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="0175937136-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="0175937136-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="6466146536-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="6466146536-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="0175937136-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="6466146536-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="0175937136-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="6466146536-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="0175937136-4">(</span><span·class="s">&quot;restricted&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0175937136-5">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p[·...·truncated·by·diffoscope;·len:·385,·SHA:·f49b6ad1e8d34575e4812f4950a2e2d90b155b64b156c6656b94e7edd8460e9f·...·]36-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="6466146536-4">(</span><span·class="s">&quot;restricted&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6466146536-5">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p[·...·truncated·by·diffoscope;·len:·385,·SHA:·e88cc3beee2c9711ed8e199af2eff6f362bb586efa0088da8452132c0af3753d·...·]36-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="0175937136-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="0175937136-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="6466146536-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="6466146536-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="0854652111-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="0854652111-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="1381525073-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="1381525073-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="0854652111-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="0854652111-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="1381525073-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="1381525073-2">)</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 25689/83153 bytes (30.89%) of diff not shown.
847 B
html2text {}
Max HTML report size reached
8.3 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_agent_funct_descr.html
    
Offset 304, 15 lines modifiedOffset 304, 15 lines modified
304 This·MIB·can·be·used·with·any·SNMP·version.</li><li>SNMP-COMMUNITY-MIB,·which·defines·managed·objects·for·coexistence·of·SNMPv1304 This·MIB·can·be·used·with·any·SNMP·version.</li><li>SNMP-COMMUNITY-MIB,·which·defines·managed·objects·for·coexistence·of·SNMPv1
305 and·SNMPv2c·with·SNMPv3.·This·MIB·is·only·useful·if·SNMPv1·or·SNMPv2c·is·used,305 and·SNMPv2c·with·SNMPv3.·This·MIB·is·only·useful·if·SNMPv1·or·SNMPv2c·is·used,
306 possibly·in·combination·with·SNMPv3.</li><li>SNMP-USER-BASED-SM-MIB,·which·defines·managed·objects·for·authentication·and306 possibly·in·combination·with·SNMPv3.</li><li>SNMP-USER-BASED-SM-MIB,·which·defines·managed·objects·for·authentication·and
307 privacy.·This·MIB·is·only·useful·with·SNMPv3.</li></ul><p>All·of·these·MIBs·should·be·loaded·into·the·Master·Agent.·Once·loaded,·these307 privacy.·This·MIB·is·only·useful·with·SNMPv3.</li></ul><p>All·of·these·MIBs·should·be·loaded·into·the·Master·Agent.·Once·loaded,·these
308 MIBs·are·always·available·in·all·contexts.</p><p>The·ASN.1·code,·the·Erlang·source·code,·and·the·generated·<code·class="inline">.hrl</code>·files·for·them308 MIBs·are·always·available·in·all·contexts.</p><p>The·ASN.1·code,·the·Erlang·source·code,·and·the·generated·<code·class="inline">.hrl</code>·files·for·them
309 are·provided·in·the·distribution·and·are·placed·in·the·directories·<code·class="inline">mibs</code>,309 are·provided·in·the·distribution·and·are·placed·in·the·directories·<code·class="inline">mibs</code>,
310 <code·class="inline">src</code>,·and·<code·class="inline">include</code>,·respectively,·in·the·<code·class="inline">snmp</code>·application.</p><p>The·<code·class="inline">.hrl</code>·files·are·generated·with·<a·href="snmpc.html#mib_to_hrl/1"><code·class="inline">snmpc:mib_to_hrl/1</code></a>.·Include·these·files·in310 <code·class="inline">src</code>,·and·<code·class="inline">include</code>,·respectively,·in·the·<code·class="inline">snmp</code>·application.</p><p>The·<code·class="inline">.hrl</code>·files·are·generated·with·<a·href="snmpc.html#mib_to_hrl/1"><code·class="inline">snmpc:mib_to_hrl/1</code></a>.·Include·these·files·in
311 your·code·as·in·the·following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="4201152615-1">(</span><span·class="s">&quot;snmp/include/SNMPv2-MIB.hrl&quot;</span><span·class="p"·data-group-id="4201152615-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="2033345085-1">(</span><span·class="s">&quot;snmp/include/SNMPv2-MIB.hrl&quot;</span><span·class="p"·data-group-id="2033345085-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="6039663513-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="8364420374-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="6039663513-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:·a1126f4169772a8a0e05cbef3bd6e544d79faa22e99a6489670fd733bd205655·...·]-1">)</span><span·class="w">473 ·······················</span><span·class="p"·data-group-id="8364420374-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:·fb40d1d093118927eb90f848c902cb866f2f3f2237635336fc805047299e6805·...·]-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="6039663513-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:·dad51b696c5d3775af422e9397005da15220ecfe406f2d7de52a4cddc5c05032·...·]-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="8364420374-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:·d7dfe60edfafa528a2316eb8751e0db8e8117070bdaf7e78fbb55c11e79bac9b·...·]-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.68 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_agent_netif.html
    
Offset 263, 15 lines modifiedOffset 263, 15 lines modified
263 ······<p·class="built-using">263 ······<p·class="built-using">
264 ········Built·using264 ········Built·using
265 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the265 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
266 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>266 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
267 ······</p>267 ······</p>
268 <p>Copyright·©·1996-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.19/doc/html/snmp_app.html
    
Offset 136, 59 lines modifiedOffset 136, 59 lines modified
136 ··<a·href="#configuration"·class="hover-link">136 ··<a·href="#configuration"·class="hover-link">
137 ····<i·class="ri-link-m"·aria-hidden="true"></i>137 ····<i·class="ri-link-m"·aria-hidden="true"></i>
138 ··</a>138 ··</a>
139 ··<span·class="text">Configuration</span>139 ··<span·class="text">Configuration</span>
140 </h2>140 </h2>
141 <p>The·following·configuration·parameters·are·defined·for·the·SNMP·application.141 <p>The·following·configuration·parameters·are·defined·for·the·SNMP·application.
142 Refer·to·application(3)·for·more·information·about·configuration·parameters.</p><p>The·snmp·part·of·the·config·file·specifying·the·configuration·parameters·is142 Refer·to·application(3)·for·more·information·about·configuration·parameters.</p><p>The·snmp·part·of·the·config·file·specifying·the·configuration·parameters·is
143 basically·the·following·tuple:</p><pre><code·class="text">······{snmp,·snmp_components_config()}</code></pre><p>A·minimal·config·file·for·starting·a·node·with·both·a·manager·and·an·agent:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="7899028465-1">[</span><span·class="p"·data-group-id="7899028465-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="2745240698-1">[</span><span·class="p"·data-group-id="2745240698-2">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">
144 ········</span><span·class="p"·data-group-id="7899028465-3">[</span><span·class="p"·data-group-id="7899028465-4">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7899028465-5">[</span><span·class="p"·data-group-id="7899028465-6">{</spa[·...·truncated·by·diffoscope;·len:·174,·SHA:·a2bb27fc120b5a05875950cd7daa05fa51df83faa68e173a35615d45c3621c89·...·]-6">}</span><span·class="p">,</span><span·class="w">144 ········</span><span·class="p"·data-group-id="2745240698-3">[</span><span·class="p"·data-group-id="2745240698-4">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2745240698-5">[</span><span·class="p"·data-group-id="2745240698-6">{</spa[·...·truncated·by·diffoscope;·len:·174,·SHA:·7acd6eb93f8154e988142d8d53c528fcd142e248bf96cd59f3c489d584979cea·...·]-6">}</span><span·class="p">,</span><span·class="w">
145 ··················</span><span·class="p"·data-group-id="7899028465-7">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7899028465-8">[</span><span·class="p"·data-group-id="7899028465-9">{</span><span·class="ss">dir</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·333,·SHA:·7e51f822347f47d030e16c66d76060d1503a33c181102b07472891d094aa7a79·...·]-4">}</span><span·class="p">,</span><span·class="w">145 ··················</span><span·class="p"·data-group-id="2745240698-7">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2745240698-8">[</span><span·class="p"·data-group-id="2745240698-9">{</span><span·class="ss">dir</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·333,·SHA:·2ec81a7ce52b43c6f5730c93b21d6a0912a382a252b1e91e6d0b79809b59dddb·...·]-4">}</span><span·class="p">,</span><span·class="w">
146 ·········</span><span·class="p"·data-group-id="7899028465-10">{</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7899028465-11">[</span><span·class="p"·data-group-id="7899028465-12">{</span><span·class="ss">config</span><span·class="p">[·...·truncated·by·diffoscope;·len:·313,·SHA:·24ac0f7f893d555d312abf9ecda4b85e1bdf367dba3866451c6c8c2ef329ad15·...·]-14">}</span><span·class="p">,</span><span·class="w">146 ·········</span><span·class="p"·data-group-id="2745240698-10">{</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2745240698-11">[</span><span·class="p"·data-group-id="2745240698-12">{</span><span·class="ss">config</span><span·class="p">[·...·truncated·by·diffoscope;·len:·313,·SHA:·b98b7438aefc31a120879ec317a7b6cced7e556b64b8ef4398086ff7daa0f1b8·...·]-14">}</span><span·class="p">,</span><span·class="w">
147 ······························</span><span·class="p"·data-group-id="7899028465-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="7899028465-15">}</span><span·class="p"·data-group-id="7899028465-13">[·...·truncated·by·diffoscope;·len:·264,·SHA:·29cacf9bfd48c14daef932cf695c004c09a8f1872f7232da7dd994168ff331a1·...·]-2">}</span><span·class="w">147 ······························</span><span·class="p"·data-group-id="2745240698-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="2745240698-15">}</span><span·class="p"·data-group-id="2745240698-13">[·...·truncated·by·diffoscope;·len:·264,·SHA:·a825a8a8601f6449f0610ded3efffcb5240adeaaf99b42ab87802e25e6c37454·...·]-2">}</span><span·class="w">
148 ········</span><span·class="p"·data-group-id="7899028465-1">]</span><span·class="w">148 ········</span><span·class="p"·data-group-id="2745240698-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="8030787689-1">(</span><span·class="p"·data-group-id="8030787689-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8030787689-2">[</span><span·class="nf">snmp_component_config</span><span·class="p"·data-group-id="8030787689-3">(</span><span·class="p"·data-group-id="8030787689-3">)</span><span·class="p"·data-group-id="8030787689-2">]</span><span·class="w"> 
152 ······</span><span·class="nf">snmp_component_config</span><span·class="p"·data-group-id="8030787689-4">(</span><span·class="p"·data-group-id="8030787689-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·705,·SHA:·61f6bed27d3f9f65fc1b9c0b19ad0a3ddae282af1a7bdd3ab2c9ae288f06ea79·...·]</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="1969601552-1">(</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·351,·SHA:·e1658791f3cc0cd31b9313f59b86eb50efbc90a5797bfcdf27791ada5e896d33·...·]</span><span·class="w">
 152 ······</span><span·class="nf">snmp_component_config</span><span·class="p"·data-group-id="1969601552-4">(</span><span·class="p"·data-group-id="1969601552-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1969601552-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="1969601552-6">(</span><span·class="p"·data-group-id="1969601552-6">)</span><span·class="p"·data-group-id="1969601552-5">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="1969601552-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="1969601552-8">(</span><span·class="p"·data-group-id="1969601552-8">)</span><span·class="p"·data-group-id="1969601552-7">}</span><span·class="w">
153 ······</span><span·class="nf">agent_options</span><span·class="p"·data-group-id="8030787689-9">(</span><span·class="p"·data-group-id="8030787689-9">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8030787689-10">[</span><span·class="nf">agent_option</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·b00e31d5e3181108c485693ecbd0952d5676b9941556abb8a0dcbd57850977f8·...·]-10">]</span><span·class="w">153 ······</span><span·class="nf">agent_options</span><span·class="p"·data-group-id="1969601552-9">(</span><span·class="p"·data-group-id="1969601552-9">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1969601552-10">[</span><span·class="nf">agent_option</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·5bd4adb4490e9716d0f1709fcd2892800b35f83915fc918ccf232e50ced981d8·...·]-10">]</span><span·class="w">
154 ······</span><span·class="nf">agent_option</span><span·class="p"·data-group-id="8030787689-12">(</span><span·class="p"·data-group-id="8030787689-12">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8030787689-13">{</span><span·class="ss">restart_type</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·220,·SHA:·4e85b5ae1783ca35b78d09373df204970595cd74a8b105757d35b470806c9247·...·]-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="1969601552-12">(</span><span·class="p"·data-group-id="1969601552-12">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1969601552-13">{</span><span·class="ss">restart_type</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·220,·SHA:·e7fd0014bc5928b0dd10616109c1ee0e5fb22e49088fbb42b3bbb7ef13f92f36·...·]-13">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
155 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-16">(</span><span·class="p"·data-group-id="8030787689-16">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·bc0b02a840325aef9abd099cfddd90deccd14dd1c0fb5e1ff33d8f77e9d36aea·...·]-15">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">155 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-16">(</span><span·class="p"·data-group-id="1969601552-16">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·83c84ee51645f0142d4055207d09b08a5e1881a0c49ca11a319db9d1555dad18·...·]-15">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
156 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-18">(</span><span·class="p"·data-group-id="8030787689-18">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·b473072063a15350fd4d981f4b526db3df57d037b3c6baa83e4bb2728b9b52ce·...·]-17">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">156 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-18">(</span><span·class="p"·data-group-id="1969601552-18">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·8c56213714920c4ffbcc754142ce4fcfff0beaddc8375bd3b70f521c516d4941·...·]-17">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
157 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-20">(</span><span·class="p"·data-group-id="8030787689-20">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·bcb49f2f20c3a5db4333dc434124fef87b9240b84c52e6d5c1bbc8b06af2abe1·...·]-19">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">157 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-20">(</span><span·class="p"·data-group-id="1969601552-20">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·e649478950f4e67ca5d199c3d7509fcfb8108476de6b79ce45004076bd878dce·...·]-19">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
158 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-22">(</span><span·class="p"·data-group-id="8030787689-22">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·c15575301c13e71c38d9d609ce01224e9f58da27f98ad7cdf97ccdb8b0ea9ace·...·]-21">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">158 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-22">(</span><span·class="p"·data-group-id="1969601552-22">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·74636225bbe3db7375833946225b53106dffaee5450cffdfd65552f95b2691d6·...·]-21">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
159 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-24">(</span><span·class="p"·data-group-id="8030787689-24">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·bc0b02a840325aef9abd099cfddd90deccd14dd1c0fb5e1ff33d8f77e9d36aea·...·]-23">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">159 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-24">(</span><span·class="p"·data-group-id="1969601552-24">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·83c84ee51645f0142d4055207d09b08a5e1881a0c49ca11a319db9d1555dad18·...·]-23">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
160 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-26">(</span><span·class="p"·data-group-id="8030787689-26">)</span><span·class="p"·data-group-id="8030787689-25">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w"> 
161 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-28">(</span><span·class="p"·data-group-id="8030787689-28">)</span[·...·truncated·by·diffoscope;·len:·71,·SHA:·4fe64b3171fbadb75491601a5ea5432de13a035f9433e9812d1bc8be4ce4d9d6·...·]···</span><span·class="p">|</span><span·class="w">160 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-26">(</span><span·class="p"·data-group-id="1969601552-26">)</span><span[·...·truncated·by·diffoscope;·len:·71,·SHA:·81c2bbd7236d49e4c5d9bfc5f67ea156bcd920372f4fd88d4fa331600f3df005·...·]···</span><span·class="p">|</span><span·class="w">
 161 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-28">(</span><span·class="p"·data-group-id="1969601552-28">)</span><span·class="p"·data-group-id="1969601552-27">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">
162 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-30">(</span><span·class="p"·data-group-id="8030787689-30">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·839d9721b5ef5984c6f2ecc378e7d60aea2afe8227806a8fb2c33217a3dca86d·...·]-29">}</span><span·class="w">···········</span><span·class="p">|</span><span·class="w">162 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-30">(</span><span·class="p"·data-group-id="1969601552-30">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·8c7228c150ed3ae66b4744992cc5145d25ecb36c3db232f7481c5f32d312de8d·...·]-29">}</span><span·class="w">···········</span><span·class="p">|</span><span·class="w">
163 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-32">(</span><span·class="p"·data-group-id="8030787689-32">)</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·2c54127c3cab147dbb6ca1b6a1448fd7ac7ebc70d443188d99bd3123dbb3f375·...·]-31">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">163 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-32">(</span><span·class="p"·data-group-id="1969601552-32">)</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·6e8c533985465b78f51cfd98b4c6a88fa00bfbc8549e5f8402862ad5f3412d82·...·]-31">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
164 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-34">(</span><span·class="p"·data-group-id="8030787689-34">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·c15575301c13e71c38d9d609ce01224e9f58da27f98ad7cdf97ccdb8b0ea9ace·...·]-33">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">164 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-34">(</span><span·class="p"·data-group-id="1969601552-34">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·74636225bbe3db7375833946225b53106dffaee5450cffdfd65552f95b2691d6·...·]-33">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
165 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-36">(</span><span·class="p"·data-group-id="8030787689-36">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·7f6aafcf0ff83074e8b150bc24e20a8f2e69ee179ae895b9b64ee4e90add0f7d·...·]-35">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">165 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-36">(</span><span·class="p"·data-group-id="1969601552-36">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·9549d1a7c0d771798c9d807c976f55a2080b0977b6af94f4ae57c1d038d813d1·...·]-35">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
166 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-38">(</span><span·class="p"·data-group-id="8030787689-38">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·ea123950ff8e03824292db2de73b9303e0c8c89c398a708cdcdfd6f53737a3b9·...·]-37">}</span><span·class="w">·············</span><span·class="p">|</span><span·class="w">166 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-38">(</span><span·class="p"·data-group-id="1969601552-38">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·57c6dcebb05c29aa03c0d9c74151cb8b5a50f296df97b3b3cb2a5ad8e3234240·...·]-37">}</span><span·class="w">·············</span><span·class="p">|</span><span·class="w">
167 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-40">(</span><span·class="p"·data-group-id="8030787689-40">)</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·7bb94c83ea4243009fb2216711d98f090c7ce57f062041a88c2fdc216d4913f3·...·]-39">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">167 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-40">(</span><span·class="p"·data-group-id="1969601552-40">)</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·11f8002e734a8b1a18f30c618ec05e95150c2d4cb9e379727e5db74db9a6be61·...·]-39">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">
168 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-42">(</span><span·class="p"·data-group-id="8030787689-42">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·bc0b02a840325aef9abd099cfddd90deccd14dd1c0fb5e1ff33d8f77e9d36aea·...·]-41">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">168 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-42">(</span><span·class="p"·data-group-id="1969601552-42">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·83c84ee51645f0142d4055207d09b08a5e1881a0c49ca11a319db9d1555dad18·...·]-41">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
169 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-44">(</span><span·class="p"·data-group-id="8030787689-44">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·bcb49f2f20c3a5db4333dc434124fef87b9240b84c52e6d5c1bbc8b06af2abe1·...·]-43">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">169 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-44">(</span><span·class="p"·data-group-id="1969601552-44">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·e649478950f4e67ca5d199c3d7509fcfb8108476de6b79ce45004076bd878dce·...·]-43">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
170 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-46">(</span><span·class="p"·data-group-id="8030787689-46">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·7580f310bb36111debeec058c8a73d415810d2c9b0d6423485e2f29cdc429720·...·]-45">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">170 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-46">(</span><span·class="p"·data-group-id="1969601552-46">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·77a5142486344aae5125723e80fe6719cea8ddf21f8331a603b4cd971f485be7·...·]-45">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
171 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-48">(</span><span·class="p"·data-group-id="8030787689-48">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·bc0b02a840325aef9abd099cfddd90deccd14dd1c0fb5e1ff33d8f77e9d36aea·...·]-47">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">171 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-48">(</span><span·class="p"·data-group-id="1969601552-48">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·83c84ee51645f0142d4055207d09b08a5e1881a0c49ca11a319db9d1555dad18·...·]-47">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
172 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-50">(</span><span·class="p"·data-group-id="8030787689-50">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·815e5c9256e5253568e7921771c19bdeda8e47c06dc42dc7605e0a87800b8195·...·]-49">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">172 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-50">(</span><span·class="p"·data-group-id="1969601552-50">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·195960e343c1a2870ed429e346c011a0c6b9cb8e6b1b8e05089ebccac7593038·...·]-49">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">
173 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-52">(</span><span·class="p"·data-group-id="8030787689-52">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·7f6aafcf0ff83074e8b150bc24e20a8f2e69ee179ae895b9b64ee4e90add0f7d·...·]-51">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">173 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-52">(</span><span·class="p"·data-group-id="1969601552-52">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·9549d1a7c0d771798c9d807c976f55a2080b0977b6af94f4ae57c1d038d813d1·...·]-51">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
174 ·······················</span><span·class="p"·data-group-id="8030787689-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="8030787689-54">(</span><span·class="p"·data-group-id="8030787689-54">)</span><span·class="p"·data-group-id="8030787689-53">}</span><span·class="w"> 
175 ······</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="8030787689-55">(</span><span·class="p"·data-group-id="8030787689-55">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8030787689-56">[</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="8030787689-57">(</span><span·class="p"·data-group-id="8030787689-57">)</span><span·class="p"·data-group-id="8030787689-56">]</span><span·class="w"> 
176 ······</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="8030787689-58">(</span><span·class="p"·data-group-id="8030787689-58">)</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:·5abaaf50cf52abc5f22ef6334746982fc2b0e06e0eca4e1c12a397c61eb4c8e2·...·]</span><span·class="w">174 ·······················</span><span·class="p"·data-group-id="1969601552-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="1969601552-54">(</span>[·...·truncated·by·diffoscope;·len:·101,·SHA:·7f8f8b94f9b755edfd5f192467bdc621b0dc21c76721916ab1373c5b16938b2f·...·]</span><span·class="w">
 175 ······</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="1969601552-55">(</span><span·class="p"·data-group-id="1969601552-55">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1969601552-56">[</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="1969601552-57">(</span><span·class="p"·data-group-id="1969601552-57">)</span><span·class="p"·data-group-id="1969601552-56">]</span><span·class="w">
 176 ······</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="1969601552-58">(</span><span·class="p"·data-group-id="1969601552-58">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1969601552-59">{</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="1969601552-60">(</span><span·class="p"·data-group-id="1969601552-60">)</span><span·class="p"·data-group-id="1969601552-59">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
177 ·························</span><span·class="p"·data-group-id="8030787689-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="8030787689-62">(</span><span·class="p"·data-group-id="8030787689-62"[·...·truncated·by·diffoscope;·len:·50,·SHA:·11609324697ae906a91896ff1482a542171d52ab75c02313ef69875fec99966a·...·]-61">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">177 ·························</span><span·class="p"·data-group-id="1969601552-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="1969601552-62">(</span><span·class="p"·data-group-id="1969601552-62"[·...·truncated·by·diffoscope;·len:·50,·SHA:·46824e6c060c87086b5ce1685ef4981736060ee58ef750b97e81d52eb9fc9900·...·]-61">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
178 ·························</span><span·class="p"·data-group-id="8030787689-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="8030787689-64">(</span><span·class="p"·data-group-id="8030787689-64">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·815e5c9256e5253568e7921771c19bdeda8e47c06dc42dc7605e0a87800b8195·...·]-63">}</span><span·class="w">··········</span><span·class="p">|</span><span·class="w">178 ·························</span><span·class="p"·data-group-id="1969601552-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="1969601552-64">(</span><span·class="p"·data-group-id="1969601552-64">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·195960e343c1a2870ed429e346c011a0c6b9cb8e6b1b8e05089ebccac7593038·...·]-63">}</span><span·class="w">··········</span><span·class="p">|</span><span·class="w">
179 ·························</span><span·class="p"·data-group-id="8030787689-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="8030787689-66">(</span><span·class="p"·data-group-id="8030787689-66">)</[·...·truncated·by·diffoscope;·len:·46,·SHA:·26b28510f3cdad53f3bb06e13745f3b232e128bb2b238a138800b8a0b4f5ec17·...·]-65">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">179 ·························</span><span·class="p"·data-group-id="1969601552-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="1969601552-66">(</span><span·class="p"·data-group-id="1969601552-66">)</[·...·truncated·by·diffoscope;·len:·46,·SHA:·f30ff3e2428fbd726bd4fb6ca9a56cfa649a81950bfd5a9c912ecf1b5215c10f·...·]-65">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">
180 ·························</span><span·class="p"·data-group-id="8030787689-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="8030787689-68">(</span><span·class="p"·data-group-id="8030787689-68"[·...·truncated·by·diffoscope;·len:·50,·SHA:·11609324697ae906a91896ff1482a542171d52ab75c02313ef69875fec99966a·...·]-67">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">180 ·························</span><span·class="p"·data-group-id="1969601552-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="1969601552-68">(</span><span·class="p"·data-group-id="1969601552-68"[·...·truncated·by·diffoscope;·len:·50,·SHA:·46824e6c060c87086b5ce1685ef4981736060ee58ef750b97e81d52eb9fc9900·...·]-67">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
181 ·························</span><span·class="p"·data-group-id="8030787689-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="8030787689-70">(</span><span·class="p"·data-group-id="8030787689-70">)<[·...·truncated·by·diffoscope;·len:·47,·SHA:·ac5850996841e6cdd45bc0696635597c9bdd9487a175867110183b31fc88220a·...·]-69">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">181 ·························</span><span·class="p"·data-group-id="1969601552-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="1969601552-70">(</span><span·class="p"·data-group-id="1969601552-70">)<[·...·truncated·by·diffoscope;·len:·47,·SHA:·229e3569150539c6dd9a5bfa6c004b0c0616aad53a86592bfe36fec9f34fb03f·...·]-69">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
182 ·························</span><span·class="p"·data-group-id="8030787689-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="8030787689-72">(</span><span·class="p"·data-group-id="8030787689-72">)[·...·truncated·by·diffoscope;·len:·48,·SHA:·5a11d3abc846584214f3e13dfe447d65f3f7ecbc2f86022a927f35c056cbf249·...·]-71">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">182 ·························</span><span·class="p"·data-group-id="1969601552-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="1969601552-72">(</span><span·class="p"·data-group-id="1969601552-72">)[·...·truncated·by·diffoscope;·len:·48,·SHA:·3c9e8c92d151ff8e727ffff15f1855e4dd34569f0c88230a21eda06e0f0ef99e·...·]-71">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
183 ·························</span><span·class="p"·data-group-id="8030787689-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="8030787689-74">(</span><span·class="p"·data-group-id="8030787689-74">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·7580f310bb36111debeec058c8a73d415810d2c9b0d6423485e2f29cdc429720·...·]-73">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">183 ·························</span><span·class="p"·data-group-id="1969601552-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="1969601552-74">(</span><span·class="p"·data-group-id="1969601552-74">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·77a5142486344aae5125723e80fe6719cea8ddf21f8331a603b4cd971f485be7·...·]-73">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
184 ·························</span><span·class="p"·data-group-id="8030787689-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="8030787689-76">(</span><span·class="p"·data-group-id="8030787689-76">)</span><span·class="p"·data-group-id="8030787689-75">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w"> 
185 ·························</span><span·class="p"·data-group-id="8030787689-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="8030787689-78">(</span><span·class="p"·data-group-id="8030787689-78">)</sp[·...·truncated·by·diffoscope;·len:·80,·SHA:·e791c176ab10a574c9f8e2fa07139bc25f6e26aa215a6c047d55d91139ee58ef·...·]·</span><span·class="p">|</span><span·class="w">184 ·························</span><span·class="p"·data-group-id="1969601552-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="1969601552-76">(</span><span·class="p"·data-group-id="1969601552-76[·...·truncated·by·diffoscope;·len:·80,·SHA:·bafa4492597f9cb113a70daea79b8bba614340383d3cb2b609d52f32faa32575·...·]·</span><span·class="p">|</span><span·class="w">
 185 ·························</span><span·class="p"·data-group-id="1969601552-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="1969601552-78">(</span><span·class="p"·data-group-id="1969601552-78">)</span><span·class="p"·data-group-id="1969601552-77">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
186 ·························</span><span·class="p"·data-group-id="8030787689-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="8030787689-80">(</span><span·class="p"·data-group-id="8030787689-80">)</span><span·class="w">··</span><span·class="p">|</span><span·class="w">186 ·························</span><span·class="p"·data-group-id="1969601552-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="1969601552-80">(</span><span·class="p"·data-group-id="1969601552-80">)</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
187 ·························</span><span·class="p"·data-group-id="8030787689-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="8030787689-82">(</span><span·class="p"·data-group-id="8030787689-82">[·...·truncated·by·diffoscope;·len:·49,·SHA:·2f4e1fcfd2917cc5dc3ffc0876ff740f07f9a6e48fe9452d2a02c1c613afd3cd·...·]-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="1969601552-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="1969601552-82">(</span><span·class="p"·data-group-id="1969601552-82">[·...·truncated·by·diffoscope;·len:·49,·SHA:·0ef7077e3f083775c5df1873ad81f5e159f89783df932656218682b7c3d1f844·...·]-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.19/doc/html/snmp_app_a.html
    
Offset 179, 15 lines modifiedOffset 179, 15 lines modified
179 ······<p·class="built-using">179 ······<p·class="built-using">
180 ········Built·using180 ········Built·using
181 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the181 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
182 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>182 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
183 ······</p>183 ······</p>
184 <p>Copyright·©·1996-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.44 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_app_b.html
    
Offset 649, 15 lines modifiedOffset 649, 15 lines modified
649 ······<p·class="built-using">649 ······<p·class="built-using">
650 ········Built·using650 ········Built·using
651 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the651 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
652 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>652 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
653 ······</p>653 ······</p>
654 <p>Copyright·©·1996-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.48 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_app_c.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ······<p·class="built-using">186 ······<p·class="built-using">
187 ········Built·using187 ········Built·using
188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
190 ······</p>190 ······</p>
191 <p>Copyright·©·1996-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.19/doc/html/snmp_audit_trail_log.html
    
Offset 198, 15 lines modifiedOffset 198, 15 lines modified
198 ······<p·class="built-using">198 ······<p·class="built-using">
199 ········Built·using199 ········Built·using
200 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the200 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
201 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>201 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
202 ······</p>202 ······</p>
203 <p>Copyright·©·1996-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.19/doc/html/snmp_community_mib.html
    
Offset 595, 15 lines modifiedOffset 595, 15 lines modified
595 ······<p·class="built-using">595 ······<p·class="built-using">
596 ········Built·using596 ········Built·using
597 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the597 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
598 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>598 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
599 ······</p>599 ······</p>
600 <p>Copyright·©·1996-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.19/doc/html/snmp_config.html
    
Offset 141, 49 lines modifiedOffset 141, 49 lines modified
141 <a·href="snmp_agent_config_files.html">Definition·of·Agent·Configuration·Files</a>·for·more141 <a·href="snmp_agent_config_files.html">Definition·of·Agent·Configuration·Files</a>·for·more
142 information).</li><li>the·<em>database·directory</em>·stores·the·internal·database·files.</li></ul><p>The·following·directory·must·exist·in·the·system·to·run·the·manager:</p><ul><li>the·<em>configuration·directory</em>·stores·all·configuration·files·used·by·the142 information).</li><li>the·<em>database·directory</em>·stores·the·internal·database·files.</li></ul><p>The·following·directory·must·exist·in·the·system·to·run·the·manager:</p><ul><li>the·<em>configuration·directory</em>·stores·all·configuration·files·used·by·the
143 manager·(refer·to·the·chapter143 manager·(refer·to·the·chapter
144 <a·href="snmp_manager_config_files.html">Definition·of·Manager·Configuration·Files</a>·for144 <a·href="snmp_manager_config_files.html">Definition·of·Manager·Configuration·Files</a>·for
145 more·information).</li><li>the·<em>database·directory</em>·stores·the·internal·database·files.</li></ul><p>The·agent·and·manager·uses·(application)·configuration·parameters·to·find·out145 more·information).</li><li>the·<em>database·directory</em>·stores·the·internal·database·files.</li></ul><p>The·agent·and·manager·uses·(application)·configuration·parameters·to·find·out
146 where·these·directories·are·located.·The·parameters·should·be·defined·in·an146 where·these·directories·are·located.·The·parameters·should·be·defined·in·an
147 Erlang·system·configuration·file.·The·following·configuration·parameters·are147 Erlang·system·configuration·file.·The·following·configuration·parameters·are
148 defined·for·the·SNMP·application:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="nf">agent_options</span><span·class="p"·data-group-id="4500873769-1">(</span><span·class="p"·data-group-id="4500873769-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4500873769-2">[</span><span·class="nf">agent_option</span><span·class="p"·data-group-id="4500873769-3">(</span><span·class="p"·data-group-id="4500873769-3">)</span><span·class="p"·data-group-id="4500873769-2">]</span><span·class="w"> 
149 ······</span><span·class="nf">agent_option</span><span·class="p"·data-group-id="4500873769-4">(</span><span·class="p"·data-group-id="4500873769-4">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·352,·SHA:·e3b1237e0fa6b113184fc9cbdba3a8784215606207ee6c7213243fb13dff94b4·...·]</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="2439872576-1">(</span><span·class="p"·data-group-id="2439872576-1">)</span[·...·truncated·by·diffoscope;·len:·314,·SHA:·f0083b69db0f7b8d4514ae95bc9e63faf5ae3a11ba7cee3956804fe2e4301de9·...·]</span><span·class="w">
 149 ······</span><span·class="nf">agent_option</span><span·class="p"·data-group-id="2439872576-4">(</span><span·class="p"·data-group-id="2439872576-4">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2439872576-5">{</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="2439872576-6">(</span><span·class="p"·data-group-id="2439872576-6">)</span><span·class="p"·data-group-id="2439872576-5">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
150 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-8">(</span><span·class="p"·data-group-id="4500873769-8">)</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·e846b3f5ac74df1eb92fb86ffbba024548a9318c51a0dffd0446c6a38408371a·...·]-7">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">150 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-8">(</span><span·class="p"·data-group-id="2439872576-8">)</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·9f04b76966639bec07c3bbfcca0833da8efc275af2c6b6bb91ebe6fb0050a6fd·...·]-7">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
151 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-10">(</span><span·class="p"·data-group-id="4500873769-10">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·bb964516e339cc2c0570b150049d3e3380bc6c21e602e84c1a8ad58419fcd12b·...·]-9">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">151 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-10">(</span><span·class="p"·data-group-id="2439872576-10">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·7fecb30b31188da6bca9fe918d358c39b0c35a1f4decc8bba96546ab8a283290·...·]-9">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
152 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-12">(</span><span·class="p"·data-group-id="4500873769-12">)</span><span·class="p"·data-group-id="4500873769-11">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w"> 
153 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-14">(</span><span·class="p"·data-group-id="4500873769-14">)</spa[·...·truncated·by·diffoscope;·len:·72,·SHA:·9a451f08c2e2b23c2b4271debf2b3f4470c091deb1a138525c95e2d79ae8e7b9·...·]··</span><span·class="p">|</span><span·class="w">152 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-12">(</span><span·class="p"·data-group-id="2439872576-12">)</span><span[·...·truncated·by·diffoscope;·len:·72,·SHA:·fd815611be4b58cb8c944e12b7f72bdc3923ef8603c7cd0ec24b918056c04991·...·]··</span><span·class="p">|</span><span·class="w">
 153 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-14">(</span><span·class="p"·data-group-id="2439872576-14">)</span><span·class="p"·data-group-id="2439872576-13">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
154 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-16">(</span><span·class="p"·data-group-id="4500873769-16">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·6c3a6a8d07395dec93f27b037860d8dabe8ea18ff614be36e6fc1303238a596a·...·]-15">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">154 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-16">(</span><span·class="p"·data-group-id="2439872576-16">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·08504c8d57df27e51760d8d318a79ce03f197d50c16bd97b4b2a37f922cc243f·...·]-15">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
155 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-18">(</span><span·class="p"·data-group-id="4500873769-18">)</span><span·class="p"·data-group-id="4500873769-17">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w"> 
156 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-20">(</span><span·class="p"·data-group-id="4500873769-20">)</span[·...·truncated·by·diffoscope;·len:·71,·SHA:·6dcce44eda67a5df843a876ee14bae5e47d484fd8ee14cb7b27743c5f8622d47·...·]···</span><span·class="p">|</span><span·class="w">155 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-18">(</span><span·class="p"·data-group-id="2439872576-18">)</span><span[·...·truncated·by·diffoscope;·len:·71,·SHA:·40c124af41b545d28e92a1953081bedacf23c7653c7dfbab67f8583230f5df1c·...·]···</span><span·class="p">|</span><span·class="w">
 156 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-20">(</span><span·class="p"·data-group-id="2439872576-20">)</span><span·class="p"·data-group-id="2439872576-19">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">
157 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-22">(</span><span·class="p"·data-group-id="4500873769-22">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·f829e0561ce64a8dd27103b4682dcf0a933e54311c0e5c970d10800890b9e6a7·...·]-21">}</span><span·class="w">···········</span><span·class="p">|</span><span·class="w">157 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-22">(</span><span·class="p"·data-group-id="2439872576-22">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·ae41810c89cf74615bbd9080df69dc449eddc52568fe5c33ff3c4e9243951304·...·]-21">}</span><span·class="w">···········</span><span·class="p">|</span><span·class="w">
158 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-24">(</span><span·class="p"·data-group-id="4500873769-24">)</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·d414799dfeced484f1287cad5e7c10c2ce9b65ab21fd60a5d748f681e41b71f8·...·]-23">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">158 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-24">(</span><span·class="p"·data-group-id="2439872576-24">)</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·eb0f75b18a34e9cb618a94a3595a7890dd76a0797b8ffbb6e44b9e5d715fbffd·...·]-23">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
159 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-26">(</span><span·class="p"·data-group-id="4500873769-26">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·bb964516e339cc2c0570b150049d3e3380bc6c21e602e84c1a8ad58419fcd12b·...·]-25">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">159 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-26">(</span><span·class="p"·data-group-id="2439872576-26">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·7fecb30b31188da6bca9fe918d358c39b0c35a1f4decc8bba96546ab8a283290·...·]-25">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
160 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-28">(</span><span·class="p"·data-group-id="4500873769-28">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·ed136969f774e7c7d2e4ac231c5990eb8736a2fff3c06372bfa23f5fdec2787b·...·]-27">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">160 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-28">(</span><span·class="p"·data-group-id="2439872576-28">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·352ff46a38041dd257b20378e9cc9658faae54c2490d1b542c44c7ae557c45da·...·]-27">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
161 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-30">(</span><span·class="p"·data-group-id="4500873769-30">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·69217bdc801e8466e18a941864d07c981ecd8288605805d207713b42a1f02a3a·...·]-29">}</span><span·class="w">·············</span><span·class="p">|</span><span·class="w">161 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-30">(</span><span·class="p"·data-group-id="2439872576-30">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·bd01cc35a46bfaa2b147f7dd858fc5700c2748acba8ae0da7b216169ec15f0c3·...·]-29">}</span><span·class="w">·············</span><span·class="p">|</span><span·class="w">
162 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-32">(</span><span·class="p"·data-group-id="4500873769-32">)</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·48c096d0cfd0307a168851a14505601b53c2ff24ffa48ca624d29ae51e0b7080·...·]-31">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">162 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-32">(</span><span·class="p"·data-group-id="2439872576-32">)</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·2e5a8bc0cf2cd40dd5dfeb4347b4a6f8ad975a1a178687b6c9d29484a747cd38·...·]-31">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">
163 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-34">(</span><span·class="p"·data-group-id="4500873769-34">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·6c3a6a8d07395dec93f27b037860d8dabe8ea18ff614be36e6fc1303238a596a·...·]-33">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">163 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-34">(</span><span·class="p"·data-group-id="2439872576-34">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·08504c8d57df27e51760d8d318a79ce03f197d50c16bd97b4b2a37f922cc243f·...·]-33">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
164 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-36">(</span><span·class="p"·data-group-id="4500873769-36">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·cc486638866919cc8a7c6baf848d45ca666b9c2e9b29eeb2df45c66a2cc30123·...·]-35">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">164 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-36">(</span><span·class="p"·data-group-id="2439872576-36">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·fb62ad8da674deb38a9e247a106871a2051e35bc0eaf0bfd3e6d333bff6ec06f·...·]-35">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
165 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-38">(</span><span·class="p"·data-group-id="4500873769-38">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·e8be6836f0b0b5177dfa37101fe50c5752f5c4967156ae47c4be4ea5585ecf10·...·]-37">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">165 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-38">(</span><span·class="p"·data-group-id="2439872576-38">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·a7a15272d649d122938c97e04c2f88fc2da8e8ab83081c38ddce31983555f902·...·]-37">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
166 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-40">(</span><span·class="p"·data-group-id="4500873769-40">)</span><span·class="p"·data-group-id="4500873769-39">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w"> 
167 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-42">(</span><span·class="p"·data-group-id="4500873769-42">)</span[·...·truncated·by·diffoscope;·len:·71,·SHA:·47775aa09e6a0c0e170f6061876bd2951c16d5d3f9dfd6f8c542c5e0811f5715·...·]···</span><span·class="p">|</span><span·class="w">166 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-40">(</span><span·class="p"·data-group-id="2439872576-40">)</span><sp[·...·truncated·by·diffoscope;·len:·71,·SHA:·c742aa788e05e319a990cd8197419d20b34beeedf7ac3125c063ea959873bd3f·...·]···</span><span·class="p">|</span><span·class="w">
 167 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-42">(</span><span·class="p"·data-group-id="2439872576-42">)</span><span·class="p"·data-group-id="2439872576-41">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">
168 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-44">(</span><span·class="p"·data-group-id="4500873769-44">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·ed136969f774e7c7d2e4ac231c5990eb8736a2fff3c06372bfa23f5fdec2787b·...·]-43">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">168 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-44">(</span><span·class="p"·data-group-id="2439872576-44">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·352ff46a38041dd257b20378e9cc9658faae54c2490d1b542c44c7ae557c45da·...·]-43">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
169 ·······················</span><span·class="p"·data-group-id="4500873769-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="4500873769-46">(</span><span·class="p"·data-group-id="4500873769-46">)</span><span·class="p"·data-group-id="4500873769-45">}</span><span·class="w"> 
170 ······</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="4500873769-47">(</span><span·class="p"·data-group-id="4500873769-47">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4500873769-48">[</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="4500873769-49">(</span><span·class="p"·data-group-id="4500873769-49">)</span><span·class="p"·data-group-id="4500873769-48">]</span><span·class="w"> 
171 ······</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="4500873769-50">(</span><span·class="p"·data-group-id="4500873769-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:·b8536d194cc004c6f050dc3cee18201f2e3b2d238b6e0f6d981e5e0434ef007d·...·]</span><span·class="w">169 ·······················</span><span·class="p"·data-group-id="2439872576-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="2439872576-46">(</span>[·...·truncated·by·diffoscope;·len:·101,·SHA:·e6296b719bad0eee616e95ed7ee9f303e9415e5da25cd69c27b33d19392c191e·...·]</span><span·class="w">
 170 ······</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="2439872576-47">(</span><span·class="p"·data-group-id="2439872576-47">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2439872576-48">[</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="2439872576-49">(</span><span·class="p"·data-group-id="2439872576-49">)</span><span·class="p"·data-group-id="2439872576-48">]</span><span·class="w">
 171 ······</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="2439872576-50">(</span><span·class="p"·data-group-id="2439872576-50">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2439872576-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="2439872576-52">(</span><span·class="p"·data-group-id="2439872576-52">)</span><span·class="p"·data-group-id="2439872576-51">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
172 ·························</span><span·class="p"·data-group-id="4500873769-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="4500873769-54">(</span><span·class="p"·data-group-id="4500873769-54"[·...·truncated·by·diffoscope;·len:·50,·SHA:·d02facdd670c7ac884c3b27d813a28bad037a30bd44f0f6babd8dc506119b153·...·]-53">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">172 ·························</span><span·class="p"·data-group-id="2439872576-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="2439872576-54">(</span><span·class="p"·data-group-id="2439872576-54"[·...·truncated·by·diffoscope;·len:·50,·SHA:·20bf252ded0ff60575256da2797a2574bdc73d7893df22108acea02827039f4b·...·]-53">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
173 ·························</span><span·class="p"·data-group-id="4500873769-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="4500873769-56">(</span><span·class="p"·data-group-id="4500873769-56">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·3643a5fce202c0ef2a027a057e65e474b54bd22133d8b24be0f02e90a2808ebe·...·]-55">}</span><span·class="w">··········</span><span·class="p">|</span><span·class="w">173 ·························</span><span·class="p"·data-group-id="2439872576-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="2439872576-56">(</span><span·class="p"·data-group-id="2439872576-56">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·7e269548164da297f5dd28786ccdaae7c4b777aeb0f24d499b1829393cd36a5d·...·]-55">}</span><span·class="w">··········</span><span·class="p">|</span><span·class="w">
174 ·························</span><span·class="p"·data-group-id="4500873769-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="4500873769-58">(</span><span·class="p"·data-group-id="4500873769-58">)</[·...·truncated·by·diffoscope;·len:·46,·SHA:·2df4fba759c6c3d453fb0015613f8aeb2e5530dfe5e0342c5c3f6c610987929d·...·]-57">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">174 ·························</span><span·class="p"·data-group-id="2439872576-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="2439872576-58">(</span><span·class="p"·data-group-id="2439872576-58">)</[·...·truncated·by·diffoscope;·len:·46,·SHA:·b89d613b82f2b2fafc46cb17d82018bd81b7fa21cb393f9adfff3906ccb719cf·...·]-57">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">
175 ·························</span><span·class="p"·data-group-id="4500873769-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="4500873769-60">(</span><span·class="p"·data-group-id="4500873769-60">)</span><span·class="p"·data-group-id="4500873769-59">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w"> 
176 ·························</span><span·class="p"·data-group-id="4500873769-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="4500873769-62">(</span><span·class="p"·data-group-id="4500873769-62">)<[·...·truncated·by·diffoscope;·len:·79,·SHA:·7d7622297cd7425cd4f23cd1d4dc4a68f464434a8e640a8a42807fd6146a504a·...·]··</span><span·class="p">|</span><span·class="w">175 ·························</span><span·class="p"·data-group-id="2439872576-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="2439872576-60">(</span><span·class="p"·data-group-id="2439872576-60"[·...·truncated·by·diffoscope;·len:·79,·SHA:·95adb3fd7d8e61050d1b1ac75de117615c691a37d0b0c9b75d5119a9fe39a001·...·]··</span><span·class="p">|</span><span·class="w">
 176 ·························</span><span·class="p"·data-group-id="2439872576-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="2439872576-62">(</span><span·class="p"·data-group-id="2439872576-62">)</span><span·class="p"·data-group-id="2439872576-61">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
177 ·························</span><span·class="p"·data-group-id="4500873769-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="4500873769-64">(</span><span·class="p"·data-group-id="4500873769-64">)[·...·truncated·by·diffoscope;·len:·48,·SHA:·e8786a55b6d76539bb6f1e90b927cc57c9b5f88c0994fe5f0d46e94730b85727·...·]-63">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">177 ·························</span><span·class="p"·data-group-id="2439872576-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="2439872576-64">(</span><span·class="p"·data-group-id="2439872576-64">)[·...·truncated·by·diffoscope;·len:·48,·SHA:·b9b5e8bbdcfdac9170b7a8b0af1ee5793db82e314b9ce1764fa3d46394898bd9·...·]-63">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
178 ·························</span><span·class="p"·data-group-id="4500873769-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="4500873769-66">(</span><span·class="p"·data-group-id="4500873769-66">)</span><span·class="p"·data-group-id="4500873769-65">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w"> 
179 ·························</span><span·class="p"·data-group-id="4500873769-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="4500873769-68">(</span><span·class="p"·data-group-id="4500873769-68">)</span><span·class="p"·data-group-id="4500873769-67">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w"> 
180 ·························</span><span·class="p"·data-group-id="4500873769-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="4500873769-70">(</span><span·class="p"·data-group-id="4500873769-70">)</sp[·...·truncated·by·diffoscope;·len:·47,·SHA:·6baf3a9630161166f59293184b7fa732b29c7d4a4613de0286ec2817f4a48c08·...·]">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">178 ·························</span><span·class="p"·data-group-id="2439872576-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="2439872576-66">(</span><span·class="p"·data-group-id="2439872576-66">)</sp[·...·truncated·by·diffoscope;·len:·47,·SHA:·347aa50500bbd10af6de0b10a3b99dc049c0a81e6181ec326700b00d82b63ac4·...·]">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
 179 ·························</span><span·class="p"·data-group-id="2439872576-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="2439872576-68">(</span><span·class="p"·data-group-id="2439872576-68">)</span><span·class="p"·data-group-id="2439872576-67">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
 180 ·························</span><span·class="p"·data-group-id="2439872576-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="2439872576-70">(</span><span·class="p"·data-group-id="2439872576-70">)</span><span·class="p"·data-group-id="2439872576-69">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
181 ·························</span><span·class="p"·data-group-id="4500873769-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="4500873769-72">(</span><span·class="p"·data-group-id="4500873769-72">)</span><span·class="w">··</span><span·class="p">|</span><span·class="w">181 ·························</span><span·class="p"·data-group-id="2439872576-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="2439872576-72">(</span><span·class="p"·data-group-id="2439872576-72">)</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
182 ·························</span><span·class="p"·data-group-id="4500873769-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="4500873769-74">(</span><span·class="p"·data-group-id="4500873769-74">[·...·truncated·by·diffoscope;·len:·49,·SHA:·cbe12145a4efab4164c42ed2bdfa6aee72ed4231c51f4225114190d09647443d·...·]-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="2439872576-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="2439872576-74">(</span><span·class="p"·data-group-id="2439872576-74">[·...·truncated·by·diffoscope;·len:·49,·SHA:·16849f3b2ce1e4f1b1e7e53d070320165f00a4aa901d681953a1e5aae9a04e6b·...·]-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.19/doc/html/snmp_def_instr_functions.html
    
Offset 364, 15 lines modifiedOffset 364, 15 lines modified
364 ······<p·class="built-using">364 ······<p·class="built-using">
365 ········Built·using365 ········Built·using
366 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the366 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
367 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>367 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
368 ······</p>368 ······</p>
369 <p>Copyright·©·1996-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.46 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_framework_mib.html
    
Offset 594, 15 lines modifiedOffset 594, 15 lines modified
594 ······<p·class="built-using">594 ······<p·class="built-using">
595 ········Built·using595 ········Built·using
596 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the596 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
597 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>597 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
598 ······</p>598 ······</p>
599 <p>Copyright·©·1996-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.19/doc/html/snmp_generic.html
    
Offset 158, 49 lines modifiedOffset 158, 49 lines modified
158 Mnesia·table·<code·class="inline">snmp_variables</code>·which·must·be·a·table·with·two·attributes·(not·a158 Mnesia·table·<code·class="inline">snmp_variables</code>·which·must·be·a·table·with·two·attributes·(not·a
159 Mnesia·SNMP·table).·The·SNMP·tables·are·stored·in·Mnesia·tables·with·the·same159 Mnesia·SNMP·table).·The·SNMP·tables·are·stored·in·Mnesia·tables·with·the·same
160 names·as·the·SNMP·tables.·All·functions·assume·that·a·Mnesia·table·exists·with160 names·as·the·SNMP·tables.·All·functions·assume·that·a·Mnesia·table·exists·with
161 the·correct·name·and·attributes.·It·is·the·programmer's·responsibility·to·ensure161 the·correct·name·and·attributes.·It·is·the·programmer's·responsibility·to·ensure
162 this.·Specifically,·if·variables·are·stored·in·Mnesia,·the·table162 this.·Specifically,·if·variables·are·stored·in·Mnesia,·the·table
163 <code·class="inline">snmp_variables</code>·must·be·created·by·the·programmer.·The·record·definition·for163 <code·class="inline">snmp_variables</code>·must·be·created·by·the·programmer.·The·record·definition·for
164 this·table·is·defined·in·the·file·<code·class="inline">snmp/include/snmp_types.hrl</code>.</p><p>If·an·instrumentation·function·in·the·association·file·for·a·variable·<code·class="inline">myVar</code>164 this·table·is·defined·in·the·file·<code·class="inline">snmp/include/snmp_types.hrl</code>.</p><p>If·an·instrumentation·function·in·the·association·file·for·a·variable·<code·class="inline">myVar</code>
165 does·not·have·a·name·when·compiling·an·MIB,·the·compiler·generates·an·entry.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0251355328-1">{</span><span·class="ss">myVar</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0251355328-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:·faa85ef44e8112352019f2a6d641bbca3bc10ade47a79ff23ed3c2412cdad9a8·...·]-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="1598943386-1">{</span><span·class="ss">myVar</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1598943386-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:·7eae59ff33c4e979501af70902d04e6f7a6704c9456b0717ae5edd8740429aec·...·]-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="3517668404-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="3517668404-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="8843002240-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="8843002240-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="3517668404-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="3517668404-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="8843002240-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="8843002240-2">)</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">myTable_func</span><span·class="p"·data-group-id="3517668404-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="3517668404-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="8843002240-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="8843002240-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="3517668404-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="3517668404-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="8843002240-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="8843002240-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="3517668404-5">(</span><span·class="ss">is_set_ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·71,·SHA:·3ecb84bde5e4a1b05034abf407318f3274e21b8d25a24c93f48cf084965f2de0·...·]-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="8843002240-5">(</span><span·class="ss">is_set_ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·71,·SHA:·d91aa71c4f45160189e26bab149f36a3975daf8dc9691db485a518eaa98a3f2e·...·]-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="3517668404-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="8843002240-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="3517668404-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="8843002240-6">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="3517668404-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="3517668404-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">180 ····</span><span·class="p"·data-group-id="8843002240-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="8843002240-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="3517668404-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="3517668404-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="8843002240-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="8843002240-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="3517668404-9">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·65,·SHA:·ff898b2c42bddec85f109c5c1e5d7c320bafeb010db84c347c6e4948642e1644·...·]-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="8843002240-9">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·65,·SHA:·d4d103ed9254cb62cd7e44997be1eec9fcd46e376b361e08599d26bf039bb247·...·]-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="3517668404-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="8843002240-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="3517668404-10">)</span><span·class="p">,</span><span·class="w">187 ·······························</span><span·class="n">NameDb</span><span·class="p"·data-group-id="8843002240-10">)</span><span·class="p">,</span><span·class="w">
188 ····</span><span·class="p"·data-group-id="3517668404-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="3517668404-11">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">188 ····</span><span·class="p"·data-group-id="8843002240-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="8843002240-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="3517668404-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="3517668404-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="8843002240-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="8843002240-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="3517668404-13">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·64,·SHA:·85b64d95ebd3fcd11dc194fd8a76959387a4ae6123ab4485c798f5a1f2b87cd6·...·]-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="8843002240-13">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·64,·SHA:·04207686723d22f11d49ba6ef29484e64ccadf86f07fa7a6a8a1433404bfc6b9·...·]-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="3517668404-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:·11f213a9a810c3991cc158bff25887c8a49c481b4f2d45377bfa9a8a0b6d001a·...·]-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="8843002240-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:·129d79cf2051a07ab96bcc947a60b528f34add6c9c09c55a22fe476837d06821·...·]-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.19/doc/html/snmp_impl_example_agent.html
Max HTML report size reached
1.62 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_impl_example_manager.html
    
Offset 189, 15 lines modifiedOffset 189, 15 lines modified
189 ······<p·class="built-using">189 ······<p·class="built-using">
190 ········Built·using190 ········Built·using
191 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the191 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
192 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>192 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
193 ······</p>193 ······</p>
194 <p>Copyright·©·1996-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.19/doc/html/snmp_index.html
    
Offset 131, 21 lines modifiedOffset 131, 21 lines modified
131 <p>Abstract·Data·Type·for·SNMP·Indexing</p><p>The·module·<code·class="inline">snmp_index</code>·implements·an·Abstract·Data·Type·(ADT)·for·an·SNMP·index131 <p>Abstract·Data·Type·for·SNMP·Indexing</p><p>The·module·<code·class="inline">snmp_index</code>·implements·an·Abstract·Data·Type·(ADT)·for·an·SNMP·index
132 structure·for·SNMP·tables.·It·is·implemented·as·an·ets·table·of·the·ordered_set132 structure·for·SNMP·tables.·It·is·implemented·as·an·ets·table·of·the·ordered_set
133 data-type,·which·means·that·all·operations·are·O(log·n).·In·the·table,·the·key133 data-type,·which·means·that·all·operations·are·O(log·n).·In·the·table,·the·key
134 is·an·ASN.1·OBJECT·IDENTIFIER.</p><p>This·index·is·used·to·separate·the·implementation·of·the·SNMP·ordering·from·the134 is·an·ASN.1·OBJECT·IDENTIFIER.</p><p>This·index·is·used·to·separate·the·implementation·of·the·SNMP·ordering·from·the
135 actual·implementation·of·the·table.·The·SNMP·ordering,·that·is·implementation·of135 actual·implementation·of·the·table.·The·SNMP·ordering,·that·is·implementation·of
136 GET·NEXT,·is·implemented·in·this·module.</p><p>For·example,·suppose·there·is·an·SNMP·table,·which·is·best·implemented·in·Erlang136 GET·NEXT,·is·implemented·in·this·module.</p><p>For·example,·suppose·there·is·an·SNMP·table,·which·is·best·implemented·in·Erlang
137 as·one·process·per·SNMP·table·row.·Suppose·further·that·the·INDEX·in·the·SNMP137 as·one·process·per·SNMP·table·row.·Suppose·further·that·the·INDEX·in·the·SNMP
138 table·is·an·OCTET·STRING.·The·index·structure·would·be·created·as·follows:</p><pre><code·class="text">snmp_index:new(string)</code></pre><p>For·each·new·process·we·create,·we·insert·an·item·in·an·<code·class="inline">snmp_index</code>·structure:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">new_process</span><span·class="p"·data-group-id="5889862959-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="5889862959-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="6130710116-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="6130710116-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="5889862959-2">(</span><span·class="p"·data-group-id="5889862959-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="6130710116-2">(</span><span·class="p"·data-group-id="6130710116-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="5889862959-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="5889862959-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="6130710116-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="6130710116-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="1627189951-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="1627189951-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="7379953991-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="7379953991-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
144 ··</span><span·class="p"·data-group-id="1627189951-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1627189951-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:·458,·SHA:·feb3e619ec6524dfa19f0e6da7a54032a3a7b02dc1d68304c49b1815aa1db4b4·...·]1-4">)</span><span·class="p">,</span><span·class="w">144 ··</span><span·class="p"·data-group-id="7379953991-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7379953991-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:·458,·SHA:·8e778ed2264e757a7a3bf1232cb7b602601a57308eae0e480a932771c3a8e9e3·...·]1-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.19/doc/html/snmp_instr_functions.html
    
Offset 210, 17 lines modifiedOffset 210, 17 lines modified
210 accessible),·and·the·table·has·three·rows.·The·instrumentation·function·for·this210 accessible),·and·the·table·has·three·rows.·The·instrumentation·function·for·this
211 table·is·called·<code·class="inline">my_table</code>.</p><p><a·href=""·id="getnext1"></a></p><p><img·src="assets/getnext1.gif"·alt="Contents·of·my_table"·title="Contents·of·my_table"/></p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>N/A·means·not·accessible.</p></section><p>The·manager·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry.3.1.1,211 table·is·called·<code·class="inline">my_table</code>.</p><p><a·href=""·id="getnext1"></a></p><p><img·src="assets/getnext1.gif"·alt="Contents·of·my_table"·title="Contents·of·my_table"/></p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>N/A·means·not·accessible.</p></section><p>The·manager·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry.3.1.1,
212 ·········myTable.myTableEntry.5.1.1·}</code></pre><p>Since·both·operations·involve·the·1.1·index,·this·is·transformed·into·one·call212 ·········myTable.myTableEntry.5.1.1·}</code></pre><p>Since·both·operations·involve·the·1.1·index,·this·is·transformed·into·one·call
213 to·<code·class="inline">my_table</code>:</p><pre><code·class="text">my_table(get_next,·[1,·1],·[3,·5])</code></pre><p>In·this·call,·<code·class="inline">[1,·1]</code>·is·the·<code·class="inline">RowIndex</code>,·where·key·1·has·value·1,·and·key·2·has213 to·<code·class="inline">my_table</code>:</p><pre><code·class="text">my_table(get_next,·[1,·1],·[3,·5])</code></pre><p>In·this·call,·<code·class="inline">[1,·1]</code>·is·the·<code·class="inline">RowIndex</code>,·where·key·1·has·value·1,·and·key·2·has
214 value·1,·and·<code·class="inline">[3,·5]</code>·is·the·list·of·requested·columns.·The·function·should·now214 value·1,·and·<code·class="inline">[3,·5]</code>·is·the·list·of·requested·columns.·The·function·should·now
215 return·the·lexicographically·next·elements:</p><pre><code·class="text">[{[3,·1,·2],·d},·{[5,·1,·2],·f}]</code></pre><p>This·is·illustrated·in·the·following·table:</p><p><a·href=""·id="getnext2"></a></p><p><img·src="assets/getnext2.gif"·alt="GetNext·from·[3,1,1]·and·[5,1,1]."·title="GetNext·from·[3,1,1]·and·[5,1,1]."/></p><p>The·manager·now·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry.3.2.1,215 return·the·lexicographically·next·elements:</p><pre><code·class="text">[{[3,·1,·2],·d},·{[5,·1,·2],·f}]</code></pre><p>This·is·illustrated·in·the·following·table:</p><p><a·href=""·id="getnext2"></a></p><p><img·src="assets/getnext2.gif"·alt="GetNext·from·[3,1,1]·and·[5,1,1]."·title="GetNext·from·[3,1,1]·and·[5,1,1]."/></p><p>The·manager·now·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry.3.2.1,
216 ·········myTable.myTableEntry.5.2.1·}</code></pre><p>This·is·transformed·into·one·call·to·<code·class="inline">my_table</code>:</p><pre><code·class="text">my_table(get_next,·[2,·1],·[3,·5])</code></pre><p>The·function·should·now·return:</p><pre><code·class="text">[{[4,·1,·1],·b},·endOfTable]</code></pre><p>This·is·illustrated·in·the·following·table:</p><p><a·href=""·id="getnext3"></a></p><p><img·src="assets/getnext3.gif"·alt="GetNext·from·[3,2,1]·and·[5,2,1]."·title="GetNext·from·[3,2,1]·and·[5,2,1]."/></p><p>The·manager·now·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry.3.1.2,216 ·········myTable.myTableEntry.5.2.1·}</code></pre><p>This·is·transformed·into·one·call·to·<code·class="inline">my_table</code>:</p><pre><code·class="text">my_table(get_next,·[2,·1],·[3,·5])</code></pre><p>The·function·should·now·return:</p><pre><code·class="text">[{[4,·1,·1],·b},·endOfTable]</code></pre><p>This·is·illustrated·in·the·following·table:</p><p><a·href=""·id="getnext3"></a></p><p><img·src="assets/getnext3.gif"·alt="GetNext·from·[3,2,1]·and·[5,2,1]."·title="GetNext·from·[3,2,1]·and·[5,2,1]."/></p><p>The·manager·now·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry.3.1.2,
217 ·········myTable.myTableEntry.4.1.2·}</code></pre><p>This·will·be·transform·into·one·call·to·<code·class="inline">my_table</code>:</p><pre><code·class="text">my_table(get_next,·[1,·2],·[3,·4])</code></pre><p>The·function·should·now·return:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5534811334-1">[</span><span·class="p"·data-group-id="5534811334-2">{</span><span·class="p"·data-group-id="5534811334-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·[·...·truncated·by·diffoscope;·len:·767,·SHA:·cbb7edf53832b3cbf5176a4ea4629d8c83c77b7660bc280995d4cc0169df1abf·...·]-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,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="8551865990-1">[</span><span·class="p"·data-group-id="8551865990-2">{</span><span·class="p"·data-group-id="8551865990-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·[·...·truncated·by·diffoscope;·len:·767,·SHA:·90dd7954a05e8d89fee2537913d8f3ce128c3d4fdf15ba86aa8e9da929bcb03e·...·]-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="3989772729-1">(</span><span·class="ss">get_next</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3989772729-2">[</span><span·class="p"·data-group-id="3989772729-2">]</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·171,·SHA:·39f4242981acd7ec6fdf1754d3f1f8bf530d51d62bf832962facc89cf72c5c70·...·]9-1">)</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">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="0052030599-1">(</span><span·class="ss">get_next</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0052030599-2">[</span><span·class="p"·data-group-id="0052030599-2">]</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·171,·SHA:·5f47e7494cb6bf0165247fe6e426b7a252ce5103d39e0b8866a9d63d507d5aa5·...·]9-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="3989772729-4">(</span><span·class="ss">get_next</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3989772729-5">[</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><sp[·...·truncated·by·diffoscope;·len:·269,·SHA:·a484888203110fb8c22d31db50fcbb877b6a13ca670a482f88adbf4a6e5a3d26·...·]9-4">)</span></code></pre><p>The·function·should·now·return:</p><pre><code·class="text">[{[3,·1,·1],·a}]·and219 </span><span·class="nf">my_table</span><span·class="p"·data-group-id="0052030599-4">(</span><span·class="ss">get_next</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0052030599-5">[</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><sp[·...·truncated·by·diffoscope;·len:·269,·SHA:·ee73a6b5241aae2b5b3172cc62edacf714a0f4aca993684a858038cb2a05cbf2·...·]9-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="3295774930-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3295774930-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:·4cdb88c666b3f1668a5ebce7ce32e331e5a45736cc123919552f6c0802baba0f·...·]-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="2758421796-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2758421796-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:·585643e7306c16ec5852b0c872e847838b97ee78ed12e6547f726d600b46126b·...·]-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="3295774930-4">{</span><span·class="p"·data-group-id="3295774930-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="3295774930-5">]</span><span[·...·truncated·by·diffoscope;·len:·460,·SHA:·07942aaec96752ba088943c63dec496e83360800266fed518f8ae40c6a4b63c7·...·]-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="2758421796-4">{</span><span·class="p"·data-group-id="2758421796-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="2758421796-5">]</span><span[·...·truncated·by·diffoscope;·len:·460,·SHA:·27d14ade041e07cbb019124e243d41d50ba3cccd21903dc912a992fe555a46e5·...·]-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="2654001184-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2654001184-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:·e118c0ad1fbd7e7086972aade20108fee4854f831f7ed9c9eda5fc7b45cca20b·...·]-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="3311802272-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3311802272-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:·33138a61ffa8b97e07c5e2d918b20600f20cc22d56713298ea1ea738db744e24·...·]-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="2654001184-4">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2654001184-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="2654001184-6">[</span><span·class="ss">&#39;NAME&#39;</span><span·class="p"·data-group-id="2654001184-6">]</span><span·class="p"·data-group-id="2654001184-5">}</span><span·class="p"·data-group-id="2654001184-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="9858353293-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9858353293-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="9858353293-3">[</span><span·class="mi">16#2543</span><span·class="p"·data-group-id="9858353293-3">]</span><span·class="p"·data-group-id="9858353293-2">}</span><span·class="p"·data-group-id="9858353293-1">}</span><span·class="p">.</span><span·class="w"> 
246 </span><span·class="p"·data-group-id="9858353293-4">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9858353293-5">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">generic[·...·truncated·by·diffoscope;·len:·399,·SHA:·277c082cf3b8e1aa15ecbfc19606e409d99041f22f3abc64d2d7ea6c74a78941·...·]244 </span><span·class="p"·data-group-id="3311802272-4">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3311802272-5">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">generic[·...·truncated·by·diffoscope;·len:·429,·SHA:·bdecbf0e5aa631eeebd414f2a213ae80dbe0ad5f4c0963f221d7791de21b619c·...·]
 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="9004746309-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9004746309-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="9004746309-3">[</span><span·class="mi">16#2543</span><span·class="p"·data-group-id="9004746309-3">]</span><span·class="p"·data-group-id="9004746309-2">}</span><span·class="p"·data-group-id="9004746309-1">}</span><span·class="p">.</span><span·class="w">
 246 </span><span·class="p"·data-group-id="9004746309-4">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9004746309-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="9004746309-6">[</span><span·class="mi">16#A2B3</span><span·class="p"·data-group-id="9004746309-6">]</span><span·class="p"·data-group-id="9004746309-5">}</span><span·class="p"·data-group-id="9004746309-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.19/doc/html/snmp_intro.html
    
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ······<p·class="built-using">253 ······<p·class="built-using">
254 ········Built·using254 ········Built·using
255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
257 ······</p>257 ······</p>
258 <p>Copyright·©·1996-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.6 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_manager_config_files.html
    
Offset 145, 46 lines modifiedOffset 145, 46 lines modified
145 and·<code·class="inline">IpPort</code>·is·an·integer.</p><p>When·<code·class="inline">Addr</code>·does·not·contain·a·port·number,·the·value·of·<code·class="inline">port</code>·is·used.</p><p>When·a·<code·class="inline">Addr</code>·is·not·specified·i.e·by·using·only·a·<code·class="inline">Domain</code>·atom,·the145 and·<code·class="inline">IpPort</code>·is·an·integer.</p><p>When·<code·class="inline">Addr</code>·does·not·contain·a·port·number,·the·value·of·<code·class="inline">port</code>·is·used.</p><p>When·a·<code·class="inline">Addr</code>·is·not·specified·i.e·by·using·only·a·<code·class="inline">Domain</code>·atom,·the
146 host's·name·is·resolved·to·find·the·IP·address,·and·the·value·of·<code·class="inline">port</code>·is146 host's·name·is·resolved·to·find·the·IP·address,·and·the·value·of·<code·class="inline">port</code>·is
147 used.</p></li></ul></li><li><p><code·class="inline">port</code>·-·which·defines·which·UDP·port·the·manager·uses·for·communicating147 used.</p></li></ul></li><li><p><code·class="inline">port</code>·-·which·defines·which·UDP·port·the·manager·uses·for·communicating
148 with·agents.·<em>Mandatory</em>·if·<code·class="inline">transports</code>·does·not·define·a·port·number·for148 with·agents.·<em>Mandatory</em>·if·<code·class="inline">transports</code>·does·not·define·a·port·number·for
149 every·transport.</p></li><li><p><code·class="inline">engine_id</code>·-·The·<code·class="inline">SnmpEngineID</code>·as·defined·in·SNMP-FRAMEWORK-MIB.149 every·transport.</p></li><li><p><code·class="inline">engine_id</code>·-·The·<code·class="inline">SnmpEngineID</code>·as·defined·in·SNMP-FRAMEWORK-MIB.
150 <em>Mandatory</em>.</p></li><li><p><code·class="inline">max_message_size</code>·-·The·<code·class="inline">snmpEngineMaxMessageSize</code>·as·defined·in150 <em>Mandatory</em>.</p></li><li><p><code·class="inline">max_message_size</code>·-·The·<code·class="inline">snmpEngineMaxMessageSize</code>·as·defined·in
151 SNMP-FRAMEWORK-MIB.·<em>Mandatory</em>.</p></li></ul></li><li><p><code·class="inline">Value</code>·is·the·value·for·the·variable.</p></li></ul><p>The·legacy·and·intermediate·variables·<code·class="inline">address</code>·and·<code·class="inline">domain</code>·are·still·supported151 SNMP-FRAMEWORK-MIB.·<em>Mandatory</em>.</p></li></ul></li><li><p><code·class="inline">Value</code>·is·the·value·for·the·variable.</p></li></ul><p>The·legacy·and·intermediate·variables·<code·class="inline">address</code>·and·<code·class="inline">domain</code>·are·still·supported
152 so·old·configurations·will·work.</p><p>The·following·example·shows·a·<code·class="inline">manager.conf</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5620860544-1">{</span><span·class="ss">transports</span><span·class="p">,</span><span·class="w">·······</span><span·class="p"·data-group-id="5620860544-2">[</span><span·class="p"·data-group-id="5620860544-3">{</span><span·class="ss">transportDomainUdpIpv4<[·...·truncated·by·diffoscope;·len:·561,·SHA:·729836a6050f551574b82ddfa2e3ca5cd866f05a61ebecbed4e8f5caafe3ed85·...·]-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="2178099183-1">{</span><span·class="ss">transports</span><span·class="p">,</span><span·class="w">·······</span><span·class="p"·data-group-id="2178099183-2">[</span><span·class="p"·data-group-id="2178099183-3">{</span><span·class="ss">transportDomainUdpIpv4<[·...·truncated·by·diffoscope;·len:·561,·SHA:·eeacb6010fb13170917f84a73975165984874561ad9eb97995f1d7301c32786d·...·]-3">}</span><span·class="p">,</span><span·class="w">
153 ····················</span><span·class="p"·data-group-id="5620860544-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5620860544-7">{</span><span·class="p"·data-group-id="5620860544-8">{</span><span·class="mi">0</span><span·cla[·...·truncated·by·diffoscope;·len:·663,·SHA:·5b35f3301046e3dd1efaf7078f4f2e11df02e86718c922d178f4f01d4484eb41·...·]-1">}</span><span·class="p">.</span><span·class="w">153 ····················</span><span·class="p"·data-group-id="2178099183-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2178099183-7">{</span><span·class="p"·data-group-id="2178099183-8">{</span><span·class="mi">0</span><span·cla[·...·truncated·by·diffoscope;·len:·663,·SHA:·7d65473d44d753dd18192714bc7cbab2a4ee70fd1895384e0db9de2cfb0b92ce·...·]-1">}</span><span·class="p">.</span><span·class="w">
154 </span><span·class="p"·data-group-id="5620860544-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="5620860544-9">}</span><span·class="p">.</span><span·class="w">154 </span><span·class="p"·data-group-id="2178099183-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="2178099183-9">}</span><span·class="p">.</span><span·class="w">
155 </span><span·class="p"·data-group-id="5620860544-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="5620860544-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="2178099183-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="2178099183-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="7817671368-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="7817671368-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="2137804226-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="2137804226-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="7817671368-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:·3f8cb2fddcf1e70453fb97add81a736b813af058dad0f5ea5e802aeef2f489fa·...·]-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="2137804226-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:·06baf8e7dc208e8a2debecd9d45e6b9279dbdc5ef9a059a504f8f50e2edcdd23·...·]-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="7817671368-3">[</span><span·class="p"·data-group-id="7817671368-4">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7817671368-5">{</span><span·class="n">Addr4</span><span·[·...·truncated·by·diffoscope;·len:·163,·SHA:·43f7a112da71d3397358c014de645525822ff4d2f1870fdd54569563f0734708·...·]-4">}</span><span·class="p">,</span><span·class="w">160 </span><span·class="n">Transports</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2137804226-3">[</span><span·class="p"·data-group-id="2137804226-4">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2137804226-5">{</span><span·class="n">Addr4</span><span·[·...·truncated·by·diffoscope;·len:·163,·SHA:·d4872c2e8b58c65ec7113ae41e1205688404b4d39b5091e4430913f0b713b535·...·]-4">}</span><span·class="p">,</span><span·class="w">
161 ·················</span><span·class="p"·data-group-id="7817671368-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7817671368-7">{</span><span·class="n">Addr6</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·163,·SHA:·2801045da1c5079ec5a07c3e2e1e6d66f79e359c275a8801de1ce5d7bd8b589e·...·]-3">]</span><span·class="p">,</span><span·class="w">161 ·················</span><span·class="p"·data-group-id="2137804226-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2137804226-7">{</span><span·class="n">Addr6</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·163,·SHA:·75a929980f9695c956c5d6fcc1bab8a10f717442b279fb00f0b24f3a72eca551·...·]-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="7817671368-8">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">manager_entry</span><span·class="p"·data-group-id="7817671368-9">(</span><span·class="ss">transports</span><span·class="p">,</span><span·class="w">·······</spa[·...·truncated·by·diffoscope;·len:·76,·SHA:·3a8710e286ca2452a91f1b1691b74cf1ec55acc6f86bcc19c85ec179369d8b8c·...·]-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="2137804226-8">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">manager_entry</span><span·class="p"·data-group-id="2137804226-9">(</span><span·class="ss">transports</span><span·class="p">,</span><span·class="w">·······</spa[·...·truncated·by·diffoscope;·len:·76,·SHA:·0e083a2d604d4fb65ae4fd52db057df271ee1df2624bf2451da4e231d8e32280·...·]-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="7817671368-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="7817671368-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="2137804226-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="2137804226-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="7817671368-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="7817671368-11">)</span><span·class="p"·data-group-id="7817671368-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="2137804226-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="2137804226-11">)</span><span·class="p"·data-group-id="2137804226-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="7817671368-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="7817671368-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="2137804226-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="2137804226-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="7504391611-1">(</span><span·class="p"·data-group-id="7504391611-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="6520129832-1">(</span><span·class="p"·data-group-id="6520129832-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="7504391611-2">(</span><span·class="p"·data-group-id="7504391611-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="6520129832-2">(</span><span·class="p"·data-group-id="6520129832-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="7504391611-3">[</span><span·class="p"·data-group-id="7504391611-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="7504391611-4">}</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·548,·SHA:·653f828a3ae81d8493744b0ad55e4e2661986bb6a61deb18ce476e7297523410·...·]-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="6520129832-3">[</span><span·class="p"·data-group-id="6520129832-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="6520129832-4">}</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·548,·SHA:·5a3aa8bec41f822179a55c1cee53e54d2c89f951854383d525fe42ff78788bf3·...·]-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="7504391611-7">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">users_entry</span><span·class="p"·data-group-id="7504391611-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="6520129832-7">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">users_entry</span><span·class="p"·data-group-id="6520129832-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="7504391611-8">)</span><span·class="p"·data-group-id="7504391611-7">]</span><span·class="p">,</span><span·class="w">182 ······································</span><span·class="n">DefaultAgentConfig</span><span·class="p"·data-group-id="6520129832-8">)</span><span·class="p"·data-group-id="6520129832-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="7504391611-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="7504391611-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="6520129832-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="6520129832-9">)</span><span·class="p">,</span></code></pre><h2·id="agents"·class="section-heading">
184 ··<a·href="#agents"·class="hover-link">184 ··<a·href="#agents"·class="hover-link">
185 ····<i·class="ri-link-m"·aria-hidden="true"></i>185 ····<i·class="ri-link-m"·aria-hidden="true"></i>
186 ··</a>186 ··</a>
187 ··<span·class="text">Agents</span>187 ··<span·class="text">Agents</span>
188 </h2>188 </h2>
189 <p>The·information·needed·to·handle·agents·should·be·stored·in·a·file·called189 <p>The·information·needed·to·handle·agents·should·be·stored·in·a·file·called
190 <code·class="inline">agents.conf</code>.·It·is·also·possible·to·add·agents·in·run-time·by·calling·the190 <code·class="inline">agents.conf</code>.·It·is·also·possible·to·add·agents·in·run-time·by·calling·the
Offset 194, 31 lines modifiedOffset 194, 31 lines modified
194 tuple·or·a·traditional·SNMP·integer·list·containing·port·number.·<code·class="inline">IpAddr</code>·is194 tuple·or·a·traditional·SNMP·integer·list·containing·port·number.·<code·class="inline">IpAddr</code>·is
195 either·a·regular·Erlang/OTP·<a·href="../../../../lib/kernel-10.3/doc/html/inet.html#t:ip_address/0"><code·class="inline">ip_address()</code></a>·or·a195 either·a·regular·Erlang/OTP·<a·href="../../../../lib/kernel-10.3/doc/html/inet.html#t:ip_address/0"><code·class="inline">ip_address()</code></a>·or·a
196 traditional·SNMP·integer·list·not·containing·port·number,·and·<code·class="inline">IpPort</code>·is·an196 traditional·SNMP·integer·list·not·containing·port·number,·and·<code·class="inline">IpPort</code>·is·an
197 integer.</li><li><code·class="inline">EngineID</code>·is·the·engine-id·of·the·agent·(string).</li><li><p><code·class="inline">Timeout</code>·is·re-transmission·timeout·(<code·class="inline">infinity</code>·|·integer).</p></li><li><code·class="inline">MaxMessageSize</code>·is·the·max·message·size·for·outgoing·messages·to·this·agent197 integer.</li><li><code·class="inline">EngineID</code>·is·the·engine-id·of·the·agent·(string).</li><li><p><code·class="inline">Timeout</code>·is·re-transmission·timeout·(<code·class="inline">infinity</code>·|·integer).</p></li><li><code·class="inline">MaxMessageSize</code>·is·the·max·message·size·for·outgoing·messages·to·this·agent
198 (integer).</li><li><p><code·class="inline">Version</code>·is·the·version·(v1·|·v2·|·v3).</p></li><li><p><code·class="inline">SecModel</code>·is·the·security·model·(any·|·v1·|·v2c·|·usm).</p></li><li><code·class="inline">SecName</code>·is·the·security·name·(string).</li><li><p><code·class="inline">SecLevel</code>·is·security·level·(noAuthNoPriv·|·authNoPriv·|·authPriv).</p></li></ul><p>Legacy·configurations·using·tuples·without·<code·class="inline">Domain</code>·element,·as·well·as·with·all198 (integer).</li><li><p><code·class="inline">Version</code>·is·the·version·(v1·|·v2·|·v3).</p></li><li><p><code·class="inline">SecModel</code>·is·the·security·model·(any·|·v1·|·v2c·|·usm).</p></li><li><code·class="inline">SecName</code>·is·the·security·name·(string).</li><li><p><code·class="inline">SecLevel</code>·is·security·level·(noAuthNoPriv·|·authNoPriv·|·authPriv).</p></li></ul><p>Legacy·configurations·using·tuples·without·<code·class="inline">Domain</code>·element,·as·well·as·with·all
199 <code·class="inline">TDomain</code>,·<code·class="inline">Ip</code>·and·<code·class="inline">Port</code>·elements·still·work.</p><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ManagerDir</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">199 <code·class="inline">TDomain</code>,·<code·class="inline">Ip</code>·and·<code·class="inline">Port</code>·elements·still·work.</p><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ManagerDir</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">
200 </span><span·class="n">UserID</span><span·class="w">·······</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">200 </span><span·class="n">UserID</span><span·class="w">·······</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
201 </span><span·class="n">AgentsConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7446562347-1">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">agents_entry</span><span·class="p"·data-group-id="7446562347-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="7800984038-1">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">agents_entry</span><span·class="p"·data-group-id="7800984038-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="7446562347-3">{</span><span·class="p"·data-group-id="7446562347-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·clas[·...·truncated·by·diffoscope;·len:·135,·SHA:·72f4f764032fa5c6741907d5911b658e0381589ce3837519c47e84fb70efc729·...·]-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="7800984038-3">{</span><span·class="p"·data-group-id="7800984038-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·clas[·...·truncated·by·diffoscope;·len:·135,·SHA:·f653cc44b20deeeaac238ac2990f0e4cdcf37a377d2a6b74b9a0e04de472b119·...·]-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="7446562347-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="7800984038-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="7446562347-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="7800984038-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="7446562347-6">{</span><span·class="p"·data-group-id="7446562347-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·clas[·...·truncated·by·diffoscope;·len:·135,·SHA:·fe5fee286cec1069ad22b7eb06580346b3d4f479de4f715338b20490f9e7a0e4·...·]-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="7800984038-6">{</span><span·class="p"·data-group-id="7800984038-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·clas[·...·truncated·by·diffoscope;·len:·135,·SHA:·f1894c8aabcb5e06773835d3bfad0bd9b4d9a416fc2e3e5441b5359e239ad62e·...·]-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="7446562347-5">)</span><span·class="p"·data-group-id="7446562347-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="7800984038-5">)</span><span·class="p"·data-group-id="7800984038-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="7446562347-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="7446562347-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="7800984038-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="7800984038-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="4622545497-1">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">usm_entry</span><span·class="p"·data-group-id="4622545497-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="7182155983-1">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">usm_entry</span><span·class="p"·data-group-id="7182155983-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="4622545497-3">[</span><span·class="p"·data-group-id="4622545497-3">]</span><span·class="p">,</span><span·class="w">239 »       ·»       »       »       ···</span><span·class="p"·data-group-id="7182155983-3">[</span><span·class="p"·data-group-id="7182155983-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="4622545497-4">[</span><span·class="p"·data-group-id="4622545497-4">]</span><span·class="p"·data-group-id="4622545497-2">)</span><span·class="p"·data-group-id="4622545497-1">]</span><span·class="p">,</span><span·class="w">241 »       ·»       »       »       ···</span><span·class="p"·data-group-id="7182155983-4">[</span><span·class="p"·data-group-id="7182155983-4">]</span><span·class="p"·data-group-id="7182155983-2">)</span><span·class="p"·data-group-id="7182155983-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="4622545497-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="4622545497-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="7182155983-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="7182155983-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.56 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_manager_funct_descr.html
    
Offset 209, 15 lines modifiedOffset 209, 15 lines modified
209 ······<p·class="built-using">209 ······<p·class="built-using">
210 ········Built·using210 ········Built·using
211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
213 ······</p>213 ······</p>
214 <p>Copyright·©·1996-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.57 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_manager_netif.html
    
Offset 251, 15 lines modifiedOffset 251, 15 lines modified
251 ······<p·class="built-using">251 ······<p·class="built-using">
252 ········Built·using252 ········Built·using
253 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the253 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
254 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>254 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
255 ······</p>255 ······</p>
256 <p>Copyright·©·1996-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.19/doc/html/snmp_mib_compiler.html
    
Offset 137, 30 lines modifiedOffset 137, 30 lines modified
137 before·it·will·be·compiled.·This·text·file·must·have·the·same·name·as·the·MIB,137 before·it·will·be·compiled.·This·text·file·must·have·the·same·name·as·the·MIB,
138 but·with·the·suffix·<code·class="inline">.mib</code>.·This·is·necessary·for·handling·the·<code·class="inline">IMPORT</code>138 but·with·the·suffix·<code·class="inline">.mib</code>.·This·is·necessary·for·handling·the·<code·class="inline">IMPORT</code>
139 statement.</p><p>The·association·file,·which·contains·the·names·of·instrumentation·functions·for139 statement.</p><p>The·association·file,·which·contains·the·names·of·instrumentation·functions·for
140 the·MIB,·should·have·the·suffix·<code·class="inline">.funcs</code>.·If·the·compiler·does·not·find·the140 the·MIB,·should·have·the·suffix·<code·class="inline">.funcs</code>.·If·the·compiler·does·not·find·the
141 association·file,·it·gives·a·warning·message·and·uses·default·instrumentation141 association·file,·it·gives·a·warning·message·and·uses·default·instrumentation
142 functions.·(See·<a·href="snmp_instr_functions.html#snmp_3">Default·Instrumentation</a>·for142 functions.·(See·<a·href="snmp_instr_functions.html#snmp_3">Default·Instrumentation</a>·for
143 more·details).</p><p>The·MIB·compiler·is·started·with·a·call·to·<code·class="inline">snmpc:compile(&lt;mibname&gt;).</code>·For143 more·details).</p><p>The·MIB·compiler·is·started·with·a·call·to·<code·class="inline">snmpc:compile(&lt;mibname&gt;).</code>·For
144 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">snmpc</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="5664017916-1">(</span><span·class="s">&quot;RFC1213-MIB&quot;</span><span·class="p"·data-group-id="5664017916-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="2836105082-1">(</span><span·class="s">&quot;RFC1213-MIB&quot;</span><span·class="p"·data-group-id="2836105082-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="3398252278-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="6046586878-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="3398252278-2">[</span><span·class="p"·data-group-id="3398252278-3">{</span><span·class="ss">i</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3398252278-4">[</span><span·class="s">&quot;friend_mibs/&quot;</span><span·cl[·...·truncated·by·diffoscope;·len:·290,·SHA:·ee56a42b9e38fd1565cbb7121334817e63eda3f0d90922a2340ab88d6e8ecd0e·...·]78-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="6046586878-2">[</span><span·class="p"·data-group-id="6046586878-3">{</span><span·class="ss">i</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6046586878-4">[</span><span·class="s">&quot;friend_mibs/&quot;</span><span·cl[·...·truncated·by·diffoscope;·len:·290,·SHA:·f02c5498b22d25a7688b596d1b10033d4b7ee43e9c3f65b3f67acaebba26b62c·...·]78-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="2928502115-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="9468691513-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="2928502115-2">[</span><span·class="p"·data-group-id="2928502115-3">{</span><span·class="ss">il</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2928502115-4">[</span><span·class="s">&quot;snmp/priv/mibs/&quot;</span><spa[·...·truncated·by·diffoscope;·len:·295,·SHA:·f3ff3257313e56164cb09ba53201b2e13d77f29376fc81f8851170887cf5982c·...·]-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="9468691513-2">[</span><span·class="p"·data-group-id="9468691513-3">{</span><span·class="ss">il</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9468691513-4">[</span><span·class="s">&quot;snmp/priv/mibs/&quot;</span><spa[·...·truncated·by·diffoscope;·len:·295,·SHA:·96097d2fa13e6bd7e1b5b06c421329eaa1aa398b81d1809223e2c84708bc4feb·...·]-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.19/doc/html/snmp_notification_mib.html
    
Offset 468, 15 lines modifiedOffset 468, 15 lines modified
468 ······<p·class="built-using">468 ······<p·class="built-using">
469 ········Built·using469 ········Built·using
470 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the470 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
471 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>471 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
472 ······</p>472 ······</p>
473 <p>Copyright·©·1996-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.9 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_pdus.html
    
Offset 130, 16 lines modifiedOffset 130, 16 lines modified
130 ····<section·id="moduledoc">130 ····<section·id="moduledoc">
131 <p>Encode·and·Decode·Functions·for·SNMP·PDUs</p><p>RFC1157,·RFC1905·and/or·RFC2272·should·be·studied·carefully·before·using·this131 <p>Encode·and·Decode·Functions·for·SNMP·PDUs</p><p>RFC1157,·RFC1905·and/or·RFC2272·should·be·studied·carefully·before·using·this
132 module,·<code·class="inline">snmp_pdus</code>.</p><p>The·module·<code·class="inline">snmp_pdus</code>·contains·functions·for·encoding·and·decoding·of·SNMP132 module,·<code·class="inline">snmp_pdus</code>.</p><p>The·module·<code·class="inline">snmp_pdus</code>·contains·functions·for·encoding·and·decoding·of·SNMP
133 protocol·data·units·(PDUs).·In·short,·this·module·converts·a·list·of·bytes·to133 protocol·data·units·(PDUs).·In·short,·this·module·converts·a·list·of·bytes·to
134 Erlang·record·representations·and·vice·versa.·The·record·definitions·can·be134 Erlang·record·representations·and·vice·versa.·The·record·definitions·can·be
135 found·in·the·file·<code·class="inline">snmp/include/snmp_types.hrl</code>.·If·snmpv3·is·used,·the·module135 found·in·the·file·<code·class="inline">snmp/include/snmp_types.hrl</code>.·If·snmpv3·is·used,·the·module
136 that·includes·<code·class="inline">snmp_types.hrl</code>·must·define·the·constant·<code·class="inline">SNMP_USE_V3</code>·before·the136 that·includes·<code·class="inline">snmp_types.hrl</code>·must·define·the·constant·<code·class="inline">SNMP_USE_V3</code>·before·the
137 header·file·is·included.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="4912378005-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="4912378005-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="8013694566-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="8013694566-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="4912378005-2">(</span><span·class="s">&quot;snmp/include/snmp_types.hrl&quot;</span><span·class="p"·data-group-id="4912378005-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="8013694566-2">(</span><span·class="s">&quot;snmp/include/snmp_types.hrl&quot;</span><span·class="p"·data-group-id="8013694566-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.19/doc/html/snmp_standard_mib.html
    
Offset 410, 15 lines modifiedOffset 410, 15 lines modified
410 ······<p·class="built-using">410 ······<p·class="built-using">
411 ········Built·using411 ········Built·using
412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
414 ······</p>414 ······</p>
415 <p>Copyright·©·1996-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.19/doc/html/snmp_target_mib.html
    
Offset 786, 15 lines modifiedOffset 786, 15 lines modified
786 ······<p·class="built-using">786 ······<p·class="built-using">
787 ········Built·using787 ········Built·using
788 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the788 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
789 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>789 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
790 ······</p>790 ······</p>
791 <p>Copyright·©·1996-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.44 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_user_based_sm_mib.html
    
Offset 739, 15 lines modifiedOffset 739, 15 lines modified
739 ······<p·class="built-using">739 ······<p·class="built-using">
740 ········Built·using740 ········Built·using
741 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the741 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
742 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>742 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
743 ······</p>743 ······</p>
744 <p>Copyright·©·1996-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.47 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_view_based_acm_mib.html
    
Offset 1046, 15 lines modifiedOffset 1046, 15 lines modified
1046 ······<p·class="built-using">1046 ······<p·class="built-using">
1047 ········Built·using1047 ········Built·using
1048 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1048 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1049 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1049 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1050 ······</p>1050 ······</p>
1051 <p>Copyright·©·1996-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.19/doc/html/snmpa.html
    
Offset 3215, 16 lines modifiedOffset 3215, 16 lines modified
3215 ······················AgentName·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),3215 ······················AgentName·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),
3216 ······················Mib·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),3216 ······················Mib·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
3217 ······················Reason·::·already_loaded·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>3217 ······················Reason·::·already_loaded·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3218 ······</div>3218 ······</div>
  
3219 <p>Load·a·single·<code·class="inline">Mib</code>·into·an·agent.·The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,3219 <p>Load·a·single·<code·class="inline">Mib</code>·into·an·agent.·The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,
3220 including·the·path·to·where·the·compiled·mib·is·found.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">priv_dir</span><span·class="p"·data-group-id="9590319535-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="9590319535-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="5053644001-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="5053644001-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="9590319535-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:·c77d4d4e6cd8d5fa0057db6646a1715271d1e21f74cff1b54f2646cd7671e793·...·]-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="5053644001-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:·7fb88f6f706102a598bed10f0a8c455ae6103dc6dda12547d292bd51eeaf9902·...·]-2">)</span><span·class="p">.</span></code></pre>
3222 ··</section>3222 ··</section>
3223 </section>3223 </section>
3224 <section·class="detail"·id="load_mibs/1">3224 <section·class="detail"·id="load_mibs/1">
  
3225 ··<div·class="detail-header">3225 ··<div·class="detail-header">
3226 ····<a·href="#load_mibs/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3226 ····<a·href="#load_mibs/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
3227 ······<i·class="ri-link-m"·aria-hidden="true"></i>3227 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3326, 16 lines modifiedOffset 3326, 16 lines modified
3326 ·······················InternalReason·::·already_loaded·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>3326 ·······················InternalReason·::·already_loaded·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3327 ······</div>3327 ······</div>
  
3328 <p>Load·<code·class="inline">Mibs</code>·into·an·agent.·If·the·agent·cannot·load·all·MIBs·(the·default·value3328 <p>Load·<code·class="inline">Mibs</code>·into·an·agent.·If·the·agent·cannot·load·all·MIBs·(the·default·value
3329 of·the·<code·class="inline">Force</code>·argument·is·<code·class="inline">false</code>),·it·will·indicate·where·loading·was·aborted.3329 of·the·<code·class="inline">Force</code>·argument·is·<code·class="inline">false</code>),·it·will·indicate·where·loading·was·aborted.
3330 The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,·including·the·path·to·where·the·compiled3330 The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,·including·the·path·to·where·the·compiled
3331 mib·is·found.·For·example,</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">priv_dir</span><span·class="p"·data-group-id="2835496678-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="2835496678-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="2994727068-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="2994727068-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="2835496678-2">(</span><span·class="ss">snmp_master_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2835496678-3">[</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·140,·SHA:·1305fa7717235483b032a547af158d50ed4f84343414c20d5cd382e01a42bbcb·...·]8-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="2994727068-2">(</span><span·class="ss">snmp_master_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2994727068-3">[</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·140,·SHA:·86516e456e25c76731653f702b05ccbdfaa35a6dfe62aae1cc6111752fab6e08·...·]8-2">)</span><span·class="p">.</span></code></pre><p>If·<code·class="inline">Force·=·true</code>·then·the·agent·will·continue·attempting·to·load·each·mib·even
3333 after·failing·to·load·a·previous·mib.·Use·with·care.</p>3333 after·failing·to·load·a·previous·mib.·Use·with·care.</p>
3334 ··</section>3334 ··</section>
3335 </section>3335 </section>
3336 <section·class="detail"·id="log_to_io/1">3336 <section·class="detail"·id="log_to_io/1">
  
3337 ··<div·class="detail-header">3337 ··<div·class="detail-header">
3338 ····<a·href="#log_to_io/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3338 ····<a·href="#log_to_io/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 4297, 16 lines modifiedOffset 4297, 16 lines modified
4297 ··········································Mod·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:module/0">module</a>(),4297 ··········································Mod·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:module/0">module</a>(),
4298 ··········································Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),4298 ··········································Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),
4299 ··········································Where·::·<a·href="#t:nfilter_position/0">nfilter_position</a>(),4299 ··········································Where·::·<a·href="#t:nfilter_position/0">nfilter_position</a>(),
4300 ··········································Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>4300 ··········································Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
4301 ······</div>4301 ······</div>
  
4302 <p>Accepted·type·specifications·are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">register_notification_filter</span><span·class="p"·data-group-id="8489965040-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:·0892f66edc4ed9c8539b8a378c732b746be8c0c206e39dbfca3e797dee99bf4b·...·]-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="1838366544-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:·450c70f29b11b3cce69e82e06ea4f709504e6539fda3e383aa95f5b7fbebc971·...·]-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="8489965040-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:·a9a5a65783cc0dbbb13a266dcc15d0773a88e08f36bcfcd7250754129016006b·...·]-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="1838366544-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:·a20bd1b7d74d6482effeed20cc46254e4f4f318fdaeed091bc4fa6fac85f5d5d·...·]-4">}</span><span·class="p">.</span></code></pre>
4304 ··</section>4304 ··</section>
4305 </section>4305 </section>
4306 <section·class="detail"·id="register_notification_filter/5">4306 <section·class="detail"·id="register_notification_filter/5">
  
4307 ··<div·class="detail-header">4307 ··<div·class="detail-header">
4308 ····<a·href="#register_notification_filter/5"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">4308 ····<a·href="#register_notification_filter/5"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
4309 ······<i·class="ri-link-m"·aria-hidden="true"></i>4309 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 4367, 16 lines modifiedOffset 4367, 16 lines modified
4367 ·······························SubAgent·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:pid/0">pid</a>(),4367 ·······························SubAgent·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:pid/0">pid</a>(),
4368 ·······························Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>4368 ·······························Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
4369 ······</div>4369 ······</div>
  
4370 <p>Registers·a·sub-agent·under·a·sub-tree·of·another·agent.</p><p>It·is·easy·to·make·mistakes·when·registering·sub-agents·and·this·activity·should4370 <p>Registers·a·sub-agent·under·a·sub-tree·of·another·agent.</p><p>It·is·easy·to·make·mistakes·when·registering·sub-agents·and·this·activity·should
4371 be·done·carefully.·For·example,·a·strange·behaviour·would·result·from·the4371 be·done·carefully.·For·example,·a·strange·behaviour·would·result·from·the
4372 following·configuration:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">snmp_agent</span><span·class="p">:</span><span·class="nf">register_subagent</span><span·class="p"·data-group-id="8695615405-1">(</span><span·class="n">MAPid</span><span·class="p">,</span><span·class="p"·data-group-id="8695615405-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·[·...·truncated·by·diffoscope;·len:·187,·SHA:·d6677020accd432ddd78999201f30e52f9c8bff029888a1968721bea24c213a0·...·]-1">)</span><span·class="p">,</span><span·class="w">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="9962611726-1">(</span><span·class="n">MAPid</span><span·class="p">,</span><span·class="p"·data-group-id="9962611726-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·[·...·truncated·by·diffoscope;·len:·187,·SHA:·6cca534ca90d76f5e7c3eba1b4a2e512d98c7ee5ba334ac35adc638cbe7f3834·...·]-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="8695615405-3">(</span><span·class="n">SA1</span><span·class="p">,</span><span·class="p"·data-group-id="8695615405-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·cl[·...·truncated·by·diffoscope;·len:·160,·SHA:·9048091a3b6c729601bf3e22245b39f9fd99f344e41c8c679904306103798071·...·]-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>·since4373 </span><span·class="nc">snmp_agent</span><span·class="p">:</span><span·class="nf">register_subagent</span><span·class="p"·data-group-id="9962611726-3">(</span><span·class="n">SA1</span><span·class="p">,</span><span·class="p"·data-group-id="9962611726-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·cl[·...·truncated·by·diffoscope;·len:·160,·SHA:·7a067f6597ccb3c7236428159a15f09ca4adf118471336818aabe1493f70cb94·...·]-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="3100452518-1">[</span><span·class="nf">address</span><span·class="p"·data-group-id="3100452518-2">(</span><span·class="p"·data-group-id="3100452518-2">)</span><span·class="p"·data-group-id="3100452518-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="7531203049-1">[</span><span·class="nf">address</span><span·class="p"·data-group-id="7531203049-2">(</span><span·class="p"·data-group-id="7531203049-2">)</span><span·class="p"·data-group-id="7531203049-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="3100452518-3">(</span><span·class="p"·data-group-id="3100452518-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="7531203049-3">(</span><span·class="p"·data-group-id="7531203049-3">)</span><span·class="w">
4802 ········</span><span·class="nf">address</span><span·class="p"·data-group-id="3100452518-4">(</span><span·class="p"·data-group-id="3100452518-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="3100452518-5">(</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·232,·SHA:·84873046a5fcba8325c7df9f0cf5410a239cee3a0cc4072aa17e604deefd78a0·...·]-6">)</span><span·class="w">4802 ········</span><span·class="nf">address</span><span·class="p"·data-group-id="7531203049-4">(</span><span·class="p"·data-group-id="7531203049-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="7531203049-5">(</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·232,·SHA:·447e095b4b7583f21bb55b6c981c85ccf88b4a43382ad0ed1d7775600f84258f·...·]-6">)</span><span·class="w">
4803 ········</span><span·class="nf">v1_address</span><span·class="p"·data-group-id="3100452518-7">(</span><span·class="p"·data-group-id="3100452518-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3100452518-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="3100452518-8">}</span><span·class="w"> 
4804 ········</span><span·class="nf">v3_address</span><span·class="p"·data-group-id="3100452518-9">(</span><span·class="p"·data-group-id="3100452518-9">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3100452518-10">{</span><span·cl[·...·truncated·by·diffoscope;·len:·333,·SHA:·96efd93732adccc59d3afb6df457a2c4a4a118de56fea65da1b8b157b1a14202·...·]">}</span><span·class="w">4803 ········</span><span·class="nf">v1_address</span><span·class="p"·data-group-id="7531203049-7">(</span><span·class="p"·data-group-id="7531203049-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7531203049-8">{</span><span·cla[·...·truncated·by·diffoscope;·len:·143,·SHA:·293509727326730d9dff44aa7871b7d5b1e63c7fdcab30e27f0f6d8fbff52907·...·]">}</span><span·class="w">
 4804 ········</span><span·class="nf">v3_address</span><span·class="p"·data-group-id="7531203049-9">(</span><span·class="p"·data-group-id="7531203049-9">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7531203049-10">{</span><span·class="p"·data-group-id="7531203049-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="7531203049-11">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">V3MsgData</span><span·class="p"·data-group-id="7531203049-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="3100452518-12">(</span><span·class="p"·data-group-id="3100452518-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="7531203049-12">(</span><span·class="p"·data-group-id="7531203049-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="3100452518-13">(</span><span·class="p"·data-group-id="3100452518-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="7531203049-13">(</span><span·class="p"·data-group-id="7531203049-13">)</span><span·class="w">
4807 ········</span><span·class="nf">tdomain</span><span·class="p"·data-group-id="3100452518-14">(</span><span·class="p"·data-group-id="3100452518-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="7531203049-14">(</span><span·class="p"·data-group-id="7531203049-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="3100452518-15">(</span><span·class="p"·data-group-id="3100452518-15">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3100452518-16">[</span><span·class="n">A1</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·378,·SHA:·3f996a8d0f312134f89332ff808bc300b1edb9b7cf06ea0d5ec25fe9403bedf5·...·]-16">]</span><span·class="w">4809 ········</span><span·class="nf">taddress</span><span·class="p"·data-group-id="7531203049-15">(</span><span·class="p"·data-group-id="7531203049-15">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7531203049-16">[</span><span·class="n">A1</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·378,·SHA:·2cdf8df3117eac19572e7fca71dd29a69338b639caf2e6737fe3ad52fe1b6fa0·...·]-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="3100452518-17">(</span><span·class="p"·data-group-id="3100452518-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="7531203049-17">(</span><span·class="p"·data-group-id="7531203049-17">)</span><span·class="w">
4813 ········</span><span·class="nf">v3_msg_data</span><span·class="p"·data-group-id="3100452518-18">(</span><span·class="p"·data-group-id="3100452518-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="3100452518-19">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·95a605426ee3f7ebbf5e8daea950bc389a8cc9787c8d6f4dc50fcb8fe0f4410d·...·]-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="7531203049-18">(</span><span·class="p"·data-group-id="7531203049-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="7531203049-19">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·82eda267a2e86dbbec8f56cd79553bf3430b97e6d897ccbedddccb177c5f6d09·...·]-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.19/doc/html/snmpa_conf.html
    
Offset 3627, 15 lines modifiedOffset 3627, 15 lines modified
3627 ······<p·class="built-using">3627 ······<p·class="built-using">
3628 ········Built·using3628 ········Built·using
3629 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3629 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3630 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3630 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3631 ······</p>3631 ······</p>
3632 <p>Copyright·©·1996-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.19/doc/html/snmpa_discovery_handler.html
    
Offset 238, 15 lines modifiedOffset 238, 15 lines modified
238 ······<p·class="built-using">238 ······<p·class="built-using">
239 ········Built·using239 ········Built·using
240 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the240 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
241 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>241 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
242 ······</p>242 ······</p>
243 <p>Copyright·©·1996-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.19/doc/html/snmpa_error.html
    
Offset 261, 15 lines modifiedOffset 261, 15 lines modified
261 ······<p·class="built-using">261 ······<p·class="built-using">
262 ········Built·using262 ········Built·using
263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
265 ······</p>265 ······</p>
266 <p>Copyright·©·1996-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.19/doc/html/snmpa_error_io.html
    
Offset 261, 15 lines modifiedOffset 261, 15 lines modified
261 ······<p·class="built-using">261 ······<p·class="built-using">
262 ········Built·using262 ········Built·using
263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
265 ······</p>265 ······</p>
266 <p>Copyright·©·1996-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.19/doc/html/snmpa_error_logger.html
    
Offset 268, 15 lines modifiedOffset 268, 15 lines modified
268 ······<p·class="built-using">268 ······<p·class="built-using">
269 ········Built·using269 ········Built·using
270 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the270 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
271 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>271 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
272 ······</p>272 ······</p>
273 <p>Copyright·©·1996-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.19/doc/html/snmpa_error_report.html
    
Offset 257, 15 lines modifiedOffset 257, 15 lines modified
257 ······<p·class="built-using">257 ······<p·class="built-using">
258 ········Built·using258 ········Built·using
259 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the259 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
260 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>260 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
261 ······</p>261 ······</p>
262 <p>Copyright·©·1996-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.19/doc/html/snmpa_local_db.html
    
Offset 709, 15 lines modifiedOffset 709, 15 lines modified
709 ······<p·class="built-using">709 ······<p·class="built-using">
710 ········Built·using710 ········Built·using
711 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the711 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
712 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>712 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
713 ······</p>713 ······</p>
714 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_mib_data.html
    
Offset 1076, 15 lines modifiedOffset 1076, 15 lines modified
1076 ······<p·class="built-using">1076 ······<p·class="built-using">
1077 ········Built·using1077 ········Built·using
1078 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1078 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1079 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1079 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1080 ······</p>1080 ······</p>
1081 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1081 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1082 ····</footer>1082 ····</footer>
1083 ··</div>1083 ··</div>
1084 </main>1084 </main>
1085 </div>1085 </div>
1086 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1086 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1087 ··<script>1087 ··<script>
1088 ··let·initialized·=·false;1088 ··let·initialized·=·false;
632 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_mib_storage.html
    
Offset 811, 15 lines modifiedOffset 811, 15 lines modified
811 ······<p·class="built-using">811 ······<p·class="built-using">
812 ········Built·using812 ········Built·using
813 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the813 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
814 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>814 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
815 ······</p>815 ······</p>
816 <p>Copyright·©·1996-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.57 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_mpd.html
    
Offset 979, 15 lines modifiedOffset 979, 15 lines modified
979 ······<p·class="built-using">979 ······<p·class="built-using">
980 ········Built·using980 ········Built·using
981 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the981 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
982 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>982 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
983 ······</p>983 ······</p>
984 <p>Copyright·©·1996-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.19/doc/html/snmpa_network_interface.html
    
Offset 474, 15 lines modifiedOffset 474, 15 lines modified
474 ······<p·class="built-using">474 ······<p·class="built-using">
475 ········Built·using475 ········Built·using
476 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the476 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
477 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>477 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
478 ······</p>478 ······</p>
479 <p>Copyright·©·1996-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.56 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_network_interface_filter.html
    
Offset 486, 15 lines modifiedOffset 486, 15 lines modified
486 ······<p·class="built-using">486 ······<p·class="built-using">
487 ········Built·using487 ········Built·using
488 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the488 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
489 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>489 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
490 ······</p>490 ······</p>
491 <p>Copyright·©·1996-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.54 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_notification_delivery_info_receiver.html
    
Offset 410, 15 lines modifiedOffset 410, 15 lines modified
410 ······<p·class="built-using">410 ······<p·class="built-using">
411 ········Built·using411 ········Built·using
412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
414 ······</p>414 ······</p>
415 <p>Copyright·©·1996-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.19/doc/html/snmpa_notification_filter.html
    
Offset 319, 15 lines modifiedOffset 319, 15 lines modified
319 ······<p·class="built-using">319 ······<p·class="built-using">
320 ········Built·using320 ········Built·using
321 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the321 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
322 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>322 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
323 ······</p>323 ······</p>
324 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_supervisor.html
    
Offset 360, 15 lines modifiedOffset 360, 15 lines modified
360 ······<p·class="built-using">360 ······<p·class="built-using">
361 ········Built·using361 ········Built·using
362 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the362 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
363 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>363 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
364 ······</p>364 ······</p>
365 <p>Copyright·©·1996-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.46 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpc.html
    
Offset 401, 15 lines modifiedOffset 401, 15 lines modified
401 ······<p·class="built-using">401 ······<p·class="built-using">
402 ········Built·using402 ········Built·using
403 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the403 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
404 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>404 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
405 ······</p>405 ······</p>
406 <p>Copyright·©·1996-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.19 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpc_cmd.html
    
Offset 127, 15 lines modifiedOffset 127, 15 lines modified
  
127 <p>SNMP·MIB·compiler·frontend</p><h2·id="synopsis"·class="section-heading">127 <p>SNMP·MIB·compiler·frontend</p><h2·id="synopsis"·class="section-heading">
128 ··<a·href="#synopsis"·class="hover-link">128 ··<a·href="#synopsis"·class="hover-link">
129 ····<i·class="ri-link-m"·aria-hidden="true"></i>129 ····<i·class="ri-link-m"·aria-hidden="true"></i>
130 ··</a>130 ··</a>
131 ··<span·class="text">Synopsis</span>131 ··<span·class="text">Synopsis</span>
132 </h2>132 </h2>
133 <pre><code·class="makeup·erlang"·translate="no"><span·class="ss">snmpc</span><span·class="w">·</span><span·class="p"·data-group-id="3382667696-1">[</span><span·class="ss">options</span><span·class="p"·data-group-id="3382667696-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="9957490133-1">[</span><span·class="ss">options</span><span·class="p"·data-group-id="9957490133-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.85 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpm.html
    
Offset 1944, 16 lines modifiedOffset 1944, 16 lines modified
1944 ······<div·class="specs">1944 ······<div·class="specs">
  
1945 ··········<pre·translate="no"><span·class="attribute">-spec</span>·load_mib(MibName)·->·ok·|·{error,·Reason}·when·MibName·::·<a·href="snmp.html#t:mib_name/0">snmp:mib_name</a>(),·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>1945 ··········<pre·translate="no"><span·class="attribute">-spec</span>·load_mib(MibName)·->·ok·|·{error,·Reason}·when·MibName·::·<a·href="snmp.html#t:mib_name/0">snmp:mib_name</a>(),·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1946 ······</div>1946 ······</div>
  
1947 <p>Load·a·<code·class="inline">Mib</code>·into·the·manager.·The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,·including1947 <p>Load·a·<code·class="inline">Mib</code>·into·the·manager.·The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,·including
1948 the·path·to·where·the·compiled·mib·is·found.·For·example,</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">priv_dir</span><span·class="p"·data-group-id="5310325520-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="5310325520-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="0724664972-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="0724664972-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="5310325520-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="5310325520-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="0724664972-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="0724664972-2">)</span><span·class="p">.</span></code></pre>
1950 ··</section>1950 ··</section>
1951 </section>1951 </section>
1952 <section·class="detail"·id="log_to_io/1">1952 <section·class="detail"·id="log_to_io/1">
  
1953 ··<div·class="detail-header">1953 ··<div·class="detail-header">
1954 ····<a·href="#log_to_io/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1954 ····<a·href="#log_to_io/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1955 ······<i·class="ri-link-m"·aria-hidden="true"></i>1955 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3450, 16 lines modifiedOffset 3450, 16 lines modified
3450 ······<div·class="specs">3450 ······<div·class="specs">
  
3451 ··········<pre·translate="no"><span·class="attribute">-spec</span>·unload_mib(MibName)·->·ok·|·{error,·Reason}·when·MibName·::·<a·href="snmp.html#t:mib_name/0">snmp:mib_name</a>(),·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>3451 ··········<pre·translate="no"><span·class="attribute">-spec</span>·unload_mib(MibName)·->·ok·|·{error,·Reason}·when·MibName·::·<a·href="snmp.html#t:mib_name/0">snmp:mib_name</a>(),·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3452 ······</div>3452 ······</div>
  
3453 <p>Unload·a·<code·class="inline">Mib</code>·from·the·manager.·The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,·including3453 <p>Unload·a·<code·class="inline">Mib</code>·from·the·manager.·The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,·including
3454 the·path·to·where·the·compiled·mib·is·found.·For·example,</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">priv_dir</span><span·class="p"·data-group-id="3892706095-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="3892706095-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="9879261699-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="9879261699-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="3892706095-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="3892706095-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="9879261699-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="9879261699-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.19/doc/html/snmpm_conf.html
    
Offset 1308, 15 lines modifiedOffset 1308, 15 lines modified
1308 ······<p·class="built-using">1308 ······<p·class="built-using">
1309 ········Built·using1309 ········Built·using
1310 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1310 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1311 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1311 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1312 ······</p>1312 ······</p>
1313 <p>Copyright·©·1996-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.44 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpm_mpd.html
    
Offset 623, 15 lines modifiedOffset 623, 15 lines modified
623 ······<p·class="built-using">623 ······<p·class="built-using">
624 ········Built·using624 ········Built·using
625 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the625 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
626 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>626 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
627 ······</p>627 ······</p>
628 <p>Copyright·©·1996-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.19/doc/html/snmpm_network_interface.html
    
Offset 552, 15 lines modifiedOffset 552, 15 lines modified
552 ······<p·class="built-using">552 ······<p·class="built-using">
553 ········Built·using553 ········Built·using
554 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the554 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
555 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>555 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
556 ······</p>556 ······</p>
557 <p>Copyright·©·1996-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.59 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpm_network_interface_filter.html
    
Offset 478, 15 lines modifiedOffset 478, 15 lines modified
478 ······<p·class="built-using">478 ······<p·class="built-using">
479 ········Built·using479 ········Built·using
480 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the480 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
481 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>481 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
482 ······</p>482 ······</p>
483 <p>Copyright·©·1996-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.56 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpm_user.html
    
Offset 693, 15 lines modifiedOffset 693, 15 lines modified
693 ······<p·class="built-using">693 ······<p·class="built-using">
694 ········Built·using694 ········Built·using
695 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the695 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
696 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>696 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
697 ······</p>697 ······</p>
698 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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/ssh-5.3/doc/html/api-reference.html
    
Offset 273, 15 lines modifiedOffset 273, 15 lines modified
273 ······<p·class="built-using">273 ······<p·class="built-using">
274 ········Built·using274 ········Built·using
275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
277 ······</p>277 ······</p>
278 <p>Copyright·©·1996-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.3/doc/html/configurations.html
    
Offset 138, 31 lines modifiedOffset 138, 31 lines modified
138 the·<a·href="configure_algos.html">Configuring·algorithms·in·SSH</a>·chapter.</p><h2·id="options-configuration"·class="section-heading">138 the·<a·href="configure_algos.html">Configuring·algorithms·in·SSH</a>·chapter.</p><h2·id="options-configuration"·class="section-heading">
139 ··<a·href="#options-configuration"·class="hover-link">139 ··<a·href="#options-configuration"·class="hover-link">
140 ····<i·class="ri-link-m"·aria-hidden="true"></i>140 ····<i·class="ri-link-m"·aria-hidden="true"></i>
141 ··</a>141 ··</a>
142 ··<span·class="text">Options·configuration</span>142 ··<span·class="text">Options·configuration</span>
143 </h2>143 </h2>
144 <p>There·are·from·OTP-23.0·two·main·ways·to·set·an·option:</p><ul><li><p>Like·before,·in·the·<code·class="inline">Options</code>·parameter·in·the·Erlang·code·in·a·call·to·for144 <p>There·are·from·OTP-23.0·two·main·ways·to·set·an·option:</p><ul><li><p>Like·before,·in·the·<code·class="inline">Options</code>·parameter·in·the·Erlang·code·in·a·call·to·for
145 example·<a·href="ssh.html#daemon/3"><code·class="inline">ssh:daemon/3</code></a>·or·<a·href="ssh.html#connect/3"><code·class="inline">ssh:connect/3</code></a>·or·any·of·their·variants.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="3127806903-1">(</span><span·class="mi">22</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3127806903-2">[</span><span·class="p"·data-group-id="3127806903-3">{</span><span·class="ss">user</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·623,·SHA:·259747107104b805eac3aebca6514726ca7b970d85ac1c62727e62767313a6a4·...·]-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="9360354690-1">(</span><span·class="mi">22</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9360354690-2">[</span><span·class="p"·data-group-id="9360354690-3">{</span><span·class="ss">user</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·623,·SHA:·34547f3b5c452751a20753b1fc10dd6d24263358f2a8ceacba476b2403fed6b3·...·]-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="0714205158-2">[</span><span·class="p"·data-group-id="0714205158-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="0714205158-3">}</span><span·class="p">,</span><span·class="w">146 ·</span><span·class="p"·data-group-id="7936024413-2">[</span><span·class="p"·data-group-id="7936024413-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="7936024413-3">}</span><span·class="p">,</span><span·class="w">
147 ··</span><span·class="p"·data-group-id="0714205158-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="0714205158-4">}</span><span·class="p">,</span><span·class="w">147 ··</span><span·class="p"·data-group-id="7936024413-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="7936024413-4">}</span><span·class="p">,</span><span·class="w">
148 ··</span><span·class="p"·data-group-id="0714205158-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0714205158-6">[</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">148 ··</span><span·class="p"·data-group-id="7936024413-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7936024413-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="0714205158-6">]</span><span·class="p"·data-group-id="0714205158-5">}</span><span·class="p">,</span><span·class="w">150 ·········</span><span·class="ss">ssh_xfer</span><span·class="p"·data-group-id="7936024413-6">]</span><span·class="p"·data-group-id="7936024413-5">}</span><span·class="p">,</span><span·class="w">
151 ··</span><span·class="p"·data-group-id="0714205158-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0714205158-8">[</span><span·class="p"·data-group-id="0714205158-8">]</span><span·class="p"·data-group-id="0714205158-7">}</span><span·class="p">,</span><span·class="w">151 ··</span><span·class="p"·data-group-id="7936024413-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7936024413-8">[</span><span·class="p"·data-group-id="7936024413-8">]</span><span·class="p"·data-group-id="7936024413-7">}</span><span·class="p">,</span><span·class="w">
152 ··</span><span·class="p"·data-group-id="0714205158-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0714205158-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·267,·SHA:·ad179cf47774ec84c31f5444f9afff1a8331ea844ba651f16c63f3480269b783·...·]-9">}</span><span·class="p">,</span><span·class="w">152 ··</span><span·class="p"·data-group-id="7936024413-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7936024413-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·267,·SHA:·7a702a33f0cd5562a789b6362f8557e35afce711fefa913e92a599013a7b1f39·...·]-9">}</span><span·class="p">,</span><span·class="w">
153 ··</span><span·class="p"·data-group-id="0714205158-11">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0714205158-12">[</span><span·class="p"·data-group-id="0714205158-13">{</span><span·class="ss">user</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·129,·SHA:·64b1461831abb023cce6f2b5f711c5f95582b0b7190e58f846c4b84fb9ce9d3a·...·]-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="7936024413-11">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7936024413-12">[</span><span·class="p"·data-group-id="7936024413-13">{</span><span·class="ss">user</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·129,·SHA:·ae9aa7a0f6f317599a9251e1f5b02fa3f0b04ddd92f2024bc0237c5770799248·...·]-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="0714205158-14">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0714205158-15">{</span><span·class="ss">ssh_app</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·178,·SHA:·61e73d8b3364bd6876835fd88bc15eeecae965f913170fce2adf3c32048de306·...·]-14">}</span><span·class="p">,</span><span·class="w">154 ··</span><span·class="p"·data-group-id="7936024413-14">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7936024413-15">{</span><span·class="ss">ssh_app</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·178,·SHA:·838bd25b4136aba19cd99a03af27cd19fabfa1ee6e2eebb248b9a9ccfb91f2b4·...·]-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="2414924773-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="6641063405-1">[</span><span·class="w">
156 </span><span·class="p"·data-group-id="2414924773-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2414924773-3">[</span><span·class="p"·data-group-id="2414924773-4">{</span><span·class="ss">user</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·208,·SHA:·d310114cbd90d5afe46653b88fa5e427a58f955896d65659bad05ca07a500439·...·]-2">}</span><span·class="w">156 </span><span·class="p"·data-group-id="6641063405-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6641063405-3">[</span><span·class="p"·data-group-id="6641063405-4">{</span><span·class="ss">user</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·208,·SHA:·1ab5b58d45ec72555073ad35a10c9ec0e1267b6f9cb6a49ff7997a6d1df393a9·...·]-2">}</span><span·class="w">
157 </span><span·class="p"·data-group-id="2414924773-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="6641063405-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="0310896824-1">[</span><span·class="w">158 this·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9671390400-1">[</span><span·class="w">
159 </span><span·class="p"·data-group-id="0310896824-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0310896824-3">[</span><span·class="p"·data-group-id="0310896824-4">{</span><span·class="ss">server_options</span><span·class="p"[·...·truncated·by·diffoscope;·len:·376,·SHA:·d9f69494ec32c47d7c7a3217f68561553d2b15b806255024ba27faa94a521157·...·]-4">}</span><span·class="p">,</span><span·class="w">159 </span><span·class="p"·data-group-id="9671390400-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9671390400-3">[</span><span·class="p"·data-group-id="9671390400-4">{</span><span·class="ss">server_options</span><span·class="p"[·...·truncated·by·diffoscope;·len:·376,·SHA:·a5ecdd7acceebe571fa104f3c2aca8fa6030df4495fc5cd1c401221711185a81·...·]-4">}</span><span·class="p">,</span><span·class="w">
160 ·······</span><span·class="p"·data-group-id="0310896824-7">{</span><span·class="ss">client_options</span><span·class="p">,</span><span·class="p"·data-group-id="0310896824-8">[</span><span·class="p"·data-group-id="0310896824-9">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·195,·SHA:·0b34b5389660ab18b421758690f104cb13b00501a0114bb9772c3428b1016f74·...·]-7">}</span><span·class="w">160 ·······</span><span·class="p"·data-group-id="9671390400-7">{</span><span·class="ss">client_options</span><span·class="p">,</span><span·class="p"·data-group-id="9671390400-8">[</span><span·class="p"·data-group-id="9671390400-9">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·195,·SHA:·316c9c92ccaecce565356cc7475bf0542d7538fc3bd14cc01b0df051dd75e249·...·]-7">}</span><span·class="w">
161 </span><span·class="p"·data-group-id="0310896824-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="9671390400-3">]</span><span·class="p">.</span></code></pre><p>A·server·(daemon)·will·use·the·user·name·<code·class="inline">foo</code>,·and·a·client·will·use·the·name
162 <code·class="inline">bar</code>.</p></li></ul><h2·id="precedence"·class="section-heading">162 <code·class="inline">bar</code>.</p></li></ul><h2·id="precedence"·class="section-heading">
163 ··<a·href="#precedence"·class="hover-link">163 ··<a·href="#precedence"·class="hover-link">
164 ····<i·class="ri-link-m"·aria-hidden="true"></i>164 ····<i·class="ri-link-m"·aria-hidden="true"></i>
165 ··</a>165 ··</a>
166 ··<span·class="text">Precedence</span>166 ··<span·class="text">Precedence</span>
167 </h2>167 </h2>
168 <p>If·an·option·is·set·in·more·than·one·way,·what·happens?</p><p>There·is·an·ordering,·which·is:</p><ul><li>Level·0:·Hard-coded·default·values·in·the·OTP·SSH·source·code</li><li>Level·1:·<a·href="../../../../lib/kernel-10.3/doc/html/config.html">OTP·Configuration·Parameters</a></li><li>Level·2:·Options·in·the·<a·href="../../../../lib/kernel-10.3/doc/html/config.html">OTP·Configuration·Parameters</a>168 <p>If·an·option·is·set·in·more·than·one·way,·what·happens?</p><p>There·is·an·ordering,·which·is:</p><ul><li>Level·0:·Hard-coded·default·values·in·the·OTP·SSH·source·code</li><li>Level·1:·<a·href="../../../../lib/kernel-10.3/doc/html/config.html">OTP·Configuration·Parameters</a></li><li>Level·2:·Options·in·the·<a·href="../../../../lib/kernel-10.3/doc/html/config.html">OTP·Configuration·Parameters</a>
Offset 225, 96 lines modifiedOffset 225, 96 lines modified
225 ··························'aes192-cbc','aes128-cbc','3des-cbc']}]},225 ··························'aes192-cbc','aes128-cbc','3des-cbc']}]},
226 ·{mac,[{client2server,['hmac-sha2-256','hmac-sha2-512',226 ·{mac,[{client2server,['hmac-sha2-256','hmac-sha2-512',
227 ·······················'hmac-sha1']},227 ·······················'hmac-sha1']},
228 ·······{server2client,['hmac-sha2-256','hmac-sha2-512',228 ·······{server2client,['hmac-sha2-256','hmac-sha2-512',
229 ·······················'hmac-sha1']}]},229 ·······················'hmac-sha1']}]},
230 ·{compression,[{client2server,[none,'zlib@openssh.com',zlib]},230 ·{compression,[{client2server,[none,'zlib@openssh.com',zlib]},
231 ···············{server2client,[none,'zlib@openssh.com',zlib]}]}]</code></pre><p>Note·that·the·algorithms·in·the·file·<code·class="inline">ex2.config</code>·is·not·yet·applied.·They·will231 ···············{server2client,[none,'zlib@openssh.com',zlib]}]}]</code></pre><p>Note·that·the·algorithms·in·the·file·<code·class="inline">ex2.config</code>·is·not·yet·applied.·They·will
232 be·when·we·start·ssh:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="8987473598-1">(</span><span·class="p"·data-group-id="8987473598-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="8790413135-1">(</span><span·class="p"·data-group-id="8790413135-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="8987473598-2">(</span><span·class="p"·data-group-id="8987473598-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="8790413135-2">(</span><span·class="p"·data-group-id="8790413135-2">)</span><span·class="p">.</span><span·class="w">
235 </span><span·class="p"·data-group-id="8987473598-3">[</span><span·class="p"·data-group-id="8987473598-4">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="8987473598-5">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·fccaac84aceabfb25ff231397b2cbb0714c6685b4f7de378062d8524b52c26c9·...·]-4">}</span><span·class="p">,</span><span·class="w">235 </span><span·class="p"·data-group-id="8790413135-3">[</span><span·class="p"·data-group-id="8790413135-4">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="8790413135-5">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·73c76cfdb4a4e9f6434f2b598e2501ebd55097370692f84f9461fa287acef4b9·...·]-4">}</span><span·class="p">,</span><span·class="w">
236 ·</span><span·class="p"·data-group-id="8987473598-6">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="8987473598-7">[</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p"·data-group-id="8987473598-7">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·97ee6605565fafa4398244e7db3c9e2e9e88b9ff8b93bf1ae5012b8d3836366d·...·]-6">}</span><span·class="p">,</span><span·class="w">236 ·</span><span·class="p"·data-group-id="8790413135-6">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="8790413135-7">[</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p"·data-group-id="8790413135-7">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·bec70bbf81fcbb9e463fbae7d1a400d2becd49165a056ed91bfe923f9ace481d·...·]-6">}</span><span·class="p">,</span><span·class="w">
237 ·</span><span·class="p"·data-group-id="8987473598-8">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="8987473598-9">[</span><span·class="p"·data-group-id="8987473598-10">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·180,·SHA:·c6a7c625b0ee276420119d2193237b5c11942e63b8e0a220b161fafcb8e6824c·...·]-10">}</span><span·class="p">,</span><span·class="w">237 ·</span><span·class="p"·data-group-id="8790413135-8">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="8790413135-9">[</span><span·class="p"·data-group-id="8790413135-10">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·180,·SHA:·b42ebad2f6110347c0788ab29aebe7264ee6109a299c8c4dee698dccaaa36578·...·]-10">}</span><span·class="p">,</span><span·class="w">
238 ··········</span><span·class="p"·data-group-id="8987473598-12">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8987473598-13">[</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p"·data-group-id="8987473598-13">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·127,·SHA:·e89085ed08c1003b41de35716d53c2a86909d9a83e5eb1104fd35b040157631b·...·]-8">}</span><span·class="p">,</span><span·class="w">238 ··········</span><span·class="p"·data-group-id="8790413135-12">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8790413135-13">[</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p"·data-group-id="8790413135-13">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·127,·SHA:·0b812688cb46e6722b562ea03fee827ff534f87b31908cbfbd2d5029e8a5fd52·...·]-8">}</span><span·class="p">,</span><span·class="w">
239 ·</span><span·class="p"·data-group-id="8987473598-14">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="8987473598-15">[</span><span·class="p"·data-group-id="8987473598-16">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·178,·SHA:·bae2f766cfad1bde396a3f001cfe00af174d468dfef15e90921f7b4f0f8c4aa7·...·]-16">}</span><span·class="p">,</span><span·class="w">239 ·</span><span·class="p"·data-group-id="8790413135-14">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="8790413135-15">[</span><span·class="p"·data-group-id="8790413135-16">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·178,·SHA:·5e71190a671129b4b0fb33eb9f18724c6b13e4f4d2579b5c863731d3076f44d7·...·]-16">}</span><span·class="p">,</span><span·class="w">
240 ·······</span><span·class="p"·data-group-id="8987473598-18">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8987473598-19">[</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="8987473598-19">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·127,·SHA:·d1911f256e7ed316dbf3ddcfa48f9606a40e152b435b438ec90c08eb2c1a8488·...·]-14">}</span><span·class="p">,</span><span·class="w">240 ·······</span><span·class="p"·data-group-id="8790413135-18">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8790413135-19">[</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="8790413135-19">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·127,·SHA:·6f479bc4ef163f81a152431a5e301428c8bdecf92730d0be645af2037bf8e05f·...·]-14">}</span><span·class="p">,</span><span·class="w">
241 ·</span><span·class="p"·data-group-id="8987473598-20">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="8987473598-21">[</span><span·class="p"·data-group-id="8987473598-22">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·297,·SHA:·19eb1ce85b58aa67de01df482447a567afa562365094ab4f7579891e9f89bc7a·...·]-22">}</span><span·class="p">,</span><span·class="w">241 ·</span><span·class="p"·data-group-id="8790413135-20">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="8790413135-21">[</span><span·class="p"·data-group-id="8790413135-22">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·297,·SHA:·0529edd02f7a0029276a1728a05d77986c5ed7ca5fc3c88a08a693509ce11e93·...·]-22">}</span><span·class="p">,</span><span·class="w">
242 ···············</span><span·class="p"·data-group-id="8987473598-24">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8987473598-25">[</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:·59660058ab07ae32c5d8902119fab4d279d3d427f39274e8c3d2f1b7fa17ccfa·...·]-3">]</span><span·class="w">242 ···············</span><span·class="p"·data-group-id="8790413135-24">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8790413135-25">[</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:·0075488272a34365e07f3fe57c3d1cf5096b414936e652a658d955d906fdfe1d·...·]-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="5124542112-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="5124542112-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:·43c01c0d812918cebd16e9de5d4c9224bc1f8336b32489e1ed015121428e29c5·...·]-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="8446804411-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="8446804411-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:·c86c3f397b64016cdb57942b2fbf60f366a4cbaf51954687b32cd70d9204ee8a·...·]-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="5124542112-3">[</span><span·class="p"·data-group-id="5124542112-4">{</span><span·class="ss">modify_algorithms</span><span·class="p">,</span><span·class="w">256 ························</span><span·class="p"·data-group-id="8446804411-3">[</span><span·class="p"·data-group-id="8446804411-4">{</span><span·class="ss">modify_algorithms</span><span·class="p">,</span><span·class="w">
257 ·································</span><span·class="p"·data-group-id="5124542112-5">[</span><span·class="p"·data-group-id="5124542112-6">{</span><span·class="ss">rm</span><span·class="p">,</span><span·class="w">257 ·································</span><span·class="p"·data-group-id="8446804411-5">[</span><span·class="p"·data-group-id="8446804411-6">{</span><span·class="ss">rm</span><span·class="p">,</span><span·class="w">
258 ·····································</span><span·class="p"·data-group-id="5124542112-7">[</span><span·class="w">·</span><span·class="p"·data-group-id="5124542112-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="5124542112-9">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><[·...·truncated·by·diffoscope;·len:·170,·SHA:·8245700fc8d36efe45684148d9819dbe4b9bacbd3989586d451d2a5ae8858d10·...·]-7">]</span><span·class="w">258 ·····································</span><span·class="p"·data-group-id="8446804411-7">[</span><span·class="w">·</span><span·class="p"·data-group-id="8446804411-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="8446804411-9">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><[·...·truncated·by·diffoscope;·len:·170,·SHA:·71e9e56242015fd88043a30e20688473322cfab4dcd781abff6d09307c3183ed·...·]-7">]</span><span·class="w">
259 »       »       »       »       ··</span><span·class="p"·data-group-id="5124542112-6">}</span><span·class="p">,</span><span·class="w">259 »       »       »       »       ··</span><span·class="p"·data-group-id="8446804411-6">}</span><span·class="p">,</span><span·class="w">
260 ··································</span><span·class="p"·data-group-id="5124542112-10">{</span><span·class="ss">append</span><span·class="p">,</span><span·class="w">260 ··································</span><span·class="p"·data-group-id="8446804411-10">{</span><span·class="ss">append</span><span·class="p">,</span><span·class="w">
261 »       »       »       ·············</span><span·class="p"·data-group-id="5124542112-11">[</span><span·class="w">·</span><span·class="p"·data-group-id="5124542112-12">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="5124542112-13">[</span><span·class="ss">&#39;curve25519-sha256@libssh.org[·...·truncated·by·diffoscope;·len:·185,·SHA:·89b60f075fd403ab1f4dca0208bc5c98cf7cfb1e124d79296d29ed77aed18844·...·]-11">]</span><span·class="w">261 »       »       »       ·············</span><span·class="p"·data-group-id="8446804411-11">[</span><span·class="w">·</span><span·class="p"·data-group-id="8446804411-12">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="8446804411-13">[</span><span·class="ss">&#39;curve25519-sha256@libssh.org[·...·truncated·by·diffoscope;·len:·185,·SHA:·eeaa08cd570baa4dac913bd774dd43a344b869f892971c98e557240e018c2f3e·...·]-11">]</span><span·class="w">
262 »       »       »       »       ··</span><span·class="p"·data-group-id="5124542112-10">}</span><span·class="w">262 »       »       »       »       ··</span><span·class="p"·data-group-id="8446804411-10">}</span><span·class="w">
263 »       »       »       »       ·</span><span·class="p"·data-group-id="5124542112-5">]</span><span·class="w">263 »       »       »       »       ·</span><span·class="p"·data-group-id="8446804411-5">]</span><span·class="w">
264 »       ·················</span><span·class="p"·data-group-id="5124542112-4">}</span><span·class="w">264 »       ·················</span><span·class="p"·data-group-id="8446804411-4">}</span><span·class="w">
265 ························</span><span·class="p"·data-group-id="5124542112-3">]</span><span·class="p"·data-group-id="5124542112-2">)</span><span·class="p">.</span><span·class="w">265 ························</span><span·class="p"·data-group-id="8446804411-3">]</span><span·class="p"·data-group-id="8446804411-2">)</span><span·class="p">.</span><span·class="w">
266 </span><span·class="p"·data-group-id="5124542112-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="5124542112-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="8446804411-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="8446804411-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="3050040452-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="3050040452-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="8280573285-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="8280573285-1">)</span><span·class="p">.</span><span·class="w">
268 </span><span·class="p"·data-group-id="3050040452-2">{</span><span·class="ss">algorithms</span><span·class="p">,</span><span·class="p"·data-group-id="3050040452-3">[</span><span·class="p"·data-group-id="3050040452-4">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="ss">&#[·...·truncated·by·diffoscope;·len:·84,·SHA:·22e2506d60d5e0f122a57a5344f4bc9d74f8f2043266b8c4fb5c3f401512272b·...·]-4">}</span><span·class="p">,</span><span·class="w">268 </span><span·class="p"·data-group-id="8280573285-2">{</span><span·class="ss">algorithms</span><span·class="p">,</span><span·class="p"·data-group-id="8280573285-3">[</span><span·class="p"·data-group-id="8280573285-4">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="ss">&#[·...·truncated·by·diffoscope;·len:·84,·SHA:·9b18ad7febf798511bbbde59828b3aa5b621c2c404aeba831ebbad2421d49e8e·...·]-4">}</span><span·class="p">,</span><span·class="w">
269 ·············</span><span·class="p"·data-group-id="3050040452-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="3050040452-5">}</span><span·class="p">,</span><span·class="w">269 ·············</span><span·class="p"·data-group-id="8280573285-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="8280573285-5">}</span><span·class="p">,</span><span·class="w">
270 ·············</span><span·class="p"·data-group-id="3050040452-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="3050040452-6">}</span><span·class="p">,</span><span·class="w">270 ·············</span><span·class="p"·data-group-id="8280573285-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="8280573285-6">}</span><span·class="p">,</span><span·class="w">
271 ·············</span><span·class="p"·data-group-id="3050040452-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="3050040452-7">}</span><span·class="p">,</span><span·class="w">271 ·············</span><span·class="p"·data-group-id="8280573285-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="8280573285-7">}</span><span·class="p">,</span><span·class="w">
272 ·············</span><span·class="p"·data-group-id="3050040452-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="3050040452-8">}</span><span·class="p">,</span><span·class="w">272 ·············</span><span·class="p"·data-group-id="8280573285-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="8280573285-8">}</span><span·class="p">,</span><span·class="w">
273 ·············</span><span·class="p"·data-group-id="3050040452-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="3050040452-9">}</span><span·class="p">,</span><span·class="w">273 ·············</span><span·class="p"·data-group-id="8280573285-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="8280573285-9">}</span><span·class="p">,</span><span·class="w">
274 ·············</span><span·class="p"·data-group-id="3050040452-10">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="3050040452-10">}</span><span·class="p">,</span><span·class="w">274 ·············</span><span·class="p"·data-group-id="8280573285-10">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="8280573285-10">}</span><span·class="p">,</span><span·class="w">
275 ·············</span><span·class="p"·data-group-id="3050040452-11">{</span><span·class="ss">decompress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="3050040452-11">}</span><span·class="p">,</span><span·class="w">275 ·············</span><span·class="p"·data-group-id="8280573285-11">{</span><span·class="ss">decompress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="8280573285-11">}</span><span·class="p">,</span><span·class="w">
276 ·············</span><span·class="p"·data-group-id="3050040452-12">{</span><span·class="ss">send_ext_info</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="3050040452-12">}</span><span·class="p">,</span><span·class="w">276 ·············</span><span·class="p"·data-group-id="8280573285-12">{</span><span·class="ss">send_ext_info</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="8280573285-12">}</span><span·class="p">,</span><span·class="w">
277 ·············</span><span·class="p"·data-group-id="3050040452-13">{</span><span·class="ss">recv_ext_info</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="3050040452-13">}</span><span·class="p"·data-group-id="3050040452-3">]</span><span·class="p"·data-group-id="305004[·...·truncated·by·diffoscope;·len:·4,·SHA:·a25f5f5b1d12f03738f1e9e18c1e82dc7d671cc1a5f820e81d52c66a9167a687·...·]-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="8280573285-13">{</span><span·class="ss">recv_ext_info</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="8280573285-13">}</span><span·class="p"·data-group-id="8280573285-3">]</span><span·class="p"·data-group-id="828057[·...·truncated·by·diffoscope;·len:·4,·SHA:·aff4b5855447e95d8af83a24048c3f3e2320be9f5dde915ba81015e18802e0b2·...·]-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="5081171129-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="2654354739-1">[</span><span·class="w">
283 ·</span><span·class="p"·data-group-id="5081171129-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5081171129-3">[</span><span·class="p"·data-group-id="5081171129-4">{</span><span·class="ss">modify_algorithms</span><span·class="p">,</span><span·class="w">283 ·</span><span·class="p"·data-group-id="2654354739-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2654354739-3">[</span><span·class="p"·data-group-id="2654354739-4">{</span><span·class="ss">modify_algorithms</span><span·class="p">,</span><span·class="w">
284 ·········</span><span·class="p"·data-group-id="5081171129-5">[</span><span·class="w">·</span><span·class="p"·data-group-id="5081171129-6">{</span><span·class="ss">prepend</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5081171129-7">[</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·480,·SHA:·4c76dbb58eb47f903a581e0cf0be7aa2204d178a0c6d0f9b5485d9d4be906337·...·]9-5">]</span><span·class="w">284 ·········</span><span·class="p"·data-group-id="2654354739-5">[</span><span·class="w">·</span><span·class="p"·data-group-id="2654354739-6">{</span><span·class="ss">prepend</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2654354739-7">[</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·480,·SHA:·f3fc6062cf328039777483193d1c260698ac05ce17ceec36955644b84623b032·...·]9-5">]</span><span·class="w">
285 ········</span><span·class="p"·data-group-id="5081171129-4">}</span><span·class="p"·data-group-id="5081171129-3">]</span><span·class="p"·data-group-id="5081171129-2">}</span><span·class="w">285 ········</span><span·class="p"·data-group-id="2654354739-4">}</span><span·class="p"·data-group-id="2654354739-3">]</span><span·class="p"·data-group-id="2654354739-2">}</span><span·class="w">
286 </span><span·class="p"·data-group-id="5081171129-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="2654354739-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="6886685941-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="6886685941-2">(</span><span·[·...·truncated·by·diffoscope;·len:·87,·SHA:·a19a326e9a6984313aba583455620ede2456b1f49971daa0232a077adb4c3768·...·]1-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="0513738271-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="0513738271-2">(</span><span·[·...·truncated·by·diffoscope;·len:·87,·SHA:·d637b23aa3a9999d034d76c6db75a838350ac96e7759281c77aa03ded0ce3d7b·...·]1-1">)</span><span·class="p">.</span><span·class="w">
288 </span><span·class="p"·data-group-id="6886685941-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="0513738271-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="6886685941-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="0513738271-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="5428934531-1">(</span><span·class="p"·data-group-id="5428934531-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="8865329658-1">(</span><span·class="p"·data-group-id="8865329658-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="5428934531-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="5428934531-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:·a45e07ae090eff9c692f5c367d455c866ed336a6637bdc375b4f981795577ce2·...·]-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="8865329658-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="8865329658-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:·30bb100e8e9407bde84b96db435bb074b944a5e6b2660930008ddd7670588e74·...·]-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="5428934531-4">[</span><span·class="p"·data-group-id="5428934531-5">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">294 ························</span><span·class="p"·data-group-id="8865329658-4">[</span><span·class="p"·data-group-id="8865329658-5">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
295 ·························</span><span·class="p"·data-group-id="5428934531-6">[</span><span·class="p"·data-group-id="5428934531-7">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5428934531-8">[</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;[·...·truncated·by·diffoscope;·len:·101,·SHA:·030d84040407b67b4dc5b91682988be1776e95672d8cb22c9d3bc364ac726523·...·]-7">}</span><span·class="p">,</span><span·class="w">295 ·························</span><span·class="p"·data-group-id="8865329658-6">[</span><span·class="p"·data-group-id="8865329658-7">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8865329658-8">[</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;[·...·truncated·by·diffoscope;·len:·101,·SHA:·b0d82157551205223e5802614cc1c3290562aea85a1c3acea480cf9c71657642·...·]-7">}</span><span·class="p">,</span><span·class="w">
296 »       »       »       ··</span><span·class="p"·data-group-id="5428934531-9">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5428934531-10">[</span><span·class="ss">&#39;ecdh-sha2-nistp256&#39;</span><span·class="p"·data-group-id="5428934531-10">]</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·e55f3646423223bdc15f70390ba2bf7464a75a970419a671c3093e3b7c459fb2·...·]-9">}</span><span·class="p">,</span><span·class="w">296 »       »       »       ··</span><span·class="p"·data-group-id="8865329658-9">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8865329658-10">[</span><span·class="ss">&#39;ecdh-sha2-nistp256&#39;</span><span·class="p"·data-group-id="8865329658-10">]</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·6a118820f5e3c42e97f24009dc19e4beab85c738941da36d13998e463a9e17d2·...·]-9">}</span><span·class="p">,</span><span·class="w">
297 »       »       ··········</span><span·class="p"·data-group-id="5428934531-11">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5428934531-12">[</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="5428934[·...·truncated·by·diffoscope;·len:·57,·SHA:·6aba714d856bf62a932b4af43718f04d5f56c96a763ea33795b0153eb42c6298·...·]-11">}</span><span·class="p">,</span><span·class="w">297 »       »       ··········</span><span·class="p"·data-group-id="8865329658-11">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8865329658-12">[</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="8865329[·...·truncated·by·diffoscope;·len:·57,·SHA:·301302f372676226dc188949a9d596dbdf5997773a9fc37cf4702f08c47f3245·...·]-11">}</span><span·class="p">,</span><span·class="w">
298 »       »       »       ··</span><span·class="p"·data-group-id="5428934531-13">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5428934531-14">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p"·data-group-id="5428934531-14">]</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·dc7366f87063f930b028b3c9b33a64a556bca0483e3416453fb6284f2fb178ef·...·]-13">}</span><span·class="p">,</span><span·class="w">298 »       »       »       ··</span><span·class="p"·data-group-id="8865329658-13">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8865329658-14">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p"·data-group-id="8865329658-14">]</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·964ef03554fa91d50e8b7bfdecd71b29dfd83a2ded510b76043f843d0eb68788·...·]-13">}</span><span·class="p">,</span><span·class="w">
299 »       »       »       ··</span><span·class="p"·data-group-id="5428934531-15">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5428934531-16">[</span><span·class="ss">none</span><span·class="p"·data-group-id="5428934531-16">]</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·96cd725373b490af6fe9a0fdfadde327e8c0cf0198ea6159d4d853a892892708·...·]-15">}</span><span·class="w">299 »       »       »       ··</span><span·class="p"·data-group-id="8865329658-15">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8865329658-16">[</span><span·class="ss">none</span><span·class="p"·data-group-id="8865329658-16">]</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·8aaefd4bda7c94df34cb64454ae91802e74c947c0a73267dac5b6c148c0ffa84·...·]-15">}</span><span·class="w">
300 »       »       »       ··</span><span·class="p"·data-group-id="5428934531-6">]</span><span·class="p"·data-group-id="5428934531-5">}</span><span·class="w">300 »       »       »       ··</span><span·class="p"·data-group-id="8865329658-6">]</span><span·class="p"·data-group-id="8865329658-5">}</span><span·class="w">
301 »       »       »       ·</span><span·class="p"·data-group-id="5428934531-4">]</span><span·class="p"·data-group-id="5428934531-3">)</span><span·class="p">.</span><span·class="w">301 »       »       »       ·</span><span·class="p"·data-group-id="8865329658-4">]</span><span·class="p"·data-group-id="8865329658-3">)</span><span·class="p">.</span><span·class="w">
302 </span><span·class="p"·data-group-id="5428934531-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="5428934531-17">}</span><span·class="gp·unselectable">302 </span><span·class="p"·data-group-id="8865329658-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="8865329658-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="5428934531-18">(</span><span·class="n">C</span><span·class="p">,</span><span·class="ss">algorithms</span><span·class="p"·data-group-id="5428934531-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="8865329658-18">(</span><span·class="n">C</span><span·class="p">,</span><span·class="ss">algorithms</span><span·class="p"·data-group-id="8865329658-18">)</span><span·class="p">.</span><span·class="w">
304 </span><span·class="p"·data-group-id="5428934531-19">{</span><span·class="ss">algorithms</span><span·class="p">,</span><span·class="p"·data-group-id="5428934531-20">[</span><span·class="p"·data-group-id="5428934531-21">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·77,·SHA:·e21ddf866edf5c8da1da26db897cd2cd1c05c51a01d0781ddc9d8ee7fe745fba·...·]-21">}</span><span·class="p">,</span><span·class="w">304 </span><span·class="p"·data-group-id="8865329658-19">{</span><span·class="ss">algorithms</span><span·class="p">,</span><span·class="p"·data-group-id="8865329658-20">[</span><span·class="p"·data-group-id="8865329658-21">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·77,·SHA:·a1ad5caa6075dbe1bd37e3361d822d01725dda91b606eae9baec463c6286a587·...·]-21">}</span><span·class="p">,</span><span·class="w">
305 ·············</span><span·class="p"·data-group-id="5428934531-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="5428934531-22">}</span><span·class="p">,</span><span·class="w">305 ·············</span><span·class="p"·data-group-id="8865329658-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="8865329658-22">}</span><span·class="p">,</span><span·class="w">
306 ·············</span><span·class="p"·data-group-id="5428934531-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="5428934531-23">}</span><span·class="p">,</span><span·class="w">306 ·············</span><span·class="p"·data-group-id="8865329658-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="8865329658-23">}</span><span·class="p">,</span><span·class="w">
307 ·············</span><span·class="p"·data-group-id="5428934531-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="5428934531-24">}</span><span·class="p">,</span><span·class="w">307 ·············</span><span·class="p"·data-group-id="8865329658-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="8865329658-24">}</span><span·class="p">,</span><span·class="w">
308 ·············</span><span·class="p"·data-group-id="5428934531-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="5428934531-25">}</span><span·class="p">,</span><span·class="w">308 ·············</span><span·class="p"·data-group-id="8865329658-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="8865329658-25">}</span><span·class="p">,</span><span·class="w">
309 ·············</span><span·class="p"·data-group-id="5428934531-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="5428934531-26">}</span><span·class="p">,</span><span·class="w">309 ·············</span><span·class="p"·data-group-id="8865329658-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="8865329658-26">}</span><span·class="p">,</span><span·class="w">
310 ·············</span><span·class="p"·data-group-id="5428934531-27">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="5428934531-27">}</span><span·class="p">,</span><span·class="w">310 ·············</span><span·class="p"·data-group-id="8865329658-27">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="8865329658-27">}</span><span·class="p">,</span><span·class="w">
311 ·············</span><span·class="p"·data-group-id="5428934531-28">{</span><span·class="ss">decompress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="5428934531-28">}</span><span·class="p">,</span><span·class="w">311 ·············</span><span·class="p"·data-group-id="8865329658-28">{</span><span·class="ss">decompress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="8865329658-28">}</span><span·class="p">,</span><span·class="w">
312 ·············</span><span·class="p"·data-group-id="5428934531-29">{</span><span·class="ss">send_ext_info</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="5428934531-29">}</span><span·class="p">,</span><span·class="w">312 ·············</span><span·class="p"·data-group-id="8865329658-29">{</span><span·class="ss">send_ext_info</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="8865329658-29">}</span><span·class="p">,</span><span·class="w">
313 ·············</span><span·class="p"·data-group-id="5428934531-30">{</span><span·class="ss">recv_ext_info</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="5428934531-30">}</span><span·class="p"·data-group-id="5428934531-20">]</span><span·class="p"·data-group-id="54289[·...·truncated·by·diffoscope;·len:·5,·SHA:·b8a36782873b33c1a5525fd0cf08471792e78f1455dd0d271381bd52d6e104ae·...·]-19">}</span><span·class="w">313 ·············</span><span·class="p"·data-group-id="8865329658-30">{</span><span·class="ss">recv_ext_info</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="8865329658-30">}</span><span·class="p"·data-group-id="8865329658-20">]</span><span·class="p"·data-group-id="88653[·...·truncated·by·diffoscope;·len:·5,·SHA:·f015f5586d787eee09f887b0205eeb7aefc00ee05843e6ff2314a27c64747e20·...·]-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
318 algorithms·was·<code·class="inline">['ssh-dss','ecdsa-sha2-nistp256']</code>.·Normally·it·is·safer·to318 algorithms·was·<code·class="inline">['ssh-dss','ecdsa-sha2-nistp256']</code>.·Normally·it·is·safer·to
319 append·a·non-default·algorithm.</p>319 append·a·non-default·algorithm.</p>
Max diff block lines reached; 699/63294 bytes (1.10%) of diff not shown.
753 B
html2text {}
Max HTML report size reached
126 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/configure_algos.html
    
Offset 166, 37 lines modifiedOffset 166, 37 lines modified
166 ··</a>166 ··</a>
167 ··<span·class="text">The·SSH·app's·mechanism</span>167 ··<span·class="text">The·SSH·app's·mechanism</span>
168 </h3>168 </h3>
169 <p>The·set·of·algorithms·that·the·SSH·app·uses·by·default·depends·on·the·algorithms169 <p>The·set·of·algorithms·that·the·SSH·app·uses·by·default·depends·on·the·algorithms
170 supported·by·the:</p><ul><li><a·href="../../../../lib/crypto-5.6/doc/html/crypto.html"><code·class="inline">crypto</code></a>·app,</li><li>The·cryptolib·OTP·is·linked·with,·usually·the·one·the·OS·uses,·probably170 supported·by·the:</p><ul><li><a·href="../../../../lib/crypto-5.6/doc/html/crypto.html"><code·class="inline">crypto</code></a>·app,</li><li>The·cryptolib·OTP·is·linked·with,·usually·the·one·the·OS·uses,·probably
171 OpenSSL,</li><li>and·finally·what·the·SSH·app·implements</li></ul><p>Due·to·this,·it·impossible·to·list·in·documentation·what·algorithms·that·are171 OpenSSL,</li><li>and·finally·what·the·SSH·app·implements</li></ul><p>Due·to·this,·it·impossible·to·list·in·documentation·what·algorithms·that·are
172 available·in·a·certain·installation.</p><p>There·is·an·important·command·to·list·the·actual·algorithms·and·their·ordering:172 available·in·a·certain·installation.</p><p>There·is·an·important·command·to·list·the·actual·algorithms·and·their·ordering:
173 <a·href="ssh.html#default_algorithms/0"><code·class="inline">ssh:default_algorithms/0</code></a>.</p><pre·id="example_default_algorithms"><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">0&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">default_algorithms</span><span·class="p"·data-group-id="3194362936-1">(</span><span·class="p"·data-group-id="3194362936-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="8009227510-1">(</span><span·class="p"·data-group-id="8009227510-1">)</span><span·class="p">.</span><span·class="w">
174 </span><span·class="p"·data-group-id="3194362936-2">[</span><span·class="p"·data-group-id="3194362936-3">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="3194362936-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="8009227510-2">[</span><span·class="p"·data-group-id="8009227510-3">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="8009227510-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="3194362936-4">]</span><span·class="p"·data-group-id="3194362936-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="8009227510-4">]</span><span·class="p"·data-group-id="8009227510-3">}</span><span·class="p">,</span><span·class="w">
181 ·</span><span·class="p"·data-group-id="3194362936-5">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="3194362936-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="8009227510-5">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="8009227510-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="3194362936-6">]</span><span·class="p"·data-group-id="3194362936-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="8009227510-6">]</span><span·class="p"·data-group-id="8009227510-5">}</span><span·class="p">,</span><span·class="w">
184 ·</span><span·class="p"·data-group-id="3194362936-7">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="3194362936-8">[</span><span·class="p"·data-group-id="3194362936-9">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·4c0898dea1631c8f91fde7a7c7aefcd384f70f24c9deba9c7dbd27cb0a23758e·...·]-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="8009227510-7">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="8009227510-8">[</span><span·class="p"·data-group-id="8009227510-9">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·a0445111eff74de95143b4c82d30b29c3b59758f58c9f3f90e9e10a72da3aef0·...·]-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="3194362936-10">]</span><span·class="p"·data-group-id="3194362936-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="8009227510-10">]</span><span·class="p"·data-group-id="8009227510-9">}</span><span·class="p">,</span><span·class="w">
187 ··········</span><span·class="p"·data-group-id="3194362936-11">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="3194362936-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="8009227510-11">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8009227510-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="3194362936-12">]</span><span·class="p"·data-group-id="3194362936-11">}</span><span·class="p"·data-group-id="3194362936-8">]</span><span·class="p"·data-group-id="3194362936-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="8009227510-12">]</span><span·class="p"·data-group-id="8009227510-11">}</span><span·class="p"·data-group-id="8009227510-8">]</span><span·class="p"·data-group-id="8009227510-7">}</span><span·class="p">,</span><span·class="w">
190 ·</span><span·class="p"·data-group-id="3194362936-13">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="3194362936-14">[</span><span·class="p"·data-group-id="3194362936-15">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·4c0898dea1631c8f91fde7a7c7aefcd384f70f24c9deba9c7dbd27cb0a23758e·...·]-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="8009227510-13">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="8009227510-14">[</span><span·class="p"·data-group-id="8009227510-15">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·a0445111eff74de95143b4c82d30b29c3b59758f58c9f3f90e9e10a72da3aef0·...·]-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="3194362936-16">]</span><span·class="p"·data-group-id="3194362936-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="8009227510-16">]</span><span·class="p"·data-group-id="8009227510-15">}</span><span·class="p">,</span><span·class="w">
192 ·······</span><span·class="p"·data-group-id="3194362936-17">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="3194362936-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="8009227510-17">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8009227510-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="3194362936-18">]</span><span·class="p"·data-group-id="3194362936-17">}</span><span·class="p"·data-group-id="3194362936-14">]</span><span·class="p"·data-group-id="3194362936-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="8009227510-18">]</span><span·class="p"·data-group-id="8009227510-17">}</span><span·class="p"·data-group-id="8009227510-14">]</span><span·class="p"·data-group-id="8009227510-13">}</span><span·class="p">,</span><span·class="w">
194 ·</span><span·class="p"·data-group-id="3194362936-19">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="3194362936-20">[</span><span·class="p"·data-group-id="3194362936-21">{</span><span·class="ss">client2server</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·298,·SHA:·f992f2b9dc7776283cc62e3cd4d7a3edb73cff2bc0ae5af5988d50c16e4fe05f·...·]-21">}</span><span·class="p">,</span><span·class="w">194 ·</span><span·class="p"·data-group-id="8009227510-19">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="8009227510-20">[</span><span·class="p"·data-group-id="8009227510-21">{</span><span·class="ss">client2server</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·298,·SHA:·15913859c42fe63e162e0e91a6ae5231822c15b2ef32eaccb4a33a3e5673fd46·...·]-21">}</span><span·class="p">,</span><span·class="w">
195 ···············</span><span·class="p"·data-group-id="3194362936-23">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="3194362936-24">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#39;zlib@openssh.com&#39;</span><span·class="p">[·...·truncated·by·diffoscope;·len:·293,·SHA:·de72d11fdf03a8ceeb58d1536a1f63fdd6a7e54b2bafd5fda33d2174aadf6661·...·]-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="8009227510-23">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8009227510-24">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#39;zlib@openssh.com&#39;</span><span·class="p">[·...·truncated·by·diffoscope;·len:·293,·SHA:·05d3b53a5f1e6a19aaed8cd02c4f78d44724ecaeaed7bea644bd73be5fb84d96·...·]-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="4772208595-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="6052703615-1">(</span><span·class="w">
219 ···············</span><span·class="p"·data-group-id="4772208595-2">[</span><span·class="p"·data-group-id="4772208595-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">219 ···············</span><span·class="p"·data-group-id="6052703615-2">[</span><span·class="p"·data-group-id="6052703615-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
220 ·····················</span><span·class="p"·data-group-id="4772208595-4">[</span><span·class="p"·data-group-id="4772208595-5">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4772208595-6">[</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#[·...·truncated·by·diffoscope;·len:·103,·SHA:·41d29c88d5449b598d4e4ee71112a9746e8a12a864e53e75d1a32fe8b3cd4330·...·]5-5">}</span><span·class="w">220 ·····················</span><span·class="p"·data-group-id="6052703615-4">[</span><span·class="p"·data-group-id="6052703615-5">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6052703615-6">[</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#[·...·truncated·by·diffoscope;·len:·103,·SHA:·7570caefdbe8afd0043a4c9ee3f0cc56d9fda131769b5c5868c2458a53cb2cf7·...·]5-5">}</span><span·class="w">
221 ·····················</span><span·class="p"·data-group-id="4772208595-4">]</span><span·class="w">221 ·····················</span><span·class="p"·data-group-id="6052703615-4">]</span><span·class="w">
222 ················</span><span·class="p"·data-group-id="4772208595-3">}</span><span·class="w">222 ················</span><span·class="p"·data-group-id="6052703615-3">}</span><span·class="w">
223 ··············</span><span·class="p"·data-group-id="4772208595-2">]</span><span·class="p"·data-group-id="4772208595-1">)</span><span·class="p">.</span><span·class="w">223 ··············</span><span·class="p"·data-group-id="6052703615-2">]</span><span·class="p"·data-group-id="6052703615-1">)</span><span·class="p">.</span><span·class="w">
224 </span><span·class="p"·data-group-id="4772208595-7">[</span><span·class="p"·data-group-id="4772208595-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="4772208595-9">[</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#39;</span><span·class="p[·...·truncated·by·diffoscope;·len:·79,·SHA:·73c61b9558b3a07ff8788987d117aaff694e84640b1322dd7c76f8921a226c52·...·]5-8">}</span><span·class="p">,</span><span·class="w">224 </span><span·class="p"·data-group-id="6052703615-7">[</span><span·class="p"·data-group-id="6052703615-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="6052703615-9">[</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#39;</span><span·class="p[·...·truncated·by·diffoscope;·len:·79,·SHA:·92e8e1a26ab7003ba567c9278cf74a7d0b4248c792e740dac62d8b92084c6937·...·]5-8">}</span><span·class="p">,</span><span·class="w">
225 ·</span><span·class="p"·data-group-id="4772208595-10">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="4772208595-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="6052703615-10">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="6052703615-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="4772208595-11">]</span><span·class="p"·data-group-id="4772208595-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="6052703615-11">]</span><span·class="p"·data-group-id="6052703615-10">}</span><span·class="p">,</span><span·class="w">
228 ·</span><span·class="p"·data-group-id="4772208595-12">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="4772208595-13">[</span><span·class="p"·data-group-id="4772208595-14">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·30,·SHA:·894513d6e6086392c5a3a418d12319eb66ddf92b50506a5df9705d1d0a423b65·...·]5-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="6052703615-12">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="6052703615-13">[</span><span·class="p"·data-group-id="6052703615-14">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·30,·SHA:·54129b82bfe28a2e6a2049a5288a9c5a3d5ba79aa83293baa1eddb8e05488137·...·]5-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="4772208595-15">]</span><span·class="p"·data-group-id="4772208595-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="6052703615-15">]</span><span·class="p"·data-group-id="6052703615-14">}</span><span·class="p">,</span><span·class="w">
231 ··········</span><span·class="p"·data-group-id="4772208595-16">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4772208595-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="6052703615-16">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="6052703615-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="4772208595-17">]</span><span·class="p"·data-group-id="4772208595-16">}</span><span·class="p"·data-group-id="4772208595-13">]</span><span·class="p"·data-group-id="4772208595-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="6052703615-17">]</span><span·class="p"·data-group-id="6052703615-16">}</span><span·class="p"·data-group-id="6052703615-13">]</span><span·class="p"·data-group-id="6052703615-12">}</span><span·class="p">,</span><span·class="w">
234 ·</span><span·class="p"·data-group-id="4772208595-18">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="4772208595-19">[</span><span·class="p"·data-group-id="4772208595-20">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·27,·SHA:·a1f2c0eedd94f18bda39c3dd2aeec12ecdf8f605c61ee8f5bf616e24902ca36d·...·]5-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="6052703615-18">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="6052703615-19">[</span><span·class="p"·data-group-id="6052703615-20">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·27,·SHA:·c8d21de2e93e150d1d764316259cf852c87f6d55a737f10ad9105581ffdabc9a·...·]5-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="4772208595-21">]</span><span·class="p"·data-group-id="4772208595-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="6052703615-21">]</span><span·class="p"·data-group-id="6052703615-20">}</span><span·class="p">,</span><span·class="w">
236 ·······</span><span·class="p"·data-group-id="4772208595-22">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4772208595-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="6052703615-22">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="6052703615-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="4772208595-23">]</span><span·class="p"·data-group-id="4772208595-22">}</span><span·class="p"·data-group-id="4772208595-19">]</span><span·class="p"·data-group-id="4772208595-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="6052703615-23">]</span><span·class="p"·data-group-id="6052703615-22">}</span><span·class="p"·data-group-id="6052703615-19">]</span><span·class="p"·data-group-id="6052703615-18">}</span><span·class="p">,</span><span·class="w">
238 ·</span><span·class="p"·data-group-id="4772208595-24">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="4772208595-25">[</span><span·class="p"·data-group-id="4772208595-26">{</span><span·class="ss">client2server</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·297,·SHA:·008c2f2a8fecb9fd7a1f3334aa22a758e91cf4d7e656e9e2d4cd86a5183c4e3e·...·]5-26">}</span><span·class="p">,</span><span·class="w">238 ·</span><span·class="p"·data-group-id="6052703615-24">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="6052703615-25">[</span><span·class="p"·data-group-id="6052703615-26">{</span><span·class="ss">client2server</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·297,·SHA:·7329fc5fc6143c871c319e3bf6335719268daa68772c9ed9110bc574c4cfe3a5·...·]5-26">}</span><span·class="p">,</span><span·class="w">
239 ···············</span><span·class="p"·data-group-id="4772208595-28">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4772208595-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:·292,·SHA:·fff93f85794f7b8f810a4b4f2982438c8df3fc004d83cec68f054fa791278654·...·]5-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>·and239 ···············</span><span·class="p"·data-group-id="6052703615-28">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="6052703615-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:·292,·SHA:·5330db34355e92a0136c2e3d8ca70f0c02ab52b433a49c3268807eebe6d3bcdc·...·]5-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="0351467485-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="4401443303-1">(</span><span·class="w">
248 ···············</span><span·class="p"·data-group-id="0351467485-2">[</span><span·class="p"·data-group-id="0351467485-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">248 ···············</span><span·class="p"·data-group-id="4401443303-2">[</span><span·class="p"·data-group-id="4401443303-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
249 ·····················</span><span·class="p"·data-group-id="0351467485-4">[</span><span·class="p"·data-group-id="0351467485-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="0351467485-6">[</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·64,·SHA:·1be07c26faf9d88bc322181782970935788488f65f3a3930c1bf53a0d3135f12·...·]-5">}</span><span·class="w">249 ·····················</span><span·class="p"·data-group-id="4401443303-4">[</span><span·class="p"·data-group-id="4401443303-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="4401443303-6">[</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·64,·SHA:·672ba8fefbfb85bd18aa9c6cd9247b053c1470b76d0916219fe8ab00fcf6495c·...·]-5">}</span><span·class="w">
250 ·····················</span><span·class="p"·data-group-id="0351467485-4">]</span><span·class="w">250 ·····················</span><span·class="p"·data-group-id="4401443303-4">]</span><span·class="w">
251 ················</span><span·class="p"·data-group-id="0351467485-3">}</span><span·class="w">251 ················</span><span·class="p"·data-group-id="4401443303-3">}</span><span·class="w">
252 ··············</span><span·class="p"·data-group-id="0351467485-2">]</span><span·class="p"·data-group-id="0351467485-1">)</span><span·class="p">.</span><span·class="w">252 ··············</span><span·class="p"·data-group-id="4401443303-2">]</span><span·class="p"·data-group-id="4401443303-1">)</span><span·class="p">.</span><span·class="w">
253 </span><span·class="p"·data-group-id="0351467485-7">[</span><span·class="p"·data-group-id="0351467485-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="0351467485-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="4401443303-7">[</span><span·class="p"·data-group-id="4401443303-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="4401443303-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="0351467485-9">]</span><span·class="p"·data-group-id="0351467485-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="4401443303-9">]</span><span·class="p"·data-group-id="4401443303-8">}</span><span·class="p">,</span><span·class="w">
260 ·</span><span·class="p"·data-group-id="0351467485-10">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="0351467485-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="4401443303-10">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="4401443303-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="0351467485-11">]</span><span·class="p"·data-group-id="0351467485-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="4401443303-11">]</span><span·class="p"·data-group-id="4401443303-10">}</span><span·class="p">,</span><span·class="w">
263 ·</span><span·class="p"·data-group-id="0351467485-12">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="0351467485-13">[</span><span·class="p"·data-group-id="0351467485-14">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·a2d7bb74804c1e1ef0a37d602327cabc232685e22d6d8c2418c18d06b39e9536·...·]-14">}</span><span·class="p">,</span><span·class="w">263 ·</span><span·class="p"·data-group-id="4401443303-12">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="4401443303-13">[</span><span·class="p"·data-group-id="4401443303-14">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·542c7e2e4c1126feea77cb3c387cee85fa5624ae46e7bacedcec32350e8e35fa·...·]-14">}</span><span·class="p">,</span><span·class="w">
264 ··········</span><span·class="p"·data-group-id="0351467485-16">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0351467485-17">[</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p"·data-group-id="0351467485-17">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·129,·SHA:·63fa3d0339928c7b57b4eccfe3af842792ddb77b09ff0763dc32d73cedc3a6c5·...·]-12">}</span><span·class="p">,</span><span·class="w">264 ··········</span><span·class="p"·data-group-id="4401443303-16">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4401443303-17">[</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p"·data-group-id="4401443303-17">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·129,·SHA:·68713a4af7f4214b0f46fef46edefd4cb24829a3522cba36cac19ba8bb77da94·...·]-12">}</span><span·class="p">,</span><span·class="w">
265 ·</span><span·class="p"·data-group-id="0351467485-18">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="0351467485-19">[</span><span·class="p"·data-group-id="0351467485-20">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·ed271a846479efbec195a5b7f7165f2f845de300d97141c88ad9cfd0a831590b·...·]-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="4401443303-18">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="4401443303-19">[</span><span·class="p"·data-group-id="4401443303-20">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·819c5115fbe0522f30f1b3fed8673cf72d1f2b9614824ec56ef9355c7b2f2c69·...·]-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="0351467485-21">]</span><span·class="p"·data-group-id="0351467485-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="4401443303-21">]</span><span·class="p"·data-group-id="4401443303-20">}</span><span·class="p">,</span><span·class="w">
267 ·······</span><span·class="p"·data-group-id="0351467485-22">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0351467485-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="4401443303-22">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4401443303-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="0351467485-23">]</span><span·class="p"·data-group-id="0351467485-22">}</span><span·class="p"·data-group-id="0351467485-19">]</span><span·class="p"·data-group-id="0351467485-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="4401443303-23">]</span><span·class="p"·data-group-id="4401443303-22">}</span><span·class="p"·data-group-id="4401443303-19">]</span><span·class="p"·data-group-id="4401443303-18">}</span><span·class="p">,</span><span·class="w">
269 ·</span><span·class="p"·data-group-id="0351467485-24">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="0351467485-25">[</span><span·class="p"·data-group-id="0351467485-26">{</span><span·class="ss">client2server</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·298,·SHA:·9d845eb6fa3684f88f4ca0847a79335a326024c4e40cfc411ba23b6d047e9a6d·...·]-26">}</span><span·class="p">,</span><span·class="w">269 ·</span><span·class="p"·data-group-id="4401443303-24">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="4401443303-25">[</span><span·class="p"·data-group-id="4401443303-26">{</span><span·class="ss">client2server</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·298,·SHA:·8a19e5b3e2038b3c8d9f80425ccff878b1f0581e623a4dc871f41f2d690599fe·...·]-26">}</span><span·class="p">,</span><span·class="w">
270 ···············</span><span·class="p"·data-group-id="0351467485-28">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0351467485-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:·b0c755ae03bf3ad1e7997d938770624ffd2d9a7e63d2144d0c6e762418064d45·...·]-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="4401443303-28">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4401443303-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:·4b9a83350ed1f6b42bb9ef3e9657240c6d0abbd8a9197af2de9f008da36db11e·...·]-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="0650769304-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="9761934698-1">(</span><span·class="w">
279 ···············</span><span·class="p"·data-group-id="0650769304-2">[</span><span·class="p"·data-group-id="0650769304-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">279 ···············</span><span·class="p"·data-group-id="9761934698-2">[</span><span·class="p"·data-group-id="9761934698-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
280 ·····················</span><span·class="p"·data-group-id="0650769304-4">[</span><span·class="p"·data-group-id="0650769304-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="0650769304-6">[</span><span·class="p"·data-group-id="0650769304-7">{</span><span·class="ss">clie[·...·truncated·by·diffoscope;·len:·337,·SHA:·17c616325061d6ff5c3cdf869fef23959892c122ef0cfd75d5e056dad6e0ed46·...·]-5">}</span><span·class="w">280 ·····················</span><span·class="p"·data-group-id="9761934698-4">[</span><span·class="p"·data-group-id="9761934698-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="9761934698-6">[</span><span·class="p"·data-group-id="9761934698-7">{</span><span·class="ss">clie[·...·truncated·by·diffoscope;·len:·337,·SHA:·83774860b0e799b0fbe006d204f653a24d7a914a4035ea8ba8bb18f65579d0fe·...·]-5">}</span><span·class="w">
281 ·····················</span><span·class="p"·data-group-id="0650769304-4">]</span><span·class="w">281 ·····················</span><span·class="p"·data-group-id="9761934698-4">]</span><span·class="w">
282 ················</span><span·class="p"·data-group-id="0650769304-3">}</span><span·class="w">282 ················</span><span·class="p"·data-group-id="9761934698-3">}</span><span·class="w">
283 ··············</span><span·class="p"·data-group-id="0650769304-2">]</span><span·class="p"·data-group-id="0650769304-1">)</span><span·class="p">.</span><span·class="w">283 ··············</span><span·class="p"·data-group-id="9761934698-2">]</span><span·class="p"·data-group-id="9761934698-1">)</span><span·class="p">.</span><span·class="w">
284 </span><span·class="p"·data-group-id="0650769304-9">[</span><span·class="p"·data-group-id="0650769304-10">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="0650769304-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="9761934698-9">[</span><span·class="p"·data-group-id="9761934698-10">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="9761934698-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="0650769304-11">]</span><span·class="p"·data-group-id="0650769304-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="9761934698-11">]</span><span·class="p"·data-group-id="9761934698-10">}</span><span·class="p">,</span><span·class="w">
291 ·</span><span·class="p"·data-group-id="0650769304-12">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="0650769304-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="9761934698-12">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="9761934698-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="0650769304-13">]</span><span·class="p"·data-group-id="0650769304-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="9761934698-13">]</span><span·class="p"·data-group-id="9761934698-12">}</span><span·class="p">,</span><span·class="w">
294 ·</span><span·class="p"·data-group-id="0650769304-14">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="0650769304-15">[</span><span·class="p"·data-group-id="0650769304-16">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·a1f9a24ae3510089adc7c99ba4b20adb8e04be03d668378315f03993c303ba64·...·]-16">}</span><span·class="p">,</span><span·class="w">294 ·</span><span·class="p"·data-group-id="9761934698-14">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="9761934698-15">[</span><span·class="p"·data-group-id="9761934698-16">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·ad2f3697ebfea21983dfbf4b804ff4a9395106a862b60c7abf1d474f4a70e12d·...·]-16">}</span><span·class="p">,</span><span·class="w">
295 ··········</span><span·class="p"·data-group-id="0650769304-18">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0650769304-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="9761934698-18">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="9761934698-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="0650769304-19">]</span><span·class="p"·data-group-id="0650769304-18">}</span><span·class="p"·data-group-id="0650769304-15">]</span><span·class="p"·data-group-id="0650769304-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="9761934698-19">]</span><span·class="p"·data-group-id="9761934698-18">}</span><span·class="p"·data-group-id="9761934698-15">]</span><span·class="p"·data-group-id="9761934698-14">}</span><span·class="p">,</span><span·class="w">
298 ·</span><span·class="p"·data-group-id="0650769304-20">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="0650769304-21">[</span><span·class="p"·data-group-id="0650769304-22">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·e5314f9e35244d4851695f6f94b12d61fc974562392d664c127550eeff14c951·...·]-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="9761934698-20">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="9761934698-21">[</span><span·class="p"·data-group-id="9761934698-22">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·fcf290109dba317dcf5cb1d9241928b8621d25c2015de991f275e62319e1b124·...·]-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">
299 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="0650769304-23">]</span><span·class="p"·data-group-id="0650769304-22">}</span><span·class="p">,</span><span·class="w">299 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="9761934698-23">]</span><span·class="p"·data-group-id="9761934698-22">}</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 69516/128014 bytes (54.30%) of diff not shown.
756 B
html2text {}
Max HTML report size reached
12.6 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/hardening.html
    
Offset 210, 24 lines modifiedOffset 210, 24 lines modified
210 ··<span·class="text">Verifying·the·remote·client·in·a·daemon·(server)</span>210 ··<span·class="text">Verifying·the·remote·client·in·a·daemon·(server)</span>
211 </h2>211 </h2>
212 <ul><li><p><strong>Password·checking</strong>·-·The·default·password·checking·is·with·the·list·in·the212 <ul><li><p><strong>Password·checking</strong>·-·The·default·password·checking·is·with·the·list·in·the
213 <a·href="ssh.html#option-user_passwords">user_passwords</a>·option·in·the·SSH·daemon.·It213 <a·href="ssh.html#option-user_passwords">user_passwords</a>·option·in·the·SSH·daemon.·It
214 could·be·replaced·with·a·<a·href="ssh.html#option-pwdfun">pwdfun</a>·plugin.·The·arity214 could·be·replaced·with·a·<a·href="ssh.html#option-pwdfun">pwdfun</a>·plugin.·The·arity
215 four·variant·(<a·href="ssh.html#t:pwdfun_4/0"><code·class="inline">pwdfun_4()</code></a>)·can·also·be·used·for215 four·variant·(<a·href="ssh.html#t:pwdfun_4/0"><code·class="inline">pwdfun_4()</code></a>)·can·also·be·used·for
216 introducing·delays·after·failed·password·checking·attempts.·Here·is·a·simple216 introducing·delays·after·failed·password·checking·attempts.·Here·is·a·simple
217 example·of·such·a·pwdfun:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="4777799937-1">(</span><span·class="n">User</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Password</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">PeerAddress</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·6ad1bc7265afa18c2dd13dcd3252d224b061c265326f6905ad597e68fbdc20a1·...·]-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="1880510188-1">(</span><span·class="n">User</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Password</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">PeerAddress</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·50a25c15d134e1e82d509da4bccf5e2f4d46a2a6a4402296828d8267861e1ad4·...·]-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="4777799937-2">(</span><span·class="p"·data-group-id="4777799937-3">{</span><span·class="n">User</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="4777799937-3">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·185,·SHA:·c71690e1fd8f818ab66255fc5ba807ed874b4214b42f0d6f801171ea2077cadd·...·]-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="1880510188-2">(</span><span·class="p"·data-group-id="1880510188-3">{</span><span·class="n">User</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="1880510188-3">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·185,·SHA:·aa0f8691e99015a1f1f2174283f23dd210bba5747ddc9837331f852b67d6dd12·...·]-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="4777799937-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="4777799937-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="1880510188-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="1880510188-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="4777799937-6">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="4777799937-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="1880510188-6">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="1880510188-6">)</span><span·class="p">,</span><span·class="w">
223 ················</span><span·class="p"·data-group-id="4777799937-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="4777799937-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="1880510188-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="1880510188-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="4777799937-8">(</span><span·class="n">State</span><span·class="p"·data-group-id="4777799937-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="1880510188-8">(</span><span·class="n">State</span><span·class="p"·data-group-id="1880510188-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="4777799937-9">(</span><span·class="n">State</span><span·class="p"·data-group-id="4777799937-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="1880510188-9">(</span><span·class="n">State</span><span·class="p"·data-group-id="1880510188-9">)</span><span·class="p">,</span><span·class="w">
226 ················</span><span·class="p"·data-group-id="4777799937-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="4777799937-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="1880510188-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="1880510188-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="1867817957-1">(</span><span·class="mi">1234</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1867817957-2">[</span><span·class="p"·data-group-id="1867817957-3">{</span><span·class="ss">id_string</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·339,·SHA:·f5acb8d4df89d9ab9b41c493c6296c7f8ab4c8b6a18110493d79ca96fe9904ba·...·]-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="0357545242-1">(</span><span·class="mi">1234</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0357545242-2">[</span><span·class="p"·data-group-id="0357545242-3">{</span><span·class="ss">id_string</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·339,·SHA:·3e6bffe7515b68f8bf73946fd63d716adc2657d27682d0248e1764205c76b863·...·]-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.3/doc/html/introduction.html
    
Offset 268, 15 lines modifiedOffset 268, 15 lines modified
268 ······<p·class="built-using">268 ······<p·class="built-using">
269 ········Built·using269 ········Built·using
270 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the270 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
271 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>271 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
272 ······</p>272 ······</p>
273 <p>Copyright·©·1996-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.3/doc/html/notes.html
    
Offset 3511, 15 lines modifiedOffset 3511, 15 lines modified
3511 ······<p·class="built-using">3511 ······<p·class="built-using">
3512 ········Built·using3512 ········Built·using
3513 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3513 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3514 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3514 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3515 ······</p>3515 ······</p>
3516 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3516 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3517 ····</footer>3517 ····</footer>
3518 ··</div>3518 ··</div>
3519 </main>3519 </main>
3520 </div>3520 </div>
3521 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3521 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3522 ··<script>3522 ··<script>
3523 ··let·initialized·=·false;3523 ··let·initialized·=·false;
695 B
html2text {}
Max HTML report size reached
1.25 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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;
458 B
html2text {}
Max HTML report size reached
573 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/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)
Max HTML report size reached
205 KB
OEBPS/using_ssh.xhtml
Max HTML report size reached
4.64 KB
OEBPS/ssh_agent.xhtml
Max HTML report size reached
13.3 KB
OEBPS/ssh.xhtml
Max HTML report size reached
11.1 KB
OEBPS/hardening.xhtml
Max HTML report size reached
1.2 KB
OEBPS/content.opf
1.17 KB
OEBPS/content.opf
Max HTML report size reached
124 KB
OEBPS/configure_algos.xhtml
Max HTML report size reached
61.2 KB
OEBPS/configurations.xhtml
Max HTML report size reached
14.8 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh.html
    
Offset 2285, 22 lines modifiedOffset 2285, 22 lines modified
  
2285 ··········<pre·translate="no"><span·class="attribute">-type</span>·double_algs(AlgType)·::·[{client2server,·[AlgType]}·|·{server2client,·[AlgType]}]·|·[AlgType].</pre>2285 ··········<pre·translate="no"><span·class="attribute">-type</span>·double_algs(AlgType)·::·[{client2server,·[AlgType]}·|·{server2client,·[AlgType]}]·|·[AlgType].</pre>
  
2286 ······</div>2286 ······</div>
  
2287 <p>List·of·algorithms·to·use·in·the·algorithm·negotiation.·The·default2287 <p>List·of·algorithms·to·use·in·the·algorithm·negotiation.·The·default
2288 <a·href="#t:algs_list/0"><code·class="inline">algs_list/0</code></a>·can·be·obtained·from·<a·href="#default_algorithms/0"><code·class="inline">default_algorithms/0</code></a>.</p><p>If·an·alg_entry()·is·missing·in·the·algs_list(),·the·default·value·is·used·for2288 <a·href="#t:algs_list/0"><code·class="inline">algs_list/0</code></a>·can·be·obtained·from·<a·href="#default_algorithms/0"><code·class="inline">default_algorithms/0</code></a>.</p><p>If·an·alg_entry()·is·missing·in·the·algs_list(),·the·default·value·is·used·for
2289 that·entry.</p><p>Here·is·an·example·of·this·option:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»  ··</span><span·class="p"·data-group-id="5951229828-1">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">2289 that·entry.</p><p>Here·is·an·example·of·this·option:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»  ··</span><span·class="p"·data-group-id="1526055475-1">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
2290 »       ··</span><span·class="p"·data-group-id="5951229828-2">[</span><span·class="p"·data-group-id="5951229828-3">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="5951229828-4">[</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·130,·SHA:·56c484b9d57a1e277eed04ae9d53c0aa73fb16c751bf3ed1f32ff67ba883aa6d·...·]-3">}</span><span·class="p">,</span><span·class="w">2290 »       ··</span><span·class="p"·data-group-id="1526055475-2">[</span><span·class="p"·data-group-id="1526055475-3">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="1526055475-4">[</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·130,·SHA:·6d45bb3566f54cbcfb56d9cff0a9c9ec492fd895e6cccb864017da6431e50d5d·...·]-3">}</span><span·class="p">,</span><span·class="w">
2291 »       ··</span><span·class="p"·data-group-id="5951229828-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="5951229828-6">[</span><span·class="p"·data-group-id="5951229828-7">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·178,·SHA:·ed35054b09b799f4d63326daffdd67600df3dcf9c5f5f8f687430657eb6adc6d·...·]-7">}</span><span·class="p">,</span><span·class="w">2291 »       ··</span><span·class="p"·data-group-id="1526055475-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="1526055475-6">[</span><span·class="p"·data-group-id="1526055475-7">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·178,·SHA:·a0d1075c53586d2be4feeff5de6396a9948e5a216999a03c02fc9b2a3bfb5dac·...·]-7">}</span><span·class="p">,</span><span·class="w">
2292 ··········</span><span·class="p"·data-group-id="5951229828-9">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="5951229828-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:·61db38cb953dd0fbe0ec26fb943c2fe14f6bacbdc1a45e02182d269f53dbde56·...·]-5">}</span><span·class="p">,</span><span·class="w">2292 ··········</span><span·class="p"·data-group-id="1526055475-9">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="1526055475-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:·1376ba5793b347749eab6cca4572373dfa535e760132cd0d94780aff15948aa6·...·]-5">}</span><span·class="p">,</span><span·class="w">
2293 »       ··</span><span·class="p"·data-group-id="5951229828-11">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="5951229828-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:·f6598f5639831b493079bc2266de512adb987d4c3da9beb9b69fdecd9cf08976·...·]-11">}</span><span·class="p">,</span><span·class="w">2293 »       ··</span><span·class="p"·data-group-id="1526055475-11">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="1526055475-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:·4b0377e89f5e5a8643493773affa7b23e5037a3c3528bddfa7e1c91d1adb62fe·...·]-11">}</span><span·class="p">,</span><span·class="w">
2294 »       ··</span><span·class="p"·data-group-id="5951229828-13">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="5951229828-14">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="595122982[·...·truncated·by·diffoscope;·len:·55,·SHA:·42ac5245d474cddf99d0c847df5ad645cc7cf7599ab8bbfd482a525eb5eec9e9·...·]-13">}</span><span·class="w">2294 »       ··</span><span·class="p"·data-group-id="1526055475-13">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="1526055475-14">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="152605547[·...·truncated·by·diffoscope;·len:·55,·SHA:·aa78bbfa5c84cd5f33e370c936e2f9617fc3a36ca1579a86dd4fd2922e62f099·...·]-13">}</span><span·class="w">
2295 »       ··</span><span·class="p"·data-group-id="5951229828-2">]</span><span·class="w">2295 »       ··</span><span·class="p"·data-group-id="1526055475-2">]</span><span·class="w">
2296 »       ··</span><span·class="p"·data-group-id="5951229828-1">}</span></code></pre><p>The·example·specifies·different·algorithms·in·the·two·directions·(client2server2296 »       ··</span><span·class="p"·data-group-id="1526055475-1">}</span></code></pre><p>The·example·specifies·different·algorithms·in·the·two·directions·(client2server
2297 and·server2client),·for·cipher·but·specifies·the·same·algorithms·for·mac·and2297 and·server2client),·for·cipher·but·specifies·the·same·algorithms·for·mac·and
2298 compression·in·both·directions.·The·kex·(key·exchange)·is·implicit·but2298 compression·in·both·directions.·The·kex·(key·exchange)·is·implicit·but
2299 public_key·is·set·explicitly.</p><p>For·background·and·more·examples·see·the2299 public_key·is·set·explicitly.</p><p>For·background·and·more·examples·see·the
2300 <a·href="configure_algos.html#introduction">User's·Guide</a>.</p><p>If·an·algorithm·name·occurs·more·than·once·in·a·list,·the·behaviour·is2300 <a·href="configure_algos.html#introduction">User's·Guide</a>.</p><p>If·an·algorithm·name·occurs·more·than·once·in·a·list,·the·behaviour·is
2301 undefined.·The·tags·in·the·property·lists·are·also·assumed·to·occur·at·most·one2301 undefined.·The·tags·in·the·property·lists·are·also·assumed·to·occur·at·most·one
2302 time.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Changing·the·values·can·make·a·connection·less·secure.·Do·not·change·unless2302 time.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Changing·the·values·can·make·a·connection·less·secure.·Do·not·change·unless
2303 you·know·exactly·what·you·are·doing.·If·you·do·not·understand·the·values·then2303 you·know·exactly·what·you·are·doing.·If·you·do·not·understand·the·values·then
Offset 5337, 29 lines modifiedOffset 5337, 29 lines modified
5337 ·································StringOrString·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·|·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()].</pre>5337 ·································StringOrString·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·|·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()].</pre>
  
5338 ······</div>5338 ······</div>
  
5339 <p>hostkey_fingerprint([DigestType],·HostKey)·-&gt;5339 <p>hostkey_fingerprint([DigestType],·HostKey)·-&gt;
5340 [string()]hostkey_fingerprint(DigestType,·HostKey)·-&gt;·string()</p><p>Calculates·a·ssh·fingerprint·from·a·public·host·key·as·openssh·does.</p><p>The·algorithm·in·<a·href="#hostkey_fingerprint/1"><code·class="inline">hostkey_fingerprint/1</code></a>·is·md5·to·be5340 [string()]hostkey_fingerprint(DigestType,·HostKey)·-&gt;·string()</p><p>Calculates·a·ssh·fingerprint·from·a·public·host·key·as·openssh·does.</p><p>The·algorithm·in·<a·href="#hostkey_fingerprint/1"><code·class="inline">hostkey_fingerprint/1</code></a>·is·md5·to·be
5341 compatible·with·older·ssh-keygen·commands.·The·string·from·the·second·variant·is5341 compatible·with·older·ssh-keygen·commands.·The·string·from·the·second·variant·is
5342 prepended·by·the·algorithm·name·in·uppercase·as·in·newer·ssh-keygen·commands.</p><p>Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="7555411910-1">(</span><span·class="n">Key</span><span·class="p"·data-group-id="7555411910-1">)</span><span·class="p">.</span><span·class="w">5342 prepended·by·the·algorithm·name·in·uppercase·as·in·newer·ssh-keygen·commands.</p><p>Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="5763938816-1">(</span><span·class="n">Key</span><span·class="p"·data-group-id="5763938816-1">)</span><span·class="p">.</span><span·class="w">
5343 ·</span><span·class="s">&quot;f5:64:a6:c1:5a:cb:9f:0a:10:46:a2:5c:3e:2f:57:84&quot;</span><span·class="w">5343 ·</span><span·class="s">&quot;f5:64:a6:c1:5a:cb:9f:0a:10:46:a2:5c:3e:2f:57:84&quot;</span><span·class="w">
  
5344 ·</span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="7555411910-2">(</span><span·class="nb">md5</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="7555411910-2">)</span><span·class="p">.</span><span·class="w">5344 ·</span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="5763938816-2">(</span><span·class="nb">md5</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="5763938816-2">)</span><span·class="p">.</span><span·class="w">
5345 ·</span><span·class="s">&quot;MD5:f5:64:a6:c1:5a:cb:9f:0a:10:46:a2:5c:3e:2f:57:84&quot;</span><span·class="w">5345 ·</span><span·class="s">&quot;MD5:f5:64:a6:c1:5a:cb:9f:0a:10:46:a2:5c:3e:2f:57:84&quot;</span><span·class="w">
  
5346 ·</span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="7555411910-3">(</span><span·class="ss">sha</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="7555411910-3">)</span><span·class="p">.</span><span·class="w">5346 ·</span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="5763938816-3">(</span><span·class="ss">sha</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="5763938816-3">)</span><span·class="p">.</span><span·class="w">
5347 ·</span><span·class="s">&quot;SHA1:bSLY/C4QXLDL/Iwmhyg0PGW9UbY&quot;</span><span·class="w">5347 ·</span><span·class="s">&quot;SHA1:bSLY/C4QXLDL/Iwmhyg0PGW9UbY&quot;</span><span·class="w">
  
5348 ·</span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="7555411910-4">(</span><span·class="ss">sha256</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="7555411910-4">)</span><span·class="p">.</span><span·class="w">5348 ·</span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="5763938816-4">(</span><span·class="ss">sha256</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="5763938816-4">)</span><span·class="p">.</span><span·class="w">
5349 ·</span><span·class="s">&quot;SHA256:aZGXhabfbf4oxglxltItWeHU7ub3Dc31NcNw2cMJePQ&quot;</span><span·class="w">5349 ·</span><span·class="s">&quot;SHA256:aZGXhabfbf4oxglxltItWeHU7ub3Dc31NcNw2cMJePQ&quot;</span><span·class="w">
  
5350 ·</span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="7555411910-5">(</span><span·class="p"·data-group-id="7555411910-6">[</span><span·class="ss">sha</span><span·class="p">,</span><span·class="ss">sha256</span><span·class="p"·data-group-id="7555411910-6">]</span><span·class="p">,</span><span·class="n">Key</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·ccf8a6c1e44262f3d262c661649800b6e5d74c52066ee5d1abcc6c4b034faa0c·...·]-5">)</span><span·class="p">.</span><span·class="w">5350 ·</span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="5763938816-5">(</span><span·class="p"·data-group-id="5763938816-6">[</span><span·class="ss">sha</span><span·class="p">,</span><span·class="ss">sha256</span><span·class="p"·data-group-id="5763938816-6">]</span><span·class="p">,</span><span·class="n">Key</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·43a41d9875cc2184f0187c09a500b6a381d359f17e25b3d5781f0f46570975f2·...·]-5">)</span><span·class="p">.</span><span·class="w">
5351 ·</span><span·class="p"·data-group-id="7555411910-7">[</span><span·class="s">&quot;SHA1:bSLY/C4QXLDL/Iwmhyg0PGW9UbY&quot;</span><span·class="p">,</span><span·class="w">5351 ·</span><span·class="p"·data-group-id="5763938816-7">[</span><span·class="s">&quot;SHA1:bSLY/C4QXLDL/Iwmhyg0PGW9UbY&quot;</span><span·class="p">,</span><span·class="w">
5352 ··</span><span·class="s">&quot;SHA256:aZGXhabfbf4oxglxltItWeHU7ub3Dc31NcNw2cMJePQ&quot;</span><span·class="p"·data-group-id="7555411910-7">]</span></code></pre>5352 ··</span><span·class="s">&quot;SHA256:aZGXhabfbf4oxglxltItWeHU7ub3Dc31NcNw2cMJePQ&quot;</span><span·class="p"·data-group-id="5763938816-7">]</span></code></pre>
5353 ··</section>5353 ··</section>
5354 </section>5354 </section>
5355 <section·class="detail"·id="set_sock_opts/2">5355 <section·class="detail"·id="set_sock_opts/2">
  
5356 ··<div·class="detail-header">5356 ··<div·class="detail-header">
5357 ····<a·href="#set_sock_opts/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">5357 ····<a·href="#set_sock_opts/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
5358 ······<i·class="ri-link-m"·aria-hidden="true"></i>5358 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 5900, 15 lines modifiedOffset 5900, 15 lines modified
5900 ······<p·class="built-using">5900 ······<p·class="built-using">
5901 ········Built·using5901 ········Built·using
5902 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the5902 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
5903 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>5903 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
5904 ······</p>5904 ······</p>
5905 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>5905 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
5906 ····</footer>5906 ····</footer>
5907 ··</div>5907 ··</div>
5908 </main>5908 </main>
5909 </div>5909 </div>
5910 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>5910 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
5911 ··<script>5911 ··<script>
5912 ··let·initialized·=·false;5912 ··let·initialized·=·false;
738 B
html2text {}
Max HTML report size reached
6.01 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_agent.html
    
Offset 131, 19 lines modifiedOffset 131, 19 lines modified
131 <p>Callback·module·for·using·an·SSH·agent·instead·of·the·default·ssh_file·callback.</p><p>This·module·defines·a·callback·handler·for·the·communication·with·an131 <p>Callback·module·for·using·an·SSH·agent·instead·of·the·default·ssh_file·callback.</p><p>This·module·defines·a·callback·handler·for·the·communication·with·an
132 <a·href="https://tools.ietf.org/html/draft-miller-ssh-agent-02">SSH·Agent</a>·and·can·be132 <a·href="https://tools.ietf.org/html/draft-miller-ssh-agent-02">SSH·Agent</a>·and·can·be
133 used·to·replace·the·<a·href="ssh_file.html">default·callback</a>.·This·allows·to·issue133 used·to·replace·the·<a·href="ssh_file.html">default·callback</a>.·This·allows·to·issue
134 signing·requests·to·an·agent·that·stores·SSH·private·keys·to·perform134 signing·requests·to·an·agent·that·stores·SSH·private·keys·to·perform
135 authentication.</p><p>Ssh_agent·implements·the·<a·href="ssh_client_key_api.html"><code·class="inline">ssh_client_key_api</code></a>,·to·allow·it·to·be·used·by135 authentication.</p><p>Ssh_agent·implements·the·<a·href="ssh_client_key_api.html"><code·class="inline">ssh_client_key_api</code></a>,·to·allow·it·to·be·used·by
136 setting·the·option·<a·href="ssh.html#t:key_cb_common_option/0"><code·class="inline">key_cb</code></a>·when·starting·a136 setting·the·option·<a·href="ssh.html#t:key_cb_common_option/0"><code·class="inline">key_cb</code></a>·when·starting·a
137 client·(with·for·example·<a·href="ssh.html#connect/3">ssh:connect</a>,137 client·(with·for·example·<a·href="ssh.html#connect/3">ssh:connect</a>,
138 <a·href="ssh.html#shell/1">ssh:shell</a>·).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="7516496617-1">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7516496617-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:·26066113121edd17f0d4d90e5ae48185289874ca0604349b84ef7c02ef4842c7·...·]-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="3802411926-1">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3802411926-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:·c2c95926be8a59f629854d9ee6cea5b9f314bd058b27c8c5be5d5cf9ccd05856·...·]-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="3971705229-1">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3971705229-2">{</span><span·class="ss">ssh_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·399,·SHA:·8e03228fbf5ce47ee57b0ec95d3d4ca90955b90f38c769fef14cf0dc45615691·...·]-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="3764829038-1">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3764829038-2">{</span><span·class="ss">ssh_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·399,·SHA:·042630aeb22a705209493a9d0d1ca80189c390ac7c6375503811666f7c12d0f7·...·]-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.42 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_app.html
    
Offset 347, 15 lines modifiedOffset 347, 15 lines modified
347 ······<p·class="built-using">347 ······<p·class="built-using">
348 ········Built·using348 ········Built·using
349 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the349 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
350 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>350 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
351 ······</p>351 ······</p>
352 <p>Copyright·©·1996-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.48 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_client_channel.html
    
Offset 956, 15 lines modifiedOffset 956, 15 lines modified
956 ······<p·class="built-using">956 ······<p·class="built-using">
957 ········Built·using957 ········Built·using
958 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the958 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
959 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>959 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
960 ······</p>960 ······</p>
961 <p>Copyright·©·1996-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.46 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_client_key_api.html
    
Offset 523, 15 lines modifiedOffset 523, 15 lines modified
523 ······<p·class="built-using">523 ······<p·class="built-using">
524 ········Built·using524 ········Built·using
525 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the525 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
526 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>526 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
527 ······</p>527 ······</p>
528 <p>Copyright·©·1996-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.3/doc/html/ssh_connection.html
    
Offset 1939, 15 lines modifiedOffset 1939, 15 lines modified
1939 ······<p·class="built-using">1939 ······<p·class="built-using">
1940 ········Built·using1940 ········Built·using
1941 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1941 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1942 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1942 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1943 ······</p>1943 ······</p>
1944 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1944 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1945 ····</footer>1945 ····</footer>
1946 ··</div>1946 ··</div>
1947 </main>1947 </main>
1948 </div>1948 </div>
1949 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1949 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1950 ··<script>1950 ··<script>
1951 ··let·initialized·=·false;1951 ··let·initialized·=·false;
679 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_file.html
    
Offset 1002, 15 lines modifiedOffset 1002, 15 lines modified
1002 ······<p·class="built-using">1002 ······<p·class="built-using">
1003 ········Built·using1003 ········Built·using
1004 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1004 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1005 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1005 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1006 ······</p>1006 ······</p>
1007 <p>Copyright·©·1996-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.55 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_server_channel.html
    
Offset 375, 15 lines modifiedOffset 375, 15 lines modified
375 ······<p·class="built-using">375 ······<p·class="built-using">
376 ········Built·using376 ········Built·using
377 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the377 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
378 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>378 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
379 ······</p>379 ······</p>
380 <p>Copyright·©·1996-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.3/doc/html/ssh_server_key_api.html
    
Offset 321, 15 lines modifiedOffset 321, 15 lines modified
321 ······<p·class="built-using">321 ······<p·class="built-using">
322 ········Built·using322 ········Built·using
323 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the323 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
324 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>324 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
325 ······</p>325 ······</p>
326 <p>Copyright·©·1996-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.3/doc/html/ssh_sftp.html
    
Offset 2798, 15 lines modifiedOffset 2798, 15 lines modified
2798 ······<p·class="built-using">2798 ······<p·class="built-using">
2799 ········Built·using2799 ········Built·using
2800 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2800 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2801 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2801 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2802 ······</p>2802 ······</p>
2803 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2803 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2804 ····</footer>2804 ····</footer>
2805 ··</div>2805 ··</div>
2806 </main>2806 </main>
2807 </div>2807 </div>
2808 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2808 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2809 ··<script>2809 ··<script>
2810 ··let·initialized·=·false;2810 ··let·initialized·=·false;
783 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_sftpd.html
    
Offset 238, 15 lines modifiedOffset 238, 15 lines modified
238 ······<p·class="built-using">238 ······<p·class="built-using">
239 ········Built·using239 ········Built·using
240 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the240 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
241 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>241 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
242 ······</p>242 ······</p>
243 <p>Copyright·©·1996-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.3/doc/html/terminology.html
    
Offset 243, 15 lines modifiedOffset 243, 15 lines modified
243 ······<p·class="built-using">243 ······<p·class="built-using">
244 ········Built·using244 ········Built·using
245 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the245 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
246 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>246 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
247 ······</p>247 ······</p>
248 <p>Copyright·©·1996-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.3/doc/html/using_ssh.html
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/api-reference.html
    
Offset 209, 15 lines modifiedOffset 209, 15 lines modified
209 ······<p·class="built-using">209 ······<p·class="built-using">
210 ········Built·using210 ········Built·using
211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
213 ······</p>213 ······</p>
214 <p>Copyright·©·1996-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.3/doc/html/notes.html
    
Offset 3571, 15 lines modifiedOffset 3571, 15 lines modified
3571 ······<p·class="built-using">3571 ······<p·class="built-using">
3572 ········Built·using3572 ········Built·using
3573 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3573 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3574 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3574 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3575 ······</p>3575 ······</p>
3576 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3576 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3577 ····</footer>3577 ····</footer>
3578 ··</div>3578 ··</div>
3579 </main>3579 </main>
3580 </div>3580 </div>
3581 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3581 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3582 ··<script>3582 ··<script>
3583 ··let·initialized·=·false;3583 ··let·initialized·=·false;
704 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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
605 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl.epub
3.2 KB
zipinfo {}
Max HTML report size reached
109 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
298 KB
OEBPS/using_ssl.xhtml
Max HTML report size reached
22.2 KB
OEBPS/ssl_distribution.xhtml
Max HTML report size reached
171 KB
OEBPS/ssl.xhtml
Max HTML report size reached
1.2 KB
OEBPS/content.opf
1.17 KB
OEBPS/content.opf
Max HTML report size reached
92.9 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl.html
    
Offset 127, 17 lines modifiedOffset 127, 17 lines modified
127 ··</h1>127 ··</h1>
  
  
128 ····<section·id="moduledoc">128 ····<section·id="moduledoc">
129 <p>Interface·functions·for·TLS·(Transport·Layer·Security)129 <p>Interface·functions·for·TLS·(Transport·Layer·Security)
130 and·DTLS·(Datagram·Transport·Layer·Security).</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·application's·name·is·still·SSL·because·the·first·versions·of·the130 and·DTLS·(Datagram·Transport·Layer·Security).</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·application's·name·is·still·SSL·because·the·first·versions·of·the
131 TLS·protocol·were·named·SSL·(Secure·Socket·Layer).·However,·no·version131 TLS·protocol·were·named·SSL·(Secure·Socket·Layer).·However,·no·version
132 of·the·old·SSL·protocol·is·supported·by·this·application.</p></section><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ssl</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0487179426-1">(</span><span·class="p"·data-group-id="0487179426-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="0487179426-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="0487179426-3">[</span><span·class="p"·data-group-id="0487179426-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="0487179426-4">}</span><span·class="p">,</span><span·class="w"> 
133 ····</span><span·class="p"·data-group-id="0487179426-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="0487179426-6">(</span><span·class="p"·data-group-id="0487179426-6">)</span><span·class="p"·data-group-id="0487179426-5">}</span><span·class="p"·data-group-id="0487179426-3">]</span><span·class="p"·data-group-id="0487179426-2">)</span><span·class="p">.</span><span·class="w"> 
134 </span><span·class="p"·data-group-id="0487179426-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0487179426-8">{</span><span·class="ss">sslsocket</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·369,·SHA:·fbf69e3e4bc19f16d3cbe6c6f65b94be00f209a77273d59cebe6c41db2d57c04·...·]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:·367cc1de8a856b94036e17220d341cfc4420573fafc506658d532fc7db57c825·...·]
 133 ····</span><span·class="p"·data-group-id="2088039894-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="2088039894-6">(</span><span·class="p"·data-group-id="2088039894-6">)</span><span·class="p"·data-group-id="2088039894-5">}</span><span·class="p"·data-group-id="2088039894-3">]</span><span·class="p"·data-group-id="2088039894-2">)</span><span·class="p">.</span><span·class="w">
 134 </span><span·class="p"·data-group-id="2088039894-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2088039894-8">{</span><span·class="ss">sslsocket</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2088039894-9">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="2088039894-9">]</span><span·class="p"·data-group-id="2088039894-8">}</span><span·class="p"·data-group-id="2088039894-7">}</span></code></pre><p>See·<a·href="using_ssl.html">Examples</a>·for·detailed·usage·and·more·examples·of
135 this·API.</p><p>Special·Erlang·node·configuration·for·the·application·can·be·found·in135 this·API.</p><p>Special·Erlang·node·configuration·for·the·application·can·be·found·in
136 <a·href="ssl_app.html">SSL·Application</a>.</p>136 <a·href="ssl_app.html">SSL·Application</a>.</p>
137 ····</section>137 ····</section>
  
138 </div>138 </div>
  
139 ··<section·id="summary"·class="details-list">139 ··<section·id="summary"·class="details-list">
Offset 1921, 34 lines modifiedOffset 1921, 34 lines modified
1921 from·the·cipher·suite.</p><p>In·TLS-1.2·a·somewhat·more·explicit·negotiation·is·made·possible·using·a·list·of1921 from·the·cipher·suite.</p><p>In·TLS-1.2·a·somewhat·more·explicit·negotiation·is·made·possible·using·a·list·of
1922 <code·class="inline">{HashAlgo,·SignAlgo}</code>·tuples.</p><p>In·TLS-1.3,·these·algorithm·pairs·are·replaced·by·<a·href="#t:sign_scheme/0">signature1922 <code·class="inline">{HashAlgo,·SignAlgo}</code>·tuples.</p><p>In·TLS-1.3,·these·algorithm·pairs·are·replaced·by·<a·href="#t:sign_scheme/0">signature
1923 schemes</a>·that·are·completely·decoupled·from·the1923 schemes</a>·that·are·completely·decoupled·from·the
1924 cipher·suite.</p><p>Signature·algorithms·used·for·certificates·can·be·overridden·by·the1924 cipher·suite.</p><p>Signature·algorithms·used·for·certificates·can·be·overridden·by·the
1925 <a·href="#t:sign_scheme/0">signature·schemes</a>·supplied·by·the1925 <a·href="#t:sign_scheme/0">signature·schemes</a>·supplied·by·the
1926 <code·class="inline">signature_algs_cert</code>·option.</p><p>The·TLS-1.2·default·is·<code·class="inline">Default_TLS_12_Alg_Pairs</code>·interleaved·with1926 <code·class="inline">signature_algs_cert</code>·option.</p><p>The·TLS-1.2·default·is·<code·class="inline">Default_TLS_12_Alg_Pairs</code>·interleaved·with
1927 <code·class="inline">rsa_pss_schemes</code>·since·ssl-11.0·(Erlang/OTP·25).·<code·class="inline">pss_pss</code>·is1927 <code·class="inline">rsa_pss_schemes</code>·since·ssl-11.0·(Erlang/OTP·25).·<code·class="inline">pss_pss</code>·is
1928 preferred·over·<code·class="inline">pss_rsae</code>,·which·in·turn·is·preferred·over·<code·class="inline">rsa</code>.</p><p>The·list·for·<code·class="inline">Default_TLS_12_Alg_Pairs</code>·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1067336105-1">[</span><span·class="w">1928 preferred·over·<code·class="inline">pss_rsae</code>,·which·in·turn·is·preferred·over·<code·class="inline">rsa</code>.</p><p>The·list·for·<code·class="inline">Default_TLS_12_Alg_Pairs</code>·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5602803454-1">[</span><span·class="w">
1929 </span><span·class="p"·data-group-id="1067336105-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="1067336105-2">}</span><span·class="p">,</span><span·class="w">1929 </span><span·class="p"·data-group-id="5602803454-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="5602803454-2">}</span><span·class="p">,</span><span·class="w">
1930 </span><span·class="p"·data-group-id="1067336105-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="1067336105-3">}</span><span·class="p">,</span><span·class="w">1930 </span><span·class="p"·data-group-id="5602803454-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="5602803454-3">}</span><span·class="p">,</span><span·class="w">
1931 </span><span·class="p"·data-group-id="1067336105-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="1067336105-4">}</span><span·class="p">,</span><span·class="w">1931 </span><span·class="p"·data-group-id="5602803454-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="5602803454-4">}</span><span·class="p">,</span><span·class="w">
1932 </span><span·class="p"·data-group-id="1067336105-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="1067336105-5">}</span><span·class="p">,</span><span·class="w">1932 </span><span·class="p"·data-group-id="5602803454-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="5602803454-5">}</span><span·class="p">,</span><span·class="w">
1933 </span><span·class="p"·data-group-id="1067336105-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="1067336105-6">}</span><span·class="p">,</span><span·class="w">1933 </span><span·class="p"·data-group-id="5602803454-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="5602803454-6">}</span><span·class="p">,</span><span·class="w">
1934 </span><span·class="p"·data-group-id="1067336105-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="1067336105-7">}</span><span·class="w">1934 </span><span·class="p"·data-group-id="5602803454-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="5602803454-7">}</span><span·class="w">
1935 </span><span·class="p"·data-group-id="1067336105-1">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><ul><li>Support·for·<code·class="inline">{md5,·rsa}</code>·was·removed·from·the·TLS-1.2·default·in1935 </span><span·class="p"·data-group-id="5602803454-1">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><ul><li>Support·for·<code·class="inline">{md5,·rsa}</code>·was·removed·from·the·TLS-1.2·default·in
1936 ssl-8.0·(Erlang/OTP·22).</li><li>Support·for·<code·class="inline">{sha,·_}</code>·(SHA1)·and·<code·class="inline">{sha224,·_}</code>·was·removed1936 ssl-8.0·(Erlang/OTP·22).</li><li>Support·for·<code·class="inline">{sha,·_}</code>·(SHA1)·and·<code·class="inline">{sha224,·_}</code>·was·removed
1937 from·the·TLS-1.2·default·in·ssl-11.0·(Erlang/OTP·26).</li></ul></section><p>The·list·for·<code·class="inline">rsa_pss_schemes</code>·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6114277000-1">[</span><span·class="ss">rsa_pss_pss_sha512</span><span·class="p">,</span><span·class="w">1937 from·the·TLS-1.2·default·in·ssl-11.0·(Erlang/OTP·26).</li></ul></section><p>The·list·for·<code·class="inline">rsa_pss_schemes</code>·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7598363475-1">[</span><span·class="ss">rsa_pss_pss_sha512</span><span·class="p">,</span><span·class="w">
1938 </span><span·class="ss">rsa_pss_pss_sha384</span><span·class="p">,</span><span·class="w">1938 </span><span·class="ss">rsa_pss_pss_sha384</span><span·class="p">,</span><span·class="w">
1939 </span><span·class="ss">rsa_pss_pss_sha256</span><span·class="p">,</span><span·class="w">1939 </span><span·class="ss">rsa_pss_pss_sha256</span><span·class="p">,</span><span·class="w">
1940 </span><span·class="ss">rsa_pss_rsae_sha512</span><span·class="p">,</span><span·class="w">1940 </span><span·class="ss">rsa_pss_rsae_sha512</span><span·class="p">,</span><span·class="w">
1941 </span><span·class="ss">rsa_pss_rsae_sha384</span><span·class="p">,</span><span·class="w">1941 </span><span·class="ss">rsa_pss_rsae_sha384</span><span·class="p">,</span><span·class="w">
1942 </span><span·class="ss">rsa_pss_rsae_sha256</span><span·class="p"·data-group-id="6114277000-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="0100281459-1">[</span><span·class="w">1942 </span><span·class="ss">rsa_pss_rsae_sha256</span><span·class="p"·data-group-id="7598363475-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="7769685536-1">[</span><span·class="w">
1943 </span><span·class="c1">%%·Legacy·algorithms·only·applicable·to·certificate·signatures</span><span·class="w">1943 </span><span·class="c1">%%·Legacy·algorithms·only·applicable·to·certificate·signatures</span><span·class="w">
1944 </span><span·class="ss">rsa_pkcs1_sha512</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Corresponds·to·{sha512,·rsa}</span><span·class="w">1944 </span><span·class="ss">rsa_pkcs1_sha512</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Corresponds·to·{sha512,·rsa}</span><span·class="w">
1945 </span><span·class="ss">rsa_pkcs1_sha384</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Corresponds·to·{sha384,·rsa}</span><span·class="w">1945 </span><span·class="ss">rsa_pkcs1_sha384</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Corresponds·to·{sha384,·rsa}</span><span·class="w">
1946 </span><span·class="ss">rsa_pkcs1_sha256</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Corresponds·to·{sha256,·rsa}</span><span·class="w">1946 </span><span·class="ss">rsa_pkcs1_sha256</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Corresponds·to·{sha256,·rsa}</span><span·class="w">
1947 </span><span·class="p"·data-group-id="0100281459-1">]</span></code></pre><p>The·list·of·<code·class="inline">Default_TLS_13_Schemes</code>·is·defined·as·follows:</p><pre><code·class="text">[1947 </span><span·class="p"·data-group-id="7769685536-1">]</span></code></pre><p>The·list·of·<code·class="inline">Default_TLS_13_Schemes</code>·is·defined·as·follows:</p><pre><code·class="text">[
1948 %%·EDDSA1948 %%·EDDSA
1949 eddsa_ed25519,1949 eddsa_ed25519,
1950 eddsa_ed4481950 eddsa_ed448
  
1951 %%·ECDSA1951 %%·ECDSA
1952 ecdsa_secp521r1_sha512,1952 ecdsa_secp521r1_sha512,
1953 ecdsa_secp384r1_sha384,1953 ecdsa_secp384r1_sha384,
Offset 2211, 16 lines modifiedOffset 2211, 16 lines modified
  
2211 ······<div·class="specs">2211 ······<div·class="specs">
  
2212 ··········<pre·translate="no"><span·class="attribute">-type</span>·anchor_fun()·::·fun().</pre>2212 ··········<pre·translate="no"><span·class="attribute">-type</span>·anchor_fun()·::·fun().</pre>
  
2213 ······</div>2213 ······</div>
  
2214 <p>Claim·an·intermediate·CA·in·the·chain·as·trusted.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="0400875354-1">(</span><span·class="n">Chain</span><span·class="p">:</span><span·class="p">:</span><span·class="p"·data-group-id="0400875354-2">[</span><span·class="nc">public_key</span><span·class="p">:</span><span·class="nf">der_encoded</span><span·class="p"·data-group-id="0400875354-3">(</span><span·class="p"·data-group-id="0400875354-3">)</span><span·class="p"·data-group-id="0400875354-2">]</span><span·class="p"·data-group-id="0400875354-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
2215 ······</span><span·class="p"·data-group-id="0400875354-4">{</span><span·class="ss">trusted_ca</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DerCert</span><span·class="p">:</span><span·class="p">:</span><span·class="nc">public_key</s[·...·truncated·by·diffoscope;·len:·558,·SHA:·a8beaab26b4524ba329af5ca0882f2de9727bcbd8e4fe0c446fab58b1e512b8b·...·]2214 <p>Claim·an·intermediate·CA·in·the·chain·as·trusted.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="1765871800-1">(</span><span·class="n">Chain</span><span·class="p">:</span><span·class="p">:</s[·...·truncated·by·diffoscope;·len:·430,·SHA:·e9a5942f14d78bb194769385cbea3345c99479acbaae05e9561d7b9d8d0c510a·...·]
 2215 ······</span><span·class="p"·data-group-id="1765871800-4">{</span><span·class="ss">trusted_ca</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DerCert</span><span·class="p">:</span><span·class="p">:</span><span·class="nc">public_key</span><span·class="p">:</span><span·class="nf">der_encoded</span><span·class="p"·data-group-id="1765871800-5">(</span><span·class="p"·data-group-id="1765871800-5">)</span><span·class="p"·data-group-id="1765871800-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">unknown_ca</span><span·class="p">.</span></code></pre><p>TLS·then·uses·<a·href="../../../../lib/public_key-1.18/doc/html/public_key.html#pkix_path_validation/3"><code·class="inline">public_key:pkix_path_validation/3</code></a>·with·the·selected·CA
2216 as·the·trusted·anchor·and·verifies·the·rest·of·the·chain.</p>2216 as·the·trusted·anchor·and·verifies·the·rest·of·the·chain.</p>
2217 ··</section>2217 ··</section>
2218 </section>2218 </section>
2219 <section·class="detail"·id="t:cert_key_conf/0">2219 <section·class="detail"·id="t:cert_key_conf/0">
  
2220 ··<div·class="detail-header">2220 ··<div·class="detail-header">
2221 ····<a·href="#t:cert_key_conf/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">2221 ····<a·href="#t:cert_key_conf/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">
Offset 2457, 15 lines modifiedOffset 2457, 15 lines modified
2457 <a·href="#connect/3">connect/3,4</a>·unless·it·is·of·type·<a·href="../../../../lib/kernel-10.3/doc/html/inet.html#t:ip_address/0"><code·class="inline">inet:ip_address()</code></a>.2457 <a·href="#connect/3">connect/3,4</a>·unless·it·is·of·type·<a·href="../../../../lib/kernel-10.3/doc/html/inet.html#t:ip_address/0"><code·class="inline">inet:ip_address()</code></a>.
2458 The·hostname·will·also·be·used·in·the·hostname·verification·of·the·peer2458 The·hostname·will·also·be·used·in·the·hostname·verification·of·the·peer
2459 certificate·using·<a·href="../../../../lib/public_key-1.18/doc/html/public_key.html#pkix_verify_hostname/2"><code·class="inline">public_key:pkix_verify_hostname/2</code></a>.2459 certificate·using·<a·href="../../../../lib/public_key-1.18/doc/html/public_key.html#pkix_verify_hostname/2"><code·class="inline">public_key:pkix_verify_hostname/2</code></a>.
2460 The·special·value·<code·class="inline">disable</code>·prevents·the·Server·Name·Indication·extension·from2460 The·special·value·<code·class="inline">disable</code>·prevents·the·Server·Name·Indication·extension·from
2461 being·sent·and·disables·the·hostname·verification·check.</p></li><li><p><strong><code·class="inline">{customize_hostname_check,·HostNameCheckOpts}</code></strong>·-·Customization·option</p><p>Customizes·the·hostname·verification·of·the·peer·certificate,·as·various2461 being·sent·and·disables·the·hostname·verification·check.</p></li><li><p><strong><code·class="inline">{customize_hostname_check,·HostNameCheckOpts}</code></strong>·-·Customization·option</p><p>Customizes·the·hostname·verification·of·the·peer·certificate,·as·various
2462 protocols·that·use·TLS,·such·as·HTTP·or·LDAP,·may·require·different·approaches.·For2462 protocols·that·use·TLS,·such·as·HTTP·or·LDAP,·may·require·different·approaches.·For
2463 example,·here·is·how·to·use·standard·hostname·checking·for·HTTPS·implemented·in2463 example,·here·is·how·to·use·standard·hostname·checking·for·HTTPS·implemented·in
2464 <a·href="../../../../lib/public_key-1.18/doc/html/public_key_app.html">Public_Key</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1958850856-1">{</span><span·class="ss">customize_hostname_check</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1958850856-2">[</span><span·class="p"·data-group-id="1958850856-3">{</span><span·class="ss">match_fun</span[·...·truncated·by·diffoscope;·len:·443,·SHA:·8c218c9c86c0ff2888eec722ebf77c40fffc7e03092896b0159dcded902d0d67·...·]-1">}</span></code></pre><p>For·futher·description·of·the·customize·options,·see2464 <a·href="../../../../lib/public_key-1.18/doc/html/public_key_app.html">Public_Key</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3908979692-1">{</span><span·class="ss">customize_hostname_check</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3908979692-2">[</span><span·class="p"·data-group-id="3908979692-3">{</span><span·class="ss">match_fun</span[·...·truncated·by·diffoscope;·len:·443,·SHA:·c5736c733abf43e62d2bce68935a60f14caf565af54ef939e1cfccc01146bfa6·...·]-1">}</span></code></pre><p>For·futher·description·of·the·customize·options,·see
2465 <a·href="../../../../lib/public_key-1.18/doc/html/public_key.html#pkix_verify_hostname/3"><code·class="inline">public_key:pkix_verify_hostname/3</code></a>.</p></li><li><p><strong><code·class="inline">{client_certificate_authorities,·UseCertAuth}</code></strong>·-·Inter-op·hint·option</p><p>If·<code·class="inline">UseCertAuth</code>·is·set·to·<code·class="inline">true</code>,·sends·the·certificate·authorities2465 <a·href="../../../../lib/public_key-1.18/doc/html/public_key.html#pkix_verify_hostname/3"><code·class="inline">public_key:pkix_verify_hostname/3</code></a>.</p></li><li><p><strong><code·class="inline">{client_certificate_authorities,·UseCertAuth}</code></strong>·-·Inter-op·hint·option</p><p>If·<code·class="inline">UseCertAuth</code>·is·set·to·<code·class="inline">true</code>,·sends·the·certificate·authorities
2466 extension·in·the·TLS-1.3·client·hello.·The·default·is·<code·class="inline">false</code>.·Note2466 extension·in·the·TLS-1.3·client·hello.·The·default·is·<code·class="inline">false</code>.·Note
2467 that·setting·<code·class="inline">UseCertAuth</code>·to·<code·class="inline">true</code>·can·result·in·a·significant2467 that·setting·<code·class="inline">UseCertAuth</code>·to·<code·class="inline">true</code>·can·result·in·a·significant
2468 overhead·if·there·exists·many·trusted·CA·certificates.·(Since2468 overhead·if·there·exists·many·trusted·CA·certificates.·(Since
2469 Erlang/OTP·24.3.)</p></li><li><p><strong><code·class="inline">{stapling,·Stapling}</code></strong>·-·Certificate·revocation·check·option</p><p>If·<code·class="inline">Stapling</code>·is·atom·<code·class="inline">staple</code>·or·a·map,·OCSP·stapling·will·be2469 Erlang/OTP·24.3.)</p></li><li><p><strong><code·class="inline">{stapling,·Stapling}</code></strong>·-·Certificate·revocation·check·option</p><p>If·<code·class="inline">Stapling</code>·is·atom·<code·class="inline">staple</code>·or·a·map,·OCSP·stapling·will·be
2470 enabled,·meaning·that·an·extension·of·type·&quot;status_request&quot;·will·be2470 enabled,·meaning·that·an·extension·of·type·&quot;status_request&quot;·will·be
2471 included·in·the·client·hello·to·indicate·the·desire·to·receive2471 included·in·the·client·hello·to·indicate·the·desire·to·receive
Offset 2595, 25 lines modifiedOffset 2595, 25 lines modified
2595 ··········{early_data,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}·|2595 ··········{early_data,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}·|
2596 ··········{middlebox_comp_mode,·MiddleBoxMode·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()}.</pre>2596 ··········{middlebox_comp_mode,·MiddleBoxMode·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()}.</pre>
  
2597 ······</div>2597 ······</div>
  
2598 <p>Options·only·relevant·for·TLS-1.3.</p><ul><li><p><strong><code·class="inline">{session_tickets,·SessionTickets}</code></strong>·-·Use·of·session·tickets</p><p>Configures·the·session·ticket·functionality.·Allowed·values·are·<code·class="inline">disabled</code>,2598 <p>Options·only·relevant·for·TLS-1.3.</p><ul><li><p><strong><code·class="inline">{session_tickets,·SessionTickets}</code></strong>·-·Use·of·session·tickets</p><p>Configures·the·session·ticket·functionality.·Allowed·values·are·<code·class="inline">disabled</code>,
2599 <code·class="inline">manual</code>,·and·<code·class="inline">auto</code>.·If·it·is·set·to·<code·class="inline">manual</code>·the·client·will·send·the·ticket2599 <code·class="inline">manual</code>,·and·<code·class="inline">auto</code>.·If·it·is·set·to·<code·class="inline">manual</code>·the·client·will·send·the·ticket
2600 information·to·user·process·in·a·3-tuple:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5748243638-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="5748243638-2">{</span><span·class="n">SNI<[·...·truncated·by·diffoscope;·len:·181,·SHA:·fa27a8f1a0022c7f9c088e5bc0aaf2bcb5b03fddfbb705a7f5d4a388a7830449·...·]-1">}</span></code></pre><p>where·<code·class="inline">SNI</code>·is·the·ServerNameIndication·and·<code·class="inline">TicketData</code>·is·the·extended·ticket2600 information·to·user·process·in·a·3-tuple:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3318644872-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="3318644872-2">{</span><span·class="n">SNI<[·...·truncated·by·diffoscope;·len:·181,·SHA:·7dc96f80f497e73fc25fb5f8131c05ed3de980b97d0278caed603eeb96a2ecfc·...·]-1">}</span></code></pre><p>where·<code·class="inline">SNI</code>·is·the·ServerNameIndication·and·<code·class="inline">TicketData</code>·is·the·extended·ticket
2601 data·that·can·be·used·in·subsequent·session·resumptions.</p><p>If·it·is·set·to·<code·class="inline">auto</code>,·the·client·automatically·handles·received·tickets·and2601 data·that·can·be·used·in·subsequent·session·resumptions.</p><p>If·it·is·set·to·<code·class="inline">auto</code>,·the·client·automatically·handles·received·tickets·and
2602 tries·to·use·them·when·making·new·TLS·connections·(session·resumption·with2602 tries·to·use·them·when·making·new·TLS·connections·(session·resumption·with
2603 pre-shared·keys).</p><p>Ticket·lifetime,·the·number·of·tickets·sent·by·the·server,·and·the2603 pre-shared·keys).</p><p>Ticket·lifetime,·the·number·of·tickets·sent·by·the·server,·and·the
2604 maximum·number·of·tickets·stored·by·the·server·in·stateful·mode·are·configured2604 maximum·number·of·tickets·stored·by·the·server·in·stateful·mode·are·configured
2605 by·<a·href="ssl_app.html#configuration">application·variables</a>.</p><p>See·also2605 by·<a·href="ssl_app.html#configuration">application·variables</a>.</p><p>See·also
2606 <a·href="using_ssl.html#session-tickets-and-session-resumption-in-tls-1-3">SSL·User's·Guide,·Session·Tickets·and·Session·Resumption·in·TLS·1.3</a>.</p></li><li><p><strong><code·class="inline">{use_ticket,·Tickets}</code></strong></p><p>Configures·the·session·tickets·to·be·used·for·session·resumption.·It·is·a2606 <a·href="using_ssl.html#session-tickets-and-session-resumption-in-tls-1-3">SSL·User's·Guide,·Session·Tickets·and·Session·Resumption·in·TLS·1.3</a>.</p></li><li><p><strong><code·class="inline">{use_ticket,·Tickets}</code></strong></p><p>Configures·the·session·tickets·to·be·used·for·session·resumption.·It·is·a
2607 mandatory·option·in·<code·class="inline">manual</code>·mode·(<code·class="inline">{session_tickets,·manual}</code>).</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Session·tickets·are·only·sent·to·the·user·if·option·<code·class="inline">session_tickets</code>·is·set·to2607 mandatory·option·in·<code·class="inline">manual</code>·mode·(<code·class="inline">{session_tickets,·manual}</code>).</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Session·tickets·are·only·sent·to·the·user·if·option·<code·class="inline">session_tickets</code>·is·set·to
2608 <code·class="inline">manual</code></p><p>This·option·is·supported·by·TLS-1.3.·See·also2608 <code·class="inline">manual</code></p><p>This·option·is·supported·by·TLS-1.3.·See·also
2609 <a·href="using_ssl.html#session-tickets-and-session-resumption-in-tls-1-3">SSL·User's·Guide,·Session·Tickets·and·Session·Resumption·in·TLS·1.3</a>.</p></section></li><li><p><strong><code·class="inline">{early_data,·EarlyData}</code></strong></p><p>Configures·the·early·data·to·be·sent·by·the·client.</p><p>To·verify·that·the·server·has·the·intention·to·process·the·early2609 <a·href="using_ssl.html#session-tickets-and-session-resumption-in-tls-1-3">SSL·User's·Guide,·Session·Tickets·and·Session·Resumption·in·TLS·1.3</a>.</p></section></li><li><p><strong><code·class="inline">{early_data,·EarlyData}</code></strong></p><p>Configures·the·early·data·to·be·sent·by·the·client.</p><p>To·verify·that·the·server·has·the·intention·to·process·the·early
2610 data,·the·following·tuple·is·sent·to·the·user·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9604420159-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="9604420159-2">{</span><span·class="ss">early_dat[·...·truncated·by·diffoscope;·len:·179,·SHA:·ddbd72b97f92bc21bf8afc575cc56ed5a132866b34cd81c65d4bde13b50e5acb·...·]-1">}</span></code></pre><p>where·<code·class="inline">Result</code>·is·either·<code·class="inline">accepted</code>·or·<code·class="inline">rejected</code>.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>It·is·the·responsibility·of·the·user·to·handle·rejected·<code·class="inline">EarlyData</code>·and·to2610 data,·the·following·tuple·is·sent·to·the·user·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7083731744-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="7083731744-2">{</span><span·class="ss">early_dat[·...·truncated·by·diffoscope;·len:·179,·SHA:·bf21420aac4d30cad6b420db27ffeb66387e6f57e42b1ed77c9dfa9f2dbc236a·...·]-1">}</span></code></pre><p>where·<code·class="inline">Result</code>·is·either·<code·class="inline">accepted</code>·or·<code·class="inline">rejected</code>.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>It·is·the·responsibility·of·the·user·to·handle·rejected·<code·class="inline">EarlyData</code>·and·to
2611 resend·when·appropriate.</p></section></li><li><p><strong><code·class="inline">{middlebox_comp_mode,·MiddleBoxMode}</code></strong></p><p>Configures·the·middlebox·compatibility·mode·for·a·TLS-1.3·connection.</p><p>A·significant·number·of·middleboxes·misbehave·when·a·TLS-1.32611 resend·when·appropriate.</p></section></li><li><p><strong><code·class="inline">{middlebox_comp_mode,·MiddleBoxMode}</code></strong></p><p>Configures·the·middlebox·compatibility·mode·for·a·TLS-1.3·connection.</p><p>A·significant·number·of·middleboxes·misbehave·when·a·TLS-1.3
2612 connection·is·negotiated.·Implementations·can·increase·the·chance·of2612 connection·is·negotiated.·Implementations·can·increase·the·chance·of
2613 making·connections·through·those·middleboxes·by·adapting·the·TLS-1.32613 making·connections·through·those·middleboxes·by·adapting·the·TLS-1.3
2614 handshake·to·resemble·that·of·a·TLS-1.2·handshake.</p><p>The·middlebox·compatibility·mode·is·enabled·(<code·class="inline">true</code>)·by·default.</p></li></ul>2614 handshake·to·resemble·that·of·a·TLS-1.2·handshake.</p><p>The·middlebox·compatibility·mode·is·enabled·(<code·class="inline">true</code>)·by·default.</p></li></ul>
2615 ··</section>2615 ··</section>
2616 </section>2616 </section>
  
Offset 2761, 28 lines modifiedOffset 2761, 28 lines modified
2761 and·key·options.·For·examples,·see·the·<a·href="using_ssl.html">User's·Guide</a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p><code·class="inline">eddsa</code>·certificates·are·only·supported·by·TLS-1.3·implementations·that·do·not·support·<code·class="inline">dsa</code>2761 and·key·options.·For·examples,·see·the·<a·href="using_ssl.html">User's·Guide</a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p><code·class="inline">eddsa</code>·certificates·are·only·supported·by·TLS-1.3·implementations·that·do·not·support·<code·class="inline">dsa</code>
2762 certificates.·<code·class="inline">rsa_pss_pss</code>·(RSA·certificates·using·Probabilistic·Signature2762 certificates.·<code·class="inline">rsa_pss_pss</code>·(RSA·certificates·using·Probabilistic·Signature
2763 Scheme)·are·supported·in·TLS-1.2·and·TLS-1.3,·but·some·TLS-1.2·implementations2763 Scheme)·are·supported·in·TLS-1.2·and·TLS-1.3,·but·some·TLS-1.2·implementations
2764 do·not·support·<code·class="inline">rsa_pss_pss</code>.</p></section></li><li><p><strong><code·class="inline">{depth,·AllowedCertChainLen}</code></strong>·-·Limits·the·accepted·number·of·certificates·in·the·certificate·chain.</p><p>Maximum·number·of·non-self-issued·intermediate·certificates·that·can·follow·the2764 do·not·support·<code·class="inline">rsa_pss_pss</code>.</p></section></li><li><p><strong><code·class="inline">{depth,·AllowedCertChainLen}</code></strong>·-·Limits·the·accepted·number·of·certificates·in·the·certificate·chain.</p><p>Maximum·number·of·non-self-issued·intermediate·certificates·that·can·follow·the
2765 peer·certificate·in·a·valid·certification·path.·So,·if·depth·is·0·the·PEER·must2765 peer·certificate·in·a·valid·certification·path.·So,·if·depth·is·0·the·PEER·must
2766 be·signed·by·the·trusted·ROOT-CA·directly;·if·1·the·path·can·be·PEER,·CA,2766 be·signed·by·the·trusted·ROOT-CA·directly;·if·1·the·path·can·be·PEER,·CA,
2767 ROOT-CA;·if·2·the·path·can·be·PEER,·CA,·CA,·ROOT-CA,·and·so·on.·The·default2767 ROOT-CA;·if·2·the·path·can·be·PEER,·CA,·CA,·ROOT-CA,·and·so·on.·The·default
2768 value·is·10.·Used·to·mitigate·DoS·attack·possibilities.</p></li><li><p><strong><code·class="inline">{verify_fun,·Verify}</code></strong>·-·Customize·certificate·path·validation</p><p>The·verification·fun·is·to·be·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="8849757085-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="88497[·...·truncated·by·diffoscope;·len:·58,·SHA:·7488cfbe63564857dedf7b41bc3631605b54deb4dd076315f030b8d9d72e87c9·...·]-2">}</span><span·class="p">,</span><span·class="w">2768 value·is·10.·Used·to·mitigate·DoS·attack·possibilities.</p></li><li><p><strong><code·class="inline">{verify_fun,·Verify}</code></strong>·-·Customize·certificate·path·validation</p><p>The·verification·fun·is·to·be·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="1709841423-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="17098[·...·truncated·by·diffoscope;·len:·58,·SHA:·8dd405e87750c1c8b17709c9d6b6ff51ca6d75b79deb013f19b80bcacdca33d5·...·]-2">}</span><span·class="p">,</span><span·class="w">
2769 ····</span><span·class="n">Event</span><span·class="p">,</span><span·class="w">·</span><span·class="n">InitialUserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="8849757085-3">(</span><span·class="p"·data-group-id="8849757085-3">)</span><span·class="p"·data-group-id="8849757085-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2769 ····</span><span·class="n">Event</span><span·class="p">,</span><span·class="w">·</span><span·class="n">InitialUserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="1709841423-3">(</span><span·class="p"·data-group-id="1709841423-3">)</span><span·class="p"·data-group-id="1709841423-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2770 ··</span><span·class="p"·data-group-id="8849757085-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:·3cf5cb67af9f436d753c9f24f5dc999fa9713734d3a595983b5589eb148ed455·...·]-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2770 ··</span><span·class="p"·data-group-id="1709841423-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:·fc6d26c8596dfa1d203a766300338597dc071983b8d39e274357b67d323b48c4·...·]-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2771 ··</span><span·class="p"·data-group-id="8849757085-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:·38d04a023c03e3c2c6ffdf2b884a9427cba9fc52e1720223bf4247287a81ddbc·...·]-8">}</span><span·class="p">.</span><span·class="w">2771 ··</span><span·class="p"·data-group-id="1709841423-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:·dfcb5d83dc17fb71e0378f16a092dda1a0c9b9f10d4343c475ab86bd83c4f8e8·...·]-8">}</span><span·class="p">.</span><span·class="w">
  
Max diff block lines reached; 55417/94270 bytes (58.79%) of diff not shown.
721 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl_app.html
    
Offset 273, 15 lines modifiedOffset 273, 15 lines modified
273 ······<p·class="built-using">273 ······<p·class="built-using">
274 ········Built·using274 ········Built·using
275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
277 ······</p>277 ······</p>
278 <p>Copyright·©·1996-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.48 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl_crl_cache.html
    
Offset 357, 15 lines modifiedOffset 357, 15 lines modified
357 ······<p·class="built-using">357 ······<p·class="built-using">
358 ········Built·using358 ········Built·using
359 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the359 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
360 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>360 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
361 ······</p>361 ······</p>
362 <p>Copyright·©·1996-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.3/doc/html/ssl_crl_cache_api.html
    
Offset 512, 15 lines modifiedOffset 512, 15 lines modified
512 ······<p·class="built-using">512 ······<p·class="built-using">
513 ········Built·using513 ········Built·using
514 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the514 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
515 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>515 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
516 ······</p>516 ······</p>
517 <p>Copyright·©·1996-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.3/doc/html/ssl_distribution.html
    
Offset 143, 22 lines modifiedOffset 143, 22 lines modified
143 </h2>143 </h2>
144 <p>Boot·scripts·are·built·using·the·<code·class="inline">systools</code>·utility·in·the·SASL·application.·For144 <p>Boot·scripts·are·built·using·the·<code·class="inline">systools</code>·utility·in·the·SASL·application.·For
145 more·information·on·<code·class="inline">systools</code>,·see·the·SASL·documentation.·This·is·only·an145 more·information·on·<code·class="inline">systools</code>,·see·the·SASL·documentation.·This·is·only·an
146 example·of·what·can·be·done.</p><p>The·simplest·boot·script·possible·includes·only·the·Kernel·and·STDLIB146 example·of·what·can·be·done.</p><p>The·simplest·boot·script·possible·includes·only·the·Kernel·and·STDLIB
147 applications.·Such·a·script·is·located·in·the·<code·class="inline">bin</code>·directory·of·the·Erlang147 applications.·Such·a·script·is·located·in·the·<code·class="inline">bin</code>·directory·of·the·Erlang
148 distribution.·The·source·for·the·script·is·found·under·the·Erlang·installation148 distribution.·The·source·for·the·script·is·found·under·the·Erlang·installation
149 top·directory·under·<code·class="inline">releases/&lt;OTP·version&gt;/start_clean.rel</code>.</p><p>Do·the·following:</p><ul><li>Copy·that·script·to·another·location·(and·preferably·another·name).</li><li>Add·the·applications·Crypto,·Public·Key,·and·SSL·with·their·current·version149 top·directory·under·<code·class="inline">releases/&lt;OTP·version&gt;/start_clean.rel</code>.</p><p>Do·the·following:</p><ul><li>Copy·that·script·to·another·location·(and·preferably·another·name).</li><li>Add·the·applications·Crypto,·Public·Key,·and·SSL·with·their·current·version
150 numbers·after·the·STDLIB·application.</li></ul><p>The·following·shows·an·example·<code·class="inline">.rel</code>·file·with·TLS·added:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="8844215487-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8844215487-2">{</span><span·class="s">&quot;OTP··APN·181·01&quot;</span><span·class="p">,</span><span·class="s">&quot;R15A&qu[·...·truncated·by·diffoscope;·len:·319,·SHA:·d4d299098079e01c55d40d898c17d54afb91ffe449e48c4be9b39f3a331ae20c·...·]-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="8996851051-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8996851051-2">{</span><span·class="s">&quot;OTP··APN·181·01&quot;</span><span·class="p">,</span><span·class="s">&quot;R15A&qu[·...·truncated·by·diffoscope;·len:·319,·SHA:·16dca5bfc87e029e89a11cc0376ec3206bb7cdfec51f6f415c249b0a8dbb04ac·...·]-3">}</span><span·class="p">,</span><span·class="w">
151 ······</span><span·class="p"·data-group-id="8844215487-4">[</span><span·class="p"·data-group-id="8844215487-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="8844215487-5">}</span><span·class="p">,</span><span·class="w">151 ······</span><span·class="p"·data-group-id="8996851051-4">[</span><span·class="p"·data-group-id="8996851051-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="8996851051-5">}</span><span·class="p">,</span><span·class="w">
152 ······</span><span·class="p"·data-group-id="8844215487-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="8844215487-6">}</span><span·class="p">,</span><span·class="w">152 ······</span><span·class="p"·data-group-id="8996851051-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="8996851051-6">}</span><span·class="p">,</span><span·class="w">
153 ······</span><span·class="p"·data-group-id="8844215487-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="8844215487-7">}</span><span·class="p">,</span><span·class="w">153 ······</span><span·class="p"·data-group-id="8996851051-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="8996851051-7">}</span><span·class="p">,</span><span·class="w">
154 ······</span><span·class="p"·data-group-id="8844215487-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="8844215487-8">}</span><span·class="p">,</span><span·class="w">154 ······</span><span·class="p"·data-group-id="8996851051-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="8996851051-8">}</span><span·class="p">,</span><span·class="w">
155 ······</span><span·class="p"·data-group-id="8844215487-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="8844215487-9">}</span><span·class="p">,</span><span·class="w">155 ······</span><span·class="p"·data-group-id="8996851051-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="8996851051-9">}</span><span·class="p">,</span><span·class="w">
156 ······</span><span·class="p"·data-group-id="8844215487-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="8844215487-10">}</span><span·class="w">156 ······</span><span·class="p"·data-group-id="8996851051-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="8996851051-10">}</span><span·class="w">
157 ······</span><span·class="p"·data-group-id="8844215487-4">]</span><span·class="p"·data-group-id="8844215487-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="8996851051-4">]</span><span·class="p"·data-group-id="8996851051-1">}</span><span·class="p">.</span></code></pre><p>The·version·numbers·differ·in·your·system.·Whenever·one·of·the·applications
158 included·in·the·script·is·upgraded,·change·the·script.</p><p>Do·the·following:</p><ul><li><p>Build·the·boot·script.</p><p>Assuming·the·<code·class="inline">.rel·file</code>·is·stored·in·a·file·<code·class="inline">start_ssl.rel</code>·in·the·current158 included·in·the·script·is·upgraded,·change·the·script.</p><p>Do·the·following:</p><ul><li><p>Build·the·boot·script.</p><p>Assuming·the·<code·class="inline">.rel·file</code>·is·stored·in·a·file·<code·class="inline">start_ssl.rel</code>·in·the·current
159 directory,·a·boot·script·can·be·built·as·follows:</p></li></ul><pre><code·class="text">···1&gt;·systools:make_script(&quot;start_ssl&quot;,[]).</code></pre><p>There·is·now·a·<code·class="inline">start_ssl.boot</code>·file·in·the·current·directory.</p><p>Do·the·following:</p><ul><li>Test·the·boot·script.·To·do·this,·start·Erlang·with·the·<code·class="inline">-boot</code>·command-line159 directory,·a·boot·script·can·be·built·as·follows:</p></li></ul><pre><code·class="text">···1&gt;·systools:make_script(&quot;start_ssl&quot;,[]).</code></pre><p>There·is·now·a·<code·class="inline">start_ssl.boot</code>·file·in·the·current·directory.</p><p>Do·the·following:</p><ul><li>Test·the·boot·script.·To·do·this,·start·Erlang·with·the·<code·class="inline">-boot</code>·command-line
160 parameter·specifying·this·boot·script·(with·its·full·path,·but·without·the160 parameter·specifying·this·boot·script·(with·its·full·path,·but·without·the
161 <code·class="inline">.boot</code>·suffix).·In·UNIX·it·can·look·as·follows:</li></ul><pre><code·class="text">$·erl·-boot·/home/me/ssl/start_ssl161 <code·class="inline">.boot</code>·suffix).·In·UNIX·it·can·look·as·follows:</li></ul><pre><code·class="text">$·erl·-boot·/home/me/ssl/start_ssl
162 Erlang·(BEAM)·emulator·version·5.0162 Erlang·(BEAM)·emulator·version·5.0
  
163 Eshell·V5.0··(abort·with·^G)163 Eshell·V5.0··(abort·with·^G)
Offset 197, 18 lines modifiedOffset 197, 18 lines modified
197 function·body·cannot·be·compiled·when·consulting·a·file.·Also·the·encoding197 function·body·cannot·be·compiled·when·consulting·a·file.·Also·the·encoding
198 of·the·file·can·be·specified·as·defined·by·module·<a·href="../../../../lib/stdlib-7.0/doc/html/epp.html"><code·class="inline">epp</code></a>.</p></section><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Do·not·tamper·with·the·socket·options·<code·class="inline">list</code>,·<code·class="inline">binary</code>,·<code·class="inline">active</code>,·<code·class="inline">packet</code>,198 of·the·file·can·be·specified·as·defined·by·module·<a·href="../../../../lib/stdlib-7.0/doc/html/epp.html"><code·class="inline">epp</code></a>.</p></section><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Do·not·tamper·with·the·socket·options·<code·class="inline">list</code>,·<code·class="inline">binary</code>,·<code·class="inline">active</code>,·<code·class="inline">packet</code>,
199 <code·class="inline">nodelay</code>·and·<code·class="inline">deliver</code>·since·they·are·used·by·the·distribution·protocol·handler199 <code·class="inline">nodelay</code>·and·<code·class="inline">deliver</code>·since·they·are·used·by·the·distribution·protocol·handler
200 itself.·Other·raw·socket·options·such·as·<code·class="inline">packet_size</code>·may·interfere·severely,200 itself.·Other·raw·socket·options·such·as·<code·class="inline">packet_size</code>·may·interfere·severely,
201 so·beware!</p></section><p>For·TLS·to·work,·at·least·a·public·key·and·a·certificate·must·be·specified·for201 so·beware!</p></section><p>For·TLS·to·work,·at·least·a·public·key·and·a·certificate·must·be·specified·for
202 the·server·side·and·the·client·needs·to·specify·CAs·that·it·trusts·(client·certification202 the·server·side·and·the·client·needs·to·specify·CAs·that·it·trusts·(client·certification
203 is·optional·and·requires·more·configuration).</p><p>In·the·following·example·(to·keep·it·simple),·the·PEM·file·<code·class="inline">&quot;/home/me/ssl/erlserver.pem&quot;</code>203 is·optional·and·requires·more·configuration).</p><p>In·the·following·example·(to·keep·it·simple),·the·PEM·file·<code·class="inline">&quot;/home/me/ssl/erlserver.pem&quot;</code>
204 contains·both·the·server·certificate·and·its·private·key·.</p><p>Create·a·file·named·for·example·<code·class="inline">&quot;/home/me/ssl/ssl_test@myhost.conf&quot;</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2958208429-1">[</span><span·class="p"·data-group-id="2958208429-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="2663426810-1">[</span><span·class="p"·data-group-id="2663426810-2">{</span><span·class="ss">server</span><span·class="p">,</span><span·class="w">
205 ··</span><span·class="p"·data-group-id="2958208429-3">[</span><span·class="p"·data-group-id="2958208429-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="2958208429[·...·truncated·by·diffoscope;·len:·106,·SHA:·128eeefbdac7b37d52326e51f23bddee6ea1dd193c75f2206d35d695b8cb8ee2·...·]-2">}</span><span·class="p">,</span><span·class="w">205 ··</span><span·class="p"·data-group-id="2663426810-3">[</span><span·class="p"·data-group-id="2663426810-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="2663426810[·...·truncated·by·diffoscope;·len:·106,·SHA:·a7fd6809b73474be41cb2d53d2a7b077f1af89d0ccb11f26d1fddeb916aa0c2b·...·]-2">}</span><span·class="p">,</span><span·class="w">
206 ·</span><span·class="p"·data-group-id="2958208429-5">{</span><span·class="ss">client</span><span·class="p">,</span><span·class="w">206 ·</span><span·class="p"·data-group-id="2663426810-5">{</span><span·class="ss">client</span><span·class="p">,</span><span·class="w">
207 ··</span><span·class="p"·data-group-id="2958208429-6">[</span><span·class="p"·data-group-id="2958208429-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="295[·...·truncated·by·diffoscope;·len:·166,·SHA:·10ec7f414fe3a685a7b4ddf963d1336e9ffa336a7ff8fc0fe340bc493537ad9e·...·]-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="2663426810-6">[</span><span·class="p"·data-group-id="2663426810-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="266[·...·truncated·by·diffoscope;·len:·166,·SHA:·5d166d296d44db5f065679a2c09695e7cb258a4e7d1ef4f3d852b83494e57f7b·...·]-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="4467161630-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="4467161630-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:·374867829c7845d7758fb158a9693b123c378fae787ec83b5fdc340d7efad69e·...·]-2">]</span><span·class="w">277 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="1533699937-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="1533699937-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:·dea6bcb906ef75f928bd69724ac644c747502ca2780638ba7075ce34ea102562·...·]-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="4467161630-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="4467161630-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="1533699937-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="1533699937-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="4467161630-4">(</span><span·class="p"·data-group-id="4467161630-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="1533699937-4">(</span><span·class="p"·data-group-id="1533699937-4">)</span><span·class="p">.</span><span·class="w">
280 </span><span·class="p"·data-group-id="4467161630-5">[</span><span·class="p"·data-group-id="4467161630-6">{</span><span·class="ss">root</span><span·class="p">,</span><span·class="p"·data-group-id="4467161630-7">[</span><span·class="s">&quot;/usr/local/erlang&quot;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·49eb734714ac089030b257861a7cf9cc1a64c7957df0316bfd3c8fd0dfd771a0·...·]-6">}</span><span·class="p">,</span><span·class="w">280 </span><span·class="p"·data-group-id="1533699937-5">[</span><span·class="p"·data-group-id="1533699937-6">{</span><span·class="ss">root</span><span·class="p">,</span><span·class="p"·data-group-id="1533699937-7">[</span><span·class="s">&quot;/usr/local/erlang&quot;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·487115dcc323da68eefb247b6717c0f808c8d10a00617f56380c697c1156e6cf·...·]-6">}</span><span·class="p">,</span><span·class="w">
281 ·</span><span·class="p"·data-group-id="4467161630-8">{</span><span·class="ss">progname</span><span·class="p">,</span><span·class="p"·data-group-id="4467161630-9">[</span><span·class="s">&quot;erl·&quot;</span><span·class="p"·data-group-id="4467161630-9">]</span><span·class="p"·data-group-id="44[·...·truncated·by·diffoscope;·len:·8,·SHA:·2747d805cf161461596d439cdd7626e1293dc88d2293f25557816ece5e62c294·...·]-8">}</span><span·class="p">,</span><span·class="w">281 ·</span><span·class="p"·data-group-id="1533699937-8">{</span><span·class="ss">progname</span><span·class="p">,</span><span·class="p"·data-group-id="1533699937-9">[</span><span·class="s">&quot;erl·&quot;</span><span·class="p"·data-group-id="1533699937-9">]</span><span·class="p"·data-group-id="15[·...·truncated·by·diffoscope;·len:·8,·SHA:·24fbcc82ed3eb1e85c5bf07717abd5c48f9c883e5bd4d3de840922ffe82e9a36·...·]-8">}</span><span·class="p">,</span><span·class="w">
282 ·</span><span·class="p"·data-group-id="4467161630-10">{</span><span·class="ss">sname</span><span·class="p">,</span><span·class="p"·data-group-id="4467161630-11">[</span><span·class="s">&quot;ssl_test&quot;</span><span·class="p"·data-group-id="4467161630-11">]</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·5dcacfd376d960135431fc3d7f93585c276feebd0c490fa412285f40b7d23488·...·]-10">}</span><span·class="p">,</span><span·class="w">282 ·</span><span·class="p"·data-group-id="1533699937-10">{</span><span·class="ss">sname</span><span·class="p">,</span><span·class="p"·data-group-id="1533699937-11">[</span><span·class="s">&quot;ssl_test&quot;</span><span·class="p"·data-group-id="1533699937-11">]</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·a90e0b0f8c3c50312398e47d25fd6ba1b287bf5de7d20c9bee1b8fc4fa6ba6ca·...·]-10">}</span><span·class="p">,</span><span·class="w">
283 ·</span><span·class="p"·data-group-id="4467161630-12">{</span><span·class="ss">boot</span><span·class="p">,</span><span·class="p"·data-group-id="4467161630-13">[</span><span·class="s">&quot;/home/me/ssl/start_ssl&quot;</span><span·class="p"·data-group-id="4467161630-13">]</span><span·class="p"·data-group-id="4467161630-12">}</span><span·class="p">,</span><span·class="w"> 
284 ·</span><span·class="p"·data-group-id="4467161630-14">{</span><span·class="ss">proto_dist</span><span·class="p">,</span><span·class="p"·data-group-id="4467161630-15">[</span><span·class="s">&quot;inet_tls&quot;</span><span·class="p"·data-group-id="4467161630-15">]</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·20,·SHA:·28abf6a676a4d12b6015f9e50ebbd985af9b2f50a6f6d591fccd0e4d2b2d4bfe·...·]">}</span><span·class="p">,</span><span·class="w">283 ·</span><span·class="p"·data-group-id="1533699937-12">{</span><span·class="ss">boot</span><span·class="p">,</span><span·class="p"·data-group-id="1533699937-13">[</span><span·class="s">&quot;/home/me/ssl/start_ssl&quot;</span><span·class="p"·data-group-id="1533699937-13">]</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·28,·SHA:·d3c454ca34b9b0d3856194fe04ba1631add1ca64cd5c41997a5b8988f3b364ab·...·]">}</span><span·class="p">,</span><span·class="w">
 284 ·</span><span·class="p"·data-group-id="1533699937-14">{</span><span·class="ss">proto_dist</span><span·class="p">,</span><span·class="p"·data-group-id="1533699937-15">[</span><span·class="s">&quot;inet_tls&quot;</span><span·class="p"·data-group-id="1533699937-15">]</span><span·class="p"·data-group-id="1533699937-14">}</span><span·class="p">,</span><span·class="w">
285 ·</span><span·class="p"·data-group-id="4467161630-16">{</span><span·class="ss">ssl_dist_opt</span><span·class="p">,</span><span·class="p"·data-group-id="4467161630-17">[</span><span·class="s">&quot;server_certfile&quot;</span><span·class="p">,</span><span·class="s">&quot;/home/me/ssl/erlserver.[·...·truncated·by·diffoscope;·len:·111,·SHA:·3e24fe38fc6c053539b4631e6ddebf56d14159b4ba0b8141596648fbe45bc4d1·...·]-16">}</span><span·class="p">,</span><span·class="w">285 ·</span><span·class="p"·data-group-id="1533699937-16">{</span><span·class="ss">ssl_dist_opt</span><span·class="p">,</span><span·class="p"·data-group-id="1533699937-17">[</span><span·class="s">&quot;server_certfile&quot;</span><span·class="p">,</span><span·class="s">&quot;/home/me/ssl/erlserver.[·...·truncated·by·diffoscope;·len:·111,·SHA:·c514168dfc27f29c632437b3a3c2a654ce02c560f13d0da809c7a938c27a044c·...·]-16">}</span><span·class="p">,</span><span·class="w">
286 ·</span><span·class="p"·data-group-id="4467161630-18">{</span><span·class="ss">ssl_dist_opt</span><span·class="p">,</span><span·class="p"·data-group-id="4467161630-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="1533699937-18">{</span><span·class="ss">ssl_dist_opt</span><span·class="p">,</span><span·class="p"·data-group-id="1533699937-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="4467161630-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="1533699937-19">]</span><span·class="w">
288 ·</span><span·class="p"·data-group-id="4467161630-20">{</span><span·class="ss">home</span><span·class="p">,</span><span·class="p"·data-group-id="4467161630-21">[</span><span·class="s">&quot;/home/me&quot;</span><span·class="p"·data-group-id="4467161630-21">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·c29b1f8c9390c830a5d5c3866a0d63d9f42d1e4ad2be543713e5d0ebd0d8b634·...·]-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="1533699937-20">{</span><span·class="ss">home</span><span·class="p">,</span><span·class="p"·data-group-id="1533699937-21">[</span><span·class="s">&quot;/home/me&quot;</span><span·class="p"·data-group-id="1533699937-21">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·cfc969446271c15f6a4dae1612d127b595ab71af2a75b46ffecb42ca2dbf6515·...·]-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.63 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl_protocol.html
    
Offset 275, 15 lines modifiedOffset 275, 15 lines modified
275 ······<p·class="built-using">275 ······<p·class="built-using">
276 ········Built·using276 ········Built·using
277 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the277 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
278 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>278 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
279 ······</p>279 ······</p>
280 <p>Copyright·©·1996-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.3/doc/html/ssl_session_cache_api.html
    
Offset 695, 15 lines modifiedOffset 695, 15 lines modified
695 ······<p·class="built-using">695 ······<p·class="built-using">
696 ········Built·using696 ········Built·using
697 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the697 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
698 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>698 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
699 ······</p>699 ······</p>
700 <p>Copyright·©·1996-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.76 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/standards_compliance.html
    
Offset 256, 15 lines modifiedOffset 256, 15 lines modified
256 ······<p·class="built-using">256 ······<p·class="built-using">
257 ········Built·using257 ········Built·using
258 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the258 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
259 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>259 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
260 ······</p>260 ······</p>
261 <p>Copyright·©·1996-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;
949 B
html2text {}
Max HTML report size reached
300 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/using_ssl.html
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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/stdlib-7.0/doc/html/api-reference.html
    
Offset 832, 15 lines modifiedOffset 832, 15 lines modified
832 ······<p·class="built-using">832 ······<p·class="built-using">
833 ········Built·using833 ········Built·using
834 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the834 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
835 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>835 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
836 ······</p>836 ······</p>
837 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>837 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
838 ····</footer>838 ····</footer>
839 ··</div>839 ··</div>
840 </main>840 </main>
841 </div>841 </div>
842 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>842 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
843 ··<script>843 ··<script>
844 ··let·initialized·=·false;844 ··let·initialized·=·false;
568 B
html2text {}
Max HTML report size reached
126 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/argparse.html
    
Offset 143, 60 lines modifiedOffset 143, 60 lines modified
143 ··</a>143 ··</a>
144 ··<span·class="text">Quick·start</span>144 ··<span·class="text">Quick·start</span>
145 </h2>145 </h2>
146 <p><code·class="inline">argparse</code>·is·designed·to·work·with·<a·href="../../../../erts-16.0/doc/html/escript_cmd.html"><code·class="inline">escript</code></a>.·The146 <p><code·class="inline">argparse</code>·is·designed·to·work·with·<a·href="../../../../erts-16.0/doc/html/escript_cmd.html"><code·class="inline">escript</code></a>.·The
147 example·below·is·a·fully·functioning·Erlang·program·accepting·two·command·line147 example·below·is·a·fully·functioning·Erlang·program·accepting·two·command·line
148 arguments·and·printing·their·product.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript148 arguments·and·printing·their·product.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript
149 </span><span·class="w">149 </span><span·class="w">
150 </span><span·class="nf">main</span><span·class="p"·data-group-id="2846831301-1">(</span><span·class="n">Args</span><span·class="p"·data-group-id="2846831301-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="3005955203-1">(</span><span·class="n">Args</span><span·class="p"·data-group-id="3005955203-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="2846831301-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="2846831301-3">(</span><span·class="p"·data-group-id="2846831301-3">)</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·305,·SHA:·eaa9e5eb14d4bcea9093161ac519b7a0420449e31f1d1700aa88d00c3244d11a·...·]-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="3005955203-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="3005955203-3">(</span><span·class="p"·data-group-id="3005955203-3">)</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·305,·SHA:·12d3d001de6484de14b2e897382aaa1945637a967077ad7bd3a358465e112d21·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
152 </span><span·class="nf">cli</span><span·class="p"·data-group-id="2846831301-5">(</span><span·class="p"·data-group-id="2846831301-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="3005955203-5">(</span><span·class="p"·data-group-id="3005955203-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
153 ····</span><span·class="p"·data-group-id="2846831301-6">#{</span><span·class="w">153 ····</span><span·class="p"·data-group-id="3005955203-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="2846831301-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="3005955203-7">[</span><span·class="w">
155 ············</span><span·class="p"·data-group-id="2846831301-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:·0d46ce48aaa2bf9e109383ea2a07ba485f0735928ab6673b993165552fdd4657·...·]-8">}</span><span·class="p">,</span><span·class="w">155 ············</span><span·class="p"·data-group-id="3005955203-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:·e4f8c63d2f27e385f141e3adc15f2fb8be0316d60c6f7e638c131c00deb7caed·...·]-8">}</span><span·class="p">,</span><span·class="w">
156 ············</span><span·class="p"·data-group-id="2846831301-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:·f4bb89a9012f75d257d9a9fe845d6a67f0defe9d7b3202b7a6e36f009fda8db6·...·]-9">}</span><span·class="w">156 ············</span><span·class="p"·data-group-id="3005955203-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:·03d0c30ae237f1c3868754268eb0422268ceb3ace397f4d8e00010cbf6503612·...·]-9">}</span><span·class="w">
157 ········</span><span·class="p"·data-group-id="2846831301-7">]</span><span·class="p">,</span><span·class="w">157 ········</span><span·class="p"·data-group-id="3005955203-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="2846831301-10">(</span><span·class="p"·data-group-id="2846831301-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:·b42a1a476964ca583a773236feb7d93ac5d93e380811fd457cf34c3a78e3f1ad·...·]-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="3005955203-10">(</span><span·class="p"·data-group-id="3005955203-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:·5442994304e651d34a97b698c05581b8358aa42ad8e12221d4b9dc62fd42dfd4·...·]-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="2846831301-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="2846831301-13">[</span><span·class="n">Left<[·...·truncated·by·diffoscope;·len:·201,·SHA:·d732129fc79b09040c63c7a2415891b056584770540d3e69121757e38b910212·...·]-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="3005955203-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="3005955203-13">[</span><span·class="n">Left<[·...·truncated·by·diffoscope;·len:·201,·SHA:·b1de9d8753f815602745b3ae3073f4697ae48f3a5e2edfb1f7a2957a0da078ca·...·]-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="2846831301-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="3005955203-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="5232928134-1">(</span><span·class="p"·data-group-id="5232928134-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="0608808479-1">(</span><span·class="p"·data-group-id="0608808479-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ··</span><span·class="p"·data-group-id="5232928134-2">#{</span><span·class="w">177 ··</span><span·class="p"·data-group-id="0608808479-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="5232928134-3">[</span><span·class="p"·data-group-id="5232928134-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="5232928134-4">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·74abdf6918f062a802b612457869957862ec0735a3138f1872b9e3e7b6b92bc3·...·]-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="0608808479-3">[</span><span·class="p"·data-group-id="0608808479-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="0608808479-4">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·2f70c9a90267bfb045ce3e39161bde196058b9f4d6233905134243666be468c1·...·]-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="5232928134-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="0608808479-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="5232928134-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="0608808479-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="5232928134-7">[</span><span·class="p"·data-group-id="5232928134-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="5232928134-8">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·74abdf6918f062a802b612457869957862ec0735a3138f1872b9e3e7b6b92bc3·...·]-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="0608808479-7">[</span><span·class="p"·data-group-id="0608808479-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="0608808479-8">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·2f70c9a90267bfb045ce3e39161bde196058b9f4d6233905134243666be468c1·...·]-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="5232928134-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="0608808479-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="5232928134-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="0608808479-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="5232928134-11">[</span><span·class="p"·data-group-id="5232928134-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="5232928134-12[·...·truncated·by·diffoscope;·len:·51,·SHA:·ab97e5bbec0bfaa5ad9b29c1c3f4f2640d9d0acc62e7b5cc6cd558821b8525ca·...·]-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="0608808479-11">[</span><span·class="p"·data-group-id="0608808479-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="0608808479-12[·...·truncated·by·diffoscope;·len:·51,·SHA:·9a11381dc6e572c95cb418048c38426c75876c4a3bbf996d09b34c7bfe1c83f6·...·]-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="5232928134-13">(</span><span·class="n">A</span><span·class="p"·data-group-id="5232928134-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:·993c99deb7f08c5cc8ea1aef63bbeb1de462388de38016155c48dc47385fd13c·...·]-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="0608808479-13">(</span><span·class="n">A</span><span·class="p"·data-group-id="0608808479-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:·ea59d7beb5f7d38b32b4f58e87edd672e596c3b52f723c8291856eb3144be7b3·...·]-14">)</span><span·class="w">·</span><span·class="k">end</span><span·class="w">
190 ··········</span><span·class="p"·data-group-id="5232928134-10">}</span><span·class="w">190 ··········</span><span·class="p"·data-group-id="0608808479-10">}</span><span·class="w">
191 ········</span><span·class="p"·data-group-id="5232928134-9">}</span><span·class="w">191 ········</span><span·class="p"·data-group-id="0608808479-9">}</span><span·class="w">
192 ······</span><span·class="p"·data-group-id="5232928134-6">}</span><span·class="w">192 ······</span><span·class="p"·data-group-id="0608808479-6">}</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="5232928134-5">}</span><span·class="w">193 ····</span><span·class="p"·data-group-id="0608808479-5">}</span><span·class="w">
194 ··</span><span·class="p"·data-group-id="5232928134-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="0608808479-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="9470817699-1">(</span><span·class="p"·data-group-id="9470817699-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="5897478621-1">(</span><span·class="p"·data-group-id="5897478621-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
214 ··</span><span·class="p"·data-group-id="9470817699-2">#{</span><span·class="w">214 ··</span><span·class="p"·data-group-id="5897478621-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="9470817699-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="5897478621-3">[</span><span·class="w">
216 ······</span><span·class="p"·data-group-id="9470817699-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:·250e8dc5e2f28a9ce01bba7ec9f3b224f9a2f74a94c5da4549609598a82a6fa9·...·]-4">}</span><span·class="p">,</span><span·class="w">216 ······</span><span·class="p"·data-group-id="5897478621-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:·31e77bc45aa60a22dbac312c8a968a0e74ee10f9033765e3f5fde24d966ec238·...·]-4">}</span><span·class="p">,</span><span·class="w">
217 ······</span><span·class="p"·data-group-id="9470817699-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:·494a3f74a65afd48e69bb7a1826270ea04093eabfd4e561d0a6f1db6a230ee7f·...·]-5">}</span><span·class="w">217 ······</span><span·class="p"·data-group-id="5897478621-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:·51cb679fb7dc02a1f7847982f6c683cf09bf315dcbac1b66db16c9322ae495be·...·]-5">}</span><span·class="w">
218 ····</span><span·class="p"·data-group-id="9470817699-3">]</span><span·class="p">,</span><span·class="w">218 ····</span><span·class="p"·data-group-id="5897478621-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="9470817699-6">(</span><span·class="n">Args</span><span·class="p"·data-group-id="9470817699-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:·08badd397d1be93f681797fd5ed861588dd6cedfc7dc2166ff418cec1e11f864·...·]-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="5897478621-6">(</span><span·class="n">Args</span><span·class="p"·data-group-id="5897478621-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:·2d6745ca7a098356c3fc4624be1511163b17cdaaa19063780c3315eaeea883a0·...·]-7">)</span><span·class="w">·</span><span·class="k">end</span><span·class="w">
220 ··</span><span·class="p"·data-group-id="9470817699-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="5897478621-2">}</span><span·class="p">.</span></code></pre><p>Running·<code·class="inline">./args·--long=VALUE</code>·prints·<code·class="inline">#{long·=&gt;·&quot;VALUE&quot;}</code>,·running
221 <code·class="inline">./args·-sVALUE</code>·prints·<code·class="inline">#{short·=&gt;·&quot;VALUE&quot;}</code></p><p><code·class="inline">argparse</code>·supports·boolean·flags·concatenation:·it·is·possible·to·shorten221 <code·class="inline">./args·-sVALUE</code>·prints·<code·class="inline">#{short·=&gt;·&quot;VALUE&quot;}</code></p><p><code·class="inline">argparse</code>·supports·boolean·flags·concatenation:·it·is·possible·to·shorten
222 <code·class="inline">-r·-f·-v</code>·to·<code·class="inline">-rfv</code>.</p><p>Shortened·option·names·are·not·supported:·it·is·not·possible·to·use·<code·class="inline">--my-argum</code>222 <code·class="inline">-r·-f·-v</code>·to·<code·class="inline">-rfv</code>.</p><p>Shortened·option·names·are·not·supported:·it·is·not·possible·to·use·<code·class="inline">--my-argum</code>
223 instead·of·<code·class="inline">--my-argument-name</code>·even·when·such·option·can·be·unambiguously223 instead·of·<code·class="inline">--my-argument-name</code>·even·when·such·option·can·be·unambiguously
224 found.</p>224 found.</p>
225 ····</section>225 ····</section>
  
226 </div>226 </div>
Offset 636, 119 lines modifiedOffset 636, 119 lines modified
636 as·optional.·Optional·arguments·do·not·have·specific·order·and·may·appear636 as·optional.·Optional·arguments·do·not·have·specific·order·and·may·appear
637 anywhere·in·the·command·line.·Positional·arguments·are·ordered·the·same·way·as637 anywhere·in·the·command·line.·Positional·arguments·are·ordered·the·same·way·as
638 they·appear·in·the·arguments·list·of·the·command·specification.</p><p>By·default,·all·positional·arguments·must·be·present·in·the·command·line.·The638 they·appear·in·the·arguments·list·of·the·command·specification.</p><p>By·default,·all·positional·arguments·must·be·present·in·the·command·line.·The
639 parser·will·return·an·error·otherwise.·Options,·however,·may·be·omitted,·in639 parser·will·return·an·error·otherwise.·Options,·however,·may·be·omitted,·in
640 which·case·resulting·argument·map·will·either·contain·the·default·value,·or·not640 which·case·resulting·argument·map·will·either·contain·the·default·value,·or·not
641 have·the·key·at·all.</p><ul><li><p><strong><code·class="inline">name</code></strong>·-·Sets·the·argument·name·in·the·parsed·argument·map.·If·<code·class="inline">help</code>·is641 have·the·key·at·all.</p><ul><li><p><strong><code·class="inline">name</code></strong>·-·Sets·the·argument·name·in·the·parsed·argument·map.·If·<code·class="inline">help</code>·is
642 not·defined,·name·is·also·used·to·generate·the·default·usage·message.</p></li><li><p><strong><code·class="inline">short</code></strong>·-·Defines·a·short·(single·character)·form·of·an·optional·argument.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Define·a·command·accepting·argument·named·myarg,·with·short·form·$a:</span><span·class="gp·unselectable">642 not·defined,·name·is·also·used·to·generate·the·default·usage·message.</p></li><li><p><strong><code·class="inline">short</code></strong>·-·Defines·a·short·(single·character)·form·of·an·optional·argument.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Define·a·command·accepting·argument·named·myarg,·with·short·form·$a:</span><span·class="gp·unselectable">
643 1&gt;·</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7216704214-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="7216704214-2">[</span><span·class="p"·data-group-id="7216704214-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·442,·SHA:·6fe50a7a7cc9f831ae76c72bf823c6a6a38cf133f9658cebcc94e4fd92ed233d·...·]-1">}</span><span·class="p">.</span><span·class="w">643 1&gt;·</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0519685626-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="0519685626-2">[</span><span·class="p"·data-group-id="0519685626-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·442,·SHA:·8c780d2108be815b24fc428ca5277c793fe0d5ecae97ce2265d759eb743b7c02·...·]-1">}</span><span·class="p">.</span><span·class="w">
644 </span><span·class="c1">%%·Parse·command·line·&quot;-a·str&quot;:</span><span·class="gp·unselectable">644 </span><span·class="c1">%%·Parse·command·line·&quot;-a·str&quot;:</span><span·class="gp·unselectable">
645 2&gt;·</span><span·class="p"·data-group-id="7216704214-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:·e4eca91f4e4cffcc818f78bbebf8b97b4ee420a357289790e090b91784ff58be·...·]-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">645 2&gt;·</span><span·class="p"·data-group-id="0519685626-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:·02c1e4b4e276277fb5698fb300a3485f51ab38ff25e1842537a7854af9f238d5·...·]-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">
  
646 </span><span·class="p"·data-group-id="7216704214-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="7216704214-7">}</span><span·class="w">646 </span><span·class="p"·data-group-id="0519685626-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="0519685626-7">}</span><span·class="w">
  
647 </span><span·class="c1">%%·Option·value·can·be·concatenated·with·the·switch:·&quot;-astr&quot;</span><span·class="gp·unselectable">647 </span><span·class="c1">%%·Option·value·can·be·concatenated·with·the·switch:·&quot;-astr&quot;</span><span·class="gp·unselectable">
648 3&gt;·</span><span·class="p"·data-group-id="7216704214-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:·db628a57fc786546c90af6fa0730bbbba648134f17339fc11f3bc21ac621e090·...·]-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">648 3&gt;·</span><span·class="p"·data-group-id="0519685626-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:·1020569b195d85c48e7067da7da72b212b741d0a39c664da45ddd9745e95087e·...·]-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">
  
649 </span><span·class="p"·data-group-id="7216704214-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="7216704214-11">}</span></code></pre><p>By·default·all·options·expect·a·single·value·following·the·option·switch.·The649 </span><span·class="p"·data-group-id="0519685626-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="0519685626-11">}</span></code></pre><p>By·default·all·options·expect·a·single·value·following·the·option·switch.·The
650 only·exception·is·an·option·of·a·boolean·type.</p></li><li><p><strong><code·class="inline">long</code></strong>·-·Defines·a·long·form·of·an·optional·argument.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4972075671-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="4972075671-2">[</span><span·class="p"·data-group-id="4972075671-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·454,·SHA:·90f37438142c538e6f3dd873c9a478ef898fb59c104d4c09352e9341fb643498·...·]-1">}</span><span·class="p">.</span><span·class="w">650 only·exception·is·an·option·of·a·boolean·type.</p></li><li><p><strong><code·class="inline">long</code></strong>·-·Defines·a·long·form·of·an·optional·argument.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0193722184-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="0193722184-2">[</span><span·class="p"·data-group-id="0193722184-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·454,·SHA:·cc42f2161549cfd2d17f469179324feaaa3202877b5767035f02a5d6c1f04e85·...·]-1">}</span><span·class="p">.</span><span·class="w">
651 </span><span·class="c1">%%·Parse·command·line·&quot;-name·Erlang&quot;:</span><span·class="gp·unselectable">651 </span><span·class="c1">%%·Parse·command·line·&quot;-name·Erlang&quot;:</span><span·class="gp·unselectable">
652 2&gt;·</span><span·class="p"·data-group-id="4972075671-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:·e0b994e2a5f5408c173d634d7dab82a38ee67073c9fa15d88fada2742475d928·...·]-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">652 2&gt;·</span><span·class="p"·data-group-id="0193722184-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:·cea9ee37fdbfb7323d09b7580d999b861f6ef4cbd06f18406075845b0d374785·...·]-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">
  
653 </span><span·class="p"·data-group-id="4972075671-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="4972075671-7">}</span><span·class="w">653 </span><span·class="p"·data-group-id="0193722184-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="0193722184-7">}</span><span·class="w">
654 </span><span·class="c1">%%·Or·use·&quot;=&quot;·to·separate·the·switch·and·the·value:</span><span·class="gp·unselectable">654 </span><span·class="c1">%%·Or·use·&quot;=&quot;·to·separate·the·switch·and·the·value:</span><span·class="gp·unselectable">
655 3&gt;·</span><span·class="p"·data-group-id="4972075671-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:·8f285bd40afa8157dff4819a49afe32d6cd8c9460c8f756c6e6932b64c8381fe·...·]-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">655 3&gt;·</span><span·class="p"·data-group-id="0193722184-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:·a6fab700d1eeb6976ae4632686d91cfff5daf88a87cfb33a0c89c5d5705421d7·...·]-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">
  
656 </span><span·class="p"·data-group-id="4972075671-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="4972075671-11">}</span></code></pre><p>If·neither·<code·class="inline">short</code>·not·<code·class="inline">long</code>·is·defined,·the·argument·is·treated·as656 </span><span·class="p"·data-group-id="0193722184-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="0193722184-11">}</span></code></pre><p>If·neither·<code·class="inline">short</code>·not·<code·class="inline">long</code>·is·defined,·the·argument·is·treated·as
657 positional.</p></li><li><p><strong><code·class="inline">required</code></strong>·-·Forces·the·parser·to·expect·the·argument·to·be·present·in·the657 positional.</p></li><li><p><strong><code·class="inline">required</code></strong>·-·Forces·the·parser·to·expect·the·argument·to·be·present·in·the
658 command·line.·By·default,·all·positional·argument·are·required,·and·all658 command·line.·By·default,·all·positional·argument·are·required,·and·all
659 options·are·not.</p></li><li><p><strong><code·class="inline">default</code></strong>·-·Specifies·the·default·value·to·put·in·the·parsed·argument·map659 options·are·not.</p></li><li><p><strong><code·class="inline">default</code></strong>·-·Specifies·the·default·value·to·put·in·the·parsed·argument·map
660 if·the·value·is·not·supplied·in·the·command·line.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="0865481029-1">(</span><span·class="p"·data-group-id="0865481029-2">[</span><span·class="p"·data-group-id="0865481029-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0865481029-3">#{</span><span·class="ss">arguments[·...·truncated·by·diffoscope;·len:·702,·SHA:·01577de1e04b699bf7257640e4e8bb60be878b9a526097aaf3d4da94672159d0·...·]-1">)</span><span·class="p">.</span><span·class="w">660 if·the·value·is·not·supplied·in·the·command·line.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="4954425862-1">(</span><span·class="p"·data-group-id="4954425862-2">[</span><span·class="p"·data-group-id="4954425862-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4954425862-3">#{</span><span·class="ss">arguments[·...·truncated·by·diffoscope;·len:·702,·SHA:·775caa7bb54d91adde1b07d4f4653e29bba9556c397dccb93dbea90607b8573e·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
661 </span><span·class="p"·data-group-id="0865481029-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0865481029-7">#{</span><span·class="p"·data-group-id="0865481029-7">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">661 </span><span·class="p"·data-group-id="4954425862-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4954425862-7">#{</span><span·class="p"·data-group-id="4954425862-7">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">
662 2&gt;·</span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="0865481029-8">(</span><span·class="p"·data-group-id="0865481029-9">[</span><span·class="p"·data-group-id="0865481029-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0865481029-10">#{</span><span·class="ss">argument[·...·truncated·by·diffoscope;·len:·901,·SHA:·a1355acf6acc6a64a50cd44a3f424edd26c383b5f54ceb851813e1ce767f19bd·...·]-8">)</span><span·class="p">.</span><span·class="w">662 2&gt;·</span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="4954425862-8">(</span><span·class="p"·data-group-id="4954425862-9">[</span><span·class="p"·data-group-id="4954425862-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4954425862-10">#{</span><span·class="ss">argument[·...·truncated·by·diffoscope;·len:·901,·SHA:·71b21a7bf76cc6b009d446feac0441f2ece92005ce7690a6d76d442447cd6acb·...·]-8">)</span><span·class="p">.</span><span·class="w">
  
663 </span><span·class="p"·data-group-id="0865481029-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0865481029-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:·bc9908b33b88fb78162f5b3d8593f27e75e63b39fd407be4be9e5ffd885a3b3e·...·]-14">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre></li><li><p><strong><code·class="inline">type</code></strong>·-·Defines·type·conversion·and·validation·routine.·The·default·is663 </span><span·class="p"·data-group-id="4954425862-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4954425862-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:·3164e08be7c9932c24a4f003227f1c7e030920626c64bbc819ce044a0ec84dda·...·]-14">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre></li><li><p><strong><code·class="inline">type</code></strong>·-·Defines·type·conversion·and·validation·routine.·The·default·is
664 <code·class="inline">string</code>,·assuming·no·conversion.</p></li><li><p><strong><code·class="inline">nargs</code></strong>·-·Defines·the·number·of·following·arguments·to·consume·from·the664 <code·class="inline">string</code>,·assuming·no·conversion.</p></li><li><p><strong><code·class="inline">nargs</code></strong>·-·Defines·the·number·of·following·arguments·to·consume·from·the
665 command·line.·By·default,·the·parser·consumes·the·next·argument·and·converts665 command·line.·By·default,·the·parser·consumes·the·next·argument·and·converts
666 it·into·an·Erlang·term·according·to·the·specified·type.</p><ul><li><p><strong><a·href="../../../../erts-16.0/doc/html/erlang.html#t:pos_integer/0"><code·class="inline">pos_integer/0</code></a></strong>·-·Consume·exactly·this·number·of·positional·arguments,666 it·into·an·Erlang·term·according·to·the·specified·type.</p><ul><li><p><strong><a·href="../../../../erts-16.0/doc/html/erlang.html#t:pos_integer/0"><code·class="inline">pos_integer/0</code></a></strong>·-·Consume·exactly·this·number·of·positional·arguments,
667 fail·if·there·is·not·enough.·Value·in·the·argument·map·contains·a·list·of667 fail·if·there·is·not·enough.·Value·in·the·argument·map·contains·a·list·of
668 exactly·this·length.·Example,·defining·a·positional·argument·expecting·3668 exactly·this·length.·Example,·defining·a·positional·argument·expecting·3
669 integer·values:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8774838797-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="8774838797-2">[</span><span·class="p"·data-group-id="8774838797-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·621,·SHA:·1dc8a66de76e254a140d73472da6cff07eb34d982e516170a4e4f2ae7cabb67d·...·]97-1">}</span><span·class="p">,</span><span·class="w">669 integer·values:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2954950597-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="2954950597-2">[</span><span·class="p"·data-group-id="2954950597-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·621,·SHA:·9eea8e4bd76d9639e08e44c246947c132de475dd09516e8003bf3f8049accf41·...·]97-1">}</span><span·class="p">,</span><span·class="w">
670 </span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="8774838797-4">(</span><span·class="p"·data-group-id="8774838797-5">[</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·189,·SHA:·681146626caf846af91176addaa2c48f8f06a834729543d1733ce37f8e618445·...·]97-4">)</span><span·class="p">.</span><span·class="w">670 </span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="2954950597-4">(</span><span·class="p"·data-group-id="2954950597-5">[</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·189,·SHA:·4360e1be67d4a5abaf1edb1f133de0010e5727c91e28ee5d33caab406df28c02·...·]97-4">)</span><span·class="p">.</span><span·class="w">
  
Max diff block lines reached; 69075/128704 bytes (53.67%) of diff not shown.
679 B
html2text {}
Max HTML report size reached
26.5 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/array.html
    
Offset 132, 22 lines modifiedOffset 132, 22 lines modified
132 is·used·for·entries·that·have·not·been·explicitly·set.</p><p>Arrays·uses·<em>zero</em>-based·indexing.·This·is·a·deliberate·design·choice·and132 is·used·for·entries·that·have·not·been·explicitly·set.</p><p>Arrays·uses·<em>zero</em>-based·indexing.·This·is·a·deliberate·design·choice·and
133 differs·from·other·Erlang·data·structures,·for·example,·tuples.</p><p>Unless·specified·by·the·user·when·the·array·is·created,·the·default·value·is·the133 differs·from·other·Erlang·data·structures,·for·example,·tuples.</p><p>Unless·specified·by·the·user·when·the·array·is·created,·the·default·value·is·the
134 atom·<code·class="inline">undefined</code>.·There·is·no·difference·between·an·unset·entry·and·an·entry134 atom·<code·class="inline">undefined</code>.·There·is·no·difference·between·an·unset·entry·and·an·entry
135 that·has·been·explicitly·set·to·the·same·value·as·the·default·one·(compare135 that·has·been·explicitly·set·to·the·same·value·as·the·default·one·(compare
136 <a·href="#reset/2"><code·class="inline">reset/2</code></a>).·If·you·need·to·differentiate·between·unset·and·set·entries,·ensure136 <a·href="#reset/2"><code·class="inline">reset/2</code></a>).·If·you·need·to·differentiate·between·unset·and·set·entries,·ensure
137 that·the·default·value·cannot·be·confused·with·the·values·of·set·entries.</p><p>The·array·never·shrinks·automatically.·If·an·index·<code·class="inline">I</code>·has·been·used·to·set·an137 that·the·default·value·cannot·be·confused·with·the·values·of·set·entries.</p><p>The·array·never·shrinks·automatically.·If·an·index·<code·class="inline">I</code>·has·been·used·to·set·an
138 entry·successfully,·all·indices·in·the·range·<code·class="inline">[0,I]</code>·stay·accessible·unless·the138 entry·successfully,·all·indices·in·the·range·<code·class="inline">[0,I]</code>·stay·accessible·unless·the
139 array·size·is·explicitly·changed·by·calling·<a·href="#resize/2"><code·class="inline">resize/2</code></a>.</p><p><em>Examples:</em></p><p>Create·a·fixed-size·array·with·entries·0-9·set·to·<code·class="inline">undefined</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="2690038803-1">(</span><span·class="mi">10</span><span·class="p"·data-group-id="2690038803-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="6643834148-1">(</span><span·class="mi">10</span><span·class="p"·data-group-id="6643834148-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="2690038803-2">(</span><span·class="n">A0</span><span·class="p"·data-group-id="2690038803-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="6643834148-2">(</span><span·class="n">A0</span><span·class="p"·data-group-id="6643834148-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="4631713530-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:·a9f8a9d1c0eab1e4b6dff8b23faeb341916fd723f6678fc8b895c916df50624f·...·]-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="1723131906-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:·20488eed45c1c2c3952417ca2103fd1a2400a879948833fba04650f4ebbab20d·...·]-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="4631713530-3">(</span><span·class="n">A1</span><span·class="p"·data-group-id="4631713530-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="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="3075086866-1">(</span><span·class="mi">17</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A1</span><span·class="p"·data-group-id="3075086866-1">)</span><span·class="p">.</span></code></pre><p>Accessing·an·unset·entry·returns·default·value:</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="4717947934-1">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A1</span><span·class="p"·data-group-id="4717947934-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="2293582832-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="2293582832-1">)</span><span·class="p">.</span></code></pre><p>&quot;Sparse&quot;·functions·ignore·default-valued·entries:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A2</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="3518375448-1">(</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A1</span><span·class="p"·data-group-id="3518375448-1">)</span><span·class="p">.</span><span·class="w"> 
144 </span><span·class="p"·data-group-id="3518375448-2">[</span><span·class="p"·data-group-id="3518375448-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="3518375448-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3518375448-4">{</span><span·class="mi">17</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="3518375448-4">}</span><span·class="p"·data-group-id="3518375448-2">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">sparse_to_orddict</span><span·class="p"·data-group-id="3518375448-5">(</span><span·class="n">A2</span><span·class="p"·data-group-id="3518375448-5">)</span><span·class="p">.</span></code></pre><p>An·extendible·array·can·be·made·fixed-size·later:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">fix</span><span·class="p"·data-group-id="9262790760-1">(</span><span·class="n">A2</span><span·class="p"·data-group-id="9262790760-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="4422763906-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4422763906-2">{</span><span·clas[·...·truncated·by·diffoscope;·len:·805,·SHA:·66fc3bcc545cadf32b53a9aff5d7ea56a48d977d87c970e79ff800a0442a6904·...·]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="1723131906-3">(</span><span·class="n">A[·...·truncated·by·diffoscope;·len:·1186,·SHA:·2030146f6b84907f9ae5c4dba1932e8364b18ee4ec4f08b7c10b6ecc629362ed·...·]
 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="8273444237-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="8273444237-1">)</span><span·class="p">.</span></code></pre><p>&quot;Sparse&quot;·functions·ignore·default-valued·entries:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A2</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="3928336680-1">(</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A1</span><span·class="p"·data-group-id="3928336680-1">)</span><span·class="p">.</span><span·class="w">
 144 </span><span·class="p"·data-group-id="3928336680-2">[</span><span·class="p"·data-group-id="3928336680-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="3928336680-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3928336680-4">{</span><span·class="mi">17</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="3928336680-4">}</span><span·class="p"·data-group-id="3928336680-2">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">sparse_to_orddict</span><span·class="p"·data-group-id="3928336680-5">(</span><span·class="n">A2</span><span·class="p"·data-group-id="3928336680-5">)</span><span·class="p">.</span></code></pre><p>An·extendible·array·can·be·made·fixed-size·later:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">fix</span><span·class="p"·data-group-id="1222483225-1">(</span><span·class="n">A2</span><span·class="p"·data-group-id="1222483225-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="3648021383-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="3648021383-2">{</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="3648021383-2">}</span><span·class="p"·data-group-id="3648021383-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3648021383-3">(</span><span·class="k">catch</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">set</span><span·class="p"·data-group-id="3648021383-4">(</span><span·class="mi">18</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A3</span><span·class="p"·data-group-id="3648021383-4">)</span><span·class="p"·data-group-id="3648021383-3">)</span><span·class="p">.</span><span·class="w">
146 </span><span·class="p"·data-group-id="4422763906-5">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4422763906-6">{</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="4422763906[·...·truncated·by·diffoscope;·len:·568,·SHA:·d3b3e5f657759c5f2c2ef69eb60d050ecf125973f20e411025ab22a9e46cf14f·...·]-7">)</span><span·class="p">.</span></code></pre>146 </span><span·class="p"·data-group-id="3648021383-5">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="3648021383-6">{</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="3648021383[·...·truncated·by·diffoscope;·len:·568,·SHA:·e18587d1dbc9fcdb10cc5614c0b2db35311f9ff5fa727c6d016a5f865c10df94·...·]-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="9447017995-1">(</span><span·class="mi">100</span><span·class="p"·data-group-id="9447017995-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:·f2e790dc3f474b4857a8825ef88ec4953a740dc407731801eec09b8e65b5946e·...·]-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="7831659062-1">(</span><span·class="mi">100</span><span·class="p"·data-group-id="7831659062-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:·5a6e679b7ff09a9008db577d365e72bdb3932311a9afc33b571b031d6f6de6de·...·]-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="8207300144-1">(</span><span·class="mi">100</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8207300144-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:·2d761e2617cfcc901a03d61e52b5fd33a7ad08bc186400429ecb3add58f9839c·...·]-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="6389791021-1">(</span><span·class="mi">100</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6389791021-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:·3466c0a2cc4be5029beb8e71159982aead96b11bd03b6dbafe70f28834dcab65·...·]-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.62 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/assert_hrl.html
    
Offset 128, 15 lines modifiedOffset 128, 15 lines modified
128 <p>Assert·macros.</p><h2·id="description"·class="section-heading">128 <p>Assert·macros.</p><h2·id="description"·class="section-heading">
129 ··<a·href="#description"·class="hover-link">129 ··<a·href="#description"·class="hover-link">
130 ····<i·class="ri-link-m"·aria-hidden="true"></i>130 ····<i·class="ri-link-m"·aria-hidden="true"></i>
131 ··</a>131 ··</a>
132 ··<span·class="text">Description</span>132 ··<span·class="text">Description</span>
133 </h2>133 </h2>
134 <p>The·include·file·<code·class="inline">assert.hrl</code>·provides·macros·for·inserting·assertions·in·your134 <p>The·include·file·<code·class="inline">assert.hrl</code>·provides·macros·for·inserting·assertions·in·your
135 program·code.</p><p>Include·the·following·directive·in·the·module·from·which·the·function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="7300909565-1">(</span><span·class="s">&quot;stdlib/include/assert.hrl&quot;</span><span·class="p"·data-group-id="7300909565-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="7549093850-1">(</span><span·class="s">&quot;stdlib/include/assert.hrl&quot;</span><span·class="p"·data-group-id="7549093850-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="3518212044-1">(</span><span·class="p"·data-group-id="3518212044-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="3518212044-2">}</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·390,·SHA:·ade7471232acfd4cfd337fa3c255444113f44f3180e1fad5f169fc174e6ca40e·...·]-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="3055940209-1">(</span><span·class="p"·data-group-id="3055940209-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="3055940209-2">}</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·390,·SHA:·18c86ea204059fe2128048edb8dcffc40148637c9bd2c04ff11ac7e37ae9923c·...·]-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;
688 B
html2text {}
Max HTML report size reached
11.9 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/base64.html
    
Offset 649, 24 lines modifiedOffset 649, 24 lines modified
649 ····················Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>().</pre>649 ····················Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>().</pre>
  
650 ······</div>650 ······</div>
  
651 <p>Decodes·a·base64·string·encoded·using·the·standard·alphabet·according·to651 <p>Decodes·a·base64·string·encoded·using·the·standard·alphabet·according·to
652 <a·href="https://datatracker.ietf.org/doc/html/rfc4648#section-4">RFC·4648·Section·4</a>·to652 <a·href="https://datatracker.ietf.org/doc/html/rfc4648#section-4">RFC·4648·Section·4</a>·to
653 plain·ASCII.</p><p>The·function·will·strips·away·any·whitespace·characters·and·check·for·the653 plain·ASCII.</p><p>The·function·will·strips·away·any·whitespace·characters·and·check·for·the
654 the·correct·number·of·<code·class="inline">=</code>·padding·characters·at·the·end·of·the·encoded·string.</p><p>See·<a·href="#t:decode_options/0"><code·class="inline">decode_options/0</code></a>·for·details·on·which·options·can·be·passed.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="8844048370-1">(</span><span·class="s">&quot;AQIDBA==&quot;</span><span·class="p"·data-group-id="8844048370-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="8362910806-1">(</span><span·class="s">&quot;AQIDBA==&quot;</span><span·class="p"·data-group-id="8362910806-1">)</span><span·class="p">.</span><span·class="w">
655 </span><span·class="p"·data-group-id="8844048370-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="8844048370-2">&gt;&gt;</span><span·class="gp·unselectable">655 </span><span·class="p"·data-group-id="8362910806-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="8362910806-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="8844048370-3">(</span><span·class="s">&quot;AQ·ID·BA==&quot;</span><span·class="p"·data-group-id="8844048370-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="8362910806-3">(</span><span·class="s">&quot;AQ·ID·BA==&quot;</span><span·class="p"·data-group-id="8362910806-3">)</span><span·class="p">.</span><span·class="w">
657 </span><span·class="p"·data-group-id="8844048370-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="8844048370-4">&gt;&gt;</span><span·class="gp·unselectable">657 </span><span·class="p"·data-group-id="8362910806-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="8362910806-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="8844048370-5">(</span><span·class="s">&quot;AQIDBA=&quot;</span><span·class="p"·data-group-id="8844048370-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="8362910806-5">(</span><span·class="s">&quot;AQIDBA=&quot;</span><span·class="p"·data-group-id="8362910806-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="8844048370-6">(</span><span·class="s">&quot;AQIDBA=&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8844048370-7">#{</span><span·class="w">·</span><span·class="ss">padding</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·187,·SHA:·1da9ec66c5a6b1ae5d583f59c7f2dc5286407ba95afcfdd4f59a6560599ed178·...·]-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="8362910806-6">(</span><span·class="s">&quot;AQIDBA=&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8362910806-7">#{</span><span·class="w">·</span><span·class="ss">padding</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·187,·SHA:·115a94aa8ec2aafd630f60bd91bea54d9228ebd503ab01743e7cfff531dc08b9·...·]-6">)</span><span·class="p">.</span><span·class="w">
663 </span><span·class="p"·data-group-id="8844048370-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="8844048370-8">&gt;&gt;</span></code></pre>663 </span><span·class="p"·data-group-id="8362910806-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="8362910806-8">&gt;&gt;</span></code></pre>
664 ··</section>664 ··</section>
665 </section>665 </section>
666 <section·class="detail"·id="decode_to_string/1">666 <section·class="detail"·id="decode_to_string/1">
  
667 ··<div·class="detail-header">667 ··<div·class="detail-header">
668 ····<a·href="#decode_to_string/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">668 ····<a·href="#decode_to_string/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
669 ······<i·class="ri-link-m"·aria-hidden="true"></i>669 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 896, 18 lines modifiedOffset 896, 18 lines modified
896 ·························Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>().</pre>896 ·························Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>().</pre>
  
897 ······</div>897 ······</div>
  
898 <p>Decodes·a·base64·&quot;mime&quot;·string·encoded·using·the·standard·alphabet·according·to898 <p>Decodes·a·base64·&quot;mime&quot;·string·encoded·using·the·standard·alphabet·according·to
899 <a·href="https://datatracker.ietf.org/doc/html/rfc4648#section-4">RFC·4648·Section·4</a>·to899 <a·href="https://datatracker.ietf.org/doc/html/rfc4648#section-4">RFC·4648·Section·4</a>·to
900 plain·ASCII.</p><p>The·function·will·strips·away·any·illegal·characters.·It·does·<em>not</em>·check·for·the900 plain·ASCII.</p><p>The·function·will·strips·away·any·illegal·characters.·It·does·<em>not</em>·check·for·the
901 the·correct·number·of·<code·class="inline">=</code>·padding·characters·at·the·end·of·the·encoded·string.</p><p>See·<a·href="#t:decode_options/0"><code·class="inline">decode_options/0</code></a>·for·details·on·which·options·can·be·passed.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">mime_decode</span><span·class="p"·data-group-id="0889753915-1">(</span><span·class="s">&quot;AQIDBA==&quot;</span><span·class="p"·data-group-id="0889753915-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="0251141534-1">(</span><span·class="s">&quot;AQIDBA==&quot;</span><span·class="p"·data-group-id="0251141534-1">)</span><span·class="p">.</span><span·class="w">
902 </span><span·class="p"·data-group-id="0889753915-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="0889753915-2">&gt;&gt;</span><span·class="gp·unselectable">902 </span><span·class="p"·data-group-id="0251141534-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="0251141534-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="0889753915-3">(</span><span·class="s">&quot;AQIDB=A=&quot;</span><span·class="p"·data-group-id="0889753915-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="0251141534-3">(</span><span·class="s">&quot;AQIDB=A=&quot;</span><span·class="p"·data-group-id="0251141534-3">)</span><span·class="p">.</span><span·class="w">
904 </span><span·class="p"·data-group-id="0889753915-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="0889753915-4">&gt;&gt;</span></code></pre>904 </span><span·class="p"·data-group-id="0251141534-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="0251141534-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-7.0/doc/html/beam_lib.html
    
Offset 147, 16 lines modifiedOffset 147, 16 lines modified
147 <a·href="#strip_files/1"><code·class="inline">strip_files/1</code></a>,·and/or·<a·href="#strip_release/1"><code·class="inline">strip_release/1</code></a>.</p><h2·id="module-reconstruct-source-code"·class="section-heading">147 <a·href="#strip_files/1"><code·class="inline">strip_files/1</code></a>,·and/or·<a·href="#strip_release/1"><code·class="inline">strip_release/1</code></a>.</p><h2·id="module-reconstruct-source-code"·class="section-heading">
148 ··<a·href="#module-reconstruct-source-code"·class="hover-link">148 ··<a·href="#module-reconstruct-source-code"·class="hover-link">
149 ····<i·class="ri-link-m"·aria-hidden="true"></i>149 ····<i·class="ri-link-m"·aria-hidden="true"></i>
150 ··</a>150 ··</a>
151 ··<span·class="text">Reconstruct·Source·Code</span>151 ··<span·class="text">Reconstruct·Source·Code</span>
152 </h2>152 </h2>
153 <p>The·following·example·shows·how·to·reconstruct·Erlang·source·code·from·the·debug153 <p>The·following·example·shows·how·to·reconstruct·Erlang·source·code·from·the·debug
154 information·in·a·BEAM·file·<code·class="inline">Beam</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2349638122-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2349638122-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p"·data-group-id="2349638122-3">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·921,·SHA:·5b54240db3321efe3d20c560399dc754a301c5c49bc05819e8e6aef67ef08e44·...·]-6">)</span><span·class="p">.</span><span·class="w">154 information·in·a·BEAM·file·<code·class="inline">Beam</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5788358920-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5788358920-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p"·data-group-id="5788358920-3">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·921,·SHA:·f60f35baf3ab83125d82bf944ec1d060865bcde3bbb0d9e7387ec06829865eed·...·]-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="2349638122-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="2349638122-9">[</span><span·class="nc">erl_pr[·...·truncated·by·diffoscope;·len:·493,·SHA:·455f592b52468ba6001c390e3b30cecf46fb9f5600a39980174894ff03e674ce·...·]-8">)</span><span·class="p">.</span></code></pre><h2·id="module-encrypted-debug-information"·class="section-heading">155 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">fwrite</span><span·class="p"·data-group-id="5788358920-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="5788358920-9">[</span><span·class="nc">erl_pr[·...·truncated·by·diffoscope;·len:·493,·SHA:·b98aafd4c2d780afba82fa028cb54cfe0f40829d522f0415ff51bbaeca25be12·...·]-8">)</span><span·class="p">.</span></code></pre><h2·id="module-encrypted-debug-information"·class="section-heading">
156 ··<a·href="#module-encrypted-debug-information"·class="hover-link">156 ··<a·href="#module-encrypted-debug-information"·class="hover-link">
157 ····<i·class="ri-link-m"·aria-hidden="true"></i>157 ····<i·class="ri-link-m"·aria-hidden="true"></i>
158 ··</a>158 ··</a>
159 ··<span·class="text">Encrypted·Debug·Information</span>159 ··<span·class="text">Encrypted·Debug·Information</span>
160 </h2>160 </h2>
161 <p>The·debug·information·can·be·encrypted·to·keep·the·source·code·secret,·but·still161 <p>The·debug·information·can·be·encrypted·to·keep·the·source·code·secret,·but·still
162 be·able·to·use·tools·such·as·Debugger·or·Xref.</p><p>To·use·encrypted·debug·information,·a·key·must·be·provided·to·the·compiler·and162 be·able·to·use·tools·such·as·Debugger·or·Xref.</p><p>To·use·encrypted·debug·information,·a·key·must·be·provided·to·the·compiler·and
Offset 178, 21 lines modifiedOffset 178, 21 lines modified
178 ··</a>178 ··</a>
179 ··<span·class="text">.erlang.crypt</span>179 ··<span·class="text">.erlang.crypt</span>
180 </h2>180 </h2>
181 <p><code·class="inline">beam_lib</code>·searches·for·<code·class="inline">.erlang.crypt</code>·in·the·current·directory,·then·the181 <p><code·class="inline">beam_lib</code>·searches·for·<code·class="inline">.erlang.crypt</code>·in·the·current·directory,·then·the
182 <a·href="../../../../erts-16.0/doc/html/init.html#home">user's·home·directory</a>·and·then182 <a·href="../../../../erts-16.0/doc/html/init.html#home">user's·home·directory</a>·and·then
183 <a·href="filename.html#user_config"><code·class="inline">filename:basedir(user_config,·&quot;erlang&quot;)</code></a>.·If·the183 <a·href="filename.html#user_config"><code·class="inline">filename:basedir(user_config,·&quot;erlang&quot;)</code></a>.·If·the
184 file·is·found·and·contains·a·key,·<code·class="inline">beam_lib</code>·implicitly·creates·a·crypto·key·fun184 file·is·found·and·contains·a·key,·<code·class="inline">beam_lib</code>·implicitly·creates·a·crypto·key·fun
185 and·registers·it.</p><p>File·<code·class="inline">.erlang.crypt</code>·is·to·contain·a·single·list·of·tuples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7522121626-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:·4772c2142d5e24124f2f976ae745330c9de9fa1a1e500c1b3600538175860138·...·]-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="3256682489-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:·b0ac80fe3cfaec63417197c2e542c57c4a6c7d062fe5d9c92ecc990549138b31·...·]-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="7167578165-1">[</span><span·class="p"·data-group-id="7167578165-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:·7615e132a298bb1962f452515ffe2fcfb0a8c081d899354b9ef138b62c7ebce5·...·]-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="1752549300-1">[</span><span·class="p"·data-group-id="1752549300-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:·bd5753566e44a5d3ca9a638a80f582fd6f09bb59404f613fb52b229935976a20·...·]-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="0326736053-1">[</span><span·class="p"·data-group-id="0326736053-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:·135,·SHA:·dceabc13533c562aabdd833276346b1a6e7c64938b4172d801290200053eb72f·...·]3-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="4520008593-1">[</span><span·class="p"·data-group-id="4520008593-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:·135,·SHA:·6944e567e2cbd2198439fd580065e6f499dfd80fdad351b71c93c7a4972b5eaa·...·]3-2">}</span><span·class="p">,</span><span·class="w">
191 ·</span><span·class="p"·data-group-id="0326736053-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="0326736053-4">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·249,·SHA:·4d86d30a331cbf86e9ea0a3c1da423c8ba5b5899fc650c1048aa9eedcd29d04d·...·]3-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="4520008593-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="4520008593-4">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·249,·SHA:·6e3693196672259b2e57d04a73567becf8a35b12f76cc8c2f38459d4921fc38a·...·]3-1">]</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Do·not·use·any·of·the·keys·in·these·examples.·Use·your·own·keys.</p></section>
192 ····</section>192 ····</section>
  
193 </div>193 </div>
  
194 ··<section·id="summary"·class="details-list">194 ··<section·id="summary"·class="details-list">
195 ····<h1·class="section-heading">195 ····<h1·class="section-heading">
196 ······<a·class="hover-link"·href="#summary">196 ······<a·class="hover-link"·href="#summary">
Offset 1531, 19 lines modifiedOffset 1531, 19 lines modified
1531 ························when·CryptoKeyFun·::·<a·href="#t:crypto_fun/0">crypto_fun</a>(),·Reason·::·badfun·|·exists·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>1531 ························when·CryptoKeyFun·::·<a·href="#t:crypto_fun/0">crypto_fun</a>(),·Reason·::·badfun·|·exists·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1532 ······</div>1532 ······</div>
  
1533 <p>Registers·an·unary·fun·that·is·called·if·<code·class="inline">beam_lib</code>·must·read·an·<code·class="inline">debug_info</code>1533 <p>Registers·an·unary·fun·that·is·called·if·<code·class="inline">beam_lib</code>·must·read·an·<code·class="inline">debug_info</code>
1534 chunk·that·has·been·encrypted.·The·fun·is·held·in·a·process·that·is·started·by1534 chunk·that·has·been·encrypted.·The·fun·is·held·in·a·process·that·is·started·by
1535 the·function.</p><p>If·a·fun·is·already·registered·when·attempting·to·register·a·fun,1535 the·function.</p><p>If·a·fun·is·already·registered·when·attempting·to·register·a·fun,
1536 <code·class="inline">{error,·exists}</code>·is·returned.</p><p>The·fun·must·handle·the·following·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">CryptoKeyFun</span><span·class="p"·data-group-id="7525160567-1">(</span><span·class="ss">init</span><span·class="p"·data-group-id="7525160567-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:·ba93875aa6ff09ae47d0abeb5be73c99388cd3b2c4bf92af01285b10cf23908c·...·]-3">}</span></code></pre><p>Called·when·the·fun·is·registered,·in·the·process·that·holds·the·fun.·Here·the1536 <code·class="inline">{error,·exists}</code>·is·returned.</p><p>The·fun·must·handle·the·following·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">CryptoKeyFun</span><span·class="p"·data-group-id="6523045571-1">(</span><span·class="ss">init</span><span·class="p"·data-group-id="6523045571-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:·1a5f7fb67188ab6c05e148f0e18559addc17fa4c0807b608ea77fc818c94d43a·...·]-3">}</span></code></pre><p>Called·when·the·fun·is·registered,·in·the·process·that·holds·the·fun.·Here·the
1537 crypto·key·fun·can·do·any·necessary·initializations.·If·<code·class="inline">{ok,·NewCryptoKeyFun}</code>1537 crypto·key·fun·can·do·any·necessary·initializations.·If·<code·class="inline">{ok,·NewCryptoKeyFun}</code>
1538 is·returned,·<code·class="inline">NewCryptoKeyFun</code>·is·registered·instead·of·<code·class="inline">CryptoKeyFun</code>.·If1538 is·returned,·<code·class="inline">NewCryptoKeyFun</code>·is·registered·instead·of·<code·class="inline">CryptoKeyFun</code>.·If
1539 <code·class="inline">{error,·Term}</code>·is·returned,·the·registration·is·aborted·and1539 <code·class="inline">{error,·Term}</code>·is·returned,·the·registration·is·aborted·and
1540 <a·href="#crypto_key_fun/1"><code·class="inline">crypto_key_fun/1</code></a>·also·returns·<code·class="inline">{error,·Term}</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">CryptoKeyFun</span><span·class="p"·data-group-id="0469771845-1">(</span><span·class="p"·data-group-id="0469771845-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:·6f33e3051bffdf50c1b74bda9d934869ea27b7797f4cc1a1840c5c48f14e06b1·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Key</span></code></pre><p>Called·when·the·key·is·needed·for·module·<code·class="inline">Module</code>·in·the·file·named·<code·class="inline">Filename</code>.1540 <a·href="#crypto_key_fun/1"><code·class="inline">crypto_key_fun/1</code></a>·also·returns·<code·class="inline">{error,·Term}</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">CryptoKeyFun</span><span·class="p"·data-group-id="4014955527-1">(</span><span·class="p"·data-group-id="4014955527-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:·fed8b4cf0b61e2ebede730bf748206707efef520c6c045463921aa071b5cfccd·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Key</span></code></pre><p>Called·when·the·key·is·needed·for·module·<code·class="inline">Module</code>·in·the·file·named·<code·class="inline">Filename</code>.
1541 <code·class="inline">Mode</code>·is·the·type·of·crypto·algorithm;·currently,·the·only·possible·value·is1541 <code·class="inline">Mode</code>·is·the·type·of·crypto·algorithm;·currently,·the·only·possible·value·is
1542 <code·class="inline">des3_cbc</code>.·The·call·is·to·fail·(raise·an·exception)·if·no·key·is·available.</p><pre><code·class="text">CryptoKeyFun(clear)·-&gt;·term()</code></pre><p>Called·before·the·fun·is·unregistered.·Here·any·cleaning·up·can·be·done.·The1542 <code·class="inline">des3_cbc</code>.·The·call·is·to·fail·(raise·an·exception)·if·no·key·is·available.</p><pre><code·class="text">CryptoKeyFun(clear)·-&gt;·term()</code></pre><p>Called·before·the·fun·is·unregistered.·Here·any·cleaning·up·can·be·done.·The
1543 return·value·is·not·important,·but·is·passed·back·to·the·caller·of1543 return·value·is·not·important,·but·is·passed·back·to·the·caller·of
1544 <a·href="#clear_crypto_key_fun/0"><code·class="inline">clear_crypto_key_fun/0</code></a>·as·part·of·its·return·value.</p>1544 <a·href="#clear_crypto_key_fun/0"><code·class="inline">clear_crypto_key_fun/0</code></a>·as·part·of·its·return·value.</p>
1545 ··</section>1545 ··</section>
1546 </section>1546 </section>
1547 <section·class="detail"·id="diff_dirs/2">1547 <section·class="detail"·id="diff_dirs/2">
Offset 1880, 22 lines modifiedOffset 1880, 22 lines modified
  
1880 ······</div>1880 ······</div>
  
1881 <p>Returns·the·module·version·or·versions.·A·version·is·defined·by·module·attribute1881 <p>Returns·the·module·version·or·versions.·A·version·is·defined·by·module·attribute
1882 <code·class="inline">-vsn(Vsn)</code>.</p><p>If·this·attribute·is·not·specified,·the·version·defaults·to·the1882 <code·class="inline">-vsn(Vsn)</code>.</p><p>If·this·attribute·is·not·specified,·the·version·defaults·to·the
1883 checksum·of·the·module.·Notice·that·if·version·<code·class="inline">Vsn</code>·is·not·a·list,·it·is·made1883 checksum·of·the·module.·Notice·that·if·version·<code·class="inline">Vsn</code>·is·not·a·list,·it·is·made
1884 into·one,·that·is·<code·class="inline">{ok,{Module,[Vsn]}}</code>·is·returned.·If·there·are·many·<code·class="inline">-vsn</code>1884 into·one,·that·is·<code·class="inline">{ok,{Module,[Vsn]}}</code>·is·returned.·If·there·are·many·<code·class="inline">-vsn</code>
1885 module·attributes,·the·result·is·the·concatenated·list·of·versions.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="4647674764-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="4647674764-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn(1).</span><span·class="w">1885 module·attributes,·the·result·is·the·concatenated·list·of·versions.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="5864110653-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="5864110653-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn(1).</span><span·class="w">
1886 </span><span·class="p"·data-group-id="4647674764-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4647674764-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="p"·data-group-id="4647674764-4">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·143,·SHA:·4576f5b6f5fc21433326b5fad3dc10cbdc126514b0dabeeba406f89b4feb0f3c·...·]-2">}</span><span·class="gp·unselectable">1886 </span><span·class="p"·data-group-id="5864110653-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5864110653-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="p"·data-group-id="5864110653-4">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·143,·SHA:·032da3655f507f02fd5727b1336d753bce30a16ff62d7b783c6ef12ffd62af59·...·]-2">}</span><span·class="gp·unselectable">
1887 2&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="4647674764-5">(</span><span·class="ss">b</span><span·class="p"·data-group-id="4647674764-5">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn([1]).</span><span·class="w">1887 2&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="5864110653-5">(</span><span·class="ss">b</span><span·class="p"·data-group-id="5864110653-5">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn([1]).</span><span·class="w">
1888 </span><span·class="p"·data-group-id="4647674764-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4647674764-7">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="4647674764-8">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·143,·SHA:·acbd4b6078a13d5bc784a3dfac5730ba5497423ae48eac14e343f09a3900f030·...·]-6">}</span><span·class="gp·unselectable">1888 </span><span·class="p"·data-group-id="5864110653-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5864110653-7">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="5864110653-8">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·143,·SHA:·aa4c399b699fbfbebd5fa35213f0540774023e5430f611e7074afbccb5b27eab·...·]-6">}</span><span·class="gp·unselectable">
1889 3&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="4647674764-9">(</span><span·class="ss">c</span><span·class="p"·data-group-id="4647674764-9">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn([1]).·-vsn(2).</span><span·class="w">1889 3&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="5864110653-9">(</span><span·class="ss">c</span><span·class="p"·data-group-id="5864110653-9">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn([1]).·-vsn(2).</span><span·class="w">
1890 </span><span·class="p"·data-group-id="4647674764-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4647674764-11">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="p"·data-group-id="4647674764-12">[</span><span·class="mi">1</span><[·...·truncated·by·diffoscope;·len:·197,·SHA:·a0592d2213df9a11b2fa5d4907be6cb2d26d15a0e9ceef1a7241fb5bd9476a3a·...·]-10">}</span><span·class="gp·unselectable">1890 </span><span·class="p"·data-group-id="5864110653-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5864110653-11">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="p"·data-group-id="5864110653-12">[</span><span·class="mi">1</span><[·...·truncated·by·diffoscope;·len:·197,·SHA:·d2e7db536b23245546e421a766b20ce2a7614bc8e65cb42dae01dfa4a6d5229a·...·]-10">}</span><span·class="gp·unselectable">
1891 4&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="4647674764-13">(</span><span·class="ss">d</span><span·class="p"·data-group-id="4647674764-13">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·no·-vsn·attribute</span><span·class="w">1891 4&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="5864110653-13">(</span><span·class="ss">d</span><span·class="p"·data-group-id="5864110653-13">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·no·-vsn·attribute</span><span·class="w">
1892 </span><span·class="p"·data-group-id="4647674764-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4647674764-15">{</span><span·class="ss">d</span><span·class="p">,</span><span·class="p"·data-group-id="4647674764-16">[</span><span·class="mi">275613208[·...·truncated·by·diffoscope;·len:·186,·SHA:·13bc84e237cce1ddafce5773e0fc3b58e9b105d7fce2d35681f4f4f57b9cda64·...·]-14">}</span></code></pre>1892 </span><span·class="p"·data-group-id="5864110653-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5864110653-15">{</span><span·class="ss">d</span><span·class="p">,</span><span·class="p"·data-group-id="5864110653-16">[</span><span·class="mi">275613208[·...·truncated·by·diffoscope;·len:·186,·SHA:·8539f23c095203a928e60ff51e518dffb04f855092abfd2af0af34ca24d43016·...·]-14">}</span></code></pre>
1893 ··</section>1893 ··</section>
1894 </section>1894 </section>
  
1895 ····</div>1895 ····</div>
1896 ··</section>1896 ··</section>
  
1897 ····<footer·class="footer">1897 ····<footer·class="footer">
Offset 1916, 15 lines modifiedOffset 1916, 15 lines modified
1916 ······<p·class="built-using">1916 ······<p·class="built-using">
1917 ········Built·using1917 ········Built·using
1918 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1918 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1919 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1919 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1920 ······</p>1920 ······</p>
1921 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1921 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1922 ····</footer>1922 ····</footer>
1923 ··</div>1923 ··</div>
1924 </main>1924 </main>
1925 </div>1925 </div>
1926 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1926 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1927 ··<script>1927 ··<script>
1928 ··let·initialized·=·false;1928 ··let·initialized·=·false;
541 B
html2text {}
Max HTML report size reached
144 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/binary.html
    
Offset 620, 19 lines modifiedOffset 620, 19 lines modified
620 integer.</p><p>If·<code·class="inline">Pos</code>·&gt;=·<a·href="../../../../erts-16.0/doc/html/erlang.html#byte_size/1"><code·class="inline">byte_size(Subject)</code></a>,·a·<code·class="inline">badarg</code>·exception620 integer.</p><p>If·<code·class="inline">Pos</code>·&gt;=·<a·href="../../../../erts-16.0/doc/html/erlang.html#byte_size/1"><code·class="inline">byte_size(Subject)</code></a>,·a·<code·class="inline">badarg</code>·exception
621 is·raised.</p><h2·id="at/2-examples"·class="section-heading">621 is·raised.</p><h2·id="at/2-examples"·class="section-heading">
622 ··<a·href="#at/2-examples"·class="hover-link">622 ··<a·href="#at/2-examples"·class="hover-link">
623 ····<i·class="ri-link-m"·aria-hidden="true"></i>623 ····<i·class="ri-link-m"·aria-hidden="true"></i>
624 ··</a>624 ··</a>
625 ··<span·class="text">Examples</span>625 ··<span·class="text">Examples</span>
626 </h2>626 </h2>
627 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">at</span><span·class="p"·data-group-id="6974754817-1">(</span><span·class="p"·data-group-id="6974754817-2">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">19</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">33</span[·...·truncated·by·diffoscope;·len:·173,·SHA:·82de3f9afb365b86486e82cab0184ccb1f1e519aa24b47042a5e3ef0e26e8317·...·]17-1">)</span><span·class="p">.</span><span·class="w">627 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">at</span><span·class="p"·data-group-id="3028159217-1">(</span><span·class="p"·data-group-id="3028159217-2">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">19</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">33</span[·...·truncated·by·diffoscope;·len:·173,·SHA:·a13371a250b03faead289b3c8e06461ab42f567e52fba54011722f4e48e99217·...·]17-1">)</span><span·class="p">.</span><span·class="w">
628 </span><span·class="mi">5</span><span·class="gp·unselectable">628 </span><span·class="mi">5</span><span·class="gp·unselectable">
629 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">at</span><span·class="p"·data-group-id="6974754817-3">(</span><span·class="p"·data-group-id="6974754817-4">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">19</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">33</span[·...·truncated·by·diffoscope;·len:·173,·SHA:·a93331e1a5bf4991d2d27a44ef4399bc030055af39abf7ced678a89be55efc6f·...·]17-3">)</span><span·class="p">.</span><span·class="w">629 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">at</span><span·class="p"·data-group-id="3028159217-3">(</span><span·class="p"·data-group-id="3028159217-4">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">19</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">33</span[·...·truncated·by·diffoscope;·len:·173,·SHA:·40950b66047c0089926ffd68f862dd917e1681eb1226232c9b8f1b91dc006a22·...·]17-3">)</span><span·class="p">.</span><span·class="w">
630 </span><span·class="mi">19</span><span·class="gp·unselectable">630 </span><span·class="mi">19</span><span·class="gp·unselectable">
631 3&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">at</span><span·class="p"·data-group-id="6974754817-5">(</span><span·class="p"·data-group-id="6974754817-6">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">19</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">33</span[·...·truncated·by·diffoscope;·len:·173,·SHA:·46ce87c473a3f8877c9e8d0b3ff996c85f726cbbc6de3fbede808363c5b6ac4e·...·]17-5">)</span><span·class="p">.</span><span·class="w">631 3&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">at</span><span·class="p"·data-group-id="3028159217-5">(</span><span·class="p"·data-group-id="3028159217-6">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">19</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">33</span[·...·truncated·by·diffoscope;·len:·173,·SHA:·6ddcb7ce0896c4bba7420e06e4883197a66d02172d949aee2f89f1d302a49f7e·...·]17-5">)</span><span·class="p">.</span><span·class="w">
632 </span><span·class="gt">**·exception·error:·bad·argument632 </span><span·class="gt">**·exception·error:·bad·argument
633 ·····in·function··binary:at/2633 ·····in·function··binary:at/2
634 ········called·as·binary:at(&lt;&lt;5,19,72,33&gt;&gt;,4)</span></code></pre>634 ········called·as·binary:at(&lt;&lt;5,19,72,33&gt;&gt;,4)</span></code></pre>
635 ··</section>635 ··</section>
636 </section>636 </section>
637 <section·class="detail"·id="bin_to_list/1">637 <section·class="detail"·id="bin_to_list/1">
  
Offset 662, 16 lines modifiedOffset 662, 16 lines modified
662 <p>Converts·<code·class="inline">Subject</code>·to·a·list·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte()</code></a>s,·each662 <p>Converts·<code·class="inline">Subject</code>·to·a·list·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte()</code></a>s,·each
663 representing·the·value·of·one·byte.</p><h2·id="bin_to_list/1-examples"·class="section-heading">663 representing·the·value·of·one·byte.</p><h2·id="bin_to_list/1-examples"·class="section-heading">
664 ··<a·href="#bin_to_list/1-examples"·class="hover-link">664 ··<a·href="#bin_to_list/1-examples"·class="hover-link">
665 ····<i·class="ri-link-m"·aria-hidden="true"></i>665 ····<i·class="ri-link-m"·aria-hidden="true"></i>
666 ··</a>666 ··</a>
667 ··<span·class="text">Examples</span>667 ··<span·class="text">Examples</span>
668 </h2>668 </h2>
669 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">bin_to_list</span><span·class="p"·data-group-id="3972345074-1">(</span><span·class="p"·data-group-id="3972345074-2">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="3972345074-2">&gt;&gt;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·054a7fd9a127b0a8aef8389aa6f4169b8a7789df9b0e1a1b88f4cc296d2aa695·...·]-1">)</span><span·class="p">.</span><span·class="w">669 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">bin_to_list</span><span·class="p"·data-group-id="0892945161-1">(</span><span·class="p"·data-group-id="0892945161-2">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="0892945161-2">&gt;&gt;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·766e0b77365b9866838865782434cef6c1774a065b310561eab9b74c8234c2ff·...·]-1">)</span><span·class="p">.</span><span·class="w">
670 </span><span·class="p"·data-group-id="3972345074-3">[</span><span·class="mi">101</span><span·class="p">,</span><span·class="mi">114</span><span·class="p">,</span><span·class="mi">108</span><span·class="p">,</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">110</span><spa[·...·truncated·by·diffoscope;·len:·137,·SHA:·fabc9f4fb55ae7239fb113693300d25950b3ae3edf5b549bd879e54ef281c447·...·]-3">]</span></code></pre>670 </span><span·class="p"·data-group-id="0892945161-3">[</span><span·class="mi">101</span><span·class="p">,</span><span·class="mi">114</span><span·class="p">,</span><span·class="mi">108</span><span·class="p">,</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">110</span><spa[·...·truncated·by·diffoscope;·len:·137,·SHA:·69a0b9298bc47e69bd5ef182da6921faee4b7b931f187095935866dfe1cd6359·...·]-3">]</span></code></pre>
671 ··</section>671 ··</section>
672 </section>672 </section>
673 <section·class="detail"·id="bin_to_list/2">673 <section·class="detail"·id="bin_to_list/2">
  
674 ··<div·class="detail-header">674 ··<div·class="detail-header">
675 ····<a·href="#bin_to_list/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">675 ····<a·href="#bin_to_list/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
676 ······<i·class="ri-link-m"·aria-hidden="true"></i>676 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 727, 18 lines modifiedOffset 727, 18 lines modified
727 <p>Converts·part·of·<code·class="inline">Subject</code>·to·a·list·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a>s,·each·representing727 <p>Converts·part·of·<code·class="inline">Subject</code>·to·a·list·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a>s,·each·representing
728 the·value·of·one·byte.</p><p><code·class="inline">Pos</code>·and·<code·class="inline">Len</code>·denote·which·part·of·the·<code·class="inline">Subject</code>·binary·to·convert.</p><h2·id="bin_to_list/3-examples"·class="section-heading">728 the·value·of·one·byte.</p><p><code·class="inline">Pos</code>·and·<code·class="inline">Len</code>·denote·which·part·of·the·<code·class="inline">Subject</code>·binary·to·convert.</p><h2·id="bin_to_list/3-examples"·class="section-heading">
729 ··<a·href="#bin_to_list/3-examples"·class="hover-link">729 ··<a·href="#bin_to_list/3-examples"·class="hover-link">
730 ····<i·class="ri-link-m"·aria-hidden="true"></i>730 ····<i·class="ri-link-m"·aria-hidden="true"></i>
731 ··</a>731 ··</a>
732 ··<span·class="text">Examples</span>732 ··<span·class="text">Examples</span>
733 </h2>733 </h2>
734 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">bin_to_list</span><span·class="p"·data-group-id="2960221272-1">(</span><span·class="p"·data-group-id="2960221272-2">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="2960221272-2">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·cd1085d96dc163ec66a2da66400d940d2c86a4626e4a1a54564fc41026106953·...·]-1">)</span><span·class="p">.</span><span·class="w">734 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">bin_to_list</span><span·class="p"·data-group-id="3099624497-1">(</span><span·class="p"·data-group-id="3099624497-2">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="3099624497-2">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·0913da0d5b18f8311f4d0bc170b0581ada56be470ec8cbbf9ad2e05aabd5ced7·...·]-1">)</span><span·class="p">.</span><span·class="w">
735 </span><span·class="s">&quot;rla&quot;</span><span·class="w">735 </span><span·class="s">&quot;rla&quot;</span><span·class="w">
736 </span><span·class="c1">%%·or·[114,108,97]·in·list·notation.</span><span·class="gp·unselectable">736 </span><span·class="c1">%%·or·[114,108,97]·in·list·notation.</span><span·class="gp·unselectable">
737 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">bin_to_list</span><span·class="p"·data-group-id="2960221272-3">(</span><span·class="p"·data-group-id="2960221272-4">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="2960221272-4">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·cd1085d96dc163ec66a2da66400d940d2c86a4626e4a1a54564fc41026106953·...·]-3">)</span><span·class="p">.</span><span·class="w">737 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">bin_to_list</span><span·class="p"·data-group-id="3099624497-3">(</span><span·class="p"·data-group-id="3099624497-4">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="3099624497-4">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·0913da0d5b18f8311f4d0bc170b0581ada56be470ec8cbbf9ad2e05aabd5ced7·...·]-3">)</span><span·class="p">.</span><span·class="w">
738 </span><span·class="gt">**·exception·error:·bad·argument738 </span><span·class="gt">**·exception·error:·bad·argument
739 ·····in·function··binary:bin_to_list/3739 ·····in·function··binary:bin_to_list/3
740 ········called·as·binary:bin_to_list(&lt;&lt;&quot;erlang&quot;&gt;&gt;,5,3)740 ········called·as·binary:bin_to_list(&lt;&lt;&quot;erlang&quot;&gt;&gt;,5,3)
741 ········***·argument·3:·out·of·range</span></code></pre><p>If·<code·class="inline">Pos</code>·and·<code·class="inline">Len</code>·reference·outside·the·binary·in·any·way,·a·<code·class="inline">badarg</code>741 ········***·argument·3:·out·of·range</span></code></pre><p>If·<code·class="inline">Pos</code>·and·<code·class="inline">Len</code>·reference·outside·the·binary·in·any·way,·a·<code·class="inline">badarg</code>
742 exception·is·raised.</p>742 exception·is·raised.</p>
743 ··</section>743 ··</section>
744 </section>744 </section>
Offset 781, 17 lines modifiedOffset 781, 17 lines modified
781 non-empty.</p><p>If·<code·class="inline">Pattern</code>·is·not·a·binary·or·a·flat·proper·non-empty·list·of·binaries·with781 non-empty.</p><p>If·<code·class="inline">Pattern</code>·is·not·a·binary·or·a·flat·proper·non-empty·list·of·binaries·with
782 length·greater·than·0,·a·<code·class="inline">badarg</code>·exception·is·raised.</p><h2·id="compile_pattern/1-examples"·class="section-heading">782 length·greater·than·0,·a·<code·class="inline">badarg</code>·exception·is·raised.</p><h2·id="compile_pattern/1-examples"·class="section-heading">
783 ··<a·href="#compile_pattern/1-examples"·class="hover-link">783 ··<a·href="#compile_pattern/1-examples"·class="hover-link">
784 ····<i·class="ri-link-m"·aria-hidden="true"></i>784 ····<i·class="ri-link-m"·aria-hidden="true"></i>
785 ··</a>785 ··</a>
786 ··<span·class="text">Examples</span>786 ··<span·class="text">Examples</span>
787 </h2>787 </h2>
788 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Pat</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">compile_pattern</span><span·class="p"·data-group-id="3925719718-1">(</span><span·class="s">~&quot;rain&quot;</span><span·class="p"·data-group-id="3925719718-1">)</span><span·class="p">.</span><span·class="gp·unselectable">788 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Pat</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">compile_pattern</span><span·class="p"·data-group-id="4208333463-1">(</span><span·class="s">~&quot;rain&quot;</span><span·class="p"·data-group-id="4208333463-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
789 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="3925719718-2">(</span><span·class="s">~&quot;the·rain·in·spain&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pat</span><span·class="p"·data-group-id="3925719718-2">)</span><span·class="p">.</span><span·class="w">789 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="4208333463-2">(</span><span·class="s">~&quot;the·rain·in·spain&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pat</span><span·class="p"·data-group-id="4208333463-2">)</span><span·class="p">.</span><span·class="w">
790 </span><span·class="p"·data-group-id="3925719718-3">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="3925719718-3">}</span></code></pre>790 </span><span·class="p"·data-group-id="4208333463-3">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="4208333463-3">}</span></code></pre>
791 ··</section>791 ··</section>
792 </section>792 </section>
793 <section·class="detail"·id="copy/1">793 <section·class="detail"·id="copy/1">
  
794 ··<div·class="detail-header">794 ··<div·class="detail-header">
795 ····<a·href="#copy/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">795 ····<a·href="#copy/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
796 ······<i·class="ri-link-m"·aria-hidden="true"></i>796 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 824, 21 lines modifiedOffset 824, 21 lines modified
824 binaries·are·no·longer·used·in·any·process··can·deliberate·copying·be824 binaries·are·no·longer·used·in·any·process··can·deliberate·copying·be
825 beneficial.</p></section><h2·id="copy/1-examples"·class="section-heading">825 beneficial.</p></section><h2·id="copy/1-examples"·class="section-heading">
826 ··<a·href="#copy/1-examples"·class="hover-link">826 ··<a·href="#copy/1-examples"·class="hover-link">
827 ····<i·class="ri-link-m"·aria-hidden="true"></i>827 ····<i·class="ri-link-m"·aria-hidden="true"></i>
828 ··</a>828 ··</a>
829 ··<span·class="text">Examples</span>829 ··<span·class="text">Examples</span>
830 </h2>830 </h2>
831 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">HugeBinary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6554792707-1">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">100</span><span·class="p">_</span><span·class="mi">000</span><span·class="o">/</span><span·class="nc">unit</span><span·class="p">:</span><span·class="mi">8</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·59f026a9aadf0134bd7584f747e8588776045111cff39653e22fef531a1a6a3c·...·]-1">&gt;&gt;</span><span·class="p">.</span><span·class="gp·unselectable">831 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">HugeBinary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7252248828-1">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">100</span><span·class="p">_</span><span·class="mi">000</span><span·class="o">/</span><span·class="nc">unit</span><span·class="p">:</span><span·class="mi">8</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·5513e0c6e1a95aa0e43c1f8a07bc48ca8462e54b6beae53686d0c2a18b6dec43·...·]-1">&gt;&gt;</span><span·class="p">.</span><span·class="gp·unselectable">
832 2&gt;·</span><span·class="nf">byte_size</span><span·class="p"·data-group-id="6554792707-2">(</span><span·class="n">HugeBinary</span><span·class="p"·data-group-id="6554792707-2">)</span><span·class="p">.</span><span·class="w">832 2&gt;·</span><span·class="nf">byte_size</span><span·class="p"·data-group-id="7252248828-2">(</span><span·class="n">HugeBinary</span><span·class="p"·data-group-id="7252248828-2">)</span><span·class="p">.</span><span·class="w">
833 </span><span·class="mi">100000</span><span·class="gp·unselectable">833 </span><span·class="mi">100000</span><span·class="gp·unselectable">
834 3&gt;·</span><span·class="n">Part</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">part</span><span·class="p"·data-group-id="6554792707-3">(</span><span·class="n">HugeBinary</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="6554792707-3">)</span><span·class="p">.</span><span·class="w">834 3&gt;·</span><span·class="n">Part</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">part</span><span·class="p"·data-group-id="7252248828-3">(</span><span·class="n">HugeBinary</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="7252248828-3">)</span><span·class="p">.</span><span·class="w">
835 </span><span·class="p"·data-group-id="6554792707-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·abe9d1bfc1b4d0d4788527decd745cc55c6dc5b11f6ebf7009d048cee114f0ae·...·]-4">&gt;&gt;</span><span·class="gp·unselectable">835 </span><span·class="p"·data-group-id="7252248828-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·0929682c13ad1d341ae92ed0f20758979070b5a0d3bef4792376ed65372381f0·...·]-4">&gt;&gt;</span><span·class="gp·unselectable">
836 4&gt;·</span><span·class="n">Copy</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">copy</span><span·class="p"·data-group-id="6554792707-5">(</span><span·class="n">Part</span><span·class="p"·data-group-id="6554792707-5">)</span><span·class="p">.</span><span·class="w">836 4&gt;·</span><span·class="n">Copy</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">copy</span><span·class="p"·data-group-id="7252248828-5">(</span><span·class="n">Part</span><span·class="p"·data-group-id="7252248828-5">)</span><span·class="p">.</span><span·class="w">
837 </span><span·class="p"·data-group-id="6554792707-6">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·abe9d1bfc1b4d0d4788527decd745cc55c6dc5b11f6ebf7009d048cee114f0ae·...·]-6">&gt;&gt;</span></code></pre>837 </span><span·class="p"·data-group-id="7252248828-6">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·0929682c13ad1d341ae92ed0f20758979070b5a0d3bef4792376ed65372381f0·...·]-6">&gt;&gt;</span></code></pre>
838 ··</section>838 ··</section>
839 </section>839 </section>
840 <section·class="detail"·id="copy/2">840 <section·class="detail"·id="copy/2">
  
841 ··<div·class="detail-header">841 ··<div·class="detail-header">
842 ····<a·href="#copy/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">842 ····<a·href="#copy/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
843 ······<i·class="ri-link-m"·aria-hidden="true"></i>843 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 864, 16 lines modifiedOffset 864, 16 lines modified
  
864 <p>Creates·a·binary·with·the·content·of·<code·class="inline">Subject</code>·duplicated·<code·class="inline">N</code>·times.</p><p>This·function·always·creates·a·new·binary,·even·when·<code·class="inline">N</code>·is·<code·class="inline">1</code>.</p><h2·id="copy/2-examples"·class="section-heading">864 <p>Creates·a·binary·with·the·content·of·<code·class="inline">Subject</code>·duplicated·<code·class="inline">N</code>·times.</p><p>This·function·always·creates·a·new·binary,·even·when·<code·class="inline">N</code>·is·<code·class="inline">1</code>.</p><h2·id="copy/2-examples"·class="section-heading">
865 ··<a·href="#copy/2-examples"·class="hover-link">865 ··<a·href="#copy/2-examples"·class="hover-link">
866 ····<i·class="ri-link-m"·aria-hidden="true"></i>866 ····<i·class="ri-link-m"·aria-hidden="true"></i>
867 ··</a>867 ··</a>
868 ··<span·class="text">Examples</span>868 ··<span·class="text">Examples</span>
869 </h2>869 </h2>
870 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">copy</span><span·class="p"·data-group-id="4741689609-1">(</span><span·class="s">~&quot;-&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">10</span><span·class="p"·data-group-id="4741689609-1">)</span><span·class="p">.</span><span·class="w">870 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">copy</span><span·class="p"·data-group-id="5707225106-1">(</span><span·class="s">~&quot;-&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">10</span><span·class="p"·data-group-id="5707225106-1">)</span><span·class="p">.</span><span·class="w">
871 </span><span·class="p"·data-group-id="4741689609-2">&lt;&lt;</span><span·class="s">&quot;----------&quot;</span><span·class="p"·data-group-id="4741689609-2">&gt;&gt;</span></code></pre>871 </span><span·class="p"·data-group-id="5707225106-2">&lt;&lt;</span><span·class="s">&quot;----------&quot;</span><span·class="p"·data-group-id="5707225106-2">&gt;&gt;</span></code></pre>
872 ··</section>872 ··</section>
873 </section>873 </section>
874 <section·class="detail"·id="decode_hex/1">874 <section·class="detail"·id="decode_hex/1">
  
875 ··<div·class="detail-header">875 ··<div·class="detail-header">
876 ····<a·href="#decode_hex/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">876 ····<a·href="#decode_hex/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
877 ······<i·class="ri-link-m"·aria-hidden="true"></i>877 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 900, 17 lines modifiedOffset 900, 17 lines modified
900 <p>Decodes·a·hex-encoded·binary·into·a·binary.</p><p>An·exception·is·raised·if·the·size·of·the·binary·is·not·evenly·divisble·by·two,900 <p>Decodes·a·hex-encoded·binary·into·a·binary.</p><p>An·exception·is·raised·if·the·size·of·the·binary·is·not·evenly·divisble·by·two,
901 or·if·the·binary·contains·any·characters·that·do·not·represent·hex·digits.</p><h2·id="decode_hex/1-examples"·class="section-heading">901 or·if·the·binary·contains·any·characters·that·do·not·represent·hex·digits.</p><h2·id="decode_hex/1-examples"·class="section-heading">
902 ··<a·href="#decode_hex/1-examples"·class="hover-link">902 ··<a·href="#decode_hex/1-examples"·class="hover-link">
903 ····<i·class="ri-link-m"·aria-hidden="true"></i>903 ····<i·class="ri-link-m"·aria-hidden="true"></i>
904 ··</a>904 ··</a>
905 ··<span·class="text">Examples</span>905 ··<span·class="text">Examples</span>
906 </h2>906 </h2>
907 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">decode_hex</span><span·class="p"·data-group-id="3228194876-1">(</span><span·class="p"·data-group-id="3228194876-2">&lt;&lt;</span><span·class="s">&quot;666f6f&quot;</span><span·class="p"·data-group-id="3228194876-2">&gt;&gt;</span><span·class="p"·data-group-id="3228194876-1">)</span><span·class="p">.</span><span·class="w">907 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">decode_hex</span><span·class="p"·data-group-id="9107099380-1">(</span><span·class="p"·data-group-id="9107099380-2">&lt;&lt;</span><span·class="s">&quot;666f6f&quot;</span><span·class="p"·data-group-id="9107099380-2">&gt;&gt;</span><span·class="p"·data-group-id="9107099380-1">)</span><span·class="p">.</span><span·class="w">
908 </span><span·class="p"·data-group-id="3228194876-3">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="3228194876-3">&gt;&gt;</span><span·class="gp·unselectable">908 </span><span·class="p"·data-group-id="9107099380-3">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="9107099380-3">&gt;&gt;</span><span·class="gp·unselectable">
909 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">decode_hex</span><span·class="p"·data-group-id="3228194876-4">(</span><span·class="p"·data-group-id="3228194876-5">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="3228194876-5">&gt;&gt;</span><span·class="p"·data-group-id="3228194876-4">)</span><span·class="p">.</span><span·class="w">909 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">decode_hex</span><span·class="p"·data-group-id="9107099380-4">(</span><span·class="p"·data-group-id="9107099380-5">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="9107099380-5">&gt;&gt;</span><span·class="p"·data-group-id="9107099380-4">)</span><span·class="p">.</span><span·class="w">
910 </span><span·class="gt">**·exception·error:·bad·argument910 </span><span·class="gt">**·exception·error:·bad·argument
911 ·····in·function··binary:decode_hex/1911 ·····in·function··binary:decode_hex/1
912 ········called·as·binary:decode_hex(&lt;&lt;&quot;A&quot;&gt;&gt;)912 ········called·as·binary:decode_hex(&lt;&lt;&quot;A&quot;&gt;&gt;)
913 ········***·argument·1:·must·contain·an·even·number·of·bytes</span></code></pre>913 ········***·argument·1:·must·contain·an·even·number·of·bytes</span></code></pre>
Max diff block lines reached; 122296/146457 bytes (83.50%) of diff not shown.
602 B
html2text {}
Max HTML report size reached
3.59 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/c.html
    
Offset 1682, 15 lines modifiedOffset 1682, 15 lines modified
1682 ················Options·::·[Option]·|·Option,1682 ················Options·::·[Option]·|·Option,
1683 ················Option·::·<a·href="../../../../lib/compiler-9.0/doc/html/compile.html#t:option/0">compile:option</a>(),1683 ················Option·::·<a·href="../../../../lib/compiler-9.0/doc/html/compile.html#t:option/0">compile:option</a>(),
1684 ················Module·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:module/0">module</a>().</pre>1684 ················Module·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:module/0">module</a>().</pre>
  
1685 ······</div>1685 ······</div>
  
1686 <p>Compiles·and·then·loads·the·code·for·a·file·on·all·nodes.·<code·class="inline">Options</code>·defaults·to1686 <p>Compiles·and·then·loads·the·code·for·a·file·on·all·nodes.·<code·class="inline">Options</code>·defaults·to
1687 <code·class="inline">[]</code>.·Compilation·is·equivalent·to:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">compile</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="1438959883-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="1438959883-2">[</span><span[·...·truncated·by·diffoscope;·len:·213,·SHA:·b5554068feff1dbd469d9de0c22c77ad06afeb60f2b7591d49d83b682bb1842f·...·]-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="1445462609-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="1445462609-2">[</span><span[·...·truncated·by·diffoscope;·len:·213,·SHA:·da2d9ca59942e6eba9cb02ce8bdb3a88a3b7e0e234e7c5eccaacf2808b00cbdd·...·]-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
19.2 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/calendar.html
    
Offset 1866, 21 lines modifiedOffset 1866, 21 lines modified
1866 ····································Option·::·{unit,·<a·href="#t:rfc3339_time_unit/0">rfc3339_time_unit</a>()}.</pre>1866 ····································Option·::·{unit,·<a·href="#t:rfc3339_time_unit/0">rfc3339_time_unit</a>()}.</pre>
  
1867 ······</div>1867 ······</div>
  
1868 <p>Converts·an·RFC·3339·timestamp·into·system·time.·The·data·format·of·RFC·33391868 <p>Converts·an·RFC·3339·timestamp·into·system·time.·The·data·format·of·RFC·3339
1869 timestamps·is·described·by·<a·href="https://www.ietf.org/rfc/rfc3339.txt">RFC·3339</a>.1869 timestamps·is·described·by·<a·href="https://www.ietf.org/rfc/rfc3339.txt">RFC·3339</a>.
1870 Starting·from·OTP·25.1,·the·minutes·part·of·the·time·zone·is·optional.</p><p>Valid·option:</p><ul><li><strong><code·class="inline">{unit,·Unit}</code></strong>·-·The·time·unit·of·the·return·value.·The·default·is1870 Starting·from·OTP·25.1,·the·minutes·part·of·the·time·zone·is·optional.</p><p>Valid·option:</p><ul><li><strong><code·class="inline">{unit,·Unit}</code></strong>·-·The·time·unit·of·the·return·value.·The·default·is
1871 <code·class="inline">second</code>.</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">rfc3339_to_system_time</span><span·class="p"·data-group-id="7508547739-1">(</span><span·class="s">&quot;2018-02-01T16:17:58+01:00&quot;</span><span·class="p"·data-group-id="7508547739-1">)</span><span·class="p">.</span><span·class="w">1871 <code·class="inline">second</code>.</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">rfc3339_to_system_time</span><span·class="p"·data-group-id="5970514213-1">(</span><span·class="s">&quot;2018-02-01T16:17:58+01:00&quot;</span><span·class="p"·data-group-id="5970514213-1">)</span><span·class="p">.</span><span·class="w">
1872 </span><span·class="mi">1517498278</span><span·class="gp·unselectable">1872 </span><span·class="mi">1517498278</span><span·class="gp·unselectable">
1873 2&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">rfc3339_to_system_time</span><span·class="p"·data-group-id="7508547739-2">(</span><span·class="s">&quot;2018-02-01·15:18:02.088Z&quot;</span><span·class="p">,</span><span·class="w">1873 2&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">rfc3339_to_system_time</span><span·class="p"·data-group-id="5970514213-2">(</span><span·class="s">&quot;2018-02-01·15:18:02.088Z&quot;</span><span·class="p">,</span><span·class="w">
1874 ···</span><span·class="p"·data-group-id="7508547739-3">[</span><span·class="p"·data-group-id="7508547739-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="7508547739-4">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·c7e2a2f11094f38fe9d76d3af9bde5391d3a1979bb88d2792ab7f69e659219ca·...·]-2">)</span><span·class="p">.</span><span·class="w">1874 ···</span><span·class="p"·data-group-id="5970514213-3">[</span><span·class="p"·data-group-id="5970514213-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="5970514213-4">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·c2596c2ce853e04258517c613a74edf19790f162a26252bdbfffa31cf84daf22·...·]-2">)</span><span·class="p">.</span><span·class="w">
1875 </span><span·class="mi">1517498282088000000</span><span·class="gp·unselectable">1875 </span><span·class="mi">1517498282088000000</span><span·class="gp·unselectable">
1876 3&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">rfc3339_to_system_time</span><span·class="p"·data-group-id="7508547739-5">(</span><span·class="p"·data-group-id="7508547739-6">&lt;&lt;</span><span·class="s">&quot;2018-02-01·15:18:02.088Z&quot;</span><span·class="p"·data-group-id="7508547739-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">1876 3&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">rfc3339_to_system_time</span><span·class="p"·data-group-id="5970514213-5">(</span><span·class="p"·data-group-id="5970514213-6">&lt;&lt;</span><span·class="s">&quot;2018-02-01·15:18:02.088Z&quot;</span><span·class="p"·data-group-id="5970514213-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">
1877 ···</span><span·class="p"·data-group-id="7508547739-7">[</span><span·class="p"·data-group-id="7508547739-8">{</span><span·class="ss">unit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">nanosecond</span><span·class="p"·data-group-id="7508547739-8">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·b38078cfc899ef01a65ee766f64db7e46b75dd5b01bc7b9151904795e2664409·...·]-5">)</span><span·class="p">.</span><span·class="w">1877 ···</span><span·class="p"·data-group-id="5970514213-7">[</span><span·class="p"·data-group-id="5970514213-8">{</span><span·class="ss">unit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">nanosecond</span><span·class="p"·data-group-id="5970514213-8">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·8b464e9e69f04623ecebf5c73d51a6dfb4f047fdd05041827e543d34e9bbbefc·...·]-5">)</span><span·class="p">.</span><span·class="w">
1878 </span><span·class="mi">1517498282088000000</span></code></pre>1878 </span><span·class="mi">1517498282088000000</span></code></pre>
1879 ··</section>1879 ··</section>
1880 </section>1880 </section>
1881 <section·class="detail"·id="seconds_to_daystime/1">1881 <section·class="detail"·id="seconds_to_daystime/1">
  
1882 ··<div·class="detail-header">1882 ··<div·class="detail-header">
1883 ····<a·href="#seconds_to_daystime/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1883 ····<a·href="#seconds_to_daystime/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2034, 28 lines modifiedOffset 2034, 28 lines modified
2034 of·the·integer·is·the·same·as·the·one·of·<code·class="inline">Time</code>.</p></li><li><p><strong><code·class="inline">{time_designator,·Character}</code></strong>·-·The·character·used·as·time·designator,2034 of·the·integer·is·the·same·as·the·one·of·<code·class="inline">Time</code>.</p></li><li><p><strong><code·class="inline">{time_designator,·Character}</code></strong>·-·The·character·used·as·time·designator,
2035 that·is,·the·date·and·time·separator.·The·default·is·<code·class="inline">$T</code>.</p></li><li><p><strong><code·class="inline">{unit,·Unit}</code></strong>·-·The·time·unit·of·<code·class="inline">Time</code>.·The·default·is·<code·class="inline">second</code>.·If·some2035 that·is,·the·date·and·time·separator.·The·default·is·<code·class="inline">$T</code>.</p></li><li><p><strong><code·class="inline">{unit,·Unit}</code></strong>·-·The·time·unit·of·<code·class="inline">Time</code>.·The·default·is·<code·class="inline">second</code>.·If·some
2036 other·unit·is·given·(<code·class="inline">millisecond</code>,·<code·class="inline">microsecond</code>,·<code·class="inline">nanosecond</code>,·or·<code·class="inline">native</code>),2036 other·unit·is·given·(<code·class="inline">millisecond</code>,·<code·class="inline">microsecond</code>,·<code·class="inline">nanosecond</code>,·or·<code·class="inline">native</code>),
2037 the·formatted·string·includes·a·fraction·of·a·second.·The·number·of·fractional2037 the·formatted·string·includes·a·fraction·of·a·second.·The·number·of·fractional
2038 second·digits·is·three,·six,·or·nine·depending·on·what·time·unit·is·chosen.2038 second·digits·is·three,·six,·or·nine·depending·on·what·time·unit·is·chosen.
2039 For·<code·class="inline">native</code>·three·fractional·digits·are·included.·Notice·that·trailing·zeros2039 For·<code·class="inline">native</code>·three·fractional·digits·are·included.·Notice·that·trailing·zeros
2040 are·not·removed·from·the·fraction.</p></li><li><p><strong><code·class="inline">{return,·Return}</code></strong>·-·The·desired·encoding·type·for·the·output,2040 are·not·removed·from·the·fraction.</p></li><li><p><strong><code·class="inline">{return,·Return}</code></strong>·-·The·desired·encoding·type·for·the·output,
2041 whether·a·string·or·a·binary·is·desired.·Defaults·to·string.</p></li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="9805364444-1">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="9805364444-2">(</span><span·class="ss">second</span><span·class="p"·data-group-id="9805364444-2">)</span><span·cla[·...·truncated·by·diffoscope;·len:·31,·SHA:·365efda6c2ba593ea49b1ecd3f6bb72b771de6fede9a7957b6aa2d522c4102e4·...·]4-1">)</span><span·class="p">.</span><span·class="w">2041 whether·a·string·or·a·binary·is·desired.·Defaults·to·string.</p></li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="5201126594-1">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="5201126594-2">(</span><span·class="ss">second</span><span·class="p"·data-group-id="5201126594-2">)</span><span·cla[·...·truncated·by·diffoscope;·len:·31,·SHA:·e4d7233bd3fb3e1fd333c9362e610d5f9b01e8d5480538897f70c5a494bcf035·...·]4-1">)</span><span·class="p">.</span><span·class="w">
2042 </span><span·class="s">&quot;2018-04-23T14:56:28+02:00&quot;</span><span·class="gp·unselectable">2042 </span><span·class="s">&quot;2018-04-23T14:56:28+02:00&quot;</span><span·class="gp·unselectable">
2043 2&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="9805364444-3">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="9805364444-4">(</span><span·class="ss">second</span><span·class="p"·data-group-id="9805364444-4">)</span><span·class="p">,</span><span·class="w">2043 2&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="5201126594-3">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="5201126594-4">(</span><span·class="ss">second</span><span·class="p"·data-group-id="5201126594-4">)</span><span·class="p">,</span><span·class="w">
2044 ···</span><span·class="p"·data-group-id="9805364444-5">[</span><span·class="p"·data-group-id="9805364444-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="9805364444-6">}</span><span·cla[·...·truncated·by·diffoscope;·len:·84,·SHA:·e97615ed1979dfe9faaf4527b21e4aa180955589d33ef47682def6c24675868e·...·]4-3">)</span><span·class="p">.</span><span·class="w">2044 ···</span><span·class="p"·data-group-id="5201126594-5">[</span><span·class="p"·data-group-id="5201126594-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="5201126594-6">}</span><span·cla[·...·truncated·by·diffoscope;·len:·84,·SHA:·b6b5e04b8346a78798b16d482407872d9097e6f2ff66a9e50f9b1eb2ea0ff161·...·]4-3">)</span><span·class="p">.</span><span·class="w">
2045 </span><span·class="s">&quot;2018-04-23T10:56:52-02:00&quot;</span><span·class="gp·unselectable">2045 </span><span·class="s">&quot;2018-04-23T10:56:52-02:00&quot;</span><span·class="gp·unselectable">
2046 3&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="9805364444-7">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="9805364444-8">(</span><span·class="ss">second</span><span·class="p"·data-group-id="9805364444-8">)</span><span·class="p">,</span><span·class="w">2046 3&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="5201126594-7">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="5201126594-8">(</span><span·class="ss">second</span><span·class="p"·data-group-id="5201126594-8">)</span><span·class="p">,</span><span·class="w">
2047 ···</span><span·class="p"·data-group-id="9805364444-9">[</span><span·class="p"·data-group-id="9805364444-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="9805364444-10">}</s[·...·truncated·by·diffoscope;·len:·97,·SHA:·2d4314fbb69d1b5d818f21181aa3e05afec45c4d2ceaf79bfc45942a0a0aceef·...·]4-7">)</span><span·class="p">.</span><span·class="w">2047 ···</span><span·class="p"·data-group-id="5201126594-9">[</span><span·class="p"·data-group-id="5201126594-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="5201126594-10">}</s[·...·truncated·by·diffoscope;·len:·97,·SHA:·4b46cd4d8b2f37322cfdee9c36fc42ecd398cceede0b61b359a4de499ebdc9f9·...·]4-7">)</span><span·class="p">.</span><span·class="w">
2048 </span><span·class="s">&quot;2018-04-23T10:57:05-02:00&quot;</span><span·class="gp·unselectable">2048 </span><span·class="s">&quot;2018-04-23T10:57:05-02:00&quot;</span><span·class="gp·unselectable">
2049 4&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="9805364444-11">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="9805364444-12">(</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="9805364444-12">)</span><span·class="p">,</span><span·class="w">2049 4&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="5201126594-11">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="5201126594-12">(</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="5201126594-12">)</span><span·class="p">,</span><span·class="w">
2050 ···</span><span·class="p"·data-group-id="9805364444-13">[</span><span·class="p"·data-group-id="9805364444-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="9805364444-14">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·620,·SHA:·fccbe8ecdbc72fef78d7bc0a13e2dd7ac56d6037a26a1715c8b889c915aa5b71·...·]4-11">)</span><span·class="p">.</span><span·class="w">2050 ···</span><span·class="p"·data-group-id="5201126594-13">[</span><span·class="p"·data-group-id="5201126594-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="5201126594-14">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·620,·SHA:·ee07ff19ea6f456565be543bb47733ba399021d285bbc5f37e78b37bc84bc10e·...·]4-11">)</span><span·class="p">.</span><span·class="w">
2051 </span><span·class="s">&quot;2018-04-23·12:57:20.482Z&quot;</span><span·class="gp·unselectable">2051 </span><span·class="s">&quot;2018-04-23·12:57:20.482Z&quot;</span><span·class="gp·unselectable">
2052 5&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="9805364444-17">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="9805364444-18">(</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="9805364444-18">)</span><span·class="p">,</span><span·class="w">2052 5&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="5201126594-17">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="5201126594-18">(</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="5201126594-18">)</span><span·class="p">,</span><span·class="w">
2053 ···</span><span·class="p"·data-group-id="9805364444-19">[</span><span·class="p"·data-group-id="9805364444-20">{</span><span·class="ss">unit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="9805364444-20">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·884,·SHA:·c17765fdcc0fe5124158048233790070b4a42a3a7ea8e2621dee46c476326953·...·]4-17">)</span><span·class="p">.</span><span·class="w">2053 ···</span><span·class="p"·data-group-id="5201126594-19">[</span><span·class="p"·data-group-id="5201126594-20">{</span><span·class="ss">unit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="5201126594-20">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·884,·SHA:·e2913215789404d89633ace8a6b1b5bbb18b50d9adb069f920bf761f740ed7a1·...·]4-17">)</span><span·class="p">.</span><span·class="w">
2054 </span><span·class="p"·data-group-id="9805364444-24">&lt;&lt;</span><span·class="s">&quot;2018-04-23·12:57:20.482Z&quot;</span><span·class="p"·data-group-id="9805364444-24">&gt;&gt;</span></code></pre>2054 </span><span·class="p"·data-group-id="5201126594-24">&lt;&lt;</span><span·class="s">&quot;2018-04-23·12:57:20.482Z&quot;</span><span·class="p"·data-group-id="5201126594-24">&gt;&gt;</span></code></pre>
2055 ··</section>2055 ··</section>
2056 </section>2056 </section>
2057 <section·class="detail"·id="system_time_to_universal_time/2">2057 <section·class="detail"·id="system_time_to_universal_time/2">
  
2058 ··<div·class="detail-header">2058 ··<div·class="detail-header">
2059 ····<a·href="#system_time_to_universal_time/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2059 ····<a·href="#system_time_to_universal_time/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
2060 ······<i·class="ri-link-m"·aria-hidden="true"></i>2060 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2324, 15 lines modifiedOffset 2324, 15 lines modified
2324 ······<p·class="built-using">2324 ······<p·class="built-using">
2325 ········Built·using2325 ········Built·using
2326 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2326 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2327 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2327 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2328 ······</p>2328 ······</p>
2329 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2329 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2330 ····</footer>2330 ····</footer>
2331 ··</div>2331 ··</div>
2332 </main>2332 </main>
2333 </div>2333 </div>
2334 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2334 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2335 ··<script>2335 ··<script>
2336 ··let·initialized·=·false;2336 ··let·initialized·=·false;
784 B
html2text {}
Max HTML report size reached
64.9 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/custom_shell.html
    
Offset 148, 28 lines modifiedOffset 148, 28 lines modified
148 </h2>148 </h2>
149 <p>The·custom·shell·will·be·implemented·in·an·<a·href="escript.html"><code·class="inline">escript</code></a>,·but·it·could·just149 <p>The·custom·shell·will·be·implemented·in·an·<a·href="escript.html"><code·class="inline">escript</code></a>,·but·it·could·just
150 as·well·be·in·a·regular·system·or·as·a·remote·shell.·To·start·a·custom·shell150 as·well·be·in·a·regular·system·or·as·a·remote·shell.·To·start·a·custom·shell
151 we·first·need·to·start·Erlang·in·<code·class="inline">-noinput</code>·or·<code·class="inline">-noshell</code>·mode.·<a·href="escript.html"><code·class="inline">escript</code></a>·are151 we·first·need·to·start·Erlang·in·<code·class="inline">-noinput</code>·or·<code·class="inline">-noshell</code>·mode.·<a·href="escript.html"><code·class="inline">escript</code></a>·are
152 started·by·default·in·<code·class="inline">-noshell</code>·mode,·so·we·don't·have·to·do·anything·special·here.152 started·by·default·in·<code·class="inline">-noshell</code>·mode,·so·we·don't·have·to·do·anything·special·here.
153 To·start·the·custom·shell·we·then·call·<a·href="shell.html#start_interactive/1"><code·class="inline">shell:start_interactive/1</code></a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript153 To·start·the·custom·shell·we·then·call·<a·href="shell.html#start_interactive/1"><code·class="inline">shell:start_interactive/1</code></a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript
154 </span><span·class="c1">%%·pshell.es</span><span·class="w">154 </span><span·class="c1">%%·pshell.es</span><span·class="w">
155 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2315430394-1">(</span><span·class="p"·data-group-id="2315430394-2">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2315430394-2">]</span><span·class="p"·data-group-id="2315430394-1">)</span><span·class="p">.</span><span·class="w">155 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7996379261-1">(</span><span·class="p"·data-group-id="7996379261-2">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7996379261-2">]</span><span·class="p"·data-group-id="7996379261-1">)</span><span·class="p">.</span><span·class="w">
156 </span><span·class="nf">main</span><span·class="p"·data-group-id="2315430394-3">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="2315430394-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">156 </span><span·class="nf">main</span><span·class="p"·data-group-id="7996379261-3">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="7996379261-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
157 ····</span><span·class="nc">shell</span><span·class="p">:</span><span·class="nf">start_interactive</span><span·class="p"·data-group-id="2315430394-4">(</span><span·class="p"·data-group-id="2315430394-5">{</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·197,·SHA:·554b61ad9f4189a7c329713b4f15b5eeac536cf1fcd724c9f3a4c96197177ba6·...·]-4">)</span><span·class="p">,</span><span·class="w">157 ····</span><span·class="nc">shell</span><span·class="p">:</span><span·class="nf">start_interactive</span><span·class="p"·data-group-id="7996379261-4">(</span><span·class="p"·data-group-id="7996379261-5">{</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·197,·SHA:·7ab2d5080bea59d7972988c6aa2e220a6b20a29586b7ab562bc542513a89a6b9·...·]-4">)</span><span·class="p">,</span><span·class="w">
158 ····</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">sleep</span><span·class="p"·data-group-id="2315430394-7">(</span><span·class="ss">infinity</span><span·class="p"·data-group-id="2315430394-7">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%%·Make·sure·the·escript·does·not·exit</span><span·class="w">158 ····</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">sleep</span><span·class="p"·data-group-id="7996379261-7">(</span><span·class="ss">infinity</span><span·class="p"·data-group-id="7996379261-7">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%%·Make·sure·the·escript·does·not·exit</span><span·class="w">
159 </span><span·class="w">159 </span><span·class="w">
160 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">start</span><span·class="p"·data-group-id="2315430394-8">(</span><span·class="p"·data-group-id="2315430394-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">pid</span><span·class="p"·data-group-id="2315430394-9">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·8582527b1149028239908d4bbf128d51fdcd5561a2035b13c8911c28728d34d0·...·]-9">)</span><span·class="p">.</span><span·class="w">160 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">start</span><span·class="p"·data-group-id="7996379261-8">(</span><span·class="p"·data-group-id="7996379261-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">pid</span><span·class="p"·data-group-id="7996379261-9">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·35437855add0fdabd3602b93da6ba199d7968d0e5ac5bbe1c943e1ddece34f15·...·]-9">)</span><span·class="p">.</span><span·class="w">
161 </span><span·class="nf">start</span><span·class="p"·data-group-id="2315430394-10">(</span><span·class="p"·data-group-id="2315430394-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">161 </span><span·class="nf">start</span><span·class="p"·data-group-id="7996379261-10">(</span><span·class="p"·data-group-id="7996379261-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
162 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2315430394-11">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2315430394-12">(</span><span·class="p"·data-group-id="2315430394-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">162 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7996379261-11">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7996379261-12">(</span><span·class="p"·data-group-id="7996379261-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
163 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2315430394-13">(</span><span·class="s">~&quot;Starting·process·inspection·shell</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="2315430394-13">)</span><span·class="p">,</span><span·class="w">163 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="7996379261-13">(</span><span·class="s">~&quot;Starting·process·inspection·shell</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="7996379261-13">)</span><span·class="p">,</span><span·class="w">
164 ··················</span><span·class="nf">loop</span><span·class="p"·data-group-id="2315430394-14">(</span><span·class="p"·data-group-id="2315430394-14">)</span><span·class="w">164 ··················</span><span·class="nf">loop</span><span·class="p"·data-group-id="7996379261-14">(</span><span·class="p"·data-group-id="7996379261-14">)</span><span·class="w">
165 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="2315430394-11">)</span><span·class="p">.</span><span·class="w">165 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="7996379261-11">)</span><span·class="p">.</span><span·class="w">
  
166 </span><span·class="nf">loop</span><span·class="p"·data-group-id="2315430394-15">(</span><span·class="p"·data-group-id="2315430394-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">166 </span><span·class="nf">loop</span><span·class="p"·data-group-id="7996379261-15">(</span><span·class="p"·data-group-id="7996379261-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
167 ····</span><span·class="k">receive</span><span·class="w">·</span><span·class="p">_</span><span·class="n">M</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">loop</span><span·class="p"·data-group-id="2315430394-16">(</span><span·class="p"·data-group-id="2315430394-16">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>If·we·run·the·above·we·will·get·this:</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">./pshell.es167 ····</span><span·class="k">receive</span><span·class="w">·</span><span·class="p">_</span><span·class="n">M</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">loop</span><span·class="p"·data-group-id="7996379261-16">(</span><span·class="p"·data-group-id="7996379261-16">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>If·we·run·the·above·we·will·get·this:</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">./pshell.es
168 </span><span·class="">Erlang/OTP·28·[DEVELOPMENT]·[erts-15.0.1]·[source-b395339a02]·[64-bit]·[smp:8:8]·[ds:8:8:10]·[async-threads:1]·[jit:ns]168 </span><span·class="">Erlang/OTP·28·[DEVELOPMENT]·[erts-15.0.1]·[source-b395339a02]·[64-bit]·[smp:8:8]·[ds:8:8:10]·[async-threads:1]·[jit:ns]
169 </span><span·class="">169 </span><span·class="">
170 </span><span·class="">Starting·process·inspection·shell170 </span><span·class="">Starting·process·inspection·shell
171 </span><span·class="">171 </span><span·class="">
172 </span></code></pre><p>The·<a·href="io.html#t:standard_io/0"><code·class="inline">io:standard_io/0</code></a>·of·the·created·shell·process·will·be·set·to·the172 </span></code></pre><p>The·<a·href="io.html#t:standard_io/0"><code·class="inline">io:standard_io/0</code></a>·of·the·created·shell·process·will·be·set·to·the
173 Erlang·line·editor,·which·means·that·we·can·use·the·normal·<a·href="io.html"><code·class="inline">io</code></a>·functions173 Erlang·line·editor,·which·means·that·we·can·use·the·normal·<a·href="io.html"><code·class="inline">io</code></a>·functions
174 to·read·and·write·data·to·the·terminal.</p><h2·id="adding-our-first-command"·class="section-heading">174 to·read·and·write·data·to·the·terminal.</p><h2·id="adding-our-first-command"·class="section-heading">
Offset 178, 40 lines modifiedOffset 178, 40 lines modified
178 ··</a>178 ··</a>
179 ··<span·class="text">Adding·our·first·command</span>179 ··<span·class="text">Adding·our·first·command</span>
180 </h2>180 </h2>
181 <p>Let's·start·adding·the·shell·interface.·We·will·use·<a·href="io.html#get_line/1"><code·class="inline">io:get_line/1</code></a>·to·read·from181 <p>Let's·start·adding·the·shell·interface.·We·will·use·<a·href="io.html#get_line/1"><code·class="inline">io:get_line/1</code></a>·to·read·from
182 <a·href="io.html#t:standard_io/0"><code·class="inline">io:standard_io/0</code></a>·as·this·shell·will·be·line·based.·However,·for·a·more·complex182 <a·href="io.html#t:standard_io/0"><code·class="inline">io:standard_io/0</code></a>·as·this·shell·will·be·line·based.·However,·for·a·more·complex
183 shell·it·is·better·to·send·<a·href="io_protocol.html#input-requests"><code·class="inline">get_until</code>·I/O·requests</a>183 shell·it·is·better·to·send·<a·href="io_protocol.html#input-requests"><code·class="inline">get_until</code>·I/O·requests</a>
184 as·commands·read·that·way·can·span·multiple·lines.·So·we·expand·our·<code·class="inline">loop/0</code>·with184 as·commands·read·that·way·can·span·multiple·lines.·So·we·expand·our·<code·class="inline">loop/0</code>·with
185 a·<a·href="io.html#get_line/1"><code·class="inline">io:get_line/1</code></a>·and·pass·the·results·to·our·parser.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="0793323985-1">(</span><span·class="p"·data-group-id="0793323985-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">185 a·<a·href="io.html#get_line/1"><code·class="inline">io:get_line/1</code></a>·and·pass·the·results·to·our·parser.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="8647519141-1">(</span><span·class="p"·data-group-id="8647519141-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
186 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">get_line</span><span·class="p"·data-group-id="0793323985-2">(</span><span·class="s">&quot;&gt;·&quot;</span><span·class="p"·data-group-id="0793323985-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">186 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">get_line</span><span·class="p"·data-group-id="8647519141-2">(</span><span·class="s">&quot;&gt;·&quot;</span><span·class="p"·data-group-id="8647519141-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
187 ········</span><span·class="ss">eof</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">187 ········</span><span·class="ss">eof</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
188 ········</span><span·class="p"·data-group-id="0793323985-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="0793323985-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·152,·SHA:·32beb66ec2a62c152d03a02063b764a38e11e4f18c59e1c20b903a6bbfbe1c59·...·]-4">)</span><span·class="p">;</span><span·class="w">188 ········</span><span·class="p"·data-group-id="8647519141-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="8647519141-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·152,·SHA:·1f37abea7c1490232f5b30cabcc502a56f04c58a4dbe64c1e70aea8e22c5d72d·...·]-4">)</span><span·class="p">;</span><span·class="w">
189 ········</span><span·class="n">Data</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">eval</span><span·class="p"·data-group-id="0793323985-5">(</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">trim</span><span·class="p"·data-group-id="0793323985-6">(</span><span·class="n">Data</span><span·class="p"·data-group-id="0793323985-6">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·6d65663300b7b6bb409d354cf6a340d6a2713f50bc5ae0fbbd7165659e7da555·...·]-5">)</span><span·class="w">189 ········</span><span·class="n">Data</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">eval</span><span·class="p"·data-group-id="8647519141-5">(</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">trim</span><span·class="p"·data-group-id="8647519141-6">(</span><span·class="n">Data</span><span·class="p"·data-group-id="8647519141-6">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·c1a22a97b8d29f120ada0a4230d1d9a07afc0acef3d0f6a5a3ea186687bae5e6·...·]-5">)</span><span·class="w">
190 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">190 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
191 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="0793323985-7">(</span><span·class="p"·data-group-id="0793323985-7">)</span><span·class="p">.</span><span·class="w">191 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="8647519141-7">(</span><span·class="p"·data-group-id="8647519141-7">)</span><span·class="p">.</span><span·class="w">
  
192 </span><span·class="nf">eval</span><span·class="p"·data-group-id="0793323985-8">(</span><span·class="s">&quot;list&quot;</span><span·class="p"·data-group-id="0793323985-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">192 </span><span·class="nf">eval</span><span·class="p"·data-group-id="8647519141-8">(</span><span·class="s">&quot;list&quot;</span><span·class="p"·data-group-id="8647519141-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="n">Format</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;·~.10ts·|·~.10ts·|·~.10ts</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="n">Format</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;·~.10ts·|·~.10ts·|·~.10ts</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">
194 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0793323985-9">(</span><span·class="n">Format</span><span·class="p">,</span><span·class="p"·data-group-id="0793323985-10">[</span><span·class="s">&quot;Pid&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Name&quot;</span><s[·...·truncated·by·diffoscope;·len:·184,·SHA:·962b814fee4a7e6b45f18209bd549145333e303452fb165b6e3a9f105afd9560·...·]-9">)</span><span·class="p">,</span><span·class="w">194 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8647519141-9">(</span><span·class="n">Format</span><span·class="p">,</span><span·class="p"·data-group-id="8647519141-10">[</span><span·class="s">&quot;Pid&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Name&quot;</span><s[·...·truncated·by·diffoscope;·len:·184,·SHA:·38a68cba49bf26701b467dd5805735e71470d36930d26494bdd27e6a2a8d57e7·...·]-9">)</span><span·class="p">,</span><span·class="w">
195 ····</span><span·class="p"·data-group-id="0793323985-11">[</span><span·class="k">begin</span><span·class="w">195 ····</span><span·class="p"·data-group-id="8647519141-11">[</span><span·class="k">begin</span><span·class="w">
196 ·········</span><span·class="p"·data-group-id="0793323985-12">[</span><span·class="p"·data-group-id="0793323985-13">{</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="n">Name</span><span·class="p"·data-group-id="0793323985-13">}</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·229,·SHA:·383c42ec3c0146c3ff5acb1397030dc9de7fe51c4b08b2b695664dde19e3d13a·...·]-12">]</span><span·class="w">196 ·········</span><span·class="p"·data-group-id="8647519141-12">[</span><span·class="p"·data-group-id="8647519141-13">{</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="n">Name</span><span·class="p"·data-group-id="8647519141-13">}</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·229,·SHA:·a074884a8f5453816f36323e5b26073cde29d7df8eaf05331f40483a89446c7a·...·]-12">]</span><span·class="w">
197 ·············</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">process_info</span><span·class="p"·data-group-id="0793323985-15">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0793323985-16">[</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">m[·...·truncated·by·diffoscope;·len:·118,·SHA:·35ea47024fb267a4ba30dcadac9b610ca1e33a61c15a8ed1618e6079ec491b94·...·]-15">)</span><span·class="p">,</span><span·class="w">197 ·············</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">process_info</span><span·class="p"·data-group-id="8647519141-15">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8647519141-16">[</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">m[·...·truncated·by·diffoscope;·len:·118,·SHA:·792055cadf1bccf6d52338c220a79cf8ef162d1965395c6d76256de6176851af·...·]-15">)</span><span·class="p">,</span><span·class="w">
198 ·········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0793323985-17">(</span><span·class="n">Format</span><span·class="p">,</span><span·class="p"·data-group-id="0793323985-18">[</span><span·class="nf">to_list</span><span·class="p"·data-group-id="0793323985-19">(</span><span·class="n">Pid</span><span·class="p"[·...·truncated·by·diffoscope;·len:·561,·SHA:·4b67a02641c35e6804c36ed9cbf01fcf17f668238e7062be6438892c2ad07bd5·...·]-17">)</span><span·class="w">198 ·········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8647519141-17">(</span><span·class="n">Format</span><span·class="p">,</span><span·class="p"·data-group-id="8647519141-18">[</span><span·class="nf">to_list</span><span·class="p"·data-group-id="8647519141-19">(</span><span·class="n">Pid</span><span·class="p"[·...·truncated·by·diffoscope;·len:·561,·SHA:·a2a88a597ce709f1ed6dfe07c9cd8d1e29b7f1819b25c5578d54a3b543bb3b76·...·]-17">)</span><span·class="w">
199 ·····</span><span·class="k">end</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nf">processes</span><span·class="p"·data-group-id="0793323985-22">(</span><span·class="p"·data-group-id="0793323985-22">)</span><span·class="p"·data-group-id="0793323985-11">]</span><span·class="p">;</span><span·class="w">199 ·····</span><span·class="k">end</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nf">processes</span><span·class="p"·data-group-id="8647519141-22">(</span><span·class="p"·data-group-id="8647519141-22">)</span><span·class="p"·data-group-id="8647519141-11">]</span><span·class="p">;</span><span·class="w">
200 </span><span·class="nf">eval</span><span·class="p"·data-group-id="0793323985-23">(</span><span·class="n">Unknown</span><span·class="p"·data-group-id="0793323985-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">200 </span><span·class="nf">eval</span><span·class="p"·data-group-id="8647519141-23">(</span><span·class="n">Unknown</span><span·class="p"·data-group-id="8647519141-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
201 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0793323985-24">(</span><span·class="s">&quot;Unknown·command:·&#39;~ts&#39;</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="0793323985-25">[</span><span·class="n">Unknown</span><span·class[·...·truncated·by·diffoscope;·len:·84,·SHA:·a28b9408c666bdc88ee6cf18b8cfe494713e569670b2357ed5d74bc180d016ec·...·]-24">)</span><span·class="p">.</span><span·class="w">201 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8647519141-24">(</span><span·class="s">&quot;Unknown·command:·&#39;~ts&#39;</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8647519141-25">[</span><span·class="n">Unknown</span><span·class[·...·truncated·by·diffoscope;·len:·84,·SHA:·34507af2f4c1d70f6de6ccc14942d3f7dcd58829aa141fb7a8e4649e365994bc·...·]-24">)</span><span·class="p">.</span><span·class="w">
  
202 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="0793323985-26">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="0793323985-26">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_pid</span><span·class="p"·data-group-id="0793323985-27">(<[·...·truncated·by·diffoscope;·len:·73,·SHA:·905c180a3ccc75719d9ce506ec32be1046b910016fdcad2d0509b43fcc468835·...·]-27">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="8647519141-26">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="8647519141-26">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_pid</span><span·class="p"·data-group-id="8647519141-27">(<[·...·truncated·by·diffoscope;·len:·73,·SHA:·8ddefc0a645debf22d07615504f98e678899ceb2f75bd8314c720e2c3d789925·...·]-27">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ····</span><span·class="nf">pid_to_list</span><span·class="p"·data-group-id="0793323985-28">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="0793323985-28">)</span><span·class="p">;</span><span·class="w">203 ····</span><span·class="nf">pid_to_list</span><span·class="p"·data-group-id="8647519141-28">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="8647519141-28">)</span><span·class="p">;</span><span·class="w">
204 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="0793323985-29">(</span><span·class="n">Atom</span><span·class="p"·data-group-id="0793323985-29">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_atom</span><span·class="p"·data-group-id="0793323985-30">[·...·truncated·by·diffoscope;·len:·76,·SHA:·1a975c46af83082f8b4860ac9829a401fc7e8dbbe800e5d2d4a72a2b831648ea·...·]-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">204 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="8647519141-29">(</span><span·class="n">Atom</span><span·class="p"·data-group-id="8647519141-29">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_atom</span><span·class="p"·data-group-id="8647519141-30">[·...·truncated·by·diffoscope;·len:·76,·SHA:·e4ab122cb3cfb8ffe0382c533ce496bdc39ade066983ee1f0d44f978a1f7d2e9·...·]-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
205 ····</span><span·class="nf">atom_to_list</span><span·class="p"·data-group-id="0793323985-31">(</span><span·class="n">Atom</span><span·class="p"·data-group-id="0793323985-31">)</span><span·class="p">;</span><span·class="w">205 ····</span><span·class="nf">atom_to_list</span><span·class="p"·data-group-id="8647519141-31">(</span><span·class="n">Atom</span><span·class="p"·data-group-id="8647519141-31">)</span><span·class="p">;</span><span·class="w">
206 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="0793323985-32">(</span><span·class="n">Int</span><span·class="p"·data-group-id="0793323985-32">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="0793323985-33[·...·truncated·by·diffoscope;·len:·77,·SHA:·a4deb2c9311cfbd09eae228acd95775592dd0ebda0a1e89501562ee67c9ef3fe·...·]-33">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="8647519141-32">(</span><span·class="n">Int</span><span·class="p"·data-group-id="8647519141-32">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="8647519141-33[·...·truncated·by·diffoscope;·len:·77,·SHA:·d36666bc842660eec4695bf8200f909e038564d0e7a007af164283df3989ebd7·...·]-33">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ····</span><span·class="nf">integer_to_list</span><span·class="p"·data-group-id="0793323985-34">(</span><span·class="n">Int</span><span·class="p"·data-group-id="0793323985-34">)</span><span·class="p">;</span><span·class="w">207 ····</span><span·class="nf">integer_to_list</span><span·class="p"·data-group-id="8647519141-34">(</span><span·class="n">Int</span><span·class="p"·data-group-id="8647519141-34">)</span><span·class="p">;</span><span·class="w">
208 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="0793323985-35">(</span><span·class="n">List</span><span·class="p"·data-group-id="0793323985-35">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="0793323985-36">[·...·truncated·by·diffoscope;·len:·76,·SHA:·c1e6aa122dae64809652d681ed85e8bc164246ee705d7e9faff45eace7bc5f4d·...·]-36">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="8647519141-35">(</span><span·class="n">List</span><span·class="p"·data-group-id="8647519141-35">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="8647519141-36">[·...·truncated·by·diffoscope;·len:·76,·SHA:·d0a36646acc29b6414ad09f375b2eff97202bd63488b8edb2279028cea0dbf24·...·]-36">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ····</span><span·class="n">List</span><span·class="p">.</span></code></pre><p>If·we·run·the·above·we·will·get·this:</p><pre><code·class="txt">$·./pshell.es209 ····</span><span·class="n">List</span><span·class="p">.</span></code></pre><p>If·we·run·the·above·we·will·get·this:</p><pre><code·class="txt">$·./pshell.es
210 Erlang/OTP·28·[DEVELOPMENT]·[erts-15.0.1]·[source-b395339a02]·[64-bit]·[smp:8:8]·[ds:8:8:10]·[async-threads:1]·[jit:ns]210 Erlang/OTP·28·[DEVELOPMENT]·[erts-15.0.1]·[source-b395339a02]·[64-bit]·[smp:8:8]·[ds:8:8:10]·[async-threads:1]·[jit:ns]
  
211 Starting·process·inspection·shell211 Starting·process·inspection·shell
212 &gt;·list212 &gt;·list
213 ·Pid········|·Name·······|·MsgQ·Len··213 ·Pid········|·Name·······|·MsgQ·Len··
214 ·&lt;0.0.0&gt;····|·init·······|·0·········214 ·&lt;0.0.0&gt;····|·init·······|·0·········
Offset 223, 70 lines modifiedOffset 223, 70 lines modified
223 ·&lt;0.6.0&gt;····|············|·0·········223 ·&lt;0.6.0&gt;····|············|·0·········
224 ·&lt;0.7.0&gt;····|············|·0·········224 ·&lt;0.7.0&gt;····|············|·0·········
225 ·&lt;0.8.0&gt;····|·socket_reg·|·0·········225 ·&lt;0.8.0&gt;····|·socket_reg·|·0·········
226 ·&lt;0.10.0&gt;···|············|·0·········226 ·&lt;0.10.0&gt;···|············|·0·········
227 ·&lt;0.11.0&gt;···|·erl_prim_l·|·0·········227 ·&lt;0.11.0&gt;···|·erl_prim_l·|·0·········
228 ·&lt;0.43.0&gt;···|·logger·····|·0·········228 ·&lt;0.43.0&gt;···|·logger·····|·0·········
229 ·&lt;0.45.0&gt;···|·applicatio·|·0229 ·&lt;0.45.0&gt;···|·applicatio·|·0
230 ...</code></pre><p>With·this·all·in·place·we·can·now·easily·add·<code·class="inline">inspect</code>,·<code·class="inline">suspend</code>·and·<code·class="inline">resume</code>·as·well.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">eval</span><span·class="p"·data-group-id="9073092377-1">(</span><span·class="s">&quot;inspect·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">PidStr</span><span·class="p"·data-group-id="9073092377-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">230 ...</code></pre><p>With·this·all·in·place·we·can·now·easily·add·<code·class="inline">inspect</code>,·<code·class="inline">suspend</code>·and·<code·class="inline">resume</code>·as·well.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">eval</span><span·class="p"·data-group-id="1173689033-1">(</span><span·class="s">&quot;inspect·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">PidStr</span><span·class="p"·data-group-id="1173689033-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
231 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">parse_pid</span><span·class="p"·data-group-id="9073092377-2">(</span><span·class="n">PidStr</span><span·class="p"·data-group-id="9073092377-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">231 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">parse_pid</span><span·class="p"·data-group-id="1173689033-2">(</span><span·class="n">PidStr</span><span·class="p"·data-group-id="1173689033-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
232 ········</span><span·class="ss">invalid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">232 ········</span><span·class="ss">invalid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
233 ········</span><span·class="n">Pid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">233 ········</span><span·class="n">Pid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
234 ············</span><span·class="p"·data-group-id="9073092377-3">[</span><span·class="p"·data-group-id="9073092377-4">{</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="9073092377-4">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·814,·SHA:·23a0301227f457426d31d8412918ab72d2c3c6a74c9ad6e409029283ff2df427·...·]-3">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">234 ············</span><span·class="p"·data-group-id="1173689033-3">[</span><span·class="p"·data-group-id="1173689033-4">{</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="1173689033-4">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·814,·SHA:·ecfe1650d7ab1e9ff959b5ed4b1d48568c886e171152d13f2d1faf798675e2c8·...·]-3">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
235 ················</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">process_info</span><span·class="p"·data-group-id="9073092377-8">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9073092377-9">[</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="w">·</span><span·class="nb">mem[·...·truncated·by·diffoscope;·len:·262,·SHA:·7d1895d1e7e7b456c8796a8ab00888fb81c29cf653335ef9d9c688f712958814·...·]-8">)</span><span·class="p">,</span><span·class="w">235 ················</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">process_info</span><span·class="p"·data-group-id="1173689033-8">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1173689033-9">[</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="w">·</span><span·class="nb">mem[·...·truncated·by·diffoscope;·len:·262,·SHA:·1f98861afc7733dafae9dc4cff3aa33ee355a4a5804808fe5a5d161ed999f90f·...·]-8">)</span><span·class="p">,</span><span·class="w">
236 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9073092377-10">(</span><span·class="s">&quot;Pid:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">Name:·~ts</span><span·class="si">~n</span><span·class="s">Status:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">Memory:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">Messages:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">236 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1173689033-10">(</span><span·class="s">&quot;Pid:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">Name:·~ts</span><span·class="si">~n</span><span·class="s">Status:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">Memory:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">Messages:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">
237 ······················</span><span·class="p"·data-group-id="9073092377-11">[</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">to_list</span><span·class="p"·data-group-id="9073092377-12">(</span><span·class="n">Name</span><span·class="p"·data-group-id="9073092377-12">)[·...·truncated·by·diffoscope;·len:·335,·SHA:·3d66ef3eca7a85f24153192297666323fbc4dbfe0adfed5458759d3d5b37dfcb·...·]-10">)</span><span·class="w">237 ······················</span><span·class="p"·data-group-id="1173689033-11">[</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">to_list</span><span·class="p"·data-group-id="1173689033-12">(</span><span·class="n">Name</span><span·class="p"·data-group-id="1173689033-12">)[·...·truncated·by·diffoscope;·len:·335,·SHA:·3d2da011f49c0cf474efc486470f505224aa90086628b65ec54d5486038bd890·...·]-10">)</span><span·class="w">
238 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">238 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
239 </span><span·class="nf">eval</span><span·class="p"·data-group-id="9073092377-13">(</span><span·class="s">&quot;suspend·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">PidStr</span><span·class="p"·data-group-id="9073092377-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">239 </span><span·class="nf">eval</span><span·class="p"·data-group-id="1173689033-13">(</span><span·class="s">&quot;suspend·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">PidStr</span><span·class="p"·data-group-id="1173689033-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
240 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">parse_pid</span><span·class="p"·data-group-id="9073092377-14">(</span><span·class="n">PidStr</span><span·class="p"·data-group-id="9073092377-14">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">240 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">parse_pid</span><span·class="p"·data-group-id="1173689033-14">(</span><span·class="n">PidStr</span><span·class="p"·data-group-id="1173689033-14">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
241 ········</span><span·class="ss">invalid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">241 ········</span><span·class="ss">invalid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
242 ········</span><span·class="n">Pid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">242 ········</span><span·class="n">Pid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
243 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">suspend_process</span><span·class="p"·data-group-id="9073092377-15">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="9073092377-15">)</span><span·class="p">,</span><span·class="w">243 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">suspend_process</span><span·class="p"·data-group-id="1173689033-15">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="1173689033-15">)</span><span·class="p">,</span><span·class="w">
244 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9073092377-16">(</span><span·class="s">&quot;Suspeneded·~ts</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="9073092377-16">)</span><span·class="w">244 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1173689033-16">(</span><span·class="s">&quot;Suspeneded·~ts</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="1173689033-16">)</span><span·class="w">
245 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">245 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
246 </span><span·class="nf">eval</span><span·class="p"·data-group-id="9073092377-17">(</span><span·class="s">&quot;resume·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">PidStr</span><span·class="p"·data-group-id="9073092377-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">246 </span><span·class="nf">eval</span><span·class="p"·data-group-id="1173689033-17">(</span><span·class="s">&quot;resume·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">PidStr</span><span·class="p"·data-group-id="1173689033-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
247 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">parse_pid</span><span·class="p"·data-group-id="9073092377-18">(</span><span·class="n">PidStr</span><span·class="p"·data-group-id="9073092377-18">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">247 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">parse_pid</span><span·class="p"·data-group-id="1173689033-18">(</span><span·class="n">PidStr</span><span·class="p"·data-group-id="1173689033-18">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
248 ········</span><span·class="ss">invalid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">248 ········</span><span·class="ss">invalid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
249 ········</span><span·class="n">Pid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">249 ········</span><span·class="n">Pid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
250 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">resumne_process</span><span·class="p"·data-group-id="9073092377-19">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="9073092377-19">)</span><span·class="p">,</span><span·class="w">250 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">resumne_process</span><span·class="p"·data-group-id="1173689033-19">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="1173689033-19">)</span><span·class="p">,</span><span·class="w">
251 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9073092377-20">(</span><span·class="s">&quot;Resumed·~ts</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="9073092377-20">)</span><span·class="w">251 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1173689033-20">(</span><span·class="s">&quot;Resumed·~ts</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="1173689033-20">)</span><span·class="w">
252 ····</span><span·class="k">end</span><span·class="p">;</span></code></pre><h2·id="adding-autocompletion"·class="section-heading">252 ····</span><span·class="k">end</span><span·class="p">;</span></code></pre><h2·id="adding-autocompletion"·class="section-heading">
253 ··<a·href="#adding-autocompletion"·class="hover-link">253 ··<a·href="#adding-autocompletion"·class="hover-link">
254 ····<i·class="ri-link-m"·aria-hidden="true"></i>254 ····<i·class="ri-link-m"·aria-hidden="true"></i>
255 ··</a>255 ··</a>
256 ··<span·class="text">Adding·autocompletion</span>256 ··<span·class="text">Adding·autocompletion</span>
257 </h2>257 </h2>
258 <p>Wouldn't·it·be·great·if·we·could·add·some·simple·auto-completion·for·our·shell?·We·can·do·that258 <p>Wouldn't·it·be·great·if·we·could·add·some·simple·auto-completion·for·our·shell?·We·can·do·that
259 by·setting·a·<a·href="edlin_expand.html"><code·class="inline">edlin_expand</code></a>·fun·for·our·shell.·This·is·done·by·calling·<a·href="io.html#setopts/2"><code·class="inline">io:setopts([{expand_fun,·Fun}])</code></a>.·The·fun·that·we·provide·is·will·receive·the·reversed·current·line·from259 by·setting·a·<a·href="edlin_expand.html"><code·class="inline">edlin_expand</code></a>·fun·for·our·shell.·This·is·done·by·calling·<a·href="io.html#setopts/2"><code·class="inline">io:setopts([{expand_fun,·Fun}])</code></a>.·The·fun·that·we·provide·is·will·receive·the·reversed·current·line·from
260 <a·href="edlin.html"><code·class="inline">edlin</code></a>·and·is·expected·to·return·possible·expansions.·Let's·start·by·adding·a·simple·fun·to260 <a·href="edlin.html"><code·class="inline">edlin</code></a>·and·is·expected·to·return·possible·expansions.·Let's·start·by·adding·a·simple·fun·to
261 expand·our·commands.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">start</span><span·class="p"·data-group-id="2705103505-1">(</span><span·class="p"·data-group-id="2705103505-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">pid</span><span·class="p"·data-group-id="2705103505-2">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·15,·SHA:·702580f19443c2d2a6e73c7dafb0ea8e8c761989510680c15afebcb41db9f58c·...·]5-2">)</span><span·class="p">.</span><span·class="w">261 expand·our·commands.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">start</span><span·class="p"·data-group-id="1100201525-1">(</span><span·class="p"·data-group-id="1100201525-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">pid</span><span·class="p"·data-group-id="1100201525-2">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·15,·SHA:·54f3bfd6c12da56cd9d959f0dcfe7cae3e67776ed892a88475680e311e30486b·...·]5-2">)</span><span·class="p">.</span><span·class="w">
262 </span><span·class="nf">start</span><span·class="p"·data-group-id="2705103505-3">(</span><span·class="p"·data-group-id="2705103505-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">262 </span><span·class="nf">start</span><span·class="p"·data-group-id="1100201525-3">(</span><span·class="p"·data-group-id="1100201525-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
263 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2705103505-4">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2705103505-5">(</span><span·class="p"·data-group-id="2705103505-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">263 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="1100201525-4">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1100201525-5">(</span><span·class="p"·data-group-id="1100201525-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
264 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">setopts</span><span·class="p"·data-group-id="2705103505-6">(</span><span·class="p"·data-group-id="2705103505-7">[</span><span·class="p"·data-group-id="2705103505-8">{</span><span·class="ss">expand_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·233,·SHA:·186f3ab73303c988ecea4f44cb688bc17c64d93e6badae0ab6951fc0324f8daa·...·]5-6">)</span><span·class="p">,</span><span·class="w">264 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">setopts</span><span·class="p"·data-group-id="1100201525-6">(</span><span·class="p"·data-group-id="1100201525-7">[</span><span·class="p"·data-group-id="1100201525-8">{</span><span·class="ss">expand_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·233,·SHA:·cb565e08364f3bfa70cdd5c54dcef41e363f04d1a9077d807d50624ed34c2261·...·]5-6">)</span><span·class="p">,</span><span·class="w">
265 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2705103505-9">(</span><span·class="s">~&quot;Starting·process·inspection·shell</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="2705103505-9">)</span><span·class="p">,</span><span·class="w">265 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1100201525-9">(</span><span·class="s">~&quot;Starting·process·inspection·shell</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="1100201525-9">)</span><span·class="p">,</span><span·class="w">
266 ··················</span><span·class="nf">loop</span><span·class="p"·data-group-id="2705103505-10">(</span><span·class="p"·data-group-id="2705103505-10">)</span><span·class="w">266 ··················</span><span·class="nf">loop</span><span·class="p"·data-group-id="1100201525-10">(</span><span·class="p"·data-group-id="1100201525-10">)</span><span·class="w">
267 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="2705103505-4">)</span><span·class="p">.</span><span·class="w">267 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="1100201525-4">)</span><span·class="p">.</span><span·class="w">
268 </span><span·class="w">268 </span><span·class="w">
269 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="2705103505-11">(</span><span·class="n">ReverseLine</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="2705103505-12">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·794,·SHA:·5536355ca49a0a6b8f5b373615f85babc234bd4e0972ae205d31e4b1af111698·...·]5-13">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">269 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="1100201525-11">(</span><span·class="n">ReverseLine</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="1100201525-12">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·794,·SHA:·56af5747a57aeba89245e9db0e3807a7a337b2ff0796cb8e6b32fd035601951c·...·]5-13">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
270 ··········</span><span·class="p"·data-group-id="2705103505-17">{</span><span·class="ss">no</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">nil</span><span·class="p"·data-group-id="2705103505-18">(</span><span·class="p"·data-group-id="2705103505-18">)</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·199,·SHA:·abf65e8dc4192739f341d70776682d006d8e85b162aec5f2d697dbe961346273·...·]5-17">}</span><span·class="p">.</span><span·class="w">270 ··········</span><span·class="p"·data-group-id="1100201525-17">{</span><span·class="ss">no</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">nil</span><span·class="p"·data-group-id="1100201525-18">(</span><span·class="p"·data-group-id="1100201525-18">)</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·199,·SHA:·5c6b9491e5b4622db536e8196211649cf71bc2dac9e7ae69ecf50e17267dd18d·...·]5-17">}</span><span·class="p">.</span><span·class="w">
271 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="2705103505-20">(</span><span·class="s">&quot;&quot;</span><span·class="p"·data-group-id="2705103505-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="c1">%%·If·line·is·empty,·we·list·all·available·commands</span><span·class="w">271 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="1100201525-20">(</span><span·class="s">&quot;&quot;</span><span·class="p"·data-group-id="1100201525-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="c1">%%·If·line·is·empty,·we·list·all·available·commands</span><span·class="w">
272 ····</span><span·class="p"·data-group-id="2705103505-21">{</span><span·class="ss">yes</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2705103505-22">[</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·381,·SHA:·12663d0b588ad72c1174ce093ad4f8cf5fac8a8ca74210ec66fc2ff8bf4a6f31·...·]5-21">}</span><span·class="p">;</span><span·class="w">272 ····</span><span·class="p"·data-group-id="1100201525-21">{</span><span·class="ss">yes</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1100201525-22">[</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·381,·SHA:·e5348c55a43c2a31273840654dd8342d323b50e835d78ec013ed3eac43ad4219·...·]5-21">}</span><span·class="p">;</span><span·class="w">
273 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="2705103505-23">(</span><span·class="n">Curr</span><span·class="p"·data-group-id="2705103505-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">273 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="1100201525-23">(</span><span·class="n">Curr</span><span·class="p"·data-group-id="1100201525-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
274 ····</span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="2705103505-24">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="2705103505-25">(</span><span·class="n">Curr</span><span·class="p"·data-group-id="2705103505-25">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·490,·SHA:·62374d3fb0376243e9a731b27faf526601641d54f8fbfaf0594ab21d2c6ca45d·...·]5-24">)</span><span·class="p">.</span><span·class="w">274 ····</span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="1100201525-24">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="1100201525-25">(</span><span·class="n">Curr</span><span·class="p"·data-group-id="1100201525-25">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·490,·SHA:·f566f9d5a194d29bcb99525b8934ecb925c825c8c635703600cf0913e75d2b3c·...·]5-24">)</span><span·class="p">.</span><span·class="w">
  
275 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="2705103505-27">(</span><span·class="p">_</span><span·class="n">Curr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2705103505-28">[</span><span·class="p"·data-group-id="2705103505-28">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·14,·SHA:·0afc5a8e621e7e07ed30c8f60b39f866249d2bb82f22e0633759416c4985cc43·...·]5-27">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">275 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="1100201525-27">(</span><span·class="p">_</span><span·class="n">Curr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1100201525-28">[</span><span·class="p"·data-group-id="1100201525-28">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·14,·SHA:·a03ffa3acaff2c02de15e37639e482fa2f93ac365d2e6dac72137fb6a7f3c428·...·]5-27">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
276 ····</span><span·class="p"·data-group-id="2705103505-29">{</span><span·class="ss">no</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2705103505-30">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·4c1a227ae5463dd9c5ff99b0244c4bd14b86a221005b253b83423a0571e27778·...·]5-29">}</span><span·class="p">;</span><span·class="w">276 ····</span><span·class="p"·data-group-id="1100201525-29">{</span><span·class="ss">no</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1100201525-30">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·6707502aed4c7e704495d0d24ef05cf1fb44de8eae55b0927b095993cb6a9cd0·...·]5-29">}</span><span·class="p">;</span><span·class="w">
277 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="2705103505-31">(</span><span·class="n">Curr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2705103505-32">[</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·112,·SHA:·0425eeaa5ed3f391c71764f1429871f965dd6d5073971bf4b4801b440c91d1c8·...·]5-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">277 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="1100201525-31">(</span><span·class="n">Curr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1100201525-32">[</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·112,·SHA:·7d42c17cb21a63a9b222916c4665de8e6b4ee343741e2cbb18d9ad33506d74e4·...·]5-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
278 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">prefix</span><span·class="p"·data-group-id="2705103505-33">(</span><span·class="n">Curr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cmd</span><span·class="p"·data-group-id="2705103505-33">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">278 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">prefix</span><span·class="p"·data-group-id="1100201525-33">(</span><span·class="n">Curr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cmd</span><span·class="p"·data-group-id="1100201525-33">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
Max diff block lines reached; 4408/65529 bytes (6.73%) of diff not shown.
833 B
html2text {}
Max HTML report size reached
26.8 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/dets.html
    
Offset 1846, 22 lines modifiedOffset 1846, 22 lines modified
  
1846 ··········<pre·translate="no"><span·class="attribute">-spec</span>·lookup(Name,·Key)·->·Objects·|·{error,·Reason}1846 ··········<pre·translate="no"><span·class="attribute">-spec</span>·lookup(Name,·Key)·->·Objects·|·{error,·Reason}
1847 ················when·Name·::·<a·href="#t:tab_name/0">tab_name</a>(),·Key·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·Objects·::·[<a·href="#t:object/0">object</a>()],·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>1847 ················when·Name·::·<a·href="#t:tab_name/0">tab_name</a>(),·Key·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·Objects·::·[<a·href="#t:object/0">object</a>()],·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1848 ······</div>1848 ······</div>
  
1849 <p>Returns·a·list·of·all·objects·with·key·<code·class="inline">Key</code>·stored·in·table·<code·class="inline">Name</code>,·for1849 <p>Returns·a·list·of·all·objects·with·key·<code·class="inline">Key</code>·stored·in·table·<code·class="inline">Name</code>,·for
1850 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">open_file</span><span·class="p"·data-group-id="6276415510-1">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6276415510-2">[</span><span·class="p"·data-group-id="6276415510-3">{</span><span·class="ss">type</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·196,·SHA:·b0a685c97d01f0e98246d5b34c683d1ef1b2521b45482db1d296743276827670·...·]0-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="0568331170-1">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0568331170-2">[</span><span·class="p"·data-group-id="0568331170-3">{</span><span·class="ss">type</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·196,·SHA:·8da66a02fd84fc6ac6e847043f93b9d739af7e716ce36e3c6f8d9b4fd7748d77·...·]0-1">)</span><span·class="p">.</span><span·class="w">
1851 </span><span·class="p"·data-group-id="6276415510-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">abc</span><span·class="p"·data-group-id="6276415510-4">}</span><span·class="gp·unselectable">1851 </span><span·class="p"·data-group-id="0568331170-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">abc</span><span·class="p"·data-group-id="0568331170-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="6276415510-5">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6276415510-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:·110,·SHA:·75fca4a155814fd8d9d7e87d15e0320e6a6258e936c317ec048d13f1dfca8890·...·]0-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="0568331170-5">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0568331170-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:·110,·SHA:·90315aa6e3113dc5795c48f0f2fd2d682fe866da945a8d8673630a69f82beda9·...·]0-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="6276415510-7">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6276415510-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:·110,·SHA:·f9e40e8be796033b50d97dd7264f95776d5ddb43a3f40a9940b8cfacc1c39636·...·]0-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="0568331170-7">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0568331170-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:·110,·SHA:·38d84814289fb03b3f20ee8f8dced730d69ce4d1afb35c71ce60ece002372250·...·]0-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="6276415510-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="6276415510-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="0568331170-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="0568331170-9">)</span><span·class="p">.</span><span·class="w">
1857 </span><span·class="p"·data-group-id="6276415510-10">[</span><span·class="p"·data-group-id="6276415510-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="6276415510-11">}</span><s[·...·truncated·by·diffoscope;·len:·293,·SHA:·423e05aabbc7ac8cc379bf16802ca924bb3a3fdf702194f7f9fd9eaa6b32fe56·...·]0-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="0568331170-10">[</span><span·class="p"·data-group-id="0568331170-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="0568331170-11">}</span><s[·...·truncated·by·diffoscope;·len:·293,·SHA:·d90f42abff4f032a837b3e821174e5b47fbc3259d36a519467d83f820e62a43f·...·]0-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="9395375998-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9395375998-2">[</span><span·class="p"·data-group-id="9395375998-2">]</span><span·class="p"·data-group-id="9395375998-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="9275164126-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9275164126-2">[</span><span·class="p"·data-group-id="9275164126-2">]</span><span·class="p"·data-group-id="9275164126-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="9395375998-3">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9395375998-4">[</span><span·class="p"·data-group-id="9395375998-5">{</span><span·class="mi">1</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·777,·SHA:·bf3953e14e677bd648eca1d45827b1d86bf8c143b03d10dc56a8684d7ddc872d·...·]-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="9275164126-3">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9275164126-4">[</span><span·class="p"·data-group-id="9275164126-5">{</span><span·class="mi">1</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·777,·SHA:·2c19ea18209eb534c2909c108f3e22f50e34d79c372458527c945e150635f1bd·...·]-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="9395375998-9">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9395375998-10">(</span><span·class="p"·data-group-id="9395375998-11">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·993,·SHA:·9e69213b485a104d245e75772625eb0da8ec78501e38d7daa9e3e65b40cb065a·...·]-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="9275164126-9">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9275164126-10">(</span><span·class="p"·data-group-id="9275164126-11">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·993,·SHA:·6aa31c87ad6b76a1a6ca417af4fe1188b17dda75eb9307eb4347ba7a09732eb8·...·]-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="9395375998-15">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9395375998-16">[</span><span·class="p"·data-group-id="9395375998-17">{</span><span·class="ss">traverse</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·2205,·SHA:·8610a2a27cbe7c2bed23c96cb55b0bebae0c8af76ffa1119cea8d2044c13cf7b·...·]-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="9275164126-15">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9275164126-16">[</span><span·class="p"·data-group-id="9275164126-17">{</span><span·class="ss">traverse</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·2205,·SHA:·61f430adf3d78efdb42806825c492b6f680cbf21e5e776d569071fcb561318fe·...·]-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="2206441124-1">(</span><span·class="n">QH1</span><span·class="p"·data-group-id="2206441124-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:·0a151f4cd68465d97485bc5e169097bca43bfc012ed617dd45437426242fe14e·...·]-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="6706174862-1">(</span><span·class="n">QH1</span><span·class="p"·data-group-id="6706174862-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:·0ee0d3648da19075e653a76e310e577af4e3130f47185ea8bcd2dd8d2ccb7e2f·...·]-2">)</span><span·class="p">.</span><span·class="w">
2678 </span><span·class="ss">true</span></code></pre><p><a·href="qlc.html#info/1"><code·class="inline">qlc:info/1</code></a>·returns·information·about·a·query·handle.·In·this·case·identical2678 </span><span·class="ss">true</span></code></pre><p><a·href="qlc.html#info/1"><code·class="inline">qlc:info/1</code></a>·returns·information·about·a·query·handle.·In·this·case·identical
2679 information·is·returned·for·the·two·query·handles.</p>2679 information·is·returned·for·the·two·query·handles.</p>
2680 ··</section>2680 ··</section>
2681 </section>2681 </section>
2682 <section·class="detail"·id="to_ets/2">2682 <section·class="detail"·id="to_ets/2">
  
2683 ··<div·class="detail-header">2683 ··<div·class="detail-header">
Offset 2740, 15 lines modifiedOffset 2740, 15 lines modified
2740 ······················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>2740 ······················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
2741 ······</div>2741 ······</div>
  
2742 <p>Applies·<code·class="inline">Fun</code>·to·each·object·stored·in·table·<code·class="inline">Name</code>·in·some·unspecified·order.2742 <p>Applies·<code·class="inline">Fun</code>·to·each·object·stored·in·table·<code·class="inline">Name</code>·in·some·unspecified·order.
2743 Different·actions·are·taken·depending·on·the·return·value·of·<code·class="inline">Fun</code>.·The2743 Different·actions·are·taken·depending·on·the·return·value·of·<code·class="inline">Fun</code>.·The
2744 following·<code·class="inline">Fun</code>·return·values·are·allowed:</p><ul><li><p><strong><code·class="inline">continue</code></strong>·-·Continue·to·perform·the·traversal.·For·example,·the·following2744 following·<code·class="inline">Fun</code>·return·values·are·allowed:</p><ul><li><p><strong><code·class="inline">continue</code></strong>·-·Continue·to·perform·the·traversal.·For·example,·the·following
2745 function·can·be·used·to·print·the·contents·of·a·table:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="9299352785-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="9299352785-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><[·...·truncated·by·diffoscope;·len:·381,·SHA:·76546b1afdd622e29947b73bee5ed05410a3f2fd324e733e467d5d7631e37862·...·]-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="1506972850-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="1506972850-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><[·...·truncated·by·diffoscope;·len:·381,·SHA:·bb6c7b82e0834cf6d88def6012176892b406913b62ded37c674dc51759a358e8·...·]-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-7.0/doc/html/dict.html
    
Offset 134, 21 lines modifiedOffset 134, 21 lines modified
134 do·not·compare·equal·(<code·class="inline">==</code>).</p><h2·id="module-notes"·class="section-heading">134 do·not·compare·equal·(<code·class="inline">==</code>).</p><h2·id="module-notes"·class="section-heading">
135 ··<a·href="#module-notes"·class="hover-link">135 ··<a·href="#module-notes"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Notes</span>138 ··<span·class="text">Notes</span>
139 </h2>139 </h2>
140 <p><a·href=""·id="notes"></a></p><p>Functions·<code·class="inline">append</code>·and·<code·class="inline">append_list</code>·are·included·so·that·keyed·values·can·be140 <p><a·href=""·id="notes"></a></p><p>Functions·<code·class="inline">append</code>·and·<code·class="inline">append_list</code>·are·included·so·that·keyed·values·can·be
141 stored·in·a·list·<em>accumulator</em>,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">D0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="1224804973-1">(</span><span·class="p"·data-group-id="1224804973-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="4091557086-1">(</span><span·class="p"·data-group-id="4091557086-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="1224804973-2">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1224804973-3">[</span><span·class="p"·data-group-id="1224804973-3">]</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·63,·SHA:·02e8736d9df4c770326d3b5790be8c8d8e4fe430911ad3a98fff5557b0b0a83b·...·]-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="4091557086-2">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4091557086-3">[</span><span·class="p"·data-group-id="4091557086-3">]</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·63,·SHA:·102659d614284251bf7032bd39cea85bddd4edddfcdd727e914e3001399d75ca·...·]-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="1224804973-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="1224804973-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="4091557086-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="4091557086-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="1224804973-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="1224804973-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="4091557086-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="4091557086-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="1224804973-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="1224804973-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="4091557086-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="4091557086-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="1224804973-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="1224804973-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="4091557086-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="4091557086-7">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p"·data-group-id="1224804973-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="1224804973-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="4091557086-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="4091557086-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="0015888413-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="0015888413-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="2527841657-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="2527841657-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="0015888413-2">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="0015888413-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:·8a3ce277c47fb0b49f70f555d0506789a3df08e96de1b5bfbcb13e7d128d92c3·...·]-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="2527841657-2">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="2527841657-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:·948fc194ad957fe007303253df0a678a2c4ff41cf28f40ebf0acfc9057479a5b·...·]-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="0015888413-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="0015888413-5">(</span><span·class="n">V2</span><span·class="p"·data-group-id="00[·...·truncated·by·diffoscope;·len:·634,·SHA:·bd6cb15e8ae71ac8095ba3a6e4b09bb3b83a06948f2032c2f7694a5503b24502·...·]-4">)</span><span·class="w">878 ·················</span><span·class="nf">update</span><span·class="p"·data-group-id="2527841657-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="2527841657-5">(</span><span·class="n">V2</span><span·class="p"·data-group-id="25[·...·truncated·by·diffoscope;·len:·634,·SHA:·36e9f2280b5e37d857a6211e27ac6f21b98a5cdae426bafcf8e0854bc83962f1·...·]-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="0015888413-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="2527841657-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="3105136919-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="3105136919-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="3782705373-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="3782705373-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="3105136919-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="3105136919-3">(</span><span·class="n">Old</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·672,·SHA:·6362cbf09f87a6e5c86fccc8a5181029c570180180b748eff506d681fd54e9f0·...·]-2">)</span><span·class="p">.</span></code></pre>1079 ····</span><span·class="nf">update</span><span·class="p"·data-group-id="3782705373-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="3782705373-3">(</span><span·class="n">Old</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·672,·SHA:·1e0f6e80c5728c1b3a53fbe93dfafe7ac9ce3ef4877099052f21cacbca021e29·...·]-2">)</span><span·class="p">.</span></code></pre>
1080 ··</section>1080 ··</section>
1081 </section>1081 </section>
1082 <section·class="detail"·id="update_counter/3">1082 <section·class="detail"·id="update_counter/3">
  
1083 ··<div·class="detail-header">1083 ··<div·class="detail-header">
1084 ····<a·href="#update_counter/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1084 ····<a·href="#update_counter/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1085 ······<i·class="ri-link-m"·aria-hidden="true"></i>1085 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1103, 16 lines modifiedOffset 1103, 16 lines modified
1103 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_counter(Key,·Increment,·Dict1)·->·Dict21103 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_counter(Key,·Increment,·Dict1)·->·Dict2
1104 ························when·Dict1·::·<a·href="#t:dict/2">dict</a>(Key,·Value),·Dict2·::·<a·href="#t:dict/2">dict</a>(Key,·Value),·Increment·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:number/0">number</a>().</pre>1104 ························when·Dict1·::·<a·href="#t:dict/2">dict</a>(Key,·Value),·Dict2·::·<a·href="#t:dict/2">dict</a>(Key,·Value),·Increment·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:number/0">number</a>().</pre>
  
1105 ······</div>1105 ······</div>
  
1106 <p>Adds·<code·class="inline">Increment</code>·to·the·value·associated·with·<code·class="inline">Key</code>·and·stores·this·value.·If1106 <p>Adds·<code·class="inline">Increment</code>·to·the·value·associated·with·<code·class="inline">Key</code>·and·stores·this·value.·If
1107 <code·class="inline">Key</code>·is·not·present·in·the·dictionary,·<code·class="inline">Increment</code>·is·stored·as·the·first1107 <code·class="inline">Key</code>·is·not·present·in·the·dictionary,·<code·class="inline">Increment</code>·is·stored·as·the·first
1108 value.</p><p>This·can·be·defined·as·follows,·but·is·faster:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">update_counter</span><span·class="p"·data-group-id="3491944258-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="3491944258-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="9282479268-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="9282479268-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="3491944258-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="3491944258-3">(</span><span·class="n">Old</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·461,·SHA:·4e1afa2978e22d1fb63813eacd76c8d81dd21f95e708e3ac3319af91a683a755·...·]8-2">)</span><span·class="p">.</span></code></pre>1109 ····</span><span·class="nf">update</span><span·class="p"·data-group-id="9282479268-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="9282479268-3">(</span><span·class="n">Old</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·461,·SHA:·4637e74e6f70d82b392f84181db9b862c546b1b258882e99e1f7172682a1bd51·...·]8-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-7.0/doc/html/digraph.html
    
Offset 1758, 15 lines modifiedOffset 1758, 15 lines modified
1758 ······<p·class="built-using">1758 ······<p·class="built-using">
1759 ········Built·using1759 ········Built·using
1760 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1760 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1761 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1761 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1762 ······</p>1762 ······</p>
1763 <p>Copyright·©·1996-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-7.0/doc/html/digraph_utils.html
    
Offset 1004, 15 lines modifiedOffset 1004, 15 lines modified
1004 ······<p·class="built-using">1004 ······<p·class="built-using">
1005 ········Built·using1005 ········Built·using
1006 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1006 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1007 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1007 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1008 ······</p>1008 ······</p>
1009 <p>Copyright·©·1996-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-7.0/doc/html/edlin.html
    
Offset 336, 15 lines modifiedOffset 336, 15 lines modified
336 ······<p·class="built-using">336 ······<p·class="built-using">
337 ········Built·using337 ········Built·using
338 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the338 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
339 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>339 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
340 ······</p>340 ······</p>
341 <p>Copyright·©·1996-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.49 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/edlin_expand.html
    
Offset 328, 15 lines modifiedOffset 328, 15 lines modified
328 ······<p·class="built-using">328 ······<p·class="built-using">
329 ········Built·using329 ········Built·using
330 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the330 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
331 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>331 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
332 ······</p>332 ······</p>
333 <p>Copyright·©·1996-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-7.0/doc/html/epp.html
    
Offset 136, 15 lines modifiedOffset 136, 15 lines modified
136 <code·class="inline">Latin-1</code>·and·<code·class="inline">UTF-8</code>,·where·the·case·of·the·characters·can·be·chosen·freely.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·coding:·utf-8</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·For·this·file·we·have·chosen·encoding·=·Latin-1</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·-*-·coding:·latin-1·-*-</span></code></pre><h2·id="module-error-information"·class="section-heading">136 <code·class="inline">Latin-1</code>·and·<code·class="inline">UTF-8</code>,·where·the·case·of·the·characters·can·be·chosen·freely.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·coding:·utf-8</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·For·this·file·we·have·chosen·encoding·=·Latin-1</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·-*-·coding:·latin-1·-*-</span></code></pre><h2·id="module-error-information"·class="section-heading">
137 ··<a·href="#module-error-information"·class="hover-link">137 ··<a·href="#module-error-information"·class="hover-link">
138 ····<i·class="ri-link-m"·aria-hidden="true"></i>138 ····<i·class="ri-link-m"·aria-hidden="true"></i>
139 ··</a>139 ··</a>
140 ··<span·class="text">Error·Information</span>140 ··<span·class="text">Error·Information</span>
141 </h2>141 </h2>
142 <p><code·class="inline">ErrorInfo</code>·is·the·standard·<code·class="inline">ErrorInfo</code>·structure·that·is·returned·from·all·I/O142 <p><code·class="inline">ErrorInfo</code>·is·the·standard·<code·class="inline">ErrorInfo</code>·structure·that·is·returned·from·all·I/O
143 modules.·The·format·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0720648937-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="07206489[·...·truncated·by·diffoscope;·len:·369,·SHA:·728e3133e5290154784c0dd85c6aa10f4c79a9254c22bec8b5927f40cc86a472·...·]-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="7710214553-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="77102145[·...·truncated·by·diffoscope;·len:·369,·SHA:·7af1ba7fe8ebbf68fef1db0201e31c27ab5369b95cde396632f034fd8bbf7dfd·...·]-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-7.0/doc/html/erl_anno.html
    
Offset 1251, 15 lines modifiedOffset 1251, 15 lines modified
1251 ······<p·class="built-using">1251 ······<p·class="built-using">
1252 ········Built·using1252 ········Built·using
1253 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1253 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1254 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1254 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1255 ······</p>1255 ······</p>
1256 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1256 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1257 ····</footer>1257 ····</footer>
1258 ··</div>1258 ··</div>
1259 </main>1259 </main>
1260 </div>1260 </div>
1261 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1261 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1262 ··<script>1262 ··<script>
1263 ··let·initialized·=·false;1263 ··let·initialized·=·false;
645 B
html2text {}
Max HTML report size reached
27.0 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_error.html
    
Offset 309, 15 lines modifiedOffset 309, 15 lines modified
309 ······<div·class="specs">309 ······<div·class="specs">
  
310 ··········<pre·translate="no"><span·class="attribute">-type</span>·format_fun()·::·fun((<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·<a·href="#t:column/0">column</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iolist/0">iolist</a>()).</pre>310 ··········<pre·translate="no"><span·class="attribute">-type</span>·format_fun()·::·fun((<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·<a·href="#t:column/0">column</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iolist/0">iolist</a>()).</pre>
  
311 ······</div>311 ······</div>
  
312 <p>A·fun·used·to·format·function·arguments·for·BIF·and·function·calls.·By·default312 <p>A·fun·used·to·format·function·arguments·for·BIF·and·function·calls.·By·default
313 the·following·fun·will·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="7535800102-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="7535800102-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·417,·SHA:·f53dedeacd9153c830bf5da0c0fce4c9e044ad9fa42cca0a558d8d942bc662ea·...·]-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="7885100026-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="7885100026-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·417,·SHA:·360a8f05bc8e86be1fae2cea1d32dbf7544dad6e1c099eef0f6ce1e13fd775f3·...·]-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="7772416878-1">(</span><span·class="ss">my_error_module</span><span·class="p"·data-group-id="7772416878-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="9009483838-1">(</span><span·class="ss">my_error_module</span><span·class="p"·data-group-id="9009483838-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="7772416878-2">(</span><span·class="p"·data-group-id="7772416878-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:·132,·SHA:·31213a76b0e528c6106c20a37f50341565fc0ff56b1c68a9f1cde3dec4e26926·...·]8-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="9009483838-2">(</span><span·class="p"·data-group-id="9009483838-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:·132,·SHA:·84b2bc4981c671a391ae337e888183c23a00401588860ec70f1b4b8c17f14e8d·...·]8-2">)</span><span·class="p">.</span><span·class="w">
  
433 </span><span·class="nf">atom_to_string</span><span·class="p"·data-group-id="7772416878-4">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="7772416878-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="7772416878-5">(</s[·...·truncated·by·diffoscope;·len:·70,·SHA:·7d511ddfc2db05e71ed07e5f48ca9d71f51e8c0c33a12e4915744d69b7c68d78·...·]8-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="9009483838-4">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="9009483838-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="9009483838-5">(</s[·...·truncated·by·diffoscope;·len:·70,·SHA:·69ad2c78ce2c1c063beab1f217c1a152914da0ed35cf9a526195a820547b7431·...·]8-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="7772416878-6">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="7772416878-6">)</span><span·class="p">;</span><span·class="w">434 ··</span><span·class="nf">atom_to_list</span><span·class="p"·data-group-id="9009483838-6">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="9009483838-6">)</span><span·class="p">;</span><span·class="w">
435 </span><span·class="nf">atom_to_string</span><span·class="p"·data-group-id="7772416878-7">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="7772416878-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="9009483838-7">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="9009483838-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="7772416878-8">(</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p"·data-group-id="7772416878-9">[</span><span·class="n">Arg</span><span·class="p"·data-group-id="7772416878-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="9009483838-8">(</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p"·data-group-id="9009483838-9">[</span><span·class="n">Arg</span><span·class="p"·data-group-id="9009483838-9">]</span><span·class="p">,</span><span·class="w">
437 ···············</span><span·class="p"·data-group-id="7772416878-10">[</span><span·class="p"·data-group-id="7772416878-11">{</span><span·class="ss">error_info</span><span·class="p">,</span><span·class="p"·data-group-id="7772416878-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="9009483838-10">[</span><span·class="p"·data-group-id="9009483838-11">{</span><span·class="ss">error_info</span><span·class="p">,</span><span·class="p"·data-group-id="9009483838-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="7772416878-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:·225,·SHA:·ca86fa5806a3715168abf74b25b4167e9c06272ebce891a09a00d7a8c65cd1c1·...·]8-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="9009483838-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:·225,·SHA:·0e72349b367dfe8c9a668d764fa3b2a781f5f7ce0ab5ca91d7768d94edfbe2bf·...·]8-8">)</span><span·class="p">.</span><span·class="w">
  
439 </span><span·class="nf">format_error</span><span·class="p"·data-group-id="7772416878-14">(</span><span·class="n">Reason</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7772416878-15">[</span><span·class="p"·data-group-id="7772416878-16">{</span><span·class="p">_</span><span·class="n">M</span>[·...·truncated·by·diffoscope;·len:·392,·SHA:·20245725a4934c9f74293b5326ac463cbe0c80cad594cb87c311f92eb22a25a2·...·]8-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="9009483838-14">(</span><span·class="n">Reason</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9009483838-15">[</span><span·class="p"·data-group-id="9009483838-16">{</span><span·class="p">_</span><span·class="n">M</span>[·...·truncated·by·diffoscope;·len:·392,·SHA:·4eec7ccf24b1f5419d114791228ee1a28e21bf678de234ab65ae0c5ac3482e53·...·]8-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="7772416878-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="7772416878-18">#{</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·73,·SHA:·73432d8070059ba45514a8af05aa0355fecb9c64f50fe43b166fb53a656dbfc7·...·]8-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="9009483838-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="9009483838-18">#{</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·73,·SHA:·2b5e43c473b9c84c479df72e4e8a78d23df07053441f2d041a5d9577750349e8·...·]8-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="7772416878-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="7772416878-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="9009483838-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="9009483838-19">)</span><span·class="p">,</span><span·class="w">
442 ··</span><span·class="n">ErrorMap</span><span·class="p"·data-group-id="7772416878-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="9009483838-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="7772416878-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="7772416878-22">[</span><span·class="o">?</s[·...·truncated·by·diffoscope;·len:·582,·SHA:·95ac18d857b78a6d7aabd0460817023ce649a41abefa44890ca8ddd29663f071·...·]-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="9009483838-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="9009483838-22">[</span><span·class="o">?</s[·...·truncated·by·diffoscope;·len:·582,·SHA:·10c2b47ee6a9f63b16d32a3ef26dcd038fd8925558e6019303d5892cf1452475·...·]-1">)</span><span·class="p">.</span><span·class="w">
444 </span><span·class="p"·data-group-id="0375053888-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">my_error_module</span><span·class="p"·data-group-id="0375053888-2">}</span><span·class="gp·unselectable">444 </span><span·class="p"·data-group-id="6070683081-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">my_error_module</span><span·class="p"·data-group-id="6070683081-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="0375053888-3">(</span><span·class="mi">1</span><span·class="p"·data-group-id="0375053888-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="6070683081-3">(</span><span·class="mi">1</span><span·class="p"·data-group-id="6070683081-3">)</span><span·class="p">.</span><span·class="w">
446 </span><span·class="gt">**·exception·error:·my_error_module:·badarg446 </span><span·class="gt">**·exception·error:·my_error_module:·badarg
447 ·····in·function··my_error_module:atom_to_string/1447 ·····in·function··my_error_module:atom_to_string/1
448 ········called·as·my_error_module:atom_to_string(1)448 ········called·as·my_error_module:atom_to_string(1)
449 ········***·argument·1:·should·be·an·atom449 ········***·argument·1:·should·be·an·atom
450 ········***·optional·general·information</span></code></pre>450 ········***·optional·general·information</span></code></pre>
451 ··</section>451 ··</section>
452 </section>452 </section>
Offset 524, 26 lines modifiedOffset 524, 26 lines modified
524 ······························StackTrace·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:stacktrace/0">erlang:stacktrace</a>(),524 ······························StackTrace·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:stacktrace/0">erlang:stacktrace</a>(),
525 ······························Options·::·<a·href="#t:format_options/0">format_options</a>().</pre>525 ······························Options·::·<a·href="#t:format_options/0">format_options</a>().</pre>
  
526 ······</div>526 ······</div>
  
527 <p>Format·the·error·reason·and·stack·back-trace·caught·using·<code·class="inline">try</code>·...·<code·class="inline">catch</code>·in527 <p>Format·the·error·reason·and·stack·back-trace·caught·using·<code·class="inline">try</code>·...·<code·class="inline">catch</code>·in
528 the·same·style·as·the·shell·formats·them.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">try</span><span·class="w">528 the·same·style·as·the·shell·formats·them.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">try</span><span·class="w">
529 ····</span><span·class="nf">do_something</span><span·class="p"·data-group-id="2300855719-1">(</span><span·class="p"·data-group-id="2300855719-1">)</span><span·class="w">529 ····</span><span·class="nf">do_something</span><span·class="p"·data-group-id="0785192027-1">(</span><span·class="p"·data-group-id="0785192027-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="2300855719-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="2300855719-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="0785192027-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="0785192027-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="2300855719-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="2300855719-4">[</span><span·class="n"[·...·truncated·by·diffoscope;·len:·109,·SHA:·753fc52568d18dfa7df7aaa4d1a6e6fe1ac1fefeb77e0cfc01a04fd4acbae7eb·...·]-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="0785192027-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="0785192027-4">[</span><span·class="n"[·...·truncated·by·diffoscope;·len:·109,·SHA:·4599f7c7322906cb8aaf5286019c7fecb2008e43b67275310d65ee55009634e1·...·]-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="8835924230-1">(</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p"·data-group-id="8835924230-2">[</span><span·class="p"·data-group-id="8835924230-2">]</span><span·class="p">,</span><span·class="p"·data-group-id="8835924230-3">[</sp[·...·truncated·by·diffoscope;·len:·368,·SHA:·927983c7b6731ec85d2710e3ebb5c5f01ff0afa934871382f4842345101d5ef2·...·]-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="7738465798-1">(</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p"·data-group-id="7738465798-2">[</span><span·class="p"·data-group-id="7738465798-2">]</span><span·class="p">,</span><span·class="p"·data-group-id="7738465798-3">[</sp[·...·truncated·by·diffoscope;·len:·368,·SHA:·8e540861a01c62d56904fffae4ee98ab58e65a98188eef476e4f024925ba218f·...·]-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="8835924230-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="8835924230-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="7738465798-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="7738465798-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="8835924230-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="8835924230-8">[</span><span·class="n"[·...·truncated·by·diffoscope;·len:·109,·SHA:·cc51658649b8ecf14f8b0bdc027f3b0777b23c458ab7947efa41353e1c0afb98·...·]-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="7738465798-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="7738465798-8">[</span><span·class="n"[·...·truncated·by·diffoscope;·len:·109,·SHA:·16e80fbf6a545780152902d3c05ce4689abacfcba3202602371e7b86d174b7dc·...·]-7">)</span><span·class="w">
541 </span><span·class="k">end</span></code></pre><p>See·<a·href="../../../../erts-16.0/doc/html/erlang.html#error/3"><code·class="inline">erlang:error/3</code></a>·for·details·on·how·to·raise·an·exception·with·<code·class="inline">error_info</code>541 </span><span·class="k">end</span></code></pre><p>See·<a·href="../../../../erts-16.0/doc/html/erlang.html#error/3"><code·class="inline">erlang:error/3</code></a>·for·details·on·how·to·raise·an·exception·with·<code·class="inline">error_info</code>
542 included.</p>542 included.</p>
543 ··</section>543 ··</section>
544 </section>544 </section>
  
545 ····</div>545 ····</div>
546 ··</section>546 ··</section>
Offset 566, 15 lines modifiedOffset 566, 15 lines modified
566 ······<p·class="built-using">566 ······<p·class="built-using">
567 ········Built·using567 ········Built·using
568 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the568 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
569 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>569 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
570 ······</p>570 ······</p>
571 <p>Copyright·©·1996-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.77 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_eval.html
    
Offset 137, 35 lines modifiedOffset 137, 35 lines modified
137 ··<span·class="text">Local·Function·Handler</span>137 ··<span·class="text">Local·Function·Handler</span>
138 </h2>138 </h2>
139 <p>During·evaluation·of·a·function,·no·calls·can·be·made·to·local·functions.·An139 <p>During·evaluation·of·a·function,·no·calls·can·be·made·to·local·functions.·An
140 undefined·function·error·would·be·generated.·However,·the·optional·argument140 undefined·function·error·would·be·generated.·However,·the·optional·argument
141 <code·class="inline">LocalFunctionHandler</code>·can·be·used·to·define·a·function·that·is·called·when141 <code·class="inline">LocalFunctionHandler</code>·can·be·used·to·define·a·function·that·is·called·when
142 there·is·a·call·to·a·local·function.·The·argument·can·have·the·following142 there·is·a·call·to·a·local·function.·The·argument·can·have·the·following
143 formats:</p><ul><li><p><strong><code·class="inline">{value,Func}</code></strong>·-·This·defines·a·local·function·handler·that·is·called143 formats:</p><ul><li><p><strong><code·class="inline">{value,Func}</code></strong>·-·This·defines·a·local·function·handler·that·is·called
144 with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Func</span><span·class="p"·data-group-id="7236222125-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="7236222125-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="4933807245-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="4933807245-1">)</span></code></pre><p><code·class="inline">Name</code>·is·the·name·of·the·local·function·(an·atom)·and·<code·class="inline">Arguments</code>·is·a·list
145 of·the·<em>evaluated</em>·arguments.·The·function·handler·returns·the·value·of·the145 of·the·<em>evaluated</em>·arguments.·The·function·handler·returns·the·value·of·the
146 local·function.·In·this·case,·the·current·bindings·cannot·be·accessed.·To146 local·function.·In·this·case,·the·current·bindings·cannot·be·accessed.·To
147 signal·an·error,·the·function·handler·calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a>·with·a147 signal·an·error,·the·function·handler·calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a>·with·a
148 suitable·exit·value.</p></li><li><p><strong><code·class="inline">{eval,Func}</code></strong>·-·This·defines·a·local·function·handler·that·is·called·with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Func</span><span·class="p"·data-group-id="7667616715-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="7667616715-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="9548734678-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="9548734678-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="2818204217-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="2818204217-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="4376380357-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="4376380357-1">}</span></code></pre><p><code·class="inline">Value</code>·is·the·value·of·the·local·function·and·<code·class="inline">NewBindings</code>·are·the·updated
151 variable·bindings.·In·this·case,·the·function·handler·must·itself·evaluate·all151 variable·bindings.·In·this·case,·the·function·handler·must·itself·evaluate·all
152 the·function·arguments·and·manage·the·bindings.·To·signal·an·error,·the152 the·function·arguments·and·manage·the·bindings.·To·signal·an·error,·the
153 function·handler·calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a>·with·a·suitable·exit·value.</p></li><li><p><strong><code·class="inline">none</code></strong>·-·There·is·no·local·function·handler.</p></li></ul><h2·id="module-non-local-function-handler"·class="section-heading">153 function·handler·calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a>·with·a·suitable·exit·value.</p></li><li><p><strong><code·class="inline">none</code></strong>·-·There·is·no·local·function·handler.</p></li></ul><h2·id="module-non-local-function-handler"·class="section-heading">
154 ··<a·href="#module-non-local-function-handler"·class="hover-link">154 ··<a·href="#module-non-local-function-handler"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Non-Local·Function·Handler</span>157 ··<span·class="text">Non-Local·Function·Handler</span>
158 </h2>158 </h2>
159 <p>The·optional·argument·<code·class="inline">NonLocalFunctionHandler</code>·can·be·used·to·define·a·function159 <p>The·optional·argument·<code·class="inline">NonLocalFunctionHandler</code>·can·be·used·to·define·a·function
160 that·is·called·in·the·following·cases:</p><ul><li>A·functional·object·(fun)·is·called.</li><li>A·built-in·function·is·called.</li><li>A·function·is·called·using·the·<code·class="inline">M:F</code>·syntax,·where·<code·class="inline">M</code>·and·<code·class="inline">F</code>·are·atoms·or160 that·is·called·in·the·following·cases:</p><ul><li>A·functional·object·(fun)·is·called.</li><li>A·built-in·function·is·called.</li><li>A·function·is·called·using·the·<code·class="inline">M:F</code>·syntax,·where·<code·class="inline">M</code>·and·<code·class="inline">F</code>·are·atoms·or
161 expressions.</li><li>An·operator·<code·class="inline">Op/A</code>·is·called·(this·is·handled·as·a·call·to·function161 expressions.</li><li>An·operator·<code·class="inline">Op/A</code>·is·called·(this·is·handled·as·a·call·to·function
162 <code·class="inline">erlang:Op/A</code>).</li></ul><p>Exceptions·are·calls·to·<code·class="inline">erlang:apply/2,3</code>;·neither·of·the·function·handlers·are162 <code·class="inline">erlang:Op/A</code>).</li></ul><p>Exceptions·are·calls·to·<code·class="inline">erlang:apply/2,3</code>;·neither·of·the·function·handlers·are
163 called·for·such·calls.·The·argument·can·have·the·following·formats:</p><ul><li><p><strong><code·class="inline">{value,Func}</code></strong>·-·This·defines·a·non-local·function·handler.·The·function163 called·for·such·calls.·The·argument·can·have·the·following·formats:</p><ul><li><p><strong><code·class="inline">{value,Func}</code></strong>·-·This·defines·a·non-local·function·handler.·The·function
164 may·be·called·with·two·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Func</span><span·class="p"·data-group-id="9822394542-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="9822394542-1">)</span></code></pre><p>or·three·arguments:</p><pre><code·class="makeup·erlang[·...·truncated·by·diffoscope;·len:·323,·SHA:·ec53ec1dad9a5886b75e1169b1bb2459363b0c565dd8eb7dbe7d0bb8efac2047·...·]5-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="2691035188-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="2691035188-1">)</span></code></pre><p>or·three·arguments:</p><pre><code·class="makeup·erlang[·...·truncated·by·diffoscope;·len:·323,·SHA:·3ebf6068312bb91c4a294d37a1d107135b4282b20a1adf91863945205de72993·...·]5-1">)</span></code></pre><p><code·class="inline">Anno</code>·is·the·<a·href="erl_anno.html#t:anno/0"><code·class="inline">erl_anno:anno()</code></a>·of·the·node,·<code·class="inline">FuncSpec</code>
165 is·the·name·of·the·function·of·the·form·<code·class="inline">{Module,Function}</code>·or·a·fun,·and165 is·the·name·of·the·function·of·the·form·<code·class="inline">{Module,Function}</code>·or·a·fun,·and
166 <code·class="inline">Arguments</code>·is·a·list·of·the·<em>evaluated</em>·arguments.·The·function·handler166 <code·class="inline">Arguments</code>·is·a·list·of·the·<em>evaluated</em>·arguments.·The·function·handler
167 returns·the·value·of·the·function.·To·signal·an·error,·the·function·handler167 returns·the·value·of·the·function.·To·signal·an·error,·the·function·handler
168 calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a>·with·a·suitable·exit·value.</p></li><li><p><strong><code·class="inline">none</code></strong>·-·There·is·no·non-local·function·handler.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>For·calls·such·as·<code·class="inline">erlang:apply(Fun,·Args)</code>·or168 calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a>·with·a·suitable·exit·value.</p></li><li><p><strong><code·class="inline">none</code></strong>·-·There·is·no·non-local·function·handler.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>For·calls·such·as·<code·class="inline">erlang:apply(Fun,·Args)</code>·or
169 <code·class="inline">erlang:apply(Module,·Function,·Args)</code>,·the·call·of·the·non-local·function169 <code·class="inline">erlang:apply(Module,·Function,·Args)</code>,·the·call·of·the·non-local·function
170 handler·corresponding·to·the·call·to·<code·class="inline">erlang:apply/2,3</code>·itself170 handler·corresponding·to·the·call·to·<code·class="inline">erlang:apply/2,3</code>·itself
171 (<code·class="inline">Func({erlang,·apply},·[Fun,·Args])</code>·or171 (<code·class="inline">Func({erlang,·apply},·[Fun,·Args])</code>·or
Offset 1365, 15 lines modifiedOffset 1365, 15 lines modified
1365 ······<p·class="built-using">1365 ······<p·class="built-using">
1366 ········Built·using1366 ········Built·using
1367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1369 ······</p>1369 ······</p>
1370 <p>Copyright·©·1996-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-7.0/doc/html/erl_expand_records.html
    
Offset 230, 15 lines modifiedOffset 230, 15 lines modified
230 ······<p·class="built-using">230 ······<p·class="built-using">
231 ········Built·using231 ········Built·using
232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
234 ······</p>234 ······</p>
235 <p>Copyright·©·1996-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.52 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_features.html
    
Offset 570, 15 lines modifiedOffset 570, 15 lines modified
570 ······<p·class="built-using">570 ······<p·class="built-using">
571 ········Built·using571 ········Built·using
572 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the572 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
573 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>573 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
574 ······</p>574 ······</p>
575 <p>Copyright·©·1996-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.49 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_id_trans.html
    
Offset 283, 15 lines modifiedOffset 283, 15 lines modified
283 ······<p·class="built-using">283 ······<p·class="built-using">
284 ········Built·using284 ········Built·using
285 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the285 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
286 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>286 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
287 ······</p>287 ······</p>
288 <p>Copyright·©·1996-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.53 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_internal.html
    
Offset 556, 15 lines modifiedOffset 556, 15 lines modified
556 ······<p·class="built-using">556 ······<p·class="built-using">
557 ········Built·using557 ········Built·using
558 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the558 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
559 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>559 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
560 ······</p>560 ······</p>
561 <p>Copyright·©·1996-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.78 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_lint.html
    
Offset 135, 15 lines modifiedOffset 135, 15 lines modified
135 your·own·Erlang·compiler.</p><h2·id="module-error-information"·class="section-heading">135 your·own·Erlang·compiler.</p><h2·id="module-error-information"·class="section-heading">
136 ··<a·href="#module-error-information"·class="hover-link">136 ··<a·href="#module-error-information"·class="hover-link">
137 ····<i·class="ri-link-m"·aria-hidden="true"></i>137 ····<i·class="ri-link-m"·aria-hidden="true"></i>
138 ··</a>138 ··</a>
139 ··<span·class="text">Error·Information</span>139 ··<span·class="text">Error·Information</span>
140 </h2>140 </h2>
141 <p><code·class="inline">ErrorInfo</code>·is·the·standard·<code·class="inline">ErrorInfo</code>·structure·that·is·returned·from·all·I/O141 <p><code·class="inline">ErrorInfo</code>·is·the·standard·<code·class="inline">ErrorInfo</code>·structure·that·is·returned·from·all·I/O
142 modules.·The·format·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4841452902-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="48414529[·...·truncated·by·diffoscope;·len:·369,·SHA:·7417b30d769e734e4de3a96872c03a1acbd4a27e4345134f5b4b2d40335e36c5·...·]-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="6397443761-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="63974437[·...·truncated·by·diffoscope;·len:·369,·SHA:·42ea0e9c97bc1c38c7a9829230b27340ecbca8214f0632263f7269dc360742b5·...·]-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.93 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_parse.html
    
Offset 134, 15 lines modifiedOffset 134, 15 lines modified
134 (see·the·<a·href="erl_scan.html"><code·class="inline">erl_scan</code></a>)·module.</p><h2·id="module-error-information"·class="section-heading">134 (see·the·<a·href="erl_scan.html"><code·class="inline">erl_scan</code></a>)·module.</p><h2·id="module-error-information"·class="section-heading">
135 ··<a·href="#module-error-information"·class="hover-link">135 ··<a·href="#module-error-information"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Error·Information</span>138 ··<span·class="text">Error·Information</span>
139 </h2>139 </h2>
140 <p>ErrorInfo·is·the·standard·ErrorInfo·structure·that·is·returned·from·all·I/O·modules.140 <p>ErrorInfo·is·the·standard·ErrorInfo·structure·that·is·returned·from·all·I/O·modules.
141 The·format·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6646410438-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="66464104[·...·truncated·by·diffoscope;·len:·369,·SHA:·b2f9d1063115cdf266b8f239121b89a93f97e1405f7364d244bd4c09ba80ab58·...·]-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="4695724361-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="46957243[·...·truncated·by·diffoscope;·len:·369,·SHA:·d019895af224fd3b94dca8d2aaf664550dcbc8f7c86be7b361eea4f32fad0586·...·]-1">)</span></code></pre><h2·id="module-see-also"·class="section-heading">
142 ··<a·href="#module-see-also"·class="hover-link">142 ··<a·href="#module-see-also"·class="hover-link">
143 ····<i·class="ri-link-m"·aria-hidden="true"></i>143 ····<i·class="ri-link-m"·aria-hidden="true"></i>
144 ··</a>144 ··</a>
145 ··<span·class="text">See·Also</span>145 ··<span·class="text">See·Also</span>
146 </h2>146 </h2>
147 <p><a·href="erl_anno.html"><code·class="inline">erl_anno</code></a>,·<a·href="erl_scan.html"><code·class="inline">erl_scan</code></a>,·<a·href="io.html"><code·class="inline">io</code></a>,·section·<a·href="../../../../erts-16.0/doc/html/absform.html">The·Abstract·Format</a>147 <p><a·href="erl_anno.html"><code·class="inline">erl_anno</code></a>,·<a·href="erl_scan.html"><code·class="inline">erl_scan</code></a>,·<a·href="io.html"><code·class="inline">io</code></a>,·section·<a·href="../../../../erts-16.0/doc/html/absform.html">The·Abstract·Format</a>
148 in·the·ERTS·User's·Guide.</p>148 in·the·ERTS·User's·Guide.</p>
Offset 5666, 15 lines modifiedOffset 5666, 15 lines modified
5666 ······<p·class="built-using">5666 ······<p·class="built-using">
5667 ········Built·using5667 ········Built·using
5668 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the5668 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
5669 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>5669 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
5670 ······</p>5670 ······</p>
5671 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>5671 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
5672 ····</footer>5672 ····</footer>
5673 ··</div>5673 ··</div>
5674 </main>5674 </main>
5675 </div>5675 </div>
5676 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>5676 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
5677 ··<script>5677 ··<script>
5678 ··let·initialized·=·false;5678 ··let·initialized·=·false;
677 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_pp.html
    
Offset 963, 15 lines modifiedOffset 963, 15 lines modified
963 ······<p·class="built-using">963 ······<p·class="built-using">
964 ········Built·using964 ········Built·using
965 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the965 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
966 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>966 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
967 ······</p>967 ······</p>
968 <p>Copyright·©·1996-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.74 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_scan.html
    
Offset 132, 15 lines modifiedOffset 132, 15 lines modified
132 tokens.</p><h2·id="module-error-information"·class="section-heading">132 tokens.</p><h2·id="module-error-information"·class="section-heading">
133 ··<a·href="#module-error-information"·class="hover-link">133 ··<a·href="#module-error-information"·class="hover-link">
134 ····<i·class="ri-link-m"·aria-hidden="true"></i>134 ····<i·class="ri-link-m"·aria-hidden="true"></i>
135 ··</a>135 ··</a>
136 ··<span·class="text">Error·Information</span>136 ··<span·class="text">Error·Information</span>
137 </h2>137 </h2>
138 <p><code·class="inline">ErrorInfo</code>·is·the·standard·<code·class="inline">ErrorInfo</code>·structure·that·is·returned·from·all·I/O138 <p><code·class="inline">ErrorInfo</code>·is·the·standard·<code·class="inline">ErrorInfo</code>·structure·that·is·returned·from·all·I/O
139 modules.·The·format·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9737996542-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="9737[·...·truncated·by·diffoscope;·len:·373,·SHA:·d8826a348b4199569b4f5795962f638661eb6af7f1de7b64bb587546831131ca·...·]-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="8347644395-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="8347[·...·truncated·by·diffoscope;·len:·373,·SHA:·a7faab9006177421cc97bf43fc209bdf68d2c45365e63cea539653d867f058fd·...·]-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-7.0/doc/html/erl_tar.html
    
Offset 1239, 22 lines modifiedOffset 1239, 22 lines modified
1239 storage·handling·function.</p><p>Parameter·<code·class="inline">UserData</code>·is·typically·the·result·of·opening·a·low-level·structure1239 storage·handling·function.</p><p>Parameter·<code·class="inline">UserData</code>·is·typically·the·result·of·opening·a·low-level·structure
1240 like·a·file·descriptor·or·an·SFTP·channel·id.·The·different·<code·class="inline">Fun</code>·clauses1240 like·a·file·descriptor·or·an·SFTP·channel·id.·The·different·<code·class="inline">Fun</code>·clauses
1241 operate·on·that·very·term.</p><p>The·following·are·the·fun·clauses·parameter·lists:</p><ul><li><p><strong><code·class="inline">(write,·{UserData,DataToWrite})</code></strong>·-·Writes·term·<code·class="inline">DataToWrite</code>·using1241 operate·on·that·very·term.</p><p>The·following·are·the·fun·clauses·parameter·lists:</p><ul><li><p><strong><code·class="inline">(write,·{UserData,DataToWrite})</code></strong>·-·Writes·term·<code·class="inline">DataToWrite</code>·using
1242 <code·class="inline">UserData</code>.</p></li><li><p><strong><code·class="inline">(close,·UserData)</code></strong>·-·Closes·the·access.</p></li><li><p><strong><code·class="inline">(read2,·{UserData,Size})</code></strong>·-·Reads·using·<code·class="inline">UserData</code>·but·only·<code·class="inline">Size</code>·bytes.1242 <code·class="inline">UserData</code>.</p></li><li><p><strong><code·class="inline">(close,·UserData)</code></strong>·-·Closes·the·access.</p></li><li><p><strong><code·class="inline">(read2,·{UserData,Size})</code></strong>·-·Reads·using·<code·class="inline">UserData</code>·but·only·<code·class="inline">Size</code>·bytes.
1243 Notice·that·there·is·only·an·arity-2·read·function,·not·an·arity-1·function.</p></li><li><p><strong><code·class="inline">(position,{UserData,Position})</code></strong>·-·Sets·the·position·of·<code·class="inline">UserData</code>·as1243 Notice·that·there·is·only·an·arity-2·read·function,·not·an·arity-1·function.</p></li><li><p><strong><code·class="inline">(position,{UserData,Position})</code></strong>·-·Sets·the·position·of·<code·class="inline">UserData</code>·as
1244 defined·for·files·in·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#position/2"><code·class="inline">file:position/2</code></a></p></li></ul><p><em>Example:</em></p><p>The·following·is·a·complete·<code·class="inline">Fun</code>·parameter·for·reading·and·writing·on·files1244 defined·for·files·in·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#position/2"><code·class="inline">file:position/2</code></a></p></li></ul><p><em>Example:</em></p><p>The·following·is·a·complete·<code·class="inline">Fun</code>·parameter·for·reading·and·writing·on·files
1245 using·the·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ExampleFun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">1245 using·the·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ExampleFun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
1246 ···</span><span·class="nf">fun</span><span·class="p"·data-group-id="0890663973-1">(</span><span·class="ss">write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0890663973-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:·72bd2ec39c6df39eb6258b04d3b97c8c8cf7e78937e8e163facd42673d32a25c·...·]-3">)</span><span·class="p">;</span><span·class="w">1246 ···</span><span·class="nf">fun</span><span·class="p"·data-group-id="6068855607-1">(</span><span·class="ss">write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6068855607-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:·9487735b873ab505ba702044484ed5552672010aa305b7fa5317ebd486dd4f88·...·]-3">)</span><span·class="p">;</span><span·class="w">
1247 ······</span><span·class="p"·data-group-id="0890663973-4">(</span><span·class="ss">position</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0890663973-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:·13f68f41b627f4d89b5020c33347345dad968cac34c38d22fc358ba5c29cd3a1·...·]-6">)</span><span·class="p">;</span><span·class="w">1247 ······</span><span·class="p"·data-group-id="6068855607-4">(</span><span·class="ss">position</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6068855607-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:·1ff716bc74aacca0e1ca82b1079995116bbdf45d2ccaaafa4ce112edfa337ae4·...·]-6">)</span><span·class="p">;</span><span·class="w">
1248 ······</span><span·class="p"·data-group-id="0890663973-7">(</span><span·class="ss">read2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0890663973-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:·490961c6f15e096d4d144c1143ac41495295b980d494d58c2cb80d3ebb82f3ed·...·]-9">)</span><span·class="p">;</span><span·class="w">1248 ······</span><span·class="p"·data-group-id="6068855607-7">(</span><span·class="ss">read2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6068855607-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:·08f87e7f22d98e5014b1b86749f306030b08c4f11fca478f7215ec28e3bb15ef·...·]-9">)</span><span·class="p">;</span><span·class="w">
1249 ······</span><span·class="p"·data-group-id="0890663973-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="0890663973-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·200,·SHA:·26f59b30f7f2968c0baabe866bfaffb8fc3b7ee51c09666da0f84ef08483eb67·...·]-11">)</span><span·class="w">1249 ······</span><span·class="p"·data-group-id="6068855607-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="6068855607-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·200,·SHA:·b0b7b65b2d1005d004c96d6997d4945f01798da859be34446b7ce6a274947848·...·]-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="9647821048-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Fd</span><span·class="p"·data-group-id="9647821048-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="9647821048-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="9647821048-2">)</span><span·class="p">.</span><span·class="w"> 
1251 </span><span·class="p"·data-group-id="9647821048-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TarDesc</span><span·class="p"·data-group-id="9647821048-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w"[·...·truncated·by·diffoscope;·len:·1041,·SHA:·027845c7c2c5b8eca1096d0cb0f28ca23ea752a2e3124eb153c1b62fef98bf86·...·]</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:·5a93b4b4552c3add152e12a72bdd8a2cfe66ba960ced207bdf64d7ddb59fe4df·...·]</span><span·class="w">
 1251 </span><span·class="p"·data-group-id="8951907268-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TarDesc</span><span·class="p"·data-group-id="8951907268-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="8951907268-4">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8951907268-5">[</span><span·class="ss">write</span><span·class="p"·data-group-id="8951907268-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ExampleFun</span><span·class="p"·data-group-id="8951907268-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="1463856036-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="1463856036-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="8275843098-2">(</span><span·class="n">TarDesc</span><span·class="p"·data-group-id="8275843098-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="1463856036-2">(</span><span·class="n">TarDesc</span><span·class="p"·data-group-id="1463856036-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-7.0/doc/html/escript.html
    
Offset 502, 75 lines modifiedOffset 502, 75 lines modified
502 <code·class="inline">shebang</code>·defaults·to·<code·class="inline">&quot;/usr/bin/env·escript&quot;</code>.·The·<code·class="inline">comment</code>·defaults·to502 <code·class="inline">shebang</code>·defaults·to·<code·class="inline">&quot;/usr/bin/env·escript&quot;</code>.·The·<code·class="inline">comment</code>·defaults·to
503 <code·class="inline">&quot;This·is·an·-*-·erlang·-*-·file&quot;</code>.·The·created·escript·can·either·be·returned503 <code·class="inline">&quot;This·is·an·-*-·erlang·-*-·file&quot;</code>.·The·created·escript·can·either·be·returned
504 as·a·binary·or·written·to·file.</p><p>As·an·example·of·how·the·function·can·be·used,·we·create·an·interpreted·escript504 as·a·binary·or·written·to·file.</p><p>As·an·example·of·how·the·function·can·be·used,·we·create·an·interpreted·escript
505 that·uses·<code·class="inline">emu_args</code>·to·set·some·emulator·flag.·In·this·case,·it·happens·to·set505 that·uses·<code·class="inline">emu_args</code>·to·set·some·emulator·flag.·In·this·case,·it·happens·to·set
506 number·of·schedulers·with·<code·class="inline">+S3</code>.·We·also·extract·the·different·sections·from·the506 number·of·schedulers·with·<code·class="inline">+S3</code>.·We·also·extract·the·different·sections·from·the
507 newly·created·script:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">Source</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;%%·Demo\nmain(_Args)·-&gt;\n····io:format(\&quot;</span><span·class="si">~p</span><span·class="s">\&quot;,[erlang:system_info(schedulers)]).\n&quot;</span><span·class="p">.</span><span·class="w">507 newly·created·script:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">Source</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;%%·Demo\nmain(_Args)·-&gt;\n····io:format(\&quot;</span><span·class="si">~p</span><span·class="s">\&quot;,[erlang:system_info(schedulers)]).\n&quot;</span><span·class="p">.</span><span·class="w">
508 </span><span·class="s">&quot;%%·Demo\nmain(_Args)·-&gt;\n····io:format(erlang:system_info(schedulers)).\n&quot;</span><span·class="gp·unselectable">508 </span><span·class="s">&quot;%%·Demo\nmain(_Args)·-&gt;\n····io:format(erlang:system_info(schedulers)).\n&quot;</span><span·class="gp·unselectable">
509 &gt;·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6738051646-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="6738051646-2">[</span><span·class="n">Source</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·39d644781cdfe376e7fdaefa21174932a586380909a8b9fc3512d7ee18fb0d51·...·]-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="0552978794-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="0552978794-2">[</span><span·class="n">Source</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·a79b9632bc165bf07d6a9638931662c8f20e6729bf7a8eab243665415ae80584·...·]-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="6738051646-3">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="6738051646-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="0552978794-3">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="0552978794-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="6738051646-4">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="6738051646-5">(</span><span·class="ss">schedulers</span><span·class="p"·data-group-id="6738051646-5">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·556fde0501c9b5f7e018dddf346d010a0a3bbb77d017225ebc33dc71e3e34137·...·]-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="0552978794-4">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="0552978794-5">(</span><span·class="ss">schedulers</span><span·class="p"·data-group-id="0552978794-5">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·939d405ab9d039cc66e95f1af312fb211d3df123501ac35b3481c9514101aad4·...·]-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="6738051646-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="6738051646-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·630,·SHA:·c4e0ca4683153b99f1741239a277e9bf30aeae2fbde470655e7d2f0560fa0118·...·]-9">}</span><span·class="p">,</span><span·class="w">514 &gt;·</span><span·class="p"·data-group-id="0552978794-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="0552978794-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·630,·SHA:·945f8cd21be75bb36f47b642ea7e0fa85fae067700f941922bfea70d78d2b2b9·...·]-9">}</span><span·class="p">,</span><span·class="w">
515 ······································</span><span·class="p"·data-group-id="6738051646-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="6738051646-11">(</span><span·class="n">Source</span><span·class="p"·data-group-id="673[·...·truncated·by·diffoscope;·len:·168,·SHA:·140a91e1a01aa4613ad65374065aa31458e2bcb3313e2bbc4ea02ff66a1e4ad6·...·]-7">)</span><span·class="p">.</span><span·class="w">515 ······································</span><span·class="p"·data-group-id="0552978794-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="0552978794-11">(</span><span·class="n">Source</span><span·class="p"·data-group-id="055[·...·truncated·by·diffoscope;·len:·168,·SHA:·803a2adb4a6b96e9752c56082e2d66ee39106dae06a0aea83c923f884f9afce0·...·]-7">)</span><span·class="p">.</span><span·class="w">
516 </span><span·class="p"·data-group-id="6738051646-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6738051646-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:·4ac5f54583605e2a22bf83d36cd55d156ff69605c979bbc77b2ca09f88742322·...·]-12">}</span><span·class="gp·unselectable">516 </span><span·class="p"·data-group-id="0552978794-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0552978794-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:·773c80a894bd7c2c372bfe95003eb23c2fe8c6dc4c92fd7d02808eda07f94370·...·]-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="6738051646-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="6738051646-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="0552978794-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="0552978794-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="6738051646-15">(</span><span·class="s">&quot;escript·demo.escript&quot;</span><span·class="p"·data-group-id="6738051646-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="0552978794-15">(</span><span·class="s">&quot;escript·demo.escript&quot;</span><span·class="p"·data-group-id="0552978794-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="6738051646-16">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6738051646-17">[</span><span·class="p"·data-group-id="6738051646-17">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·523fa389dafa0666d9bb90e6eec6863a2f4a62735e54ff48c570ea9dc6ff399b·...·]-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="0552978794-16">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0552978794-17">[</span><span·class="p"·data-group-id="0552978794-17">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·526766850409d418fdc36ba16da7ace3d26e08c757c15bc90d7b9eada774dae8·...·]-16">)</span><span·class="p">.</span><span·class="w">
522 </span><span·class="p"·data-group-id="6738051646-18">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6738051646-19">[</span><span·class="p"·data-group-id="6738051646-20">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">def[·...·truncated·by·diffoscope;·len:·544,·SHA:·4cce05a06df455698c1e13802469193a335ce1b99f242206219d2f5c3463a07d·...·]-22">}</span><span·class="p">,</span><span·class="w">522 </span><span·class="p"·data-group-id="0552978794-18">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0552978794-19">[</span><span·class="p"·data-group-id="0552978794-20">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">def[·...·truncated·by·diffoscope;·len:·544,·SHA:·cd0f97872f8cbc1d1d0adb48f7eb440e1e72d6c05c3145d14fdbc523a213b039·...·]-22">}</span><span·class="p">,</span><span·class="w">
523 ·····</span><span·class="p"·data-group-id="6738051646-23">{</span><span·class="ss">source</span><span·class="p">,</span><span·class="p"·data-group-id="6738051646-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:·061466441f2b56631c7bc89acebde9c3025ec8ea1664654c5209ce86b9c2ccee·...·]-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="0552978794-23">{</span><span·class="ss">source</span><span·class="p">,</span><span·class="p"·data-group-id="0552978794-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:·015ffd73ff4536f2e5bab730d80a815cc00cbdff2646de6e8e60e19f4043289a·...·]-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="4879117223-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="4879117223-2">]</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·5964368df2dd0f0cea504d4de329ed2c080d7685a3bb6bd5d8fe72e54b28829c·...·]-1">)</span><span·class="p">.</span><span·class="w">524 ··················</span><span·class="p"·data-group-id="6189177278-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="6189177278-2">]</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·891d8f21913f4aa37c8407cd1dcaea18fb6254ffd19ecdbf6a49486809ef619c·...·]-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="4879117223-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="4879117223-3">}</span><spa[·...·truncated·by·diffoscope;·len:·554,·SHA:·a9e08d54a61dd2a6bd5cd04e9c7e54c00e4d08df2303ff8af5b7dfe3f20ee7f1·...·]-4">)</span><span·class="p">.</span><span·class="w">526 &gt;·</span><span·class="p"·data-group-id="6189177278-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="6189177278-3">}</span><spa[·...·truncated·by·diffoscope;·len:·554,·SHA:·151f92eb97ffbaa6bb61a282987fa26b44d0d9e6bdbee98d42965f6c12c5110f·...·]-4">)</span><span·class="p">.</span><span·class="w">
527 </span><span·class="p"·data-group-id="4879117223-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="6189177278-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="4879117223-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="6189177278-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="4879117223-7">&gt;&gt;</span><span·class="p"·data-group-id="4879117223-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="6189177278-7">&gt;&gt;</span><span·class="p"·data-group-id="6189177278-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="4879117223-8">(</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4879117223-9">[</span><span·class="p"·data-group-id="4879117223-10">{</span><span·class="ss">beam</span><span·c[·...·truncated·by·diffoscope;·len:·220,·SHA:·486afeae6732cfd018d1b802ac586322b83bbd8e3b265f74bb1c2be600f5da22·...·]-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="6189177278-8">(</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6189177278-9">[</span><span·class="p"·data-group-id="6189177278-10">{</span><span·class="ss">beam</span><span·c[·...·truncated·by·diffoscope;·len:·220,·SHA:·ee3ff43aac2e4c605b08b5d8c7ee1c73859af7dc7acfecc6820b2a8d655bdc26·...·]-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="4879117223-11">(</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4879117223-12">[</span><span·class="p"·data-group-id="4879117223-12">]</span><span·class="p"·data-group-id="48[·...·truncated·by·diffoscope;·len:·8,·SHA:·79f26c9a399d8037a72ff3487e37abf47c6de2e23f08fd98ec1bca9b2edbe197·...·]-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="6189177278-11">(</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6189177278-12">[</span><span·class="p"·data-group-id="6189177278-12">]</span><span·class="p"·data-group-id="61[·...·truncated·by·diffoscope;·len:·8,·SHA:·a0a24539ca343d1dad3a6034fadea122739a954b213245334477763b886db241·...·]-11">)</span><span·class="p">.</span><span·class="w">
533 </span><span·class="p"·data-group-id="4879117223-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4879117223-14">[</span><span·class="p"·data-group-id="4879117223-15">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">und[·...·truncated·by·diffoscope;·len:·543,·SHA:·5dde8fc250dd644770bb56f648e8783b91b393fae33faa3b6f509734a9416bbc·...·]-17">}</span><span·class="p">,</span><span·class="w">533 </span><span·class="p"·data-group-id="6189177278-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6189177278-14">[</span><span·class="p"·data-group-id="6189177278-15">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">und[·...·truncated·by·diffoscope;·len:·543,·SHA:·22648cc8905efe853d804ce9da91709030827438a71f71302bc27da58109dae2·...·]-17">}</span><span·class="p">,</span><span·class="w">
534 ·····</span><span·class="p"·data-group-id="4879117223-18">{</span><span·class="ss">beam</span><span·class="p">,</span><span·class="p"·data-group-id="4879117223-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="6189177278-18">{</span><span·class="ss">beam</span><span·class="p">,</span><span·class="p"·data-group-id="6189177278-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="4879117223-19">&gt;&gt;</span><span·class="p"·data-group-id="4879117223-18">}</span><span·class="p"·data-group-id="4879117223-14">]</span><span·class="p"·data-group-id="4879117223-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="6189177278-19">&gt;&gt;</span><span·class="p"·data-group-id="6189177278-18">}</span><span·class="p"·data-group-id="6189177278-14">]</span><span·class="p"·data-group-id="6189177278-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="4879117223-20">(</span><span·class="s">&quot;escript·demo.beam&quot;</span><span·class="p"·data-group-id="4879117223-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="6189177278-20">(</span><span·class="s">&quot;escript·demo.beam&quot;</span><span·class="p"·data-group-id="6189177278-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="9036272987-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="9036272987-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="9036272987-2">(</span><span·class="s">&quot;demo.erl&quot;</span><span·class="p"·data-group-id="9036272987-2">)</span><span·class="p">.</span><span·class="w"> 
540 </span><span·class="p"·data-group-id="9036272987-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9036272987-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:·d2025c76f7d8cef9bdb4d8f88c0ac57b6db4092a529265e16b29a24f3bd7dd2c·...·]">539 information·about·them:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="3584104983-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·418,·SHA:·fa702742927568a0bac25229136f793a9e2525dd8d471b73276c8d47c221b6b8·...·]">
 540 </span><span·class="p"·data-group-id="3584104983-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3584104983-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="3584104983-4">&gt;&gt;</span><span·class="p"·data-group-id="3584104983-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="9036272987-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="3584104983-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="9036272987-6">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">542 ·················</span><span·class="p"·data-group-id="3584104983-6">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">
543 ··················</span><span·class="p"·data-group-id="9036272987-7">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9036272987-8">[</span><span·class="p"·data-group-id="9036272987-9">{</span><span·class="s">&quot;demo.erl&quot;</span><span·[·...·truncated·by·diffoscope;·len:·116,·SHA:·fe9d9fb69a1b8c5f7505a43531e59143c57d32471117c797db2d9104aa31a74f·...·]-9">}</span><span·class="p">,</span><span·class="w">543 ··················</span><span·class="p"·data-group-id="3584104983-7">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3584104983-8">[</span><span·class="p"·data-group-id="3584104983-9">{</span><span·class="s">&quot;demo.erl&quot;</span><span·[·...·truncated·by·diffoscope;·len:·116,·SHA:·c8d32aefd2d17be613f3003fd2e4cb28c91ea06418d3ff18716992f2040d58c5·...·]-9">}</span><span·class="p">,</span><span·class="w">
544 ·····························</span><span·class="p"·data-group-id="9036272987-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="9036272987-10">}</span><span·class="p"·data-group-id="9036272987-8">]</span><sp[·...·truncated·by·diffoscope;·len:·300,·SHA:·bf2687636c08d3c51a4c671396dbeb7ed5fdda9803964998d21b1b359e367314·...·]-5">)</span><span·class="p">.</span><span·class="w">544 ·····························</span><span·class="p"·data-group-id="3584104983-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="3584104983-10">}</span><span·class="p"·data-group-id="3584104983-8">]</span><sp[·...·truncated·by·diffoscope;·len:·300,·SHA:·0641a699a2ead67043e4e06ae913abbaef6609b58d430af7a9bdedadf8d1cfb9·...·]-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="9036272987-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9036272987-13">[</span><span·class="p"·data-group-id="9036272987-14">{</span><span·class="ss">shebang</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·565,·SHA:·91aff30e263e31c30fe99d745333777d378f5feab2950980c56006f0e46a7dd7·...·]-16">}</span><span·class="p">,</span><span·class="w">546 &gt;·</span><span·class="p"·data-group-id="3584104983-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3584104983-13">[</span><span·class="p"·data-group-id="3584104983-14">{</span><span·class="ss">shebang</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·565,·SHA:·4e6636f7c85de7d548dead97c7a6bf0caf5d2b6fe5032492d216ad5ed6d78a2a·...·]-16">}</span><span·class="p">,</span><span·class="w">
547 ·····</span><span·class="p"·data-group-id="9036272987-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="9036272987-17">}</span><span·class="p"·data-group-id="9036272987-13">]</span><span·class="[·...·truncated·by·diffoscope;·len:·497,·SHA:·4410cb3183f83d91bd4037742408c396218c1cb551b0bb11befbb32351c9f621·...·]-18">)</span><span·class="p">.</span><span·class="w">547 ·····</span><span·class="p"·data-group-id="3584104983-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="3584104983-17">}</span><span·class="p"·data-group-id="3584104983-13">]</span><span·class="[·...·truncated·by·diffoscope;·len:·497,·SHA:·bde21765bd270655020fbd909294129379a22c00764d4a686e77f93dc8f5981b·...·]-18">)</span><span·class="p">.</span><span·class="w">
548 </span><span·class="p"·data-group-id="9036272987-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9036272987-21">[</span><span·class="p"·data-group-id="9036272987-22">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">def[·...·truncated·by·diffoscope;·len:·541,·SHA:·b4d63268a548bd8d490bde89c5b8c769382bb319a66fecf28b123349381d27f6·...·]-24">}</span><span·class="p">,</span><span·class="w">548 </span><span·class="p"·data-group-id="3584104983-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3584104983-21">[</span><span·class="p"·data-group-id="3584104983-22">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">def[·...·truncated·by·diffoscope;·len:·541,·SHA:·f6a3bf55dd2984ee47b23dc24913dd60392dccb2a575880a40d9248ae0459624·...·]-24">}</span><span·class="p">,</span><span·class="w">
549 ·····</span><span·class="p"·data-group-id="9036272987-25">{</span><span·class="p"·data-group-id="9036272987-26">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="p"·data-group-id="9036272987-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="3584104983-25">{</span><span·class="p"·data-group-id="3584104983-26">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="p"·data-group-id="3584104983-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="9036272987-27">&gt;&gt;</span><span·class="p"·data-group-id="9036272987-26">}</span><span·class="p">]</span><span·class="p"·data-group-id="9036272987-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="3584104983-27">&gt;&gt;</span><span·class="p"·data-group-id="3584104983-26">}</span><span·class="p">]</span><span·class="p"·data-group-id="3584104983-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="9036272987-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="9036272987-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="3584104983-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="3584104983-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="9036272987-29">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9036272987-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:·d2b4e3affe49eb9eb0ed5be6f860ee794c054acac2ffb4c4147c9ce55e15fac9·...·]-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="3584104983-29">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3584104983-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:·75521570685c60d3277fb65f365fafdb492ec5684e4e7cb14d1afc7825196af1·...·]-29">)</span><span·class="p">.</span><span·class="w">
554 </span><span·class="p"·data-group-id="9036272987-36">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9036272987-37">[</span><span·class="p"·data-group-id="9036272987-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="3584104983-36">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3584104983-37">[</span><span·class="p"·data-group-id="3584104983-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="9036272987-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="3584104983-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="9036272987-40">{</span><span·class="p"·data-group-id="9036272987-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="9036272987-41">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·796a2222bfd10e895cf2eab7188c1b504cd0298027b3579787e3c2eb61d08b47·...·]-40">}</span><span·class="p">,</span><span·class="w">556 ·················</span><span·class="p"·data-group-id="3584104983-40">{</span><span·class="p"·data-group-id="3584104983-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="3584104983-41">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·8f093d50b6a0b4213018305cecb153a1a8c0f035c25385d98bb9db9b132d09c1·...·]-40">}</span><span·class="p">,</span><span·class="w">
557 ·················</span><span·class="p"·data-group-id="9036272987-43">{</span><span·class="p"·data-group-id="9036272987-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="9036272987-44">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·d258485e514d95bf54750d3eb683f3ace908f3a3067d07deca4b5d6b33710f4d·...·]-43">}</span><span·class="p">,</span><span·class="w">557 ·················</span><span·class="p"·data-group-id="3584104983-43">{</span><span·class="p"·data-group-id="3584104983-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="3584104983-44">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·78908e46ebf030a1f1d8796acc126de47f0dba0bf3a038b8ccafcb641e5c3a5c·...·]-43">}</span><span·class="p">,</span><span·class="w">
558 ·················</span><span·class="p"·data-group-id="9036272987-46">{</span><span·class="p"·data-group-id="9036272987-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="9036272987-47">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·c3a0299981c5b42883195bfdb223dbf1eb752c5c2ae4ff6ea8925264d3dc7f6e·...·]-46">}</span><span·class="p">,</span><span·class="w">558 ·················</span><span·class="p"·data-group-id="3584104983-46">{</span><span·class="p"·data-group-id="3584104983-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="3584104983-47">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·71d4a0b3270bee254692712c3fe5f3ccb62d226a6553c61038fa79feb22e5f55·...·]-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="9036272987-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="3584104983-39">}</span><span·class="p">,</span><span·class="w">
560 ······</span><span·class="p"·data-group-id="9036272987-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="3584104983-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="9036272987-49">&gt;&gt;</span><span·class="p"·data-group-id="9036272987-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="3584104983-49">&gt;&gt;</span><span·class="p"·data-group-id="3584104983-38">}</span><span·class="p">,</span><span·class="w">
562 ·····</span><span·class="p"·data-group-id="9036272987-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="3584104983-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="9036272987-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="3584104983-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="9036272987-52">{</span><span·class="p"·data-group-id="9036272987-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="9036272987-53">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·64028c1267a94063e0ea0dcf38bfcfe27e143009875ff40c1d9370a9726b5958·...·]-52">}</span><span·class="p">,</span><span·class="w">564 ·················</span><span·class="p"·data-group-id="3584104983-52">{</span><span·class="p"·data-group-id="3584104983-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="3584104983-53">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·c519f1c36e1b6d99600a60f0f42adf07c214fa46054718138cedc507e80a17b9·...·]-52">}</span><span·class="p">,</span><span·class="w">
565 ·················</span><span·class="p"·data-group-id="9036272987-55">{</span><span·class="p"·data-group-id="9036272987-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="9036272987-56">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·e26bee47e93f79f8d3d4dc9bfa1b7a2d74ff860d21bcc315d450c36e81652262·...·]-55">}</span><span·class="p">,</span><span·class="w">565 ·················</span><span·class="p"·data-group-id="3584104983-55">{</span><span·class="p"·data-group-id="3584104983-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="3584104983-56">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·bd513adc7e72313da6d63cefa1b60934b42645bfbe524a3923a003f2313ee2fe·...·]-55">}</span><span·class="p">,</span><span·class="w">
566 ·················</span><span·class="p"·data-group-id="9036272987-58">{</span><span·class="p"·data-group-id="9036272987-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="9036272987-59">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·84a3647e31620c325c9479bc90c9333a77f1287c6c6d1ee1e6afdba464e1968d·...·]-58">}</span><span·class="p">,</span><span·class="w">566 ·················</span><span·class="p"·data-group-id="3584104983-58">{</span><span·class="p"·data-group-id="3584104983-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="3584104983-59">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·1821cd8edc7be30aba9d0cf363d961d153cce1fd6ef3b120913c4734aa1e4783·...·]-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="9036272987-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="3584104983-51">}</span><span·class="p">,</span><span·class="w">
568 ······</span><span·class="p"·data-group-id="9036272987-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="9036272987-61">&gt;[·...·truncated·by·diffoscope;·len:·160,·SHA:·6882e287726e93bc0182dfc1d0bdffeead6d429bca8614bee16d3f5870d5b4ae·...·]-36">}</span></code></pre>568 ······</span><span·class="p"·data-group-id="3584104983-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="3584104983-61">&gt;[·...·truncated·by·diffoscope;·len:·160,·SHA:·5bba27abd2d81a5c9a487e15b400a3fdcab8d1a2ea8af893f0946ba2ebb0db9b·...·]-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="5313144520-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="7345982298-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="5313144520-2">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5313144520-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:·b113c0800016fdfd7301984e0b34f6319a76817c9ce748ffefc0c1b715bc78c2·...·]-5">}</span><span·class="p">,</span><span·class="w">600 ·················</span><span·class="p"·data-group-id="7345982298-2">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7345982298-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:·6f6e4cc3171ffe7f3bae07f3debf1ff8da53240f0c04f16e3c19982bd1a65059·...·]-5">}</span><span·class="p">,</span><span·class="w">
601 ······································</span><span·class="p"·data-group-id="5313144520-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="5313144520-6">}</span><span·class="p"·data-group-id="5313144520-4">]</span><span[·...·truncated·by·diffoscope;·len:·296,·SHA:·0d413b55947c738a7a6286cc7c12b97da3ab5adf0784de536102cf3c96cc1ae1·...·]-1">)</span><span·class="p">.</span><span·class="w">601 ······································</span><span·class="p"·data-group-id="7345982298-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="7345982298-6">}</span><span·class="p"·data-group-id="7345982298-4">]</span><span[·...·truncated·by·diffoscope;·len:·296,·SHA:·e39bd2c8e901f1cedd0469dfc6b60884555374122b5811f41ced90a629537990·...·]-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="5313144520-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5313144520-9">[</span><span·class="p"·data-group-id="5313144520-10">{</span><span·class="ss">shebang</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·563,·SHA:·3369449321b6a456bd179e44f3f3ce35e0e293c64f31ab55719ab0250c68a7e4·...·]-12">}</span><span·class="p">,</span><span·class="w">603 &gt;·</span><span·class="p"·data-group-id="7345982298-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7345982298-9">[</span><span·class="p"·data-group-id="7345982298-10">{</span><span·class="ss">shebang</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·563,·SHA:·7792ecb5ad87371310e94e6525e82d02a34fb94642ad16289eb169c48f87977a·...·]-12">}</span><span·class="p">,</span><span·class="w">
604 ·····</span><span·class="p"·data-group-id="5313144520-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="5313144520-13">}</span><span·class="p"·data-group-id="5313144520-9">]</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·73defffd544e232e41ae62905943331cc8ce863c3dc1451e72d8b6372d51c50e·...·]-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">604 ·····</span><span·class="p"·data-group-id="7345982298-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="7345982298-13">}</span><span·class="p"·data-group-id="7345982298-9">]</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·f2e2d24eb63c1fe83b3496c74fa70100effd8c1ff94eeb2c8bbaabafa3c178f7·...·]-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="5313144520-14">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5313144520-15">[</span><span·class="p"·data-group-id="5313144520-15">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·4e4fe10c0d40d29166ea014e45366897363503fc6642cba5d3a492b5ed48ebbf·...·]-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="7345982298-14">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7345982298-15">[</span><span·class="p"·data-group-id="7345982298-15">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·585dbee8e6c13923ccfe67e5f601fd04aed883890ad326f644ae2b8c8db27ea1·...·]-14">)</span><span·class="p">.</span><span·class="w">
606 </span><span·class="p"·data-group-id="5313144520-16">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5313144520-17">[</span><span·class="p"·data-group-id="5313144520-18">{</span><span·class="p"·data-group-id="5313144520-19">{</span><span·class="ss">arch[·...·truncated·by·diffoscope;·len:·75,·SHA:·661b9823017ecf347f3f17f979bb5ae3c6b4f42831b7a9048089ca523e40652c·...·]-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="7345982298-16">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7345982298-17">[</span><span·class="p"·data-group-id="7345982298-18">{</span><span·class="p"·data-group-id="7345982298-19">{</span><span·class="ss">arch[·...·truncated·by·diffoscope;·len:·75,·SHA:·4b804274924e884196d5769631579b93ba669e44e39d46d3ddb71d1e3e898195·...·]-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="5313144520-20">&gt;&gt;</span><span·class="p"·data-group-id="5313144520-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="7345982298-20">&gt;&gt;</span><span·class="p"·data-group-id="7345982298-19">}</span><span·class="w">
608 ·····</span><span·class="p"·data-group-id="5313144520-21">{</span><span·class="ss">emu_args</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p"·data-group-id="5313144520-21">}</span><span·class="p">]</span><span·class="p"·data-group-id="5313144520-18">}</span></code></pre>608 ·····</span><span·class="p"·data-group-id="7345982298-21">{</span><span·class="ss">emu_args</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p"·data-group-id="7345982298-21">}</span><span·class="p">]</span><span·class="p"·data-group-id="7345982298-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
139 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/ets.html
    
Offset 216, 35 lines modifiedOffset 216, 35 lines modified
216 disallow·concurrent·updates·during·the·entire·traversal.</p><p>Moreover,·traversals·not·done·in·a·<em>safe</em>·way,·on·tables·where·keys·are·inserted216 disallow·concurrent·updates·during·the·entire·traversal.</p><p>Moreover,·traversals·not·done·in·a·<em>safe</em>·way,·on·tables·where·keys·are·inserted
217 or·deleted·during·the·traversal,·may·yield·the·following·undesired·effects:</p><ul><li>Any·key·may·be·missed.</li><li>Any·key·may·be·found·more·than·once.</li><li>The·traversal·may·fail·with·<code·class="inline">badarg</code>·exception·if·keys·are·deleted.</li></ul><p>A·table·traversal·is·<em>safe</em>·if·either</p><ul><li>the·table·is·of·type·<code·class="inline">ordered_set</code>.</li><li>the·entire·table·traversal·is·done·within·one·ETS·function·call.</li><li>function·<a·href="#safe_fixtable/2"><code·class="inline">safe_fixtable/2</code></a>·is·used·to·keep·the·table·fixated·during·the·entire217 or·deleted·during·the·traversal,·may·yield·the·following·undesired·effects:</p><ul><li>Any·key·may·be·missed.</li><li>Any·key·may·be·found·more·than·once.</li><li>The·traversal·may·fail·with·<code·class="inline">badarg</code>·exception·if·keys·are·deleted.</li></ul><p>A·table·traversal·is·<em>safe</em>·if·either</p><ul><li>the·table·is·of·type·<code·class="inline">ordered_set</code>.</li><li>the·entire·table·traversal·is·done·within·one·ETS·function·call.</li><li>function·<a·href="#safe_fixtable/2"><code·class="inline">safe_fixtable/2</code></a>·is·used·to·keep·the·table·fixated·during·the·entire
218 traversal.</li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Even·though·the·access·of·a·single·object·is·always·guaranteed·to·be218 traversal.</li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Even·though·the·access·of·a·single·object·is·always·guaranteed·to·be
219 <a·href="ets.html#module-concurrency">atomic·and·isolated</a>,·each·traversal·through·a·table·to219 <a·href="ets.html#module-concurrency">atomic·and·isolated</a>,·each·traversal·through·a·table·to
220 find·the·next·key·is·not·done·with·such·guarantees.·This·is·often·not·a220 find·the·next·key·is·not·done·with·such·guarantees.·This·is·often·not·a
221 problem,·but·may·cause·rare·subtle·&quot;unexpected&quot;·effects·if·a·concurrent221 problem,·but·may·cause·rare·subtle·&quot;unexpected&quot;·effects·if·a·concurrent
222 process·inserts·objects·during·a·traversal.·For·example,·consider·one·process222 process·inserts·objects·during·a·traversal.·For·example,·consider·one·process
223 doing</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6512148853-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6512148853-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:·86c403453eb15c3e690347ca54d2a016ca8161f0f6123b712272603e55604d7e·...·]-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="4771911438-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4771911438-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:·bf49c51b557163310b3d13caad582c52a453edf02455423e526ce8e61d668b4a·...·]-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="6512148853-3">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6512148853-4">{</span><span·class="mi">1</span><span·class="p"·data-group-id="6512148853-4">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·aa755baa69ab3b2c6f9e92517bd50a157f1f3712e574b2f63793206f23bce34d·...·]-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="4771911438-3">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4771911438-4">{</span><span·class="mi">1</span><span·class="p"·data-group-id="4771911438-4">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·987c3f1fb1b66abba78ad9809d19ff75f9ba29010cb411e6060cc2a313c92c4a·...·]-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="6512148853-5">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6512148853-6">{</span><span·class="mi">2</span><span·class="p"·data-group-id="6512148853-6">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·aa755baa69ab3b2c6f9e92517bd50a157f1f3712e574b2f63793206f23bce34d·...·]-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="4771911438-5">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4771911438-6">{</span><span·class="mi">2</span><span·class="p"·data-group-id="4771911438-6">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·987c3f1fb1b66abba78ad9809d19ff75f9ba29010cb411e6060cc2a313c92c4a·...·]-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="6512148853-7">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6512148853-8">{</span><span·class="mi">3</span><span·class="p"·data-group-id="6512148853-8">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·aa755baa69ab3b2c6f9e92517bd50a157f1f3712e574b2f63793206f23bce34d·...·]-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="4771911438-7">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4771911438-8">{</span><span·class="mi">3</span><span·class="p"·data-group-id="4771911438-8">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·987c3f1fb1b66abba78ad9809d19ff75f9ba29010cb411e6060cc2a313c92c4a·...·]-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="3797170328-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="p"·data-group-id="3797170328-2">[</span><span·class="ss">ordered_set</span><span·class="p"·data-group-id="3797170328-2">]</span><span·class="p"·data-group-id="3797170328-1"[·...·truncated·by·diffoscope;·len:·546,·SHA:·e0c97345b790486361a4cc1596f30ce910437534b45e2e0e0c4c77f046cd948a·...·]-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="2821633817-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="p"·data-group-id="2821633817-2">[</span><span·class="ss">ordered_set</span><span·class="p"·data-group-id="2821633817-2">]</span><span·class="p"·data-group-id="2821633817-1"[·...·truncated·by·diffoscope;·len:·546,·SHA:·3f5beb92db4a1e36a732fdc4f0db9761e92afbf5a115247bd4a7096137eaf767·...·]-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="3797170328-5">(</span><span·class="n">T</span><span·class="p">,</span><span·class="p"·data-group-id="3797170328-6">{</span><span·class="p"·data-group-id="3797170328-7">[</span><span·class="sc">$5</span><span·class="p">,</span><span·class="sc">$5</span><spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·d35a3a9a13196fa546b3e63b02e258202840ab807e890ec63696cbd49d5e197c·...·]-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="2821633817-5">(</span><span·class="n">T</span><span·class="p">,</span><span·class="p"·data-group-id="2821633817-6">{</span><span·class="p"·data-group-id="2821633817-7">[</span><span·class="sc">$5</span><span·class="p">,</span><span·class="sc">$5</span><spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·f8c63a6ca1663fb46c0f9c82724b550c923a803c18bb93aec060709891bb8c3f·...·]-5">)</span><span·class="p">.</span><span·class="w">
243 </span><span·class="p"·data-group-id="3797170328-8">[</span><span·class="p"·data-group-id="3797170328-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="3797170328-9">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·2bbc129d9b0f4e7a4d851126f129b474379e6026e11b6adc9b949dd0850527df·...·]-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="2821633817-8">[</span><span·class="p"·data-group-id="2821633817-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="2821633817-9">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·7364467d66646f34aff4332ce65028dc3458f20ac80842a064cd956fc745b560·...·]-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="7346273995-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7346273995-2">(</span><span·class="p"·data-group-id="7346273995-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:·34b623b7f8b8a533734b5c080d3c007ca8b4257d3320c881f422453f7cdf95ff·...·]5-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="0307495385-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0307495385-2">(</span><span·class="p"·data-group-id="0307495385-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:·3ce089baeef47b1850b86019219834e69507febd5abfc012a713d182cd7c4c12·...·]5-1">)</span><span·class="p">.</span><span·class="w">
1894 </span><span·class="p"·data-group-id="7346273995-4">[</span><span·class="p"·data-group-id="7346273995-5">{</span><span·class="p"·data-group-id="7346273995-6">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·663,·SHA:·63691a94c8f9d3fcae8f5fbbc0c4d1628c6010989d329c1fe3a52bf1e0622656·...·]5-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="0307495385-4">[</span><span·class="p"·data-group-id="0307495385-5">{</span><span·class="p"·data-group-id="0307495385-6">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="0[·...·truncated·by·diffoscope;·len:·663,·SHA:·8e53bd039da4f04157520d2dba2a8615c1149ad376470c9b1f04bc7fec64aa28·...·]5-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="6912781161-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6912781161-2">(</span><span·class="p"·data-group-id="6912781161-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:·05c03bd20cd8c8b104077e72cb2983f35ee38eb3a5f39d64f7e0eb900b7977d5·...·]-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="9388451946-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9388451946-2">(</span><span·class="p"·data-group-id="9388451946-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:·7aeab84b27f8420d71d66c4b75baaf97d4d89140e3b788422d8725c3c0a02a9a·...·]-1">)</span><span·class="p">.</span><span·class="w">
1897 </span><span·class="p"·data-group-id="6912781161-4">[</span><span·class="p"·data-group-id="6912781161-5">{</span><span·class="p"·data-group-id="6912781161-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:·825,·SHA:·151ddd2ebe8f8b7d42e75835b7081f4f5dd94158d2f1b635c8ceea35b1ab97ff·...·]-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="9388451946-4">[</span><span·class="p"·data-group-id="9388451946-5">{</span><span·class="p"·data-group-id="9388451946-6">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="9[·...·truncated·by·diffoscope;·len:·825,·SHA:·9dc66989faa15b68f772b91f5ef09a81b1d4647e2841d223256fa07d6240d177·...·]-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="2363603528-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2363603528-2">(</span><span·class="p"·data-group-id="2363603528-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:·6a805c88c757664be96c47f0cb2c65748e03ed6515aa8517886acc84eeeb7fb3·...·]-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="5810230951-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5810230951-2">(</span><span·class="p"·data-group-id="5810230951-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:·aafa3d662a0b7af0a1dbd3e018883ecb0f9abf0fa33d1a20b4206fb6b3c76eb0·...·]-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="2363603528-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="236360[·...·truncated·by·diffoscope;·len:·4,·SHA:·137c149a3ed18d3a0ff3634e40d642a552bea18c6f6f27ce4ad988ee9c7ff5fa·...·]-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="5810230951-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="581023[·...·truncated·by·diffoscope;·len:·4,·SHA:·7e876631e1961ee12880b5984ef378da3dc520677f75f5699d6298f73ac85700·...·]-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="2363603528-6">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">transform_error</span><span·class="p"·data-group-id="2363603528-6">}</span><span·class="gp·unselectable">1903 </span><span·class="p"·data-group-id="5810230951-6">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">transform_error</span><span·class="p"·data-group-id="5810230951-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="2363603528-7">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2363603528-8">(</span><span·class="p"·data-group-id="2363603528-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:·6083355ce300e35e56f97516aa6b66d11e8fd145f454ee44ae1b4754780329fb·...·]-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="5810230951-7">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5810230951-8">(</span><span·class="p"·data-group-id="5810230951-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:·6b03566008b744e55dfbbdbfdc2ecee35f39b4b5fcc547414bb3c4d57cafc34e·...·]-7">)</span><span·class="p">.</span><span·class="w">
1905 </span><span·class="p"·data-group-id="2363603528-11">[</span><span·class="p"·data-group-id="2363603528-12">{</span><span·class="p"·data-group-id="2363603528-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:·c131052d11ab23b2d9a6fad6712452c8da0f0ed5e05853b44e97199a63046ab1·...·]-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="5810230951-11">[</span><span·class="p"·data-group-id="5810230951-12">{</span><span·class="p"·data-group-id="5810230951-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:·5955d3c4d09ddc436217f01171d205cdd41277fddd74522250cdbb71e057ee09·...·]-11">]</span></code></pre><p>As·shown·by·the·example,·the·function·can·be·called·from·the·shell·also.·The·fun
1906 must·be·literally·in·the·call·when·used·from·the·shell·as·well.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>If·the·<code·class="inline">parse_transform</code>·is·not·applied·to·a·module·that·calls·this·pseudo1906 must·be·literally·in·the·call·when·used·from·the·shell·as·well.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>If·the·<code·class="inline">parse_transform</code>·is·not·applied·to·a·module·that·calls·this·pseudo
1907 function,·the·call·fails·in·runtime·(with·a·<code·class="inline">badarg</code>).·The·<code·class="inline">ets</code>·module1907 function,·the·call·fails·in·runtime·(with·a·<code·class="inline">badarg</code>).·The·<code·class="inline">ets</code>·module
1908 exports·a·function·with·this·name,·but·it·is·never·to·be·called·except·when1908 exports·a·function·with·this·name,·but·it·is·never·to·be·called·except·when
1909 using·the·function·in·the·shell.·If·the·<code·class="inline">parse_transform</code>·is·properly·applied1909 using·the·function·in·the·shell.·If·the·<code·class="inline">parse_transform</code>·is·properly·applied
1910 by·including·header·file·<code·class="inline">ms_transform.hrl</code>,·compiled·code·never·calls·the1910 by·including·header·file·<code·class="inline">ms_transform.hrl</code>,·compiled·code·never·calls·the
1911 function,·but·the·function·call·is·replaced·by·a·literal·match·specification.</p></section><p>For·more·information,·see·<a·href="ms_transform.html"><code·class="inline">ms_transform</code></a>.</p>1911 function,·but·the·function·call·is·replaced·by·a·literal·match·specification.</p></section><p>For·more·information,·see·<a·href="ms_transform.html"><code·class="inline">ms_transform</code></a>.</p>
1912 ··</section>1912 ··</section>
Offset 2491, 20 lines modifiedOffset 2491, 20 lines modified
  
2491 ··········<pre·translate="no"><span·class="attribute">-spec</span>·match(Table,·Pattern)·->·[Match]2491 ··········<pre·translate="no"><span·class="attribute">-spec</span>·match(Table,·Pattern)·->·[Match]
2492 ···············when·Table·::·<a·href="#t:table/0">table</a>(),·Pattern·::·<a·href="#t:match_pattern/0">match_pattern</a>(),·Match·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>2492 ···············when·Table·::·<a·href="#t:table/0">table</a>(),·Pattern·::·<a·href="#t:match_pattern/0">match_pattern</a>(),·Match·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>
  
2493 ······</div>2493 ······</div>
  
2494 <p>Matches·the·objects·in·table·<code·class="inline">Table</code>·against·pattern·<code·class="inline">Pattern</code>.</p><p>A·pattern·is·a·term·that·can·contain:</p><ul><li>Bound·parts·(Erlang·terms)</li><li><code·class="inline">'_'</code>·that·matches·any·Erlang·term</li><li>Pattern·variables·<code·class="inline">'$N'</code>,·where·<code·class="inline">N</code>=0,1,...</li></ul><p>The·function·returns·a·list·with·one·element·for·each·matching·object,·where2494 <p>Matches·the·objects·in·table·<code·class="inline">Table</code>·against·pattern·<code·class="inline">Pattern</code>.</p><p>A·pattern·is·a·term·that·can·contain:</p><ul><li>Bound·parts·(Erlang·terms)</li><li><code·class="inline">'_'</code>·that·matches·any·Erlang·term</li><li>Pattern·variables·<code·class="inline">'$N'</code>,·where·<code·class="inline">N</code>=0,1,...</li></ul><p>The·function·returns·a·list·with·one·element·for·each·matching·object,·where
2495 each·element·is·an·ordered·list·of·pattern·variable·bindings,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="9510224856-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="9510224856-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="4425031423-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="4425031423-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="9510224856-2">[</span><span·class="p"·data-group-id="9510224856-3">[</span><span·class="p"·data-group-id="9510224856-4">{</span><span·class="ss">rufsen</span><span·class="p">,</span><span·class="ss">dog</span><span·class="p">,</span><span·class="mi">7</spa[·...·truncated·by·diffoscope;·len:·882,·SHA:·27e0ff5d80252e53425c488edd4b3c0ba8f969e00ebdc02870f8dcb583fb769b·...·]-2">]</span><span·class="gp·unselectable">2496 </span><span·class="p"·data-group-id="4425031423-2">[</span><span·class="p"·data-group-id="4425031423-3">[</span><span·class="p"·data-group-id="4425031423-4">{</span><span·class="ss">rufsen</span><span·class="p">,</span><span·class="ss">dog</span><span·class="p">,</span><span·class="mi">7</spa[·...·truncated·by·diffoscope;·len:·882,·SHA:·3abd47adb5a81cdce8e8224431199f0832660a313f0a6fe0a0f78805c54f7775·...·]-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="9510224856-9">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9510224856-10">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">dog</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·133,·SHA:·1fbd72fe03b4cca300e513c0ab9ba94d5d45cd2be6a9a27455c3a17f0da57cb0·...·]-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="4425031423-9">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4425031423-10">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">dog</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·133,·SHA:·1c10d6121a12eea725025b7e84d7edce89459475a2d6678ea292bf62a5e8286b·...·]-9">)</span><span·class="p">.</span><span·class="w">
2498 </span><span·class="p"·data-group-id="9510224856-11">[</span><span·class="p"·data-group-id="9510224856-12">[</span><span·class="mi">7</span><span·class="p"·data-group-id="9510224856-12">]</span><span·class="p">,</span><span·class="p"·data-group-id="9510224856-13">[</span><span·class="mi">5</sp[·...·truncated·by·diffoscope;·len:·98,·SHA:·7509962bc088f137a79f39db5e3141690567963560aa16c8bb6496260c4a1257·...·]-11">]</span><span·class="gp·unselectable">2498 </span><span·class="p"·data-group-id="4425031423-11">[</span><span·class="p"·data-group-id="4425031423-12">[</span><span·class="mi">7</span><span·class="p"·data-group-id="4425031423-12">]</span><span·class="p">,</span><span·class="p"·data-group-id="4425031423-13">[</span><span·class="mi">5</sp[·...·truncated·by·diffoscope;·len:·98,·SHA:·67bc1893f096b04974bf0c32ee44e579162c661cf3fe80f5e09f64579529c672·...·]-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="9510224856-14">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9510224856-15">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">cow</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·134,·SHA:·f615ceb13e606ba13516382a0da5b92f3a26dc3d3e3780852a30f615b132abbe·...·]-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="4425031423-14">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4425031423-15">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">cow</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·134,·SHA:·ff73249af50706354a08bbbcd500f5cf34009d7eff0416216bfee9e8205369b7·...·]-14">)</span><span·class="p">.</span><span·class="w">
2500 </span><span·class="p"·data-group-id="9510224856-16">[</span><span·class="p"·data-group-id="9510224856-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="4425031423-16">[</span><span·class="p"·data-group-id="4425031423-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="1760780141-1">(</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">tab2list</span><span·class="p"·data-group-id="1760780141-2">(</span><span·class="n">Table</span><span·class="p"·data-group-id="1760780141-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="9101093939-1">(</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">tab2list</span><span·class="p"·data-group-id="9101093939-2">(</span><span·class="n">Table</span><span·class="p"·data-group-id="9101093939-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="1760780141-3">(</span><span·class="n">MatchSpec</span><span·class="p"·data-group-id="1760780141-3">)</span><span·class="p"·data-group-id="1760780141-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="9101093939-3">(</span><span·class="n">MatchSpec</span><span·class="p"·data-group-id="9101093939-3">)</span><span·class="p"·data-group-id="9101093939-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="1760780141-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="1760780141-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="9101093939-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="9101093939-4">)</span><span·class="p">,</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·function·has·limited·use·in·normal·code.·It·is·used·by·the·<a·href="dets.html"><code·class="inline">dets</code></a>
2745 module·to·perform·the·<a·href="dets.html#select/1"><code·class="inline">dets:select/1</code></a>·operations·and·by·Mnesia·during2745 module·to·perform·the·<a·href="dets.html#select/1"><code·class="inline">dets:select/1</code></a>·operations·and·by·Mnesia·during
2746 transactions.</p></section>2746 transactions.</p></section>
2747 ··</section>2747 ··</section>
2748 </section>2748 </section>
2749 <section·class="detail"·id="member/2">2749 <section·class="detail"·id="member/2">
  
2750 ··<div·class="detail-header">2750 ··<div·class="detail-header">
Offset 3089, 27 lines modifiedOffset 3089, 27 lines modified
3089 <p>Restores·an·opaque·continuation·returned·by·<a·href="#select/3"><code·class="inline">select/3</code></a>·or·<a·href="#select/1"><code·class="inline">select/1</code></a>·if·the3089 <p>Restores·an·opaque·continuation·returned·by·<a·href="#select/3"><code·class="inline">select/3</code></a>·or·<a·href="#select/1"><code·class="inline">select/1</code></a>·if·the
3090 continuation·has·passed·through·external·term·format·(been·sent·between·nodes·or3090 continuation·has·passed·through·external·term·format·(been·sent·between·nodes·or
3091 stored·on·disk).</p><p>The·reason·for·this·function·is·that·continuation·terms·contain·compiled·match3091 stored·on·disk).</p><p>The·reason·for·this·function·is·that·continuation·terms·contain·compiled·match
3092 specifications·and·may·therefore·be·invalidated·if·converted·to·external·term3092 specifications·and·may·therefore·be·invalidated·if·converted·to·external·term
3093 format.·Given·that·the·original·match·specification·is·kept·intact,·the3093 format.·Given·that·the·original·match·specification·is·kept·intact,·the
3094 continuation·can·be·restored,·meaning·it·can·once·again·be·used·in·subsequent3094 continuation·can·be·restored,·meaning·it·can·once·again·be·used·in·subsequent
3095 <a·href="#select/1"><code·class="inline">select/1</code></a>·calls·even·though·it·has·been·stored·on·disk·or·on3095 <a·href="#select/1"><code·class="inline">select/1</code></a>·calls·even·though·it·has·been·stored·on·disk·or·on
3096 another·node.</p><p><em>Examples:</em></p><p>The·following·sequence·of·calls·may·fail:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">T</span><span·class="o">=</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="3496780729-1">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="3496780729-2">[</span><span·class="p"·data-group-id="3496780729-2">]</span><span·class="p"·data-group-id="3496780729-1">)</span><span·class="p">,</span><span·class="w">3096 another·node.</p><p><em>Examples:</em></p><p>The·following·sequence·of·calls·may·fail:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">T</span><span·class="o">=</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="5875592278-1">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="5875592278-2">[</span><span·class="p"·data-group-id="5875592278-2">]</span><span·class="p"·data-group-id="5875592278-1">)</span><span·class="p">,</span><span·class="w">
3097 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">3097 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
3098 </span><span·class="n">MS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="3496780729-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3496780729-4">(</span><span·class="p"·data-group-id="3496780729-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:·63454ed80e449caa421b4d2831d7b1272718737736e27cf32df73ba2b8c885ae·...·]-3">)</span><span·class="p">,</span><span·class="w">3098 </span><span·class="n">MS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="5875592278-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5875592278-4">(</span><span·class="p"·data-group-id="5875592278-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:·975d885b8787660661f6e7009dfc52a7dda02f83e01f1e6cbdffff7b5738463e·...·]-3">)</span><span·class="p">,</span><span·class="w">
3099 </span><span·class="p"·data-group-id="3496780729-7">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="3496780729-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:·2763b6805aa55a8c1ba2b4a417c6e93e6e3af988b0e70f2bdc72ff0805c30c6b·...·]-8">)</span><span·class="p">,</span><span·class="w">3099 </span><span·class="p"·data-group-id="5875592278-7">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="5875592278-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:·42bf75b9b0f897d7cc530eb8c1af2a0360304196244b2e2c41ba5e770630fa70·...·]-8">)</span><span·class="p">,</span><span·class="w">
3100 </span><span·class="n">MaybeBroken</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="3496780729-9">(</span><span·class="nf">term_to_binary</span><span·class="p"·data-group-id="3496780729-10">(</span><span·class="n">C</span><span·class="p"·data-group-id="3496780729-10">)</span><span·class="p"·data-group-id="3496780729-9">)</span><span·class="p">,</span><span·class="w">3100 </span><span·class="n">MaybeBroken</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="5875592278-9">(</span><span·class="nf">term_to_binary</span><span·class="p"·data-group-id="5875592278-10">(</span><span·class="n">C</span><span·class="p"·data-group-id="5875592278-10">)</span><span·class="p"·data-group-id="5875592278-9">)</span><span·class="p">,</span><span·class="w">
3101 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="3496780729-11">(</span><span·class="n">MaybeBroken</span><span·class="p"·data-group-id="3496780729-11">)</span><span·class="p">.</span></code></pre><p>The·following·sequence·works,·as·the·call·to3101 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="5875592278-11">(</span><span·class="n">MaybeBroken</span><span·class="p"·data-group-id="5875592278-11">)</span><span·class="p">.</span></code></pre><p>The·following·sequence·works,·as·the·call·to
3102 <a·href="#repair_continuation/2"><code·class="inline">repair_continuation/2</code></a>·reestablishes·the3102 <a·href="#repair_continuation/2"><code·class="inline">repair_continuation/2</code></a>·reestablishes·the
3103 <code·class="inline">MaybeBroken</code>·continuation.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">T</span><span·class="o">=</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="5262865249-1">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="5262865249-2">[</span><span·class="p"·data-group-id="5262865249-2">]</span><span·class="p"·data-group-id="5262865249-1">)</span><span·class="p">,</span><span·class="w">3103 <code·class="inline">MaybeBroken</code>·continuation.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">T</span><span·class="o">=</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="3994452771-1">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="3994452771-2">[</span><span·class="p"·data-group-id="3994452771-2">]</span><span·class="p"·data-group-id="3994452771-1">)</span><span·class="p">,</span><span·class="w">
3104 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">3104 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
3105 </span><span·class="n">MS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="5262865249-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5262865249-4">(</span><span·class="p"·data-group-id="5262865249-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:·af1226dc9077502ed5be94315cf787def39971df4b375db90827d0188c3ff8d4·...·]-3">)</span><span·class="p">,</span><span·class="w">3105 </span><span·class="n">MS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="3994452771-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3994452771-4">(</span><span·class="p"·data-group-id="3994452771-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:·b6f3751ed27c136014107030ac2dd6f24a73c0a978a0fbe39a52d8ad9b4a4c59·...·]-3">)</span><span·class="p">,</span><span·class="w">
3106 </span><span·class="p"·data-group-id="5262865249-7">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="5262865249-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·clas[·...·truncated·by·diffoscope;·len:·261,·SHA:·8e5e5ecf608ba513bf3fddb4e7a08b96f120ee7bf2a79200ba8588e59b653edb·...·]-8">)</span><span·class="p">,</span><span·class="w">3106 </span><span·class="p"·data-group-id="3994452771-7">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="3994452771-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·clas[·...·truncated·by·diffoscope;·len:·261,·SHA:·7db0496be8a414ce4d46a7c43c55d961c22b7152fdd3834c50ddc009430b7605·...·]-8">)</span><span·class="p">,</span><span·class="w">
3107 </span><span·class="n">MaybeBroken</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="5262865249-9">(</span><span·class="nf">term_to_binary</span><span·class="p"·data-group-id="5262865249-10">(</span><span·class="n">C</span><span·class="p"·data-group-id="5262865249-10">)</span><span·class="p"·data-group-id="5262865249-9">)</span><span·class="p">,</span><span·class="w"> 
3108 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="5262865249-11">(</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">repair_continuation</span><span·class="p"·data-group-id="5262865249[·...·truncated·by·diffoscope;·len:·407,·SHA:·3de709732c00f2f9a2a6f5e8f3d287837ace24485cfddea885423f646accb023·...·]3107 </span><span·class="n">MaybeBroken</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="3994452771-9">(</span><span·class="nf">term_to_binary</span><span·class="p"·data-group-id="3994[·...·truncated·by·diffoscope;·len:·190,·SHA:·995374955a5c0dfbd93e0a1196b150f86a3dae708f488e06fb07ac234645cae2·...·]
 3108 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="3994452771-11">(</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">repair_continuation</span><span·class="p"·data-group-id="3994452771-12">(</span><span·class="n">MaybeBroken</span><span·class="p">,</span><span·class="n">MS</span><span·class="p"·data-group-id="3994452771-12">)</span><span·class="p"·data-group-id="3994452771-11">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·function·is·rarely·needed·in·application·code.·It·is·used·by·Mnesia·to
3109 provide·distributed·<a·href="#select/3"><code·class="inline">select/3</code></a>·and·<a·href="#select/1"><code·class="inline">select/1</code></a>3109 provide·distributed·<a·href="#select/3"><code·class="inline">select/3</code></a>·and·<a·href="#select/1"><code·class="inline">select/1</code></a>
3110 sequences.·A·normal·application·would·either·use·Mnesia·or·keep·the3110 sequences.·A·normal·application·would·either·use·Mnesia·or·keep·the
Max diff block lines reached; 81552/141987 bytes (57.44%) of diff not shown.
690 B
html2text {}
Max HTML report size reached
20.1 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/file_sorter.html
    
Offset 191, 43 lines modifiedOffset 191, 43 lines modified
191 function·has·been·applied·to·all·of·the·results·or·an·error·occurs,·the·last191 function·has·been·applied·to·all·of·the·results·or·an·error·occurs,·the·last
192 function·is·called·with·argument·<code·class="inline">close</code>,·and·the·reply·is·returned·as·value·of192 function·is·called·with·argument·<code·class="inline">close</code>,·and·the·reply·is·returned·as·value·of
193 the·current·call·to·the·sort·or·merge·function.</p><p>If·a·function·is·specified·as·input·and·the·last·input·function·returns193 the·current·call·to·the·sort·or·merge·function.</p><p>If·a·function·is·specified·as·input·and·the·last·input·function·returns
194 <code·class="inline">{end_of_input,·Value}</code>,·the·function·specified·as·output·is·called·with194 <code·class="inline">{end_of_input,·Value}</code>,·the·function·specified·as·output·is·called·with
195 argument·<code·class="inline">{value,·Value}</code>.·This·makes·it·easy·to·initiate·the·sequence·of·output195 argument·<code·class="inline">{value,·Value}</code>.·This·makes·it·easy·to·initiate·the·sequence·of·output
196 functions·with·a·value·calculated·by·the·input·functions.</p><p>As·an·example,·consider·sorting·the·terms·on·a·disk·log·file.·A·function·that196 functions·with·a·value·calculated·by·the·input·functions.</p><p>As·an·example,·consider·sorting·the·terms·on·a·disk·log·file.·A·function·that
197 reads·chunks·from·the·disk·log·and·returns·a·list·of·binaries·is·used·as·input.197 reads·chunks·from·the·disk·log·and·returns·a·list·of·binaries·is·used·as·input.
198 The·results·are·collected·in·a·list·of·terms.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sort</span><span·class="p"·data-group-id="9731013658-1">(</span><span·class="n">Log</span><span·class="p"·data-group-id="9731013658-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
199 ····</span><span·class="p"·data-group-id="9731013658-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="9731013658-2">}</span><span·class="w">·</span><span·class="o">=[·...·truncated·by·diffoscope;·len:·767,·SHA:·bdff156a806d8042b8439a503842b047568a5954b01ae09d833c5325aeca7047·...·]</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="5187663986-1">(</span><span·class="n">Log</span><span·class="p"·data-group-id="5187663986-1">)</span[·...·truncated·by·diffoscope;·len:·46,·SHA:·1097a0bea68d65a431edcb4038943364caa12d307d0cd39d47cedc89a660f4e0·...·]</span><span·class="w">
 199 ····</span><span·class="p"·data-group-id="5187663986-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="5187663986-2">}</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">open</span><span·class="p"·data-group-id="5187663986-3">(</span><span·class="p"·data-group-id="5187663986-4">[</span><span·class="p"·data-group-id="5187663986-5">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="n">Log</span><span·class="p"·data-group-id="5187663986-5">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5187663986-6">{</span><span·class="ss">mode</span><span·class="p">,</span><span·class="ss">read_only</span><span·class="p"·data-group-id="5187663986-6">}</span><span·class="p"·data-group-id="5187663986-4">]</span><span·class="p"·data-group-id="5187663986-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="9731013658-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="9731013658-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="5187663986-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="5187663986-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="9731013658-8">(</span><span·class="p"·data-group-id="9731013658-9">[</span><span·class="p"·data-group-id="9731013658-9">]</span><span·class="p"·data-group-id="9731013658-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="5187663986-8">(</span><span·class="p"·data-group-id="5187663986-9">[</span><span·class="p"·data-group-id="5187663986-9">]</span><span·class="p"·data-group-id="5187663986-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="9731013658-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="9731013658-11">{</span><span·class="ss">format</s[·...·truncated·by·diffoscope;·len:·151,·SHA:·5a91133354e9f2eda3399d2b2be283a9784055711083f29a5e7dad4a3f74cc41·...·]-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="5187663986-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="5187663986-11">{</span><span·class="ss">format</s[·...·truncated·by·diffoscope;·len:·151,·SHA:·fa73e126f87443dabba55426d3d02c587a47d1909dbb3805b895091301165f4e·...·]-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="9731013658-12">(</span><span·class="n">Log</span><span·class="p"·data-group-id="9731013658-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="5187663986-12">(</span><span·class="n">Log</span><span·class="p"·data-group-id="5187663986-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="9731013658-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="9731013658-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="5187663986-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="5187663986-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="9731013658-14">(</span><span·class="ss">close</span><span·class="p"·data-group-id="9731013658-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="5187663986-14">(</span><span·class="ss">close</span><span·class="p"·data-group-id="5187663986-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="9731013658-15">(</span><span·class="ss">read</span><span·class="p"·data-group-id="9731013658-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 ·······</span><span·class="p"·data-group-id="5187663986-15">(</span><span·class="ss">read</span><span·class="p"·data-group-id="5187663986-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="9731013658-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="9731013658-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="5187663986-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="5187663986-16">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
210 ················</span><span·class="p"·data-group-id="9731013658-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="9731013658-17">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">210 ················</span><span·class="p"·data-group-id="5187663986-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="5187663986-17">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ····················</span><span·class="p"·data-group-id="9731013658-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="9731013658-18">}</span><span·class="p">;</span><span·class="w">211 ····················</span><span·class="p"·data-group-id="5187663986-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="5187663986-18">}</span><span·class="p">;</span><span·class="w">
212 ················</span><span·class="p"·data-group-id="9731013658-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="9731013658-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 ················</span><span·class="p"·data-group-id="5187663986-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="5187663986-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
213 ····················</span><span·class="p"·data-group-id="9731013658-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="9731013658-21">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·123,·SHA:·61af711f5b77b0cdceb61cc9859f0eadac5bcef03372856c54191f2c2ae7fb28·...·]-20">}</span><span·class="p">;</span><span·class="w">213 ····················</span><span·class="p"·data-group-id="5187663986-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="5187663986-21">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·123,·SHA:·bdd636b69c3f39284a296df13506fcfe8d24bf7321975c83863b6e5622bdbab7·...·]-20">}</span><span·class="p">;</span><span·class="w">
214 ················</span><span·class="p"·data-group-id="9731013658-22">{</span><span·class="n">Cont2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Terms</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Badbytes</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·a0db6eb9422674293db41e5a5e22213b41c7d197c53001b0634e338e525129a2·...·]-22">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 ················</span><span·class="p"·data-group-id="5187663986-22">{</span><span·class="n">Cont2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Terms</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Badbytes</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·1510d3e5f394664fbc669c1d4df24241636f19aab6c867f56a6f27f2b0afb6fb·...·]-22">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ····················</span><span·class="p"·data-group-id="9731013658-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="9731013658-24">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·123,·SHA:·d1963610dfc366bfa1fdbac980046ff68becceeb93fdc6a5f37fc05b7a7d30f7·...·]-23">}</span><span·class="p">;</span><span·class="w">215 ····················</span><span·class="p"·data-group-id="5187663986-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="5187663986-24">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·123,·SHA:·514a9d7534996eff8d0625323fc05953556fea7eccb2b92aae925af6a0b5c6cb·...·]-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="9731013658-25">(</span><span·class="n">L</span><span·class="p"·data-group-id="9731013658-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="5187663986-25">(</span><span·class="n">L</span><span·class="p"·data-group-id="5187663986-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="9731013658-26">(</span><span·class="ss">close</span><span·class="p"·data-group-id="9731013658-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="5187663986-26">(</span><span·class="ss">close</span><span·class="p"·data-group-id="5187663986-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="9731013658-27">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="9731013658-28">(</span><span·class="n">L</span><span·class="p"·data-group-id="9731013658-28">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·c6d9715f06316ceb95241b15f376d80271ca081fc34af877ca5bce93d001216f·...·]-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="5187663986-27">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="5187663986-28">(</span><span·class="n">L</span><span·class="p"·data-group-id="5187663986-28">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·f325f29746b3d6c3eee646468f6fc2f8ec7ce5924588199df81e83658fe5f9e0·...·]-27">)</span><span·class="p">;</span><span·class="w">
223 ·······</span><span·class="p"·data-group-id="9731013658-29">(</span><span·class="n">Terms</span><span·class="p"·data-group-id="9731013658-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">223 ·······</span><span·class="p"·data-group-id="5187663986-29">(</span><span·class="n">Terms</span><span·class="p"·data-group-id="5187663986-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="9731013658-30">(</span><span·class="p"·data-group-id="9731013658-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="9731013658-31">]</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·4e0717ebcb59036c2d0d11fbcdc5c778b47c82edc75d83831ceec78daab74f03·...·]-30">)</span><span·class="w">224 ············</span><span·class="nf">output</span><span·class="p"·data-group-id="5187663986-30">(</span><span·class="p"·data-group-id="5187663986-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="5187663986-31">]</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·20e27e813040a198b0cf5de5a2459023977f049e58df12c0c5ad60f0241432ba·...·]-30">)</span><span·class="w">
225 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>For·more·examples·of·functions·as·input·and·output,·see·the·end·of·the225 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>For·more·examples·of·functions·as·input·and·output,·see·the·end·of·the
226 <code·class="inline">file_sorter</code>·module;·the·<code·class="inline">term</code>·format·is·implemented·with·functions.</p><p>The·possible·values·of·<code·class="inline">Reason</code>·returned·when·an·error·occurs·are:</p><ul><li><code·class="inline">bad_object</code>,·<code·class="inline">{bad_object,·FileName}</code>·-·Applying·the·format·function·failed226 <code·class="inline">file_sorter</code>·module;·the·<code·class="inline">term</code>·format·is·implemented·with·functions.</p><p>The·possible·values·of·<code·class="inline">Reason</code>·returned·when·an·error·occurs·are:</p><ul><li><code·class="inline">bad_object</code>,·<code·class="inline">{bad_object,·FileName}</code>·-·Applying·the·format·function·failed
227 for·some·binary,·or·the·key(s)·could·not·be·extracted·from·some·term.</li><li><code·class="inline">{bad_term,·FileName}</code>·-·<a·href="io.html#read/2"><code·class="inline">io:read/2</code></a>·failed·to·read·some·term.</li><li><code·class="inline">{file_error,·FileName,·file:posix()}</code>·-·For·an·explanation·of227 for·some·binary,·or·the·key(s)·could·not·be·extracted·from·some·term.</li><li><code·class="inline">{bad_term,·FileName}</code>·-·<a·href="io.html#read/2"><code·class="inline">io:read/2</code></a>·failed·to·read·some·term.</li><li><code·class="inline">{file_error,·FileName,·file:posix()}</code>·-·For·an·explanation·of
228 <a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:posix/0"><code·class="inline">file:posix()</code></a>,·see·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>.</li><li><code·class="inline">{premature_eof,·FileName}</code>·-·End-of-file·was·encountered·inside·some·binary228 <a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:posix/0"><code·class="inline">file:posix()</code></a>,·see·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>.</li><li><code·class="inline">{premature_eof,·FileName}</code>·-·End-of-file·was·encountered·inside·some·binary
229 term.</li></ul>229 term.</li></ul>
230 ····</section>230 ····</section>
  
Offset 1830, 15 lines modifiedOffset 1830, 15 lines modified
1830 ······<p·class="built-using">1830 ······<p·class="built-using">
1831 ········Built·using1831 ········Built·using
1832 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1832 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1833 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1833 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1834 ······</p>1834 ······</p>
1835 <p>Copyright·©·1996-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-7.0/doc/html/filelib.html
    
Offset 986, 23 lines modifiedOffset 986, 23 lines modified
986 ································Cwd·::·<a·href="#t:filename_all/0">filename_all</a>(),986 ································Cwd·::·<a·href="#t:filename_all/0">filename_all</a>(),
987 ································SafeFilename·::·<a·href="#t:filename_all/0">filename_all</a>().</pre>987 ································SafeFilename·::·<a·href="#t:filename_all/0">filename_all</a>().</pre>
  
988 ······</div>988 ······</div>
  
989 <p>Sanitizes·the·relative·path·by·eliminating·&quot;..&quot;·and·&quot;.&quot;·components·to·protect989 <p>Sanitizes·the·relative·path·by·eliminating·&quot;..&quot;·and·&quot;.&quot;·components·to·protect
990 against·directory·traversal·attacks.</p><p>Either·returns·the·sanitized·path·name,·or·the·atom·<code·class="inline">unsafe</code>·if·the·path·is·unsafe.990 against·directory·traversal·attacks.</p><p>Either·returns·the·sanitized·path·name,·or·the·atom·<code·class="inline">unsafe</code>·if·the·path·is·unsafe.
991 The·path·is·considered·unsafe·in·the·following·circumstances:</p><ul><li>The·path·is·not·relative.</li><li>A·&quot;..&quot;·component·would·climb·up·above·the·root·of·the·relative·path.</li><li>A·symbolic·link·in·the·path·points·above·the·root·of·the·relative·path.</li></ul><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="8076774536-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="8076774536-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·168,·SHA:·a12b95287909ac0aea67c06c2096cbd578449b16765e026d0d6a6cdb2b50bcbc·...·]-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="7726033085-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="7726033085-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·168,·SHA:·85259261e507ce1e1d36c7882dc75bdc0679fd450569c88fa74b851d289f67ce·...·]-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="8076774536-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="8076774536-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="7726033085-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="7726033085-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="8076774536-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="8076774536-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="7726033085-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="7726033085-4">)</span><span·class="p">.</span><span·class="w">
996 </span><span·class="p"·data-group-id="8076774536-5">[</span><span·class="p"·data-group-id="8076774536-5">]</span><span·class="gp·unselectable">996 </span><span·class="p"·data-group-id="7726033085-5">[</span><span·class="p"·data-group-id="7726033085-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="8076774536-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="8076774536-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="7726033085-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="7726033085-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="8076774536-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="8076774536-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="7726033085-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="7726033085-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.7 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/filename.html
    
Offset 514, 28 lines modifiedOffset 514, 28 lines modified
  
514 ··········<pre·translate="no"><span·class="attribute">-spec</span>·absname(Filename)·->·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename_all/0">file:filename_all</a>()·when·Filename·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>514 ··········<pre·translate="no"><span·class="attribute">-spec</span>·absname(Filename)·->·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename_all/0">file:filename_all</a>()·when·Filename·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>
  
515 ······</div>515 ······</div>
  
516 <p>Converts·a·relative·<code·class="inline">Filename</code>·and·returns·an·absolute·name.·No·attempt·is·made516 <p>Converts·a·relative·<code·class="inline">Filename</code>·and·returns·an·absolute·name.·No·attempt·is·made
517 to·create·the·shortest·absolute·name,·as·this·can·give·incorrect·results·on·file517 to·create·the·shortest·absolute·name,·as·this·can·give·incorrect·results·on·file
518 systems·that·allow·links.</p><p><em>Unix·examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">pwd</span><span·class="p"·data-group-id="9607496228-1">(</span><span·class="p"·data-group-id="9607496228-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="5642754629-1">(</span><span·class="p"·data-group-id="5642754629-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="9607496228-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="9607496228-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="5642754629-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="5642754629-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="9607496228-3">(</span><span·class="s">&quot;../x&quot;</span><span·class="p"·data-group-id="9607496228-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="5642754629-3">(</span><span·class="s">&quot;../x&quot;</span><span·class="p"·data-group-id="5642754629-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="9607496228-4">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="9607496228-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="5642754629-4">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="5642754629-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="4091994060-1">(</span><span·class="p"·data-group-id="4091994060-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="5041753506-1">(</span><span·class="p"·data-group-id="5041753506-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="4091994060-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="4091994060-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="5041753506-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="5041753506-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="4091994060-3">(</span><span·class="s">&quot;../x&quot;</span><span·class="p"·data-group-id="4091994060-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="5041753506-3">(</span><span·class="s">&quot;../x&quot;</span><span·class="p"·data-group-id="5041753506-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="4091994060-4">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="4091994060-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="5041753506-4">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="5041753506-4">)</span><span·class="p">.</span><span·class="w">
532 </span><span·class="s">&quot;D:/&quot;</span></code></pre>532 </span><span·class="s">&quot;D:/&quot;</span></code></pre>
533 ··</section>533 ··</section>
534 </section>534 </section>
535 <section·class="detail"·id="absname/2">535 <section·class="detail"·id="absname/2">
  
536 ··<div·class="detail-header">536 ··<div·class="detail-header">
537 ····<a·href="#absname/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">537 ····<a·href="#absname/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 658, 66 lines modifiedOffset 658, 66 lines modified
658 ·····················Opts·::·<a·href="#t:basedir_opts/0">basedir_opts</a>().</pre>658 ·····················Opts·::·<a·href="#t:basedir_opts/0">basedir_opts</a>().</pre>
  
659 ······</div>659 ······</div>
  
660 <p>Returns·a·suitable·path,·or·paths,·for·a·given·type.</p><p>If·<code·class="inline">os</code>·is·not·set·in·<code·class="inline">Opts</code>·the·function·will·default·to·the·native·option,·that660 <p>Returns·a·suitable·path,·or·paths,·for·a·given·type.</p><p>If·<code·class="inline">os</code>·is·not·set·in·<code·class="inline">Opts</code>·the·function·will·default·to·the·native·option,·that
661 is·<code·class="inline">'linux'</code>,·<code·class="inline">'darwin'</code>·or·<code·class="inline">'windows'</code>,·as·understood·by·<a·href="../../../../lib/kernel-10.3/doc/html/os.html#type/0"><code·class="inline">os:type/0</code></a>.661 is·<code·class="inline">'linux'</code>,·<code·class="inline">'darwin'</code>·or·<code·class="inline">'windows'</code>,·as·understood·by·<a·href="../../../../lib/kernel-10.3/doc/html/os.html#type/0"><code·class="inline">os:type/0</code></a>.
662 Anything·not·recognized·as·<code·class="inline">'darwin'</code>·or·<code·class="inline">'windows'</code>·is·interpreted·as·<code·class="inline">'linux'</code>.</p><p>The·options·<code·class="inline">'author'</code>·and·<code·class="inline">'version'</code>·are·only·used·with·<code·class="inline">'windows'</code>·option662 Anything·not·recognized·as·<code·class="inline">'darwin'</code>·or·<code·class="inline">'windows'</code>·is·interpreted·as·<code·class="inline">'linux'</code>.</p><p>The·options·<code·class="inline">'author'</code>·and·<code·class="inline">'version'</code>·are·only·used·with·<code·class="inline">'windows'</code>·option
663 mode.</p><ul><li><p><code·class="inline"·id="user_cache">user_cache</code></p><p>The·path·location·is·intended·for·transient·data·files·on·a·local·machine.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CACHE_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="8514368722-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="8514368722-2">#{</span><[·...·truncated·by·diffoscope;·len:·176,·SHA:·cd6346e969dc4ba57a4aab356d8779b6e5322c324b6375056f5ebce8ca00f897·...·]-1">)</span><span·class="p">.</span><span·class="w">663 mode.</p><ul><li><p><code·class="inline"·id="user_cache">user_cache</code></p><p>The·path·location·is·intended·for·transient·data·files·on·a·local·machine.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CACHE_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="7676612148-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="7676612148-2">#{</span><[·...·truncated·by·diffoscope;·len:·176,·SHA:·6ca745c90357237789cd2c63c2640b12c3a7b32ea0eb90b7f235c1e1bacd8241·...·]-1">)</span><span·class="p">.</span><span·class="w">
664 </span><span·class="s">&quot;/home/otptest/.cache/my_application&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0021385926-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="0021385926-2">#{</span><[·...·truncated·by·diffoscope;·len:·177,·SHA:·0160a5bafe4960adebbafcc70b9b8ce04f6f7e3631b75f6fd7d051e2bb7ad759·...·]-1">)</span><span·class="p">.</span><span·class="w">664 </span><span·class="s">&quot;/home/otptest/.cache/my_application&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1131511780-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="1131511780-2">#{</span><[·...·truncated·by·diffoscope;·len:·177,·SHA:·a267b7d22c102b52a5252ba0aa88abf458283ae9e6f7fe8a1d054070d9a30202·...·]-1">)</span><span·class="p">.</span><span·class="w">
665 </span><span·class="s">&quot;/home/otptest/Library/Caches/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="2285425442-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="2285425442-1">)</span><span·class="p">.</span><span·class="w">665 </span><span·class="s">&quot;/home/otptest/Library/Caches/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9361419256-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="9361419256-1">)</span><span·class="p">.</span><span·class="w">
666 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Cache&quot;</span><span·class="gp·unselectable">666 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Cache&quot;</span><span·class="gp·unselectable">
667 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="2285425442-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="2285425442-2">)</span><span·class="p">.</span><span·class="w">667 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9361419256-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="9361419256-2">)</span><span·class="p">.</span><span·class="w">
668 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Cache&quot;</span><span·class="gp·unselectable">668 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Cache&quot;</span><span·class="gp·unselectable">
669 3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="2285425442-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="2285425442-4">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·184,·SHA:·9a4a93c2b2d1cb1ba020b4b3be0e8eec92f5ddd610b969a38ee60be813d4ab02·...·]-3">)</span><span·class="p">.</span><span·class="w">669 3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9361419256-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="9361419256-4">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·184,·SHA:·0728f174954605d7ed5591045d4ff519a9f99aefe839ed56dafa7d3de485a7fd·...·]-3">)</span><span·class="p">.</span><span·class="w">
670 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/Cache&quot;</span><span·class="gp·unselectable">670 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/Cache&quot;</span><span·class="gp·unselectable">
671 4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="2285425442-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="2285425442-6">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·182,·SHA:·67e8a2529b64f8b63eb344fafab85be15e772fbf52b938dd0230b429d7816172·...·]-5">)</span><span·class="p">.</span><span·class="w">671 4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9361419256-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="9361419256-6">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·182,·SHA:·5fcf4da1f42f58b1f48e63b2d6fc812f31ead9f98af448e8f533ddc353470a23·...·]-5">)</span><span·class="p">.</span><span·class="w">
672 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/1.2/Cache&quot;</span><span·class="gp·unselectable">672 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/1.2/Cache&quot;</span><span·class="gp·unselectable">
673 5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="2285425442-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="2285425442-8">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·305,·SHA:·2455f6683428f492003d3a07216f9c8e09bbc302bae30afab46ae616f661d114·...·]-7">)</span><span·class="p">.</span><span·class="w">673 5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9361419256-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="9361419256-8">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·305,·SHA:·6961887b4c1fc35c476e704b9d26fce6dd329778114771a287b3ce7d2f304be2·...·]-7">)</span><span·class="p">.</span><span·class="w">
674 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/1.2/Cache&quot;</span></code></pre></li><li><p><code·class="inline"·id="user_config">user_config</code></p><p>The·path·location·is·intended·for·persistent·configuration·files.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CONFIG_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1238004396-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="1238004396-2">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·df4377483dcf67223852b02743de4786177a8ae7dfa71e62bb034f5e5ee5a11d·...·]-1">)</span><span·class="p">.</span><span·class="w">674 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/1.2/Cache&quot;</span></code></pre></li><li><p><code·class="inline"·id="user_config">user_config</code></p><p>The·path·location·is·intended·for·persistent·configuration·files.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CONFIG_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0005266737-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="0005266737-2">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·04973e0aab720af9d2009b411eeaa359b209e47790ba6259a156a3f14e82af5d·...·]-1">)</span><span·class="p">.</span><span·class="w">
675 </span><span·class="s">&quot;/home/otptest/.config/my_application&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="6313190420-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="6313190420-2">#{</span>[·...·truncated·by·diffoscope;·len:·178,·SHA:·5a0ff1c251660683785511f73b3c6a5438105e6eb521a600ddd7f41831f7901a·...·]-1">)</span><span·class="p">.</span><span·class="w">675 </span><span·class="s">&quot;/home/otptest/.config/my_application&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="5404893531-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="5404893531-2">#{</span>[·...·truncated·by·diffoscope;·len:·178,·SHA:·3039371cb3c61e851abaf8077babeec13166719c6beccf3b4b77e73a1acaa6c4·...·]-1">)</span><span·class="p">.</span><span·class="w">
676 </span><span·class="s">&quot;/home/otptest/Library/Application·Support/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4317676333-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="4317676333-1">)</span><span·class="p">.</span><span·class="w">676 </span><span·class="s">&quot;/home/otptest/Library/Application·Support/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="8231026980-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="8231026980-1">)</span><span·class="p">.</span><span·class="w">
677 </span><span·class="s">&quot;c:/Users/otptest/AppData/Roaming/My·App&quot;</span><span·class="gp·unselectable">677 </span><span·class="s">&quot;c:/Users/otptest/AppData/Roaming/My·App&quot;</span><span·class="gp·unselectable">
678 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4317676333-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="4317676333-3">#{</span><span·cl[·...·truncated·by·diffoscope;·len:·330,·SHA:·97cc86fa451bfb74dfeca34fd4557080fd63ca44b371f04d69d4676fe69584b9·...·]-2">)</span><span·class="p">.</span><span·class="w">678 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="8231026980-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="8231026980-3">#{</span><span·cl[·...·truncated·by·diffoscope;·len:·330,·SHA:·16ac2cdb527d12afb0738e7acfbb72743dcbafae1e8d2fb618355c1f91ecfc5c·...·]-2">)</span><span·class="p">.</span><span·class="w">
679 </span><span·class="s">&quot;c:/Users/otptest/AppData/Roaming/Erlang/My·App/1.2&quot;</span></code></pre></li><li><p><code·class="inline"·id="user_data">user_data</code></p><p>The·path·location·is·intended·for·persistent·data·files.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_DATA_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="7794719443-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="7794719443-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·174,·SHA:·ce0418389f52ad61340943c8511c33467f1e551662e4c1a348ddb3620240c6e8·...·]-1">)</span><span·class="p">.</span><span·class="w">679 </span><span·class="s">&quot;c:/Users/otptest/AppData/Roaming/Erlang/My·App/1.2&quot;</span></code></pre></li><li><p><code·class="inline"·id="user_data">user_data</code></p><p>The·path·location·is·intended·for·persistent·data·files.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_DATA_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="7206143186-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="7206143186-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·174,·SHA:·2edbfe6cff658328d9892fa88af02cecc49e86cd0f54b79bcc2ac73fb9f23f34·...·]-1">)</span><span·class="p">.</span><span·class="w">
680 </span><span·class="s">&quot;/home/otptest/.local/my_application&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="6998533981-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="6998533981-2">#{</span><s[·...·truncated·by·diffoscope;·len:·176,·SHA:·009a91e6323b1dbcd3510c6525ce798b124794d69cd080071039819fd3ef776c·...·]-1">)</span><span·class="p">.</span><span·class="w">680 </span><span·class="s">&quot;/home/otptest/.local/my_application&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="7552525429-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="7552525429-2">#{</span><s[·...·truncated·by·diffoscope;·len:·176,·SHA:·34f98d36b95dfb799464a67b7a66546761509550abc2c5b9a9868368286dea13·...·]-1">)</span><span·class="p">.</span><span·class="w">
681 </span><span·class="s">&quot;/home/otptest/Library/Application·Support/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">8&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1675828349-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="1675828349-1">)</span><span·class="p">.</span><span·class="w">681 </span><span·class="s">&quot;/home/otptest/Library/Application·Support/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">8&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9281478385-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="9281478385-1">)</span><span·class="p">.</span><span·class="w">
682 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App&quot;</span><span·class="gp·unselectable">682 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App&quot;</span><span·class="gp·unselectable">
683 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1675828349-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="1675828349-3">#{</span><span·class="ss">author</span><spa[·...·truncated·by·diffoscope;·len:·280,·SHA:·8ed1138a6d249f07bf4de2b4194a9129efb9f1ff77c548151308bcd0d4a50532·...·]-2">)</span><span·class="p">.</span><span·class="w">683 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9281478385-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="9281478385-3">#{</span><span·class="ss">author</span><spa[·...·truncated·by·diffoscope;·len:·280,·SHA:·67cbb625791e794a010e655b6cd53978d344db801e8576153e86ef4d39831ca9·...·]-2">)</span><span·class="p">.</span><span·class="w">
684 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/1.2&quot;</span></code></pre></li><li><p><code·class="inline"·id="user_log">user_log</code></p><p>The·path·location·is·intended·for·transient·log·files·on·a·local·machine.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CACHE_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9759145889-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="9759145889-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·173,·SHA:·9bf47f0cfccd46c2261bc5427004414a84432d736211b45e8ef304008b2015d7·...·]9-1">)</span><span·class="p">.</span><span·class="w">684 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/1.2&quot;</span></code></pre></li><li><p><code·class="inline"·id="user_log">user_log</code></p><p>The·path·location·is·intended·for·transient·log·files·on·a·local·machine.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CACHE_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1800192859-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="1800192859-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·173,·SHA:·867eb0ad78bbec3d90bbb2d05b5f6e1ba25bf98806f5665feb3ec224c860e105·...·]9-1">)</span><span·class="p">.</span><span·class="w">
685 </span><span·class="s">&quot;/home/otptest/.cache/my_application/log&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="2535616084-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="2535616084-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·175,·SHA:·28b51b87eca96b8c78febcb5d075605c798440bdfe9999e14f76b031b04fd750·...·]-1">)</span><span·class="p">.</span><span·class="w">685 </span><span·class="s">&quot;/home/otptest/.cache/my_application/log&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="5602225800-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="5602225800-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·175,·SHA:·0337ae01ff316ca9830069b9136bf72b05c97e8a2a638df2b11adc157977c7d3·...·]-1">)</span><span·class="p">.</span><span·class="w">
686 </span><span·class="s">&quot;/home/otptest/Library/Logs/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">12&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="6664993419-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="6664993419-1">)</span><span·class="p">.</span><span·class="w">686 </span><span·class="s">&quot;/home/otptest/Library/Logs/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">12&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="5027758500-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="5027758500-1">)</span><span·class="p">.</span><span·class="w">
687 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Logs&quot;</span><span·class="gp·unselectable">687 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Logs&quot;</span><span·class="gp·unselectable">
688 13&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="6664993419-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="6664993419-3">#{</span><span·class="ss">author</span><span[·...·truncated·by·diffoscope;·len:·279,·SHA:·f2f9665e6c682f56bb9cbf5c3170a967f7fc0344d9b6f4003322f9531d7369e3·...·]-2">)</span><span·class="p">.</span><span·class="w">688 13&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="5027758500-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="5027758500-3">#{</span><span·class="ss">author</span><span[·...·truncated·by·diffoscope;·len:·279,·SHA:·636f3312af415c21cdca2dce97c6046775284f83afc36c75ff8645483b011f32·...·]-2">)</span><span·class="p">.</span><span·class="w">
689 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/1.2/Logs&quot;</span></code></pre></li><li><p><code·class="inline"·id="site_config">site_config</code></p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CONFIG_DIRS</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9910161630-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="9910161630-2">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·f5665fe0c549b0da17dfb8f9a910865e3d357fe02888271f1fd818b3aa478b62·...·]-1">)</span><span·class="p">.</span><span·class="w">689 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/1.2/Logs&quot;</span></code></pre></li><li><p><code·class="inline"·id="site_config">site_config</code></p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CONFIG_DIRS</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="7379732478-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="7379732478-2">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·18220d0314a2bd1a0e71af1be74b8bc07dd43497b1b36e54abc944b0ae177597·...·]-1">)</span><span·class="p">.</span><span·class="w">
690 </span><span·class="p"·data-group-id="9910161630-3">[</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">690 </span><span·class="p"·data-group-id="7379732478-3">[</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">
691 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="9910161630-3">]</span><span·class="gp·unselectable">691 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="7379732478-3">]</span><span·class="gp·unselectable">
692 6&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">getenv</span><span·class="p"·data-group-id="9910161630-4">(</span><span·class="s">&quot;XDG_CONFIG_DIRS&quot;</span><span·class="p"·data-group-id="9910161630-4">)</span><span·class="p">.</span><span·class="w">692 6&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">getenv</span><span·class="p"·data-group-id="7379732478-4">(</span><span·class="s">&quot;XDG_CONFIG_DIRS&quot;</span><span·class="p"·data-group-id="7379732478-4">)</span><span·class="p">.</span><span·class="w">
693 </span><span·class="s">&quot;/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg&quot;</span><span·class="gp·unselectable">693 </span><span·class="s">&quot;/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg&quot;</span><span·class="gp·unselectable">
694 7&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9910161630-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="9910161630-6">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·8431c63a7fc1b5824a47219fde31baf71628128d9bc4e36fa75a101dec70ba95·...·]-5">)</span><span·class="p">.</span><span·class="w">694 7&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="7379732478-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="7379732478-6">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·913a2a7e795f0e5f8073100255e0d8196fff46f33eb76d9e1cfee0cd2f04df8d·...·]-5">)</span><span·class="p">.</span><span·class="w">
695 </span><span·class="p"·data-group-id="9910161630-7">[</span><span·class="s">&quot;/etc/xdg/xdg-ubuntu/my_application&quot;</span><span·class="p">,</span><span·class="w">695 </span><span·class="p"·data-group-id="7379732478-7">[</span><span·class="s">&quot;/etc/xdg/xdg-ubuntu/my_application&quot;</span><span·class="p">,</span><span·class="w">
696 ·</span><span·class="s">&quot;/usr/share/upstart/xdg/my_application&quot;</span><span·class="p">,</span><span·class="w">696 ·</span><span·class="s">&quot;/usr/share/upstart/xdg/my_application&quot;</span><span·class="p">,</span><span·class="w">
697 ·</span><span·class="s">&quot;/etc/xdg/my_application&quot;</span><span·class="p"·data-group-id="9910161630-7">]</span><span·class="gp·unselectable">697 ·</span><span·class="s">&quot;/etc/xdg/my_application&quot;</span><span·class="p"·data-group-id="7379732478-7">]</span><span·class="gp·unselectable">
698 8&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">unsetenv</span><span·class="p"·data-group-id="9910161630-8">(</span><span·class="s">&quot;XDG_CONFIG_DIRS&quot;</span><span·class="p"·data-group-id="9910161630-8">)</span><span·class="p">.</span><span·class="w">698 8&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">unsetenv</span><span·class="p"·data-group-id="7379732478-8">(</span><span·class="s">&quot;XDG_CONFIG_DIRS&quot;</span><span·class="p"·data-group-id="7379732478-8">)</span><span·class="p">.</span><span·class="w">
699 </span><span·class="ss">true</span><span·class="gp·unselectable">699 </span><span·class="ss">true</span><span·class="gp·unselectable">
700 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9910161630-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="9910161630-10">#{</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·5f51c6066e6b3b37d6e3377849e552509ee785db054a8c9e9f2d325a39011197·...·]-9">)</span><span·class="p">.</span><span·class="w">700 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="7379732478-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="7379732478-10">#{</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·4d36fde88d880ef7881eea7c5795d9cddebbe17787d4a432bc6880f84747875e·...·]-9">)</span><span·class="p">.</span><span·class="w">
701 </span><span·class="p"·data-group-id="9910161630-11">[</span><span·class="s">&quot;/etc/xdg/my_application&quot;</span><span·class="p"·data-group-id="9910161630-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:·1954dac396ca0bb6dc76444024edb20238a7e3803ec4a3286bf58f9f0b9898aa·...·]-1">)</span><span·class="p">.</span><span·class="w">701 </span><span·class="p"·data-group-id="7379732478-11">[</span><span·class="s">&quot;/etc/xdg/my_application&quot;</span><span·class="p"·data-group-id="7379732478-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:·c3b2c72213d912af51910c5a3379e7daa2c5f74233b07fd854ade0803ab374e5·...·]-1">)</span><span·class="p">.</span><span·class="w">
702 </span><span·class="p"·data-group-id="8487077202-3">[</span><span·class="s">&quot;/Library/Application·Support/my_application&quot;</span><span·class="p"·data-group-id="8487077202-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:·741811b2a9b13653b55c05d4146da9c72b4a0dd954ff3bfffdcd64743c465cca·...·]6-1">)</span><span·class="p">.</span><span·class="w">702 </span><span·class="p"·data-group-id="5121980214-3">[</span><span·class="s">&quot;/Library/Application·Support/my_application&quot;</span><span·class="p"·data-group-id="5121980214-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:·402216f04f3d70dd5907591bd56b6404911494c8e24bfc52716cc428b99ff779·...·]6-1">)</span><span·class="p">.</span><span·class="w">
703 </span><span·class="s">&quot;/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/&quot;</span><span·class="gp·unselectable">703 </span><span·class="s">&quot;/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/&quot;</span><span·class="gp·unselectable">
704 11&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="2668883596-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="2668883596-3">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·0e89eef6dc3171c9568d9393dc451c375600acdf3903da03efdcd3447071a617·...·]6-2">)</span><span·class="p">.</span><span·class="w">704 11&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="8686636986-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="8686636986-3">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·1b6c481bbbbb99d6c86c5059ebf1453c255c7a0b2b9f36f6d722e2800398ac81·...·]6-2">)</span><span·class="p">.</span><span·class="w">
705 </span><span·class="p"·data-group-id="2668883596-4">[</span><span·class="s">&quot;/usr/share/ubuntu/my_application&quot;</span><span·class="p">,</span><span·class="w">705 </span><span·class="p"·data-group-id="8686636986-4">[</span><span·class="s">&quot;/usr/share/ubuntu/my_application&quot;</span><span·class="p">,</span><span·class="w">
706 ·</span><span·class="s">&quot;/usr/share/gnome/my_application&quot;</span><span·class="p">,</span><span·class="w">706 ·</span><span·class="s">&quot;/usr/share/gnome/my_application&quot;</span><span·class="p">,</span><span·class="w">
707 ·</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">707 ·</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">
708 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="2668883596-4">]</span><span·class="gp·unselectable">708 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="8686636986-4">]</span><span·class="gp·unselectable">
709 12&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">unsetenv</span><span·class="p"·data-group-id="2668883596-5">(</span><span·class="s">&quot;XDG_DATA_DIRS&quot;</span><span·class="p"·data-group-id="2668883596-5">)</span><span·class="p">.</span><span·class="w">709 12&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">unsetenv</span><span·class="p"·data-group-id="8686636986-5">(</span><span·class="s">&quot;XDG_DATA_DIRS&quot;</span><span·class="p"·data-group-id="8686636986-5">)</span><span·class="p">.</span><span·class="w">
710 </span><span·class="ss">true</span><span·class="gp·unselectable">710 </span><span·class="ss">true</span><span·class="gp·unselectable">
711 13&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="2668883596-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="2668883596-7">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·894e9a6eb29671ffb21f697d2422b148f2c6bfc1431270fccad739c82435e205·...·]6-6">)</span><span·class="p">.</span><span·class="w">711 13&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="8686636986-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="8686636986-7">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·d9abecc58e4f917cd9c4862f3d456107cc01ac5402c374f1a717af36d5cf31a3·...·]6-6">)</span><span·class="p">.</span><span·class="w">
712 </span><span·class="p"·data-group-id="2668883596-8">[</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">712 </span><span·class="p"·data-group-id="8686636986-8">[</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">
713 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="2668883596-8">]</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·437,·SHA:·481bae6043bfd5808f4c2e78c64b7dd484c2a410dde5ca4020220988cd9a3dce·...·]-1">)</span><span·class="p">.</span><span·class="w">713 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="8686636986-8">]</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·437,·SHA:·56fd40ecd4944e404b67440b528f452d19a9fd8c12a5b5fc318a08b7e9b69f3e·...·]-1">)</span><span·class="p">.</span><span·class="w">
714 </span><span·class="p"·data-group-id="4948856047-3">[</span><span·class="s">&quot;/Library/Application·Support/my_application&quot;</span><span·class="p"·data-group-id="4948856047-3">]</span></code></pre></li></ul>714 </span><span·class="p"·data-group-id="8621972224-3">[</span><span·class="s">&quot;/Library/Application·Support/my_application&quot;</span><span·class="p"·data-group-id="8621972224-3">]</span></code></pre></li></ul>
715 ··</section>715 ··</section>
716 </section>716 </section>
717 <section·class="detail"·id="basename/1">717 <section·class="detail"·id="basename/1">
  
718 ··<div·class="detail-header">718 ··<div·class="detail-header">
719 ····<a·href="#basename/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">719 ····<a·href="#basename/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
720 ······<i·class="ri-link-m"·aria-hidden="true"></i>720 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 736, 20 lines modifiedOffset 736, 20 lines modified
736 ······<div·class="specs">736 ······<div·class="specs">
  
737 ··········<pre·translate="no"><span·class="attribute">-spec</span>·basename(Filename)·->·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename_all/0">file:filename_all</a>()·when·Filename·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>737 ··········<pre·translate="no"><span·class="attribute">-spec</span>·basename(Filename)·->·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename_all/0">file:filename_all</a>()·when·Filename·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>
  
738 ······</div>738 ······</div>
  
739 <p>Returns·the·last·component·of·<code·class="inline">Filename</code>,·or·<code·class="inline">Filename</code>·itself·if·it·does·not739 <p>Returns·the·last·component·of·<code·class="inline">Filename</code>,·or·<code·class="inline">Filename</code>·itself·if·it·does·not
740 contain·any·directory·separators.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="3836157400-1">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="3836157400-1">)</span><span·class="p">.</span><span·class="w">740 contain·any·directory·separators.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="2556177658-1">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="2556177658-1">)</span><span·class="p">.</span><span·class="w">
741 </span><span·class="s">&quot;foo&quot;</span><span·class="gp·unselectable">741 </span><span·class="s">&quot;foo&quot;</span><span·class="gp·unselectable">
742 6&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="3836157400-2">(</span><span·class="s">&quot;/usr/foo&quot;</span><span·class="p"·data-group-id="3836157400-2">)</span><span·class="p">.</span><span·class="w">742 6&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="2556177658-2">(</span><span·class="s">&quot;/usr/foo&quot;</span><span·class="p"·data-group-id="2556177658-2">)</span><span·class="p">.</span><span·class="w">
743 </span><span·class="s">&quot;foo&quot;</span><span·class="gp·unselectable">743 </span><span·class="s">&quot;foo&quot;</span><span·class="gp·unselectable">
744 7&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="3836157400-3">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="3836157400-3">)</span><span·class="p">.</span><span·class="w">744 7&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="2556177658-3">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="2556177658-3">)</span><span·class="p">.</span><span·class="w">
745 </span><span·class="p"·data-group-id="3836157400-4">[</span><span·class="p"·data-group-id="3836157400-4">]</span></code></pre>745 </span><span·class="p"·data-group-id="2556177658-4">[</span><span·class="p"·data-group-id="2556177658-4">]</span></code></pre>
746 ··</section>746 ··</section>
747 </section>747 </section>
748 <section·class="detail"·id="basename/2">748 <section·class="detail"·id="basename/2">
  
749 ··<div·class="detail-header">749 ··<div·class="detail-header">
750 ····<a·href="#basename/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">750 ····<a·href="#basename/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
751 ······<i·class="ri-link-m"·aria-hidden="true"></i>751 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 770, 23 lines modifiedOffset 770, 23 lines modified
770 ··········<pre·translate="no"><span·class="attribute">-spec</span>·basename(Filename,·Ext)·->·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename_all/0">file:filename_all</a>()770 ··········<pre·translate="no"><span·class="attribute">-spec</span>·basename(Filename,·Ext)·->·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename_all/0">file:filename_all</a>()
771 ··················when·Filename·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>(),·Ext·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>771 ··················when·Filename·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>(),·Ext·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>
  
772 ······</div>772 ······</div>
  
773 <p>Returns·the·last·component·of·<code·class="inline">Filename</code>·with·extension·<code·class="inline">Ext</code>·stripped.</p><p>This·function·is·to·be·used·to·remove·a·(possible)·specific·extension.773 <p>Returns·the·last·component·of·<code·class="inline">Filename</code>·with·extension·<code·class="inline">Ext</code>·stripped.</p><p>This·function·is·to·be·used·to·remove·a·(possible)·specific·extension.
774 To·remove·an·existing·extension·when·you·are·unsure·which·one·it·is,·use774 To·remove·an·existing·extension·when·you·are·unsure·which·one·it·is,·use
775 <a·href="#rootname/1"><code·class="inline">rootname(basename(Filename))</code></a>.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">8&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="9496744223-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="9496744223-1">)</span><span·class="p">.</span><span·class="w">775 <a·href="#rootname/1"><code·class="inline">rootname(basename(Filename))</code></a>.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">8&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="8661212199-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="8661212199-1">)</span><span·class="p">.</span><span·class="w">
776 </span><span·class="s">&quot;kalle&quot;</span><span·class="gp·unselectable">776 </span><span·class="s">&quot;kalle&quot;</span><span·class="gp·unselectable">
777 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="9496744223-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="9496744223-2">)</span><span·class="p">.</span><span·class="w">777 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="8661212199-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="8661212199-2">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 26704/86111 bytes (31.01%) of diff not shown.
511 B
html2text {}
Max HTML report size reached
171 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/gb_sets.html
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/gb_trees.html
    
Offset 1537, 15 lines modifiedOffset 1537, 15 lines modified
1537 ······<p·class="built-using">1537 ······<p·class="built-using">
1538 ········Built·using1538 ········Built·using
1539 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1539 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1540 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1540 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1541 ······</p>1541 ······</p>
1542 <p>Copyright·©·1996-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-7.0/doc/html/gen_event.html
    
Offset 1267, 23 lines modifiedOffset 1267, 23 lines modified
1267 format/limit·the·server·state·for·debugging·and·logging·purposes.</p><p>It·is·called·in·the·following·situations:</p><ul><li><p>One·of·<a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·is·invoked1267 format/limit·the·server·state·for·debugging·and·logging·purposes.</p><p>It·is·called·in·the·following·situations:</p><ul><li><p>One·of·<a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·is·invoked
1268 to·get·the·<code·class="inline">gen_event</code>·status.</p></li><li><p>The·event·handler·terminates·abnormally·and·<code·class="inline">gen_event</code>·logs·an·error.</p></li></ul><p>This·callback·is·used·to·limit·the·status·of·the·event·handler·returned·by1268 to·get·the·<code·class="inline">gen_event</code>·status.</p></li><li><p>The·event·handler·terminates·abnormally·and·<code·class="inline">gen_event</code>·logs·an·error.</p></li></ul><p>This·callback·is·used·to·limit·the·status·of·the·event·handler·returned·by
1269 <a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·or·sent·to·<a·href="../../../../lib/kernel-10.3/doc/html/logger.html"><code·class="inline">logger</code></a>.</p><p>The·callback·gets·a·map·<code·class="inline">Status</code>·describing·the·current·status1269 <a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·or·sent·to·<a·href="../../../../lib/kernel-10.3/doc/html/logger.html"><code·class="inline">logger</code></a>.</p><p>The·callback·gets·a·map·<code·class="inline">Status</code>·describing·the·current·status
1270 and·shall·return·a·map·<code·class="inline">NewStatus</code>·with·the·same·keys,1270 and·shall·return·a·map·<code·class="inline">NewStatus</code>·with·the·same·keys,
1271 but·it·may·transform·some·values.</p><p>Two·possible·use·cases·for·this·callback·is·to·remove1271 but·it·may·transform·some·values.</p><p>Two·possible·use·cases·for·this·callback·is·to·remove
1272 sensitive·information·from·the·state·to·prevent·it·from·being·printed1272 sensitive·information·from·the·state·to·prevent·it·from·being·printed
1273 in·log·files,·or·to·compact·large·irrelevant·status·items1273 in·log·files,·or·to·compact·large·irrelevant·status·items
1274 that·would·only·clutter·the·logs.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">format_status</span><span·class="p"·data-group-id="1961501666-1">(</span><span·class="n">Status</span><span·class="p"·data-group-id="1961501666-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="7232441986-1">(</span><span·class="n">Status</span><span·class="p"·data-group-id="7232441986-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="1961501666-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="7232441986-2">(</span><span·class="w">
1276 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="1961501666-3">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="1961501666-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="7232441986-3">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="7232441986-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="1961501666-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="1961501666-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="7232441986-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="7232441986-4">)</span><span·class="p">;</span><span·class="w">
1278 ·······</span><span·class="p"·data-group-id="1961501666-5">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="1961501666-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Pass</[·...·truncated·by·diffoscope;·len:·98,·SHA:·36d609d085b8bfda22c7ae287d3cf25fc0e7268bed139e0e2ca69935c6aed746·...·]6-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1278 ·······</span><span·class="p"·data-group-id="7232441986-5">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="7232441986-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Pass</[·...·truncated·by·diffoscope;·len:·98,·SHA:·5ac80aa8bb6c1369d616a51604684b161f71a0518a0d083f53981dbf88a01148·...·]6-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1279 ············</span><span·class="p"·data-group-id="1961501666-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="1961501666-7">}</span><span·class="p">;</span><span·class="w">1279 ············</span><span·class="p"·data-group-id="7232441986-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="7232441986-7">}</span><span·class="p">;</span><span·class="w">
1280 ·······</span><span·class="p"·data-group-id="1961501666-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="1961501666-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1280 ·······</span><span·class="p"·data-group-id="7232441986-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="7232441986-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="1961501666-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="7232441986-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-7.0/doc/html/gen_fsm.html
    
Offset 131, 171 lines modifiedOffset 131, 171 lines modified
131 <p>Deprecated·and·replaced·by·<a·href="gen_statem.html"><code·class="inline">gen_statem</code></a>·in·OTP·20.</p><h2·id="module-migration-to-gen_statem"·class="section-heading">131 <p>Deprecated·and·replaced·by·<a·href="gen_statem.html"><code·class="inline">gen_statem</code></a>·in·OTP·20.</p><h2·id="module-migration-to-gen_statem"·class="section-heading">
132 ··<a·href="#module-migration-to-gen_statem"·class="hover-link">132 ··<a·href="#module-migration-to-gen_statem"·class="hover-link">
133 ····<i·class="ri-link-m"·aria-hidden="true"></i>133 ····<i·class="ri-link-m"·aria-hidden="true"></i>
134 ··</a>134 ··</a>
135 ··<span·class="text">Migration·to·gen_statem</span>135 ··<span·class="text">Migration·to·gen_statem</span>
136 </h2>136 </h2>
137 <p>Here·follows·a·simple·example·of·turning·a·gen_fsm·into·a·<a·href="gen_statem.html"><code·class="inline">gen_statem</code></a>.137 <p>Here·follows·a·simple·example·of·turning·a·gen_fsm·into·a·<a·href="gen_statem.html"><code·class="inline">gen_statem</code></a>.
138 The·example·comes·from·the·previous·User's·Guide·for·<code·class="inline">gen_fsm</code></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0236963860-1">(</span><span·class="ss">code_lock</span><span·class="p"·data-group-id="0236963860-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="4980049264-1">(</span><span·class="ss">code_lock</span><span·class="p"·data-group-id="4980049264-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="0236963860-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="0236963860-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="4980049264-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="4980049264-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="0236963860-3">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="0236963860-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="4980049264-3">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="4980049264-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="0236963860-4">(</span><span·class="ss">gen_fsm</span><span·class="p"·data-group-id="0236963860-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="4980049264-4">(</span><span·class="ss">gen_fsm</span><span·class="p"·data-group-id="4980049264-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="0236963860-5">(</span><span·class="ss">gen_statem</span><span·class="p"·data-group-id="0236963860-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="4980049264-5">(</span><span·class="ss">gen_statem</span><span·class="p"·data-group-id="4980049264-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="0236963860-6">(</span><span·class="p"·data-group-id="0236963860-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:·4fd0e1d5a1b668a4c22016f7eb635496a49bebc79ebb69abb8cd3d36dd0437bd·...·]-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="4980049264-6">(</span><span·class="p"·data-group-id="4980049264-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:·32ba49910e1801ad814b066b2557d5316bee251f332bd82384cfe86315a4a861·...·]-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="0236963860-8">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="0236963860-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="4980049264-8">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="4980049264-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="0236963860-9">(</span><span·class="p"·data-group-id="0236963860-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="4980049264-9">(</span><span·class="p"·data-group-id="4980049264-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="0236963860-10">]</span><span·class="p"·data-group-id="0236963860-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="4980049264-10">]</span><span·class="p"·data-group-id="4980049264-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="0236963860-11">(</span><span·class="p"·data-group-id="0236963860-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="4980049264-11">(</span><span·class="p"·data-group-id="4980049264-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="0236963860-12">]</span><span·class="p"·data-group-id="0236963860-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="4980049264-12">]</span><span·class="p"·data-group-id="4980049264-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="0236963860-13">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="0236963860-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="4980049264-13">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="4980049264-13">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="0236963860-14">(</span><span·class="n">Code</span><span·class="p"·data-group-id="0236963860-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="4980049264-14">(</span><span·class="n">Code</span><span·class="p"·data-group-id="4980049264-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="0236963860-15">(</span><span·class="p"·data-group-id="0236963860-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="0236963860-16">}</sp[·...·truncated·by·diffoscope;·len:·376,·SHA:·4466f12608d30230de9739558460294b81f2f2d167d4bdd59654ca849bce64c2·...·]-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="4980049264-15">(</span><span·class="p"·data-group-id="4980049264-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="4980049264-16">}</sp[·...·truncated·by·diffoscope;·len:·376,·SHA:·a5f9a93973685850c46bb0eb9d15b440de1cbafa9dd35faa6203b087843e85f7·...·]-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="0236963860-18">(</span><span·class="n">Code</span><span·class="p"·data-group-id="0236963860-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="4980049264-18">(</span><span·class="n">Code</span><span·class="p"·data-group-id="4980049264-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="0236963860-19">(</span><span·class="p"·data-group-id="0236963860-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="0236963860-20">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·352,·SHA:·a20075fc7fdd09cba480561819e013efca913ed608f51d6d880e820f125a8a9b·...·]-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="4980049264-19">(</span><span·class="p"·data-group-id="4980049264-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="4980049264-20">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·352,·SHA:·4d7b0b2374382f5c16218cb69e12a50e76b67a4c342a7d4add88bfb8b914fa75·...·]-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="0236963860-22">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="0236963860-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="4980049264-22">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="4980049264-22">)</span><span·class="p">.</span><span·class="w">
170 </span><span·class="nf">button</span><span·class="p"·data-group-id="0236963860-23">(</span><span·class="n">Digit</span><span·class="p"·data-group-id="0236963860-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="4980049264-23">(</span><span·class="n">Digit</span><span·class="p"·data-group-id="4980049264-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="0236963860-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="0236963860-25">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·121,·SHA:·e92fe0ae36df5f2ceb1d2f5006a12713730b824a9714b8b75ab0df026f2cd2de·...·]-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="4980049264-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="4980049264-25">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·121,·SHA:·d03feb9a9c3d8408c278adf6aababc4e7a49b053f9fd9122afb9570620f5720f·...·]-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="0236963860-26">(</span><span·class="n">Digit</span><span·class="p"·data-group-id="0236963860-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="4980049264-26">(</span><span·class="n">Digit</span><span·class="p"·data-group-id="4980049264-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="0236963860-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="0236963860-28">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="n">Digit</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·563ac694b585ea6c120c4f6ddec9c0bfa5eb66b2ed2f6278938dd0e915b7bc1d·...·]-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="4980049264-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="4980049264-28">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="n">Digit</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·684eb34cd51983802588ba981c54e7d763c036c2c99c2b4c1aebad4ecf49ec37·...·]-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="0236963860-29">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="0236963860-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="4980049264-29">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="4980049264-29">)</span><span·class="p">.</span><span·class="w">
179 </span><span·class="nf">stop</span><span·class="p"·data-group-id="0236963860-30">(</span><span·class="p"·data-group-id="0236963860-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="4980049264-30">(</span><span·class="p"·data-group-id="4980049264-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="0236963860-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="0236963860-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="4980049264-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="4980049264-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="0236963860-32">(</span><span·class="p"·data-group-id="0236963860-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="4980049264-32">(</span><span·class="p"·data-group-id="4980049264-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="0236963860-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="0236963860-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="4980049264-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="4980049264-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="0236963860-34">(</span><span·class="n">Code</span><span·class="p"·data-group-id="0236963860-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="4980049264-34">(</span><span·class="n">Code</span><span·class="p"·data-group-id="4980049264-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="0236963860-35">(</span><span·class="p"·data-group-id="0236963860-35">)</span><span·class="p">,</span><span·class="w">188 ····</span><span·class="nf">do_lock</span><span·class="p"·data-group-id="4980049264-35">(</span><span·class="p"·data-group-id="4980049264-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="0236963860-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:·e1aae51f816044a75cad8d08bcdb4d625074dfcee61f0737774df17e4a2ddb26·...·]-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="4980049264-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:·e7d941b9da5ba5da3f79e7d4edd1d72be4027a00c191c8bbf1ea9997a69b3d48·...·]-36">}</span><span·class="p">,</span><span·class="w">
190 ····</span><span·class="p"·data-group-id="0236963860-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="0236963860-37">}</span><span·class="p">.</span><span·class="w">190 ····</span><span·class="p"·data-group-id="4980049264-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="4980049264-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="0236963860-38">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="0236963860-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="4980049264-38">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="4980049264-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="0236963860-39">(</span><span·class="p"·data-group-id="0236963860-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="4980049264-39">(</span><span·class="p"·data-group-id="4980049264-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="0236963860-40">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="0236963860-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="4980049264-40">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="4980049264-40">)</span><span·class="p">.</span><span·class="w">
202 </span><span·class="nf">locked</span><span·class="p"·data-group-id="0236963860-41">(</span><span·class="p"·data-group-id="0236963860-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="0236963860-42">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·98,·SHA:·d7bd18031e9fa688369250828eda9e2f6f9e950f8fcde671f027aeb2d7c59a3c·...·]-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="4980049264-41">(</span><span·class="p"·data-group-id="4980049264-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="4980049264-42">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·98,·SHA:·53d9775b7e1ca09a0a323654f9fc3ae1fcda9db19eb4826928f8cea3fed2fefe·...·]-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="0236963860-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="0236963860-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="4980049264-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="4980049264-43">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
204 ····</span><span·class="p"·data-group-id="0236963860-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:·8f3571eee9e6aa056655d3f104f111215733da06e85b776a4213114e907a53e1·...·]-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">204 ····</span><span·class="p"·data-group-id="4980049264-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:·1f331663b380e8585d9569046277d4dd50ea30ed30ab68c052a78fefdc29619b·...·]-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
205 ········</span><span·class="p"·data-group-id="0236963860-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:·70321c950d9c1caba99781c2dee055ddab7746f8ea23a1e214f9ead0a3924b7f·...·]-45">}</span><span·class="p">;</span><span·class="w">205 ········</span><span·class="p"·data-group-id="4980049264-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:·f977678b364a90247d4f3e44f87ae2319ba3c2f0a0ace8422eb932c04f2a533f·...·]-45">}</span><span·class="p">;</span><span·class="w">
206 ····</span><span·class="p"·data-group-id="0236963860-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="0236963860-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 ····</span><span·class="p"·data-group-id="4980049264-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="4980049264-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ········</span><span·class="p"·data-group-id="0236963860-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="0236963860-47">}</span><span·class="w">207 ········</span><span·class="p"·data-group-id="4980049264-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="4980049264-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="0236963860-48">(</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0236963860-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:·5ca03beab77ff035931a57bf3534a8d870abd50ef1e4ef6ea3780b53965137a4·...·]-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="4980049264-48">(</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4980049264-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:·8ef329fd443e8b0c1d65d05891ab1ab74b00666b9ca07fc7cf7541b313ef36b5·...·]-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="0236963860-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="0236963860-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="4980049264-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="4980049264-50">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
212 ····</span><span·class="p"·data-group-id="0236963860-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:·8f3571eee9e6aa056655d3f104f111215733da06e85b776a4213114e907a53e1·...·]-51">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 ····</span><span·class="p"·data-group-id="4980049264-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:·1f331663b380e8585d9569046277d4dd50ea30ed30ab68c052a78fefdc29619b·...·]-51">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
213 ········</span><span·class="p"·data-group-id="0236963860-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:·70321c950d9c1caba99781c2dee055ddab7746f8ea23a1e214f9ead0a3924b7f·...·]-52">}</span><span·class="p">;</span><span·class="w">213 ········</span><span·class="p"·data-group-id="4980049264-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:·f977678b364a90247d4f3e44f87ae2319ba3c2f0a0ace8422eb932c04f2a533f·...·]-52">}</span><span·class="p">;</span><span·class="w">
214 ····</span><span·class="p"·data-group-id="0236963860-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="0236963860-53">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 ····</span><span·class="p"·data-group-id="4980049264-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="4980049264-53">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ········</span><span·class="p"·data-group-id="0236963860-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="0236963860-54">}</span><span·class="w">215 ········</span><span·class="p"·data-group-id="4980049264-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="4980049264-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="0236963860-55">(</span><span·class="p"·data-group-id="0236963860-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="0236963860-56">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·168,·SHA:·5a558f478f5a7c146dab72be6f50a9d7cedabb80ada960464a19abb85c35df5a·...·]-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="4980049264-55">(</span><span·class="p"·data-group-id="4980049264-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="4980049264-56">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·168,·SHA:·4e632d2ddb7457276d2307b8ac8e6b5e7bd15b0c04f1aae2d8011169f915218e·...·]-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="0236963860-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="0236963860-57">)</span><span·class="p">;</span><span·class="w">218 ····</span><span·class="nf">handle_call</span><span·class="p"·data-group-id="4980049264-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="4980049264-57">)</span><span·class="p">;</span><span·class="w">
219 </span><span·class="nf">locked</span><span·class="p"·data-group-id="0236963860-58">(</span><span·class="p"·data-group-id="0236963860-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="0236963860-59">}</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·173,·SHA:·95acdb46ffed8eb2d5e59a45f1cf7b4e8bcb2524539788ebeb0b3bec36afda59·...·]-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="4980049264-58">(</span><span·class="p"·data-group-id="4980049264-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="4980049264-59">}</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·173,·SHA:·817dc24f80260946452846a4d7842df507e5a8f44e9e5c478c4da761c2db9ead·...·]-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="0236963860-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="0236963860-60">)</span><span·class="p">.</span><span·class="w">220 ····</span><span·class="nf">handle_info</span><span·class="p"·data-group-id="4980049264-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="4980049264-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="0236963860-61">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="0236963860-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="4980049264-61">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="4980049264-61">)</span><span·class="p">.</span><span·class="w">
228 </span><span·class="nf">open</span><span·class="p"·data-group-id="0236963860-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="0236963860-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="4980049264-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="4980049264-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="0236963860-63">(</span><span·class="p"·data-group-id="0236963860-63">)</span><span·class="p">,</span><span·class="w">229 ·····</span><span·class="nf">do_lock</span><span·class="p"·data-group-id="4980049264-63">(</span><span·class="p"·data-group-id="4980049264-63">)</span><span·class="p">,</span><span·class="w">
230 ····</span><span·class="p"·data-group-id="0236963860-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="0236963860-64">}</span><span·class="p">;</span><span·class="w">230 ····</span><span·class="p"·data-group-id="4980049264-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="4980049264-64">}</span><span·class="p">;</span><span·class="w">
231 </span><span·class="nf">open</span><span·class="p"·data-group-id="0236963860-65">(</span><span·class="p"·data-group-id="0236963860-66">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="0236963860-66">}</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·69,·SHA:·b1d96a7d61035cfab0d825e9c7603549908e82951d3282670d5e19d2956a2d24·...·]-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="4980049264-65">(</span><span·class="p"·data-group-id="4980049264-66">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="4980049264-66">}</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·69,·SHA:·353d723d0ea22cc9acfeb7d51df7e439077af1109da7463390f8f6913f98e2c6·...·]-65">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="p"·data-group-id="0236963860-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="0236963860-67">}</span><span·class="p">.</span><span·class="w">232 ····</span><span·class="p"·data-group-id="4980049264-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="4980049264-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="0236963860-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="0236963860-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="4980049264-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="4980049264-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="0236963860-69">(</span><span·class="p"·data-group-id="0236963860-69">)</span><span·class="p">,</span><span·class="w">235 ····</span><span·class="nf">do_lock</span><span·class="p"·data-group-id="4980049264-69">(</span><span·class="p"·data-group-id="4980049264-69">)</span><span·class="p">,</span><span·class="w">
236 ····</span><span·class="p"·data-group-id="0236963860-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="0236963860-70">}</span><span·class="p">;</span><span·class="w">236 ····</span><span·class="p"·data-group-id="4980049264-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="4980049264-70">}</span><span·class="p">;</span><span·class="w">
237 </span><span·class="nf">open</span><span·class="p"·data-group-id="0236963860-71">(</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0236963860-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:·5a3a6078394d902652b7a5c8461582b1bd00d80e904eb142b088424acbd92238·...·]-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="4980049264-71">(</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4980049264-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:·dfd2843af3983e1985b1eddd14ea2a6b823ba00ae0629f59afd3b25cd59677d5·...·]-71">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
238 ····</span><span·class="p"·data-group-id="0236963860-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="0236963860-73">}</span><span·class="p">;</span><span·class="w">238 ····</span><span·class="p"·data-group-id="4980049264-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="4980049264-73">}</span><span·class="p">;</span><span·class="w">
239 </span><span·class="nf">open</span><span·class="p"·data-group-id="0236963860-74">(</span><span·class="p"·data-group-id="0236963860-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="0236963860-75">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·168,·SHA:·5a558f478f5a7c146dab72be6f50a9d7cedabb80ada960464a19abb85c35df5a·...·]-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="4980049264-74">(</span><span·class="p"·data-group-id="4980049264-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="4980049264-75">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·168,·SHA:·4e632d2ddb7457276d2307b8ac8e6b5e7bd15b0c04f1aae2d8011169f915218e·...·]-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="0236963860-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="0236963860-76">)</span><span·class="p">;</span><span·class="w">240 ····</span><span·class="nf">handle_call</span><span·class="p"·data-group-id="4980049264-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="4980049264-76">)</span><span·class="p">;</span><span·class="w">
241 </span><span·class="nf">open</span><span·class="p"·data-group-id="0236963860-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="0236963860-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="4980049264-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="4980049264-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="0236963860-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="0236963860-78">)</span><span·class="p">.</span><span·class="w">242 ····</span><span·class="nf">handle_info</span><span·class="p"·data-group-id="4980049264-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="4980049264-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="0236963860-79">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="0236963860-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="4980049264-79">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="4980049264-79">)</span><span·class="p">.</span><span·class="w">
250 </span><span·class="nf">handle_sync_event</span><span·class="p"·data-group-id="0236963860-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:·a86315359f649aa4e64ed9cdbd44988fa64eec4a1121726002b48c493605f569·...·]-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="4980049264-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:·a337dda8d228617d8dbad98766ffdd118941eb76814234b4b2c6a6a1fa259e26·...·]-80">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
251 ····</span><span·class="p"·data-group-id="0236963860-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:·91fb3d8d80af1ab93a96593421f21448a21ec06838af9e7590232bd588de8bfe·...·]-81">}</span><span·class="p">.</span><span·class="w">251 ····</span><span·class="p"·data-group-id="4980049264-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:·a8959e9b8a69e44e6152657ba57cbfb5d16df204683877efd29c9c64d8ce5b4f·...·]-81">}</span><span·class="p">.</span><span·class="w">
  
252 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="0236963860-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="0236963860-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="4980049264-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="4980049264-82">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
253 ····</span><span·class="p"·data-group-id="0236963860-83">{</span><span·class="ss">stop</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0236963860-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:·92108d89b1a46324c178100d75557e457ca14f3b3ce214b3ade1c57592edcd8d·...·]-83">}</span><span·class="p">.</span><span·class="w">253 ····</span><span·class="p"·data-group-id="4980049264-83">{</span><span·class="ss">stop</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4980049264-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:·bdb71b3db39f915d91ab36f3e52092c7728a9f8a96660ada5ab9394cd033537f·...·]-83">}</span><span·class="p">.</span><span·class="w">
  
254 </span><span·class="nf">handle_info</span><span·class="p"·data-group-id="0236963860-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="0236963860-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="4980049264-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="4980049264-86">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 19856/80621 bytes (24.63%) of diff not shown.
679 B
html2text {}
Max HTML report size reached
8.03 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/gen_server.html
    
Offset 1365, 23 lines modifiedOffset 1365, 23 lines modified
1365 format/limit·the·server·state·for·debugging·and·logging·purposes.</p><p>It·is·called·in·the·following·situations:</p><ul><li><a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·is·invoked1365 format/limit·the·server·state·for·debugging·and·logging·purposes.</p><p>It·is·called·in·the·following·situations:</p><ul><li><a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·is·invoked
1366 to·get·the·<code·class="inline">gen_server</code>·status.</li><li>The·<code·class="inline">gen_server</code>·process·terminates·abnormally·and·logs·an·error.</li></ul><p>This·callback·is·used·to·limit·the·status·of·the·process·returned·by1366 to·get·the·<code·class="inline">gen_server</code>·status.</li><li>The·<code·class="inline">gen_server</code>·process·terminates·abnormally·and·logs·an·error.</li></ul><p>This·callback·is·used·to·limit·the·status·of·the·process·returned·by
1367 <a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·or·sent·to·<a·href="../../../../lib/kernel-10.3/doc/html/logger.html"><code·class="inline">logger</code></a>.</p><p>The·callback·gets·a·map·<code·class="inline">Status</code>·describing·the·current·status1367 <a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·or·sent·to·<a·href="../../../../lib/kernel-10.3/doc/html/logger.html"><code·class="inline">logger</code></a>.</p><p>The·callback·gets·a·map·<code·class="inline">Status</code>·describing·the·current·status
1368 and·shall·return·a·map·<code·class="inline">NewStatus</code>·with·the·same·keys,1368 and·shall·return·a·map·<code·class="inline">NewStatus</code>·with·the·same·keys,
1369 but·it·may·transform·some·values.</p><p>Two·possible·use·cases·for·this·callback·is·to·remove1369 but·it·may·transform·some·values.</p><p>Two·possible·use·cases·for·this·callback·is·to·remove
1370 sensitive·information·from·the·state·to·prevent·it·from·being·printed1370 sensitive·information·from·the·state·to·prevent·it·from·being·printed
1371 in·log·files,·or·to·compact·large·irrelevant·status·items1371 in·log·files,·or·to·compact·large·irrelevant·status·items
1372 that·would·only·clutter·the·logs.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">format_status</span><span·class="p"·data-group-id="6179034322-1">(</span><span·class="n">Status</span><span·class="p"·data-group-id="6179034322-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1372 that·would·only·clutter·the·logs.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">format_status</span><span·class="p"·data-group-id="6914933072-1">(</span><span·class="n">Status</span><span·class="p"·data-group-id="6914933072-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1373 ··</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="6179034322-2">(</span><span·class="w">1373 ··</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="6914933072-2">(</span><span·class="w">
1374 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="6179034322-3">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="6179034322-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1374 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="6914933072-3">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="6914933072-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1375 ············</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">remove</span><span·class="p"·data-group-id="6179034322-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="6179034322-4">)</span><span·class="p">;</span><span·class="w">1375 ············</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">remove</span><span·class="p"·data-group-id="6914933072-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="6914933072-4">)</span><span·class="p">;</span><span·class="w">
1376 ·······</span><span·class="p"·data-group-id="6179034322-5">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="6179034322-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:·97,·SHA:·0d6f2e4a19231b94258d6f2be1c0070e57c5b2dc474244d6db9f2427d0e1dff2·...·]2-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1376 ·······</span><span·class="p"·data-group-id="6914933072-5">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="6914933072-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:·97,·SHA:·d1b9dc7f54aa2f7ddd42abfc1ef7902f7875768b51d72f7b6bf019d40c8f0429·...·]2-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1377 ············</span><span·class="p"·data-group-id="6179034322-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="6179034322-7">}</span><span·class="p">;</span><span·class="w">1377 ············</span><span·class="p"·data-group-id="6914933072-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="6914933072-7">}</span><span·class="p">;</span><span·class="w">
1378 ·······</span><span·class="p"·data-group-id="6179034322-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="6179034322-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1378 ·······</span><span·class="p"·data-group-id="6914933072-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="6914933072-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1379 ············</span><span·class="n">Value</span><span·class="w">1379 ············</span><span·class="n">Value</span><span·class="w">
1380 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Status</span><span·class="p"·data-group-id="6179034322-2">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·callback·is·optional,·so·callback·modules·need·not·export·it.·The1380 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Status</span><span·class="p"·data-group-id="6914933072-2">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·callback·is·optional,·so·callback·modules·need·not·export·it.·The
1381 <code·class="inline">gen_server</code>·module·provides·a·default·implementation1381 <code·class="inline">gen_server</code>·module·provides·a·default·implementation
1382 of·this·function·that·returns·the·callback·module·state.</p><p>If·this·callback·is·exported·but·fails,1382 of·this·function·that·returns·the·callback·module·state.</p><p>If·this·callback·is·exported·but·fails,
1383 to·hide·possibly·sensitive·data,1383 to·hide·possibly·sensitive·data,
1384 the·default·function·will·instead·return·the·fact·that1384 the·default·function·will·instead·return·the·fact·that
1385 <a·href="#c:format_status/1"><code·class="inline">Module:format_status/1</code></a>·has·crashed.</p></section>1385 <a·href="#c:format_status/1"><code·class="inline">Module:format_status/1</code></a>·has·crashed.</p></section>
1386 ··</section>1386 ··</section>
1387 </section>1387 </section>
Offset 2986, 15 lines modifiedOffset 2986, 15 lines modified
2986 ······<p·class="built-using">2986 ······<p·class="built-using">
2987 ········Built·using2987 ········Built·using
2988 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2988 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2989 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2989 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2990 ······</p>2990 ······</p>
2991 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2991 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2992 ····</footer>2992 ····</footer>
2993 ··</div>2993 ··</div>
2994 </main>2994 </main>
2995 </div>2995 </div>
2996 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2996 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2997 ··<script>2997 ··<script>
2998 ··let·initialized·=·false;2998 ··let·initialized·=·false;
727 B
html2text {}
Max HTML report size reached
60.7 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/gen_statem.html
    
Offset 172, 15 lines modifiedOffset 172, 15 lines modified
172 </span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="ss">send_request</span><span·class="w">172 </span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="ss">send_request</span><span·class="w">
173 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">send</span><span·class="w">173 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">send</span><span·class="w">
174 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="ss">&#39;!&#39;</span><span·class="w">············</span><span·class="o">--</span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">:</span><span·class="n">StateName</span><span·class="o">/</span><span·class="mi">3</span><span·class="w">174 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="ss">&#39;!&#39;</span><span·class="w">············</span><span·class="o">--</span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">:</span><span·class="n">StateName</span><span·class="o">/</span><span·class="mi">3</span><span·class="w">
175 ···················</span><span·class="ow">or</span><span·class="w">·</span><span·class="o">--</span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">:</span><span·class="ss">handle_event</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">175 ···················</span><span·class="ow">or</span><span·class="w">·</span><span·class="o">--</span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">:</span><span·class="ss">handle_event</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">
176 ···················</span><span·class="ss">depending</span><span·class="w">·</span><span·class="ss">on</span><span·class="w">·</span><span·class="ss">callback</span><span·class="w">·</span><span·class="ss">mode</span><span·class="w">176 ···················</span><span·class="ss">depending</span><span·class="w">·</span><span·class="ss">on</span><span·class="w">·</span><span·class="ss">callback</span><span·class="w">·</span><span·class="ss">mode</span><span·class="w">
  
177 </span><span·class="n">Release</span><span·class="w">·</span><span·class="ss">upgrade</span><span·class="o">/</span><span·class="nf">downgrade</span><span·class="w">177 </span><span·class="n">Release</span><span·class="w">·</span><span·class="ss">upgrade</span><span·class="o">/</span><span·class="nf">downgrade</span><span·class="w">
178 </span><span·class="p"·data-group-id="0080149574-1">(</span><span·class="ss">code</span><span·class="w">·</span><span·class="ss">change</span><span·class="p"·data-group-id="0080149574-1">)</span><span·class="w">178 </span><span·class="p"·data-group-id="9561853071-1">(</span><span·class="ss">code</span><span·class="w">·</span><span·class="ss">change</span><span·class="p"·data-group-id="9561853071-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="3691634302-1">(</span><span·class="ss">pushbutton</span><span·class="p"·data-group-id="3691634302-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="2709373209-1">(</span><span·class="ss">pushbutton</span><span·class="p"·data-group-id="2709373209-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="3691634302-2">(</span><span·class="ss">gen_statem</span><span·class="p"·data-group-id="3691634302-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="2709373209-2">(</span><span·class="ss">gen_statem</span><span·class="p"·data-group-id="2709373209-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="3691634302-3">(</span><span·class="p"·data-group-id="3691634302-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:·6ac29e24be5b09af2913fb0b510bcbdcbc35d6665e287dd71c0fb6249bb19cd6·...·]-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="2709373209-3">(</span><span·class="p"·data-group-id="2709373209-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:·cb2f0678d1f2776f1febfc4984db9e7de8893dc42776f0ddeeccbc734e477232·...·]-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="3691634302-5">(</span><span·class="p"·data-group-id="3691634302-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:·8af11fe1b2f68fa5eb63de1cecc9afb0fac0f57a64198fe3282013dfd7f599ef·...·]-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="2709373209-5">(</span><span·class="p"·data-group-id="2709373209-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:·e62ed9828214df0c4a870acb4305a7817b9dbe2985407c558fd47a84cfd963d8·...·]-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="3691634302-7">(</span><span·class="p"·data-group-id="3691634302-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:·cf4873e8cdc5a16b19bb535bc34958db182f699b295ddc76eda711b1089a7c62·...·]-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="2709373209-7">(</span><span·class="p"·data-group-id="2709373209-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:·864c4d90aee5762497ebb581c9fc3454098e24e563f4fb2186ee821fb066886d·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
311 </span><span·class="nf">name</span><span·class="p"·data-group-id="3691634302-9">(</span><span·class="p"·data-group-id="3691634302-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="2709373209-9">(</span><span·class="p"·data-group-id="2709373209-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="3691634302-10">(</span><span·class="p"·data-group-id="3691634302-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="2709373209-10">(</span><span·class="p"·data-group-id="2709373209-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="3691634302-11">(</span><span·class="p"·data-group-id="3691634302-12">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="nf">name</span><span·class="p"·data-group-id="3691634302-13">(</span><span·class="p"·data-group-id="3691634302-13[·...·truncated·by·diffoscope;·len:·518,·SHA:·31ee6192949d0fbc68b6c15fd9882b5578b8018b8dc9fa0a4139df85110dbee1·...·]-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="2709373209-11">(</span><span·class="p"·data-group-id="2709373209-12">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="nf">name</span><span·class="p"·data-group-id="2709373209-13">(</span><span·class="p"·data-group-id="2709373209-13[·...·truncated·by·diffoscope;·len:·518,·SHA:·d27c82be0267ef37d2c3ed83f52ddb72411275c171cbc5f8f703933f3e509d75·...·]-11">)</span><span·class="p">.</span><span·class="w">
316 </span><span·class="nf">push</span><span·class="p"·data-group-id="3691634302-16">(</span><span·class="p"·data-group-id="3691634302-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="2709373209-16">(</span><span·class="p"·data-group-id="2709373209-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="3691634302-17">(</span><span·class="nf">name</span><span·class="p"·data-group-id="3691634302-18">(</span><span·class="p"·data-group-id="3691634302-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:·27edf724342513d1f8552a532d701bfe3f8486e8ad9bdd3a905e53521669cf43·...·]-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="2709373209-17">(</span><span·class="nf">name</span><span·class="p"·data-group-id="2709373209-18">(</span><span·class="p"·data-group-id="2709373209-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:·1242c6e85ceb1af68652993b4502a03167b6f8022dc74bb317c60a32d9111dcb·...·]-17">)</span><span·class="p">.</span><span·class="w">
318 </span><span·class="nf">get_count</span><span·class="p"·data-group-id="3691634302-19">(</span><span·class="p"·data-group-id="3691634302-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="2709373209-19">(</span><span·class="p"·data-group-id="2709373209-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="3691634302-20">(</span><span·class="nf">name</span><span·class="p"·data-group-id="3691634302-21">(</span><span·class="p"·data-group-id="3691634302-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:·fb095f2e2da7d05195c515d07a87c59033d266f94a77d638f457bd27a6c54a7d·...·]-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="2709373209-20">(</span><span·class="nf">name</span><span·class="p"·data-group-id="2709373209-21">(</span><span·class="p"·data-group-id="2709373209-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:·033966cf982cd8ee7beffbe10b56462c59cf8ef3df8212fb74850c32187c534d·...·]-20">)</span><span·class="p">.</span><span·class="w">
320 </span><span·class="nf">stop</span><span·class="p"·data-group-id="3691634302-22">(</span><span·class="p"·data-group-id="3691634302-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="2709373209-22">(</span><span·class="p"·data-group-id="2709373209-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="3691634302-23">(</span><span·class="nf">name</span><span·class="p"·data-group-id="3691634302-24">(</span><span·class="p"·data-group-id="3691634302-24">)</span><span·class="p"·data-group-id="3691634302-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="2709373209-23">(</span><span·class="nf">name</span><span·class="p"·data-group-id="2709373209-24">(</span><span·class="p"·data-group-id="2709373209-24">)</span><span·class="p"·data-group-id="2709373209-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="3691634302-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:·84681e4ff7411d21e8a136231a18f935876a1129c564db58bffce0273b7925c4·...·]-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="2709373209-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:·44e4da23830fc433f7096885005a8fb1f63794fcae5774df65cf8e87084f517d·...·]-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="3691634302-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:·dbe035577608bb925c2dc7ee1614f2b7cc9e1b9b565c95bc83b5a06662693bf1·...·]-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="2709373209-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:·cb8e2abd9d51b66f30df35cd619f1ff2b4cc549aedf6940e1a9074d1c09340f8·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
326 ····</span><span·class="p"·data-group-id="3691634302-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="3691634302-27">}</span><span·class="p">.</span><span·class="w">326 ····</span><span·class="p"·data-group-id="2709373209-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="2709373209-27">}</span><span·class="p">.</span><span·class="w">
327 </span><span·class="nf">init</span><span·class="p"·data-group-id="3691634302-28">(</span><span·class="p"·data-group-id="3691634302-29">[</span><span·class="p"·data-group-id="3691634302-29">]</span><span·class="p"·data-group-id="3691634302-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="2709373209-28">(</span><span·class="p"·data-group-id="2709373209-29">[</span><span·class="p"·data-group-id="2709373209-29">]</span><span·class="p"·data-group-id="2709373209-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="3691634302-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="3691634302-30">}</span><span·class="p">.</span><span·class="w">330 ····</span><span·class="p"·data-group-id="2709373209-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="2709373209-30">}</span><span·class="p">.</span><span·class="w">
331 </span><span·class="nf">callback_mode</span><span·class="p"·data-group-id="3691634302-31">(</span><span·class="p"·data-group-id="3691634302-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="2709373209-31">(</span><span·class="p"·data-group-id="2709373209-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="3691634302-32">(</span><span·class="p"·data-group-id="3691634302-33">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="3691634302-33">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·146,·SHA:·1f624317c44a9347811a60a7ca2fcf8189673e54f817b44f06d8b442d3622ac1·...·]-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="2709373209-32">(</span><span·class="p"·data-group-id="2709373209-33">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="2709373209-33">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·146,·SHA:·5248692da39b04a279ae53769178ef73470823aa374363a12d60ad7518f220a5·...·]-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="3691634302-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:·b0e74ac8d081d3c74048a5a8fe0e7d0155f265d538665edfa1c1bbcfee4215e6·...·]-34">}</span><span·class="p">;</span><span·class="w">336 ····</span><span·class="p"·data-group-id="2709373209-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:·ce069d50e818663ebb9cae295e80ec17116d50c0c50f689f583f8f86bf1b6d6c·...·]-34">}</span><span·class="p">;</span><span·class="w">
337 </span><span·class="nf">off</span><span·class="p"·data-group-id="3691634302-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="3691634302-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="2709373209-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="2709373209-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="3691634302-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="3691634302-38">)</span><span·class="p">.</span><span·class="w">338 ····</span><span·class="nf">handle_event</span><span·class="p"·data-group-id="2709373209-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="2709373209-38">)</span><span·class="p">.</span><span·class="w">
  
339 </span><span·class="nf">on</span><span·class="p"·data-group-id="3691634302-39">(</span><span·class="p"·data-group-id="3691634302-40">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="3691634302-40">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·146,·SHA:·1f624317c44a9347811a60a7ca2fcf8189673e54f817b44f06d8b442d3622ac1·...·]-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="2709373209-39">(</span><span·class="p"·data-group-id="2709373209-40">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="2709373209-40">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·146,·SHA:·5248692da39b04a279ae53769178ef73470823aa374363a12d60ad7518f220a5·...·]-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="3691634302-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="3691634302-42">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·315,·SHA:·75f2a02bc51dff7aae8198fcbf96f9688c624e1037bef35664a00a1b67e1c43f·...·]-41">}</span><span·class="p">;</span><span·class="w">341 ····</span><span·class="p"·data-group-id="2709373209-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="2709373209-42">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·315,·SHA:·c31487d14f385fb91c52459f939dfbf642dbbb6783e25406ca5bfaef8837e3bd·...·]-41">}</span><span·class="p">;</span><span·class="w">
342 </span><span·class="nf">on</span><span·class="p"·data-group-id="3691634302-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="3691634302-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="2709373209-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="2709373209-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="3691634302-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="3691634302-45">)</span><span·class="p">.</span><span·class="w">343 ····</span><span·class="nf">handle_event</span><span·class="p"·data-group-id="2709373209-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="2709373209-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="3691634302-46">(</span><span·class="p"·data-group-id="3691634302-47">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="3691634302-47">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·151,·SHA:·f80c430d86afb45d2808a738e15daea0122a4956adf99b7f94a7ea2d1b5ce562·...·]-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="2709373209-46">(</span><span·class="p"·data-group-id="2709373209-47">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="2709373209-47">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·151,·SHA:·b70c146b706120c260e95bcc5b23bc1b722283d14fc25c55b104d160dc3e3254·...·]-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="3691634302-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="3691634302-49">[</span><span·class="p"·data-group-id="3691634302-50">{</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·264,·SHA:·3fa7551eef51b6c540623be85cb6cea5efeda8bfc420ce60d546a347f97c3f7e·...·]-48">}</span><span·class="p">;</span><span·class="w">347 ····</span><span·class="p"·data-group-id="2709373209-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="2709373209-49">[</span><span·class="p"·data-group-id="2709373209-50">{</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·264,·SHA:·6aed36ea851b63b023cae335dcdfea114d3acbbbe58099208a11fee019fff7e2·...·]-48">}</span><span·class="p">;</span><span·class="w">
348 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="3691634302-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="3691634302-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="2709373209-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="2709373209-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="3691634302-52">{</span><span·class="ss">keep_state</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="3691634302-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:·2154c2be8fbfdc7e986f916375b9fb105718afa16c58256e627943920ee36ccf·...·]-1">)</span><span·class="p">.</span><span·class="w">350 ····</span><span·class="p"·data-group-id="2709373209-52">{</span><span·class="ss">keep_state</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="2709373209-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:·15c4d1f5c10a7f5129f3a2a85c1fdbb25e38b768374cdcf3bf9d5cf8dc1f4b9f·...·]-1">)</span><span·class="p">.</span><span·class="w">
351 </span><span·class="p"·data-group-id="7054325545-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="7054325545-2">}</span><span·class="gp·unselectable">351 </span><span·class="p"·data-group-id="1990889291-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="1990889291-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="7054325545-3">(</span><span·class="p"·data-group-id="7054325545-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="1990889291-3">(</span><span·class="p"·data-group-id="1990889291-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="7054325545-4">(</span><span·class="p"·data-group-id="7054325545-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="1990889291-4">(</span><span·class="p"·data-group-id="1990889291-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="7054325545-5">(</span><span·class="p"·data-group-id="7054325545-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="1990889291-5">(</span><span·class="p"·data-group-id="1990889291-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="7054325545-6">(</span><span·class="p"·data-group-id="7054325545-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="1990889291-6">(</span><span·class="p"·data-group-id="1990889291-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="7054325545-7">(</span><span·class="p"·data-group-id="7054325545-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="1990889291-7">(</span><span·class="p"·data-group-id="1990889291-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="7054325545-8">(</span><span·class="p"·data-group-id="7054325545-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="1990889291-8">(</span><span·class="p"·data-group-id="1990889291-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="7054325545-9">(</span><span·class="p"·data-group-id="7054325545-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="1990889291-9">(</span><span·class="p"·data-group-id="1990889291-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="6726315613-1">(</span><span·class="p"·data-group-id="6726315613-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="9387206613-1">(</span><span·class="p"·data-group-id="9387206613-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="6726315613-2">(</span><span·class="p"·data-group-id="6726315613-3">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="6726315613-3">}</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·215,·SHA:·bb8a1506218b098fda6dc2b4864300fc66358cb0e54c93c781e50192dd8dbf10·...·]613-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="9387206613-2">(</span><span·class="p"·data-group-id="9387206613-3">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="9387206613-3">}</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·215,·SHA:·b1043c5c72e6b20e8378401a2f7ae3e8a2c44ba72548571a0c1f4bad690fe69c·...·]613-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="6726315613-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:·354,·SHA:·120d2a09364c3930309675edc65c87f95e126785b2a770f4428b113972aeac0a·...·]613-4">}</span><span·class="p">;</span><span·class="w">375 ····</span><span·class="p"·data-group-id="9387206613-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:·354,·SHA:·e14473d88afd5631f20731ced0f3f5cdf367b18dde82ac371b25fa06f0dc02fa·...·]613-4">}</span><span·class="p">;</span><span·class="w">
376 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="6726315613-7">(</span><span·class="p"·data-group-id="6726315613-8">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="6726315613-8">}</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·214,·SHA:·e7af30d01752d7e40624ec067e7bdaca5faae141db7cb08ad27ee0dd1928f843·...·]613-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="9387206613-7">(</span><span·class="p"·data-group-id="9387206613-8">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="9387206613-8">}</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·214,·SHA:·295fedc03ca35fc31a26536afaa48fbe97b29082f5d84f23ba94105d2c83a3f5·...·]613-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="6726315613-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="6726315613-10">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·311,·SHA:·02c2481c95cd3c6aae723a704fc1cbd76a979f94537ff7f7cbb790e6aacf787f·...·]613-9">}</span><span·class="p">;</span><span·class="w">378 ····</span><span·class="p"·data-group-id="9387206613-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="9387206613-10">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·311,·SHA:·25226aa2e8c7614e455b03ba95797ef9aade289539a2defd1130acc21e4d04bf·...·]613-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="6726315613-12">(</span><span·class="p"·data-group-id="6726315613-13">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="6726315613-13">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·224,·SHA:·ecc905bb79bd372a17809a814803809b41ec74967f88c776084d2823c45ac35b·...·]613-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="9387206613-12">(</span><span·class="p"·data-group-id="9387206613-13">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="9387206613-13">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·224,·SHA:·b4a407ac027f500e8ddca615e5dcc39ee1e738097f15fbefab34c8b3d2790ab8·...·]613-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="6726315613-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="6726315613-15">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·313,·SHA:·9bca822f5ada1d50df3b8116191a945db45190216e5067c6b31913aa05aba942·...·]613-14">}</span><span·class="p">;</span><span·class="w">383 ····</span><span·class="p"·data-group-id="9387206613-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="9387206613-15">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·313,·SHA:·bb64462ab9044d37de58123da3650416a0fd5565f51b530eac516dc31d308a24·...·]613-14">}</span><span·class="p">;</span><span·class="w">
384 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="6726315613-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:·52,·SHA:·a3becfdb1a1ac0204fc54ebeb640605e23460c63b33f08f32967d08a7e531b54·...·]613-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="9387206613-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:·52,·SHA:·810a35040be039ff927b41955f0113c875175096ceaf8654c17eafb908110e75·...·]613-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="6726315613-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="6726315613-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="9387206613-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="9387206613-18">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><h2·id="module-api-changes"·class="section-heading">
387 ··<a·href="#module-api-changes"·class="hover-link">387 ··<a·href="#module-api-changes"·class="hover-link">
388 ····<i·class="ri-link-m"·aria-hidden="true"></i>388 ····<i·class="ri-link-m"·aria-hidden="true"></i>
389 ··</a>389 ··</a>
390 ··<span·class="text">API·changes</span>390 ··<span·class="text">API·changes</span>
391 </h2>391 </h2>
392 <ul><li>This·behavior·appeared·in·Erlang/OTP·19.0·as·experimental.</li><li>In·OTP·19.1·a·backwards·incompatible·change·of·the·return·tuple·from392 <ul><li>This·behavior·appeared·in·Erlang/OTP·19.0·as·experimental.</li><li>In·OTP·19.1·a·backwards·incompatible·change·of·the·return·tuple·from
393 <a·href="#c:init/1"><code·class="inline">Module:init/1</code></a>·was·made,393 <a·href="#c:init/1"><code·class="inline">Module:init/1</code></a>·was·made,
Offset 3083, 23 lines modifiedOffset 3083, 23 lines modified
3083 return·value·and·how·its·status·appears·in·termination·error·logs,3083 return·value·and·how·its·status·appears·in·termination·error·logs,
3084 exports·an·instance·of·<a·href="#c:format_status/1"><code·class="inline">Module:format_status/1</code></a>,3084 exports·an·instance·of·<a·href="#c:format_status/1"><code·class="inline">Module:format_status/1</code></a>,
3085 which·will·get·a·map·<code·class="inline">Status</code>·that·describes·the·current·state3085 which·will·get·a·map·<code·class="inline">Status</code>·that·describes·the·current·state
3086 of·the·<code·class="inline">gen_statem</code>,·and·shall·return·a·map·<code·class="inline">NewStatus</code>3086 of·the·<code·class="inline">gen_statem</code>,·and·shall·return·a·map·<code·class="inline">NewStatus</code>
3087 containing·the·same·keys·as·the·input·map,3087 containing·the·same·keys·as·the·input·map,
Max diff block lines reached; 10321/61312 bytes (16.83%) of diff not shown.
727 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/introduction.html
    
Offset 185, 15 lines modifiedOffset 185, 15 lines modified
185 ······<p·class="built-using">185 ······<p·class="built-using">
186 ········Built·using186 ········Built·using
187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
189 ······</p>189 ······</p>
190 <p>Copyright·©·1996-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
195 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/io.html
Max HTML report size reached
14.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/io_lib.html
    
Offset 1252, 16 lines modifiedOffset 1252, 16 lines modified
1252 <p>Tries·to·read·<code·class="inline">String</code>·in·accordance·with·the·control·sequences·in·<code·class="inline">Format</code>.</p><p>For·a·detailed·description·of·the·available·formatting·options,·see·<a·href="io.html#fread/3"><code·class="inline">io:fread/3</code></a>.1252 <p>Tries·to·read·<code·class="inline">String</code>·in·accordance·with·the·control·sequences·in·<code·class="inline">Format</code>.</p><p>For·a·detailed·description·of·the·available·formatting·options,·see·<a·href="io.html#fread/3"><code·class="inline">io:fread/3</code></a>.
1253 It·is·assumed·that·<code·class="inline">String</code>·contains·whole·lines.</p><p>The·function·returns:</p><ul><li><p><strong><code·class="inline">{ok,·InputList,·LeftOverChars}</code></strong>·-·The·string·was·read.·<code·class="inline">InputList</code>·is·the1253 It·is·assumed·that·<code·class="inline">String</code>·contains·whole·lines.</p><p>The·function·returns:</p><ul><li><p><strong><code·class="inline">{ok,·InputList,·LeftOverChars}</code></strong>·-·The·string·was·read.·<code·class="inline">InputList</code>·is·the
1254 list·of·successfully·matched·and·read·items,·and·<code·class="inline">LeftOverChars</code>·are·the·input1254 list·of·successfully·matched·and·read·items,·and·<code·class="inline">LeftOverChars</code>·are·the·input
1255 characters·not·used.</p></li><li><p><strong><code·class="inline">{more,·RestFormat,·Nchars,·InputStack}</code></strong>·-·The·string·was·read,·but·more1255 characters·not·used.</p></li><li><p><strong><code·class="inline">{more,·RestFormat,·Nchars,·InputStack}</code></strong>·-·The·string·was·read,·but·more
1256 input·is·needed·to·complete·the·original·format·string.·<code·class="inline">RestFormat</code>·is·the1256 input·is·needed·to·complete·the·original·format·string.·<code·class="inline">RestFormat</code>·is·the
1257 remaining·format·string,·<code·class="inline">Nchars</code>·is·the·number·of·characters·scanned,·and1257 remaining·format·string,·<code·class="inline">Nchars</code>·is·the·number·of·characters·scanned,·and
1258 <code·class="inline">InputStack</code>·is·the·reversed·list·of·inputs·matched·up·to·that·point.</p></li><li><p><strong><code·class="inline">{error,·What}</code></strong>·-·The·read·operation·failed·and·parameter·<code·class="inline">What</code>·gives·a1258 <code·class="inline">InputStack</code>·is·the·reversed·list·of·inputs·matched·up·to·that·point.</p></li><li><p><strong><code·class="inline">{error,·What}</code></strong>·-·The·read·operation·failed·and·parameter·<code·class="inline">What</code>·gives·a
1259 hint·about·the·error.</p></li></ul><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">fread</span><span·class="p"·data-group-id="9911040285-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="9911040285-1">)</span><span·class="p">.</span><span·class="w">1259 hint·about·the·error.</p></li></ul><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">fread</span><span·class="p"·data-group-id="3705030560-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="3705030560-1">)</span><span·class="p">.</span><span·class="w">
1260 </span><span·class="p"·data-group-id="9911040285-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9911040285-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:·c0d8c0d3cd68743ecd08f1d03ab84d1550c8d91b7695921a335c9ae3fc2d155a·...·]-2">}</span></code></pre>1260 </span><span·class="p"·data-group-id="3705030560-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3705030560-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:·2644c66bd5925fd61647f10ea6600165150c44712cdd36c8fe4d0e5b87470d82·...·]-2">}</span></code></pre>
1261 ··</section>1261 ··</section>
1262 </section>1262 </section>
1263 <section·class="detail"·id="fread/3">1263 <section·class="detail"·id="fread/3">
  
1264 ··<div·class="detail-header">1264 ··<div·class="detail-header">
1265 ····<a·href="#fread/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1265 ····<a·href="#fread/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1266 ······<i·class="ri-link-m"·aria-hidden="true"></i>1266 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1731, 19 lines modifiedOffset 1731, 19 lines modified
1731 ······</div>1731 ······</div>
  
1732 <p>Returns·a·character·list·that·represents·<code·class="inline">Term</code>.·Option·<code·class="inline">Depth</code>·controls·the1732 <p>Returns·a·character·list·that·represents·<code·class="inline">Term</code>.·Option·<code·class="inline">Depth</code>·controls·the
1733 depth·of·the·structures·written.</p><p>When·the·specified·depth·is·reached,·everything·below·this·level·is·replaced·by1733 depth·of·the·structures·written.</p><p>When·the·specified·depth·is·reached,·everything·below·this·level·is·replaced·by
1734 &quot;<code·class="inline">...</code>&quot;.</p><p><code·class="inline">Depth</code>·defaults·to·-1,·which·means·no·limitation.·Option·<code·class="inline">CharsLimit</code>·puts·a1734 &quot;<code·class="inline">...</code>&quot;.</p><p><code·class="inline">Depth</code>·defaults·to·-1,·which·means·no·limitation.·Option·<code·class="inline">CharsLimit</code>·puts·a
1735 soft·limit·on·the·number·of·characters·returned.·When·the·number·of·characters·is1735 soft·limit·on·the·number·of·characters·returned.·When·the·number·of·characters·is
1736 reached,·remaining·structures·are·replaced·by·&quot;<code·class="inline">...</code>&quot;.·<code·class="inline">CharsLimit</code>·defaults·to·-1,1736 reached,·remaining·structures·are·replaced·by·&quot;<code·class="inline">...</code>&quot;.·<code·class="inline">CharsLimit</code>·defaults·to·-1,
1737 which·means·no·limit·on·the·number·of·characters·returned.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="4135497787-1">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="4135497787-2">(</span><span·class="p"·data-group-id="4135497787-3">{</span><span·class="mi">1</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·837,·SHA:·0dfc1ef98a0265ec5984387b75ac1a18d83d232398f9b52819c58832fcf823cd·...·]-1">)</span><span·class="p">.</span><span·class="w">1737 which·means·no·limit·on·the·number·of·characters·returned.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="5905995041-1">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="5905995041-2">(</span><span·class="p"·data-group-id="5905995041-3">{</span><span·class="mi">1</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·837,·SHA:·e954961e07b33623fb95ee0aec64cc45f5b4a218229f1dc50deb6fb98dfd4ae1·...·]-1">)</span><span·class="p">.</span><span·class="w">
1738 </span><span·class="s">&quot;{1,[2],[3],[4,5],6,7,8,9}&quot;</span><span·class="gp·unselectable">1738 </span><span·class="s">&quot;{1,[2],[3],[4,5],6,7,8,9}&quot;</span><span·class="gp·unselectable">
1739 2&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="4135497787-7">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="4135497787-8">(</span><span·class="p"·data-group-id="4135497787-9">{</span><span·class="mi">1</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·916,·SHA:·1955b9a3371385a0e0c2e08ed733eb2a2f11bec17f80bc996ed3ef8e8408e3cb·...·]-7">)</span><span·class="p">.</span><span·class="w">1739 2&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="5905995041-7">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="5905995041-8">(</span><span·class="p"·data-group-id="5905995041-9">{</span><span·class="mi">1</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·916,·SHA:·c79eef2a83456af2f25ae80506fd0583870adf7926dcf54acd398436e4207a04·...·]-7">)</span><span·class="p">.</span><span·class="w">
1740 </span><span·class="s">&quot;{1,[2],[3],[...],...}&quot;</span><span·class="gp·unselectable">1740 </span><span·class="s">&quot;{1,[2],[3],[...],...}&quot;</span><span·class="gp·unselectable">
1741 3&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="4135497787-13">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="4135497787-14">(</span><span·class="p"·data-group-id="4135497787-15">{</span><span·class="p"·data-group-id="4135497787-[·...·truncated·by·diffoscope;·len:·1089,·SHA:·33170b1223debf8c3575e7052153a660c8d90ef9374e873016268e1bc252c234·...·]-13">)</span><span·class="p">.</span><span·class="w">1741 3&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="5905995041-13">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="5905995041-14">(</span><span·class="p"·data-group-id="5905995041-15">{</span><span·class="p"·data-group-id="5905995041-[·...·truncated·by·diffoscope;·len:·1089,·SHA:·cb5de394b51ee1ecb904ddd2c85041f94e03c7cf1af59c35e1fb60024542d0c4·...·]-13">)</span><span·class="p">.</span><span·class="w">
1742 </span><span·class="s">&quot;{[1,2|...],[4|...],...}&quot;</span></code></pre>1742 </span><span·class="s">&quot;{[1,2|...],[4|...],...}&quot;</span></code></pre>
1743 ··</section>1743 ··</section>
1744 </section>1744 </section>
1745 <section·class="detail"·id="write_atom/1">1745 <section·class="detail"·id="write_atom/1">
  
1746 ··<div·class="detail-header">1746 ··<div·class="detail-header">
1747 ····<a·href="#write_atom/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1747 ····<a·href="#write_atom/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1988, 15 lines modifiedOffset 1988, 15 lines modified
1988 ······<p·class="built-using">1988 ······<p·class="built-using">
1989 ········Built·using1989 ········Built·using
1990 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1990 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1991 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1991 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1992 ······</p>1992 ······</p>
1993 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1993 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1994 ····</footer>1994 ····</footer>
1995 ··</div>1995 ··</div>
1996 </main>1996 </main>
1997 </div>1997 </div>
1998 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1998 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1999 ··<script>1999 ··<script>
2000 ··let·initialized·=·false;2000 ··let·initialized·=·false;
613 B
html2text {}
Max HTML report size reached
198 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/io_protocol.html
Max HTML report size reached
49.2 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/json.html
    
Offset 977, 16 lines modifiedOffset 977, 16 lines modified
977 </h2>977 </h2>
978 <ul><li><code·class="inline">error(unexpected_end)</code>·if·<code·class="inline">Binary</code>·contains·incomplete·JSON·value</li><li><code·class="inline">error({invalid_byte,·Byte})</code>·if·<code·class="inline">Binary</code>·contains·unexpected·byte·or·invalid·UTF-8·byte</li><li><code·class="inline">error({unexpected_sequence,·Bytes})</code>·if·<code·class="inline">Binary</code>·contains·invalid·UTF-8·escape</li></ul><h2·id="decode/1-example"·class="section-heading">978 <ul><li><code·class="inline">error(unexpected_end)</code>·if·<code·class="inline">Binary</code>·contains·incomplete·JSON·value</li><li><code·class="inline">error({invalid_byte,·Byte})</code>·if·<code·class="inline">Binary</code>·contains·unexpected·byte·or·invalid·UTF-8·byte</li><li><code·class="inline">error({unexpected_sequence,·Bytes})</code>·if·<code·class="inline">Binary</code>·contains·invalid·UTF-8·escape</li></ul><h2·id="decode/1-example"·class="section-heading">
979 ··<a·href="#decode/1-example"·class="hover-link">979 ··<a·href="#decode/1-example"·class="hover-link">
980 ····<i·class="ri-link-m"·aria-hidden="true"></i>980 ····<i·class="ri-link-m"·aria-hidden="true"></i>
981 ··</a>981 ··</a>
982 ··<span·class="text">Example</span>982 ··<span·class="text">Example</span>
983 </h2>983 </h2>
984 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="9107769700-1">(</span><span·class="p"·data-group-id="9107769700-2">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:·1}&quot;</span><span·class="p"·data-group-id="9107769700-2">&gt;&gt;</span><span·class="p"·data-group-id="9107769700-1">)</span><span·class="p">.</span><span·class="w"> 
985 </span><span·class="p"·data-group-id="9107769700-3">#{</span><span·class="p"·data-group-id="9107769700-4">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="9107769700-4">&gt;&gt;</span><span·class="w">·</span><span·class="p[·...·truncated·by·diffoscope;·len:·128,·SHA:·af7d1d998bb7814ed5e1ebad64284f8b47efa44ecf74c2b49ab651d000503970·...·]>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="6006590738-1">(</span><span·class="p"·data-group-id="6[·...·truncated·by·diffoscope;·len:·237,·SHA:·db53caf37993b73d135e48c20f69531e16394611b478256a292c640d78ab8fde·...·]>
 985 </span><span·class="p"·data-group-id="6006590738-3">#{</span><span·class="p"·data-group-id="6006590738-4">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="6006590738-4">&gt;&gt;</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6006590738-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="8444182113-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="8444182113-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8444182113-2">[</span><span·class="p"·data-group-id="8444182113-3">{</span><span·class="nf">binary_to_existing_atom</span><span·class="p"·data-group-id="8444182113-4">(</span><span·class="n">Key</span><span·class="p"·data-group-id="8444182113-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Value</span><span·class="p"·data-group-id="8444182113-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="8444182113-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="8444182113-5">(</span><span·class="p"·data-group-id="8444182113-6">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:·1}&quot;</span><span·class="p"·data-group-id="8444182113-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8444182113-7">#{</span><span·class="ss">object_push</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Push</span><span·class="p"·data-group-id="8444182113-7">}</span><span·class="p"·data-group-id="8444182113-5">)</span><span·class="p">.</span><span·class="w"> 
1037 </span><span·class="p"·data-group-id="8444182113-8">{</span><span·class="p"·data-group-id="8444182113-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"[·...·truncated·by·diffoscope;·len:·299,·SHA:·4437bcf0dea8c014a4210769629b51deb548d8214506d359f7342fdbff3faea1·...·]>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><spa[·...·truncated·by·diffoscope;·len:·1022,·SHA:·8998855798347bf4deff8b8f7639db9d599dc9ee515920d2e42ebf310f187964·...·]>
 1036 &gt;·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="3495552084-5">(</span><span·class="p"·data-group-id="3495552084-6">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:·1}&quot;</span><span·class="p"·data-group-id="3495552084-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3495552084-7">#{</span><span·class="ss">object_push</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Push</span><span·class="p"·data-group-id="3495552084-7">}</span><span·class="p"·data-group-id="3495552084-5">)</span><span·class="p">.</span><span·class="w">
 1037 </span><span·class="p"·data-group-id="3495552084-8">{</span><span·class="p"·data-group-id="3495552084-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="3495552084-9">}</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3495552084-10">&lt;&lt;</span><span·class="p"·data-group-id="3495552084-10">&gt;&gt;</span><span·class="p"·data-group-id="3495552084-8">}</span></code></pre>
1038 ··</section>1038 ··</section>
1039 </section>1039 </section>
1040 <section·class="detail"·id="decode_continue/2">1040 <section·class="detail"·id="decode_continue/2">
  
1041 ··<div·class="detail-header">1041 ··<div·class="detail-header">
1042 ····<a·href="#decode_continue/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1042 ····<a·href="#decode_continue/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1043 ······<i·class="ri-link-m"·aria-hidden="true"></i>1043 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1061, 19 lines modifiedOffset 1061, 19 lines modified
1061 ··········<pre·translate="no"><span·class="attribute">-spec</span>·decode_continue(<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()·|·end_of_input,·Opaque·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->1061 ··········<pre·translate="no"><span·class="attribute">-spec</span>·decode_continue(<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()·|·end_of_input,·Opaque·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->
1062 ·························{Result·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·Acc·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}·|1062 ·························{Result·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·Acc·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}·|
1063 ·························{continue,·<a·href="#t:continuation_state/0">continuation_state</a>()}.</pre>1063 ·························{continue,·<a·href="#t:continuation_state/0">continuation_state</a>()}.</pre>
  
1064 ······</div>1064 ······</div>
  
1065 <p>Continue·parsing·a·stream·of·bytes·of·a·JSON·value.</p><p>Similar·to·<a·href="#decode_start/3"><code·class="inline">decode_start/3</code></a>,·if·the·function·returns·<code·class="inline">{continue,·State}</code>·and1065 <p>Continue·parsing·a·stream·of·bytes·of·a·JSON·value.</p><p>Similar·to·<a·href="#decode_start/3"><code·class="inline">decode_start/3</code></a>,·if·the·function·returns·<code·class="inline">{continue,·State}</code>·and
1066 there·is·no·more·data,·use·<code·class="inline">end_of_input</code>·instead·of·a·binary.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="0898119865-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="0898119865-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·584,·SHA:·86793ab3015e8fc000f13b480569c9383615be87991e602d661b29f06e934602·...·]-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="7583802038-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="7583802038-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·584,·SHA:·c87cf0dd1ddf61923ac1faa5c1e1ceaedebcf88e12b29123e95e0a4a81d222f6·...·]-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="0898119865-5">(</span><span·class="p"·data-group-id="0898119865-6">&lt;&lt;</span><span·class="s">&quot;1}&quot;</span><span·class="p"·data-group-id="0898119865-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·1696a0080bf8eb9ff7204f1b15ad02fca538afdee1edad5e50f612cc3bee2e45·...·]-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="7583802038-5">(</span><span·class="p"·data-group-id="7583802038-6">&lt;&lt;</span><span·class="s">&quot;1}&quot;</span><span·class="p"·data-group-id="7583802038-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·c1dc5be43a540c2e24a1cbb923401fa21eff5d5999057d61c48bae1934e8e645·...·]-5">)</span><span·class="p">.</span><span·class="w">
1068 </span><span·class="p"·data-group-id="0898119865-7">{</span><span·class="p"·data-group-id="0898119865-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="0898119865-8">}</span[·...·truncated·by·diffoscope;·len:·1205,·SHA:·566bd54f0188168bbff53007d3b7ca13495e99b31405b06886df7ddc1e7d8d42·...·]5-2">)</span><span·class="p">.</span><span·class="gp·unselectable">1068 </span><span·class="p"·data-group-id="7583802038-7">{</span><span·class="p"·data-group-id="7583802038-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="7583802038-8">}</span[·...·truncated·by·diffoscope;·len:·1205,·SHA:·a5fe1a91ab3ca0cbad3e56e3506f1a837d013af366882b9129648f8fbcd6f4dc·...·]5-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="0887604095-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="0887604095-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="5984636635-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="5984636635-5">)</span><span·class="p">.</span><span·class="w">
1070 </span><span·class="p"·data-group-id="0887604095-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="0887604095-7">&lt;&lt;</span><span·class="p"·data-group-id="0887604095-7">&gt;&gt;</span><span·class="[·...·truncated·by·diffoscope;·len:·27,·SHA:·9e63afc8e68690e782e42cff04a145be09475b3be8ccb470e34730569de57950·...·]5-6">}</span></code></pre>1070 </span><span·class="p"·data-group-id="5984636635-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="5984636635-7">&lt;&lt;</span><span·class="p"·data-group-id="5984636635-7">&gt;&gt;</span><span·class="[·...·truncated·by·diffoscope;·len:·27,·SHA:·1a4ccf2d4369d28ad4cbe8e2441d79d65c1a969573f622290702b55ebe541d12·...·]5-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="1621699156-1">(</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">encode</span><span·class="p"·data-group-id="1621699156-2">(</span><span·class="p"·data-group-id="1621699156-3">#{</span><span·class="ss">foo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1621699156-4">&lt;&lt;</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="1621699156-4">&gt;&gt;</span><span·class="p"·data-group-id="1621699156-3">}</span><span·class="p"·data-group-id="1621699156-2">)</span><span·class="p"·data-group-id="1621699156-1">)</span><span·class="p">.</span><span·class="w"> 
1138 </span><span·class="p"·data-group-id="1621699156-5">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:\&quot;bar\&quot;}&quot;</span><span·class="p"·data-group-id="1621699156-5">&gt;&gt;</span></code></pre>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="4122972807-1">(</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">encod[·...·truncated·by·diffoscope;·len:·574,·SHA:·4e23887ca2c223409326e8b41928a7176487cfd1d0a6df02b61b4aae28c09fb9·...·]>
 1138 </span><span·class="p"·data-group-id="4122972807-5">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:\&quot;bar\&quot;}&quot;</span><span·class="p"·data-group-id="4122972807-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="6432712839-1">(</span><span·class="p"·data-group-id="6432712839-2">[</span><span·class="p"·data-group-id="6432712839-3">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="6[·...·truncated·by·diffoscope;·len:·772,·SHA:·6c16c211d6debdb85c9fdd161409626dca0ea9e539cc4590d38169110fe1eba8·...·]-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="9981229941-1">(</span><span·class="p"·data-group-id="9981229941-2">[</span><span·class="p"·data-group-id="9981229941-3">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="9[·...·truncated·by·diffoscope;·len:·772,·SHA:·0a9260e4723064977de7946dd0424811a9a8625679f465754e070de9d967b35c·...·]-4">)</span><span·class="p">;</span><span·class="gp·unselectable">
1179 &gt;·</span><span·class="nf">encoder</span><span·class="p"·data-group-id="6432712839-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="6432712839-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·287,·SHA:·8eef89ab0033a6be27a6f9499775e118ac4f192ecd23d293bfbc0596297453fa·...·]-6">)</span><span·class="p">.</span><span·class="gp·unselectable">1179 &gt;·</span><span·class="nf">encoder</span><span·class="p"·data-group-id="9981229941-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="9981229941-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·287,·SHA:·161bc05b0242cbe4a6c4b8d3fe05fe7fdd1c64d66eaf1f939af8c8349ac08ea2·...·]-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="6432712839-7">(</span><span·class="n">Value</span><span·class="p"·data-group-id="6432712839-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">encode</[·...·truncated·by·diffoscope;·len:·783,·SHA:·9480080478f4825bf439a959f50dc9db1a23ed301c321f5769e013652ff7ea07·...·]-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="9981229941-7">(</span><span·class="n">Value</span><span·class="p"·data-group-id="9981229941-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">encode</[·...·truncated·by·diffoscope;·len:·783,·SHA:·9adc3f855210a482884ca9056194dcfdce0a162c000c4d97e4ffcedb93b2ee15·...·]-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="6432712839-11">(</span><span·class="nf">custom_encode</span><span·class="p"·data-group-id="6432712839-12">(</span><span·class="p"·data-group-id="6432712839-13">[</span><span·class="p"·data-group-id="6432712839-14">{</span><span·class="ss">a</span><span·cla[·...·truncated·by·diffoscope;·len:·604,·SHA:·66ad889108ff57c43c1a0025bb1ea0c24aa53ad9aa8ef2e9968fd66c1769c117·...·]-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="9981229941-11">(</span><span·class="nf">custom_encode</span><span·class="p"·data-group-id="9981229941-12">(</span><span·class="p"·data-group-id="9981229941-13">[</span><span·class="p"·data-group-id="9981229941-14">{</span><span·class="ss">a</span><span·cla[·...·truncated·by·diffoscope;·len:·604,·SHA:·31747ff5fd75d02ab8e95f50ce4bba0f2d5cffa8747c806ed062fd4e4f88c8c2·...·]-11">)</span><span·class="p">.</span><span·class="w">
1182 </span><span·class="p"·data-group-id="6432712839-17">&lt;&lt;</span><span·class="s">&quot;{\&quot;a\&quot;:[],\&quot;b\&quot;:1}&quot;</span><span·class="p"·data-group-id="6432712839-17">&gt;&gt;</span></code></pre>1182 </span><span·class="p"·data-group-id="9981229941-17">&lt;&lt;</span><span·class="s">&quot;{\&quot;a\&quot;:[],\&quot;b\&quot;:1}&quot;</span><span·class="p"·data-group-id="9981229941-17">&gt;&gt;</span></code></pre>
1183 ··</section>1183 ··</section>
1184 </section>1184 </section>
1185 <section·class="detail"·id="encode_atom/2">1185 <section·class="detail"·id="encode_atom/2">
  
1186 ··<div·class="detail-header">1186 ··<div·class="detail-header">
1187 ····<a·href="#encode_atom/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1187 ····<a·href="#encode_atom/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1188 ······<i·class="ri-link-m"·aria-hidden="true"></i>1188 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1542, 19 lines modifiedOffset 1542, 19 lines modified
  
1542 ······<div·class="specs">1542 ······<div·class="specs">
  
1543 ··········<pre·translate="no"><span·class="attribute">-spec</span>·format(Term·::·<a·href="#t:encode_value/0">encode_value</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>1543 ··········<pre·translate="no"><span·class="attribute">-spec</span>·format(Term·::·<a·href="#t:encode_value/0">encode_value</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>
  
1544 ······</div>1544 ······</div>
  
1545 <p>Generates·formatted·JSON·corresponding·to·<code·class="inline">Term</code>.</p><p>Similiar·to·<a·href="#encode/1"><code·class="inline">encode/1</code></a>·but·with·added·whitespaces·for·formatting.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="7327472176-1">(</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="7327472176-2">(</span><span·class="p"·data-group-id="7327472176-3">#{</span><span·class="ss">foo</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·539,·SHA:·b11cd521a50b3c3ecadb93eaef0c18193d3babcdabbbf098f79ffe997da5efc5·...·]-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="7551268340-1">(</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="7551268340-2">(</span><span·class="p"·data-group-id="7551268340-3">#{</span><span·class="ss">foo</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·539,·SHA:·a9b9651715a5c0a8653f90a8308269446614c6dc7ea7f0b84ef4dec12776264a·...·]-1">)</span><span·class="p">.</span><span·class="w">
1546 </span><span·class="p"·data-group-id="7327472176-5">{</span><span·class="w">1546 </span><span·class="p"·data-group-id="7551268340-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="7327472176-5">}</span><span·class="w">1549 </span><span·class="p"·data-group-id="7551268340-5">}</span><span·class="w">
1550 </span><span·class="ss">ok</span></code></pre>1550 </span><span·class="ss">ok</span></code></pre>
1551 ··</section>1551 ··</section>
1552 </section>1552 </section>
1553 <section·class="detail"·id="format/2">1553 <section·class="detail"·id="format/2">
  
1554 ··<div·class="detail-header">1554 ··<div·class="detail-header">
1555 ····<a·href="#format/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1555 ····<a·href="#format/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1607, 28 lines modifiedOffset 1607, 28 lines modified
1607 ··········<pre·translate="no"><span·class="attribute">-spec</span>·format(Term·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·Encoder·::·<a·href="#t:formatter/0">formatter</a>(),·Options·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:map/0">map</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>1607 ··········<pre·translate="no"><span·class="attribute">-spec</span>·format(Term·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·Encoder·::·<a·href="#t:formatter/0">formatter</a>(),·Options·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:map/0">map</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>
  
1608 ······</div>1608 ······</div>
  
1609 <p>Generates·formatted·JSON·corresponding·to·<code·class="inline">Term</code>.</p><p>Similar·to·<a·href="#encode/2"><code·class="inline">encode/2</code></a>,·can·be·customised·with·the·<code·class="inline">Encoder</code>·callback·and·<code·class="inline">Options</code>.</p><p><code·class="inline">Options</code>·can·include·'indent'·to·specify·number·of·spaces·per·level·and·'max'·which·loosely·limits1609 <p>Generates·formatted·JSON·corresponding·to·<code·class="inline">Term</code>.</p><p>Similar·to·<a·href="#encode/2"><code·class="inline">encode/2</code></a>,·can·be·customised·with·the·<code·class="inline">Encoder</code>·callback·and·<code·class="inline">Options</code>.</p><p><code·class="inline">Options</code>·can·include·'indent'·to·specify·number·of·spaces·per·level·and·'max'·which·loosely·limits
1610 the·width·of·lists.</p><p>The·<code·class="inline">Encoder</code>·will·get·a·'State'·argument·which·contains·the·'Options'·maps·merged·with·other·data1610 the·width·of·lists.</p><p>The·<code·class="inline">Encoder</code>·will·get·a·'State'·argument·which·contains·the·'Options'·maps·merged·with·other·data
1611 when·recursing·through·'Term'.</p><p><a·href="#format_value/3"><code·class="inline">format_value/3</code></a>·or·various·<code·class="inline">encode_*</code>·functions·in·this·module·can·be·used1611 when·recursing·through·'Term'.</p><p><a·href="#format_value/3"><code·class="inline">format_value/3</code></a>·or·various·<code·class="inline">encode_*</code>·functions·in·this·module·can·be·used
1612 to·help·in·constructing·such·callbacks.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">formatter</span><span·class="p"·data-group-id="8807289552-1">(</span><span·class="p"·data-group-id="8807289552-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="8807289552-2">}</span><span·class=[·...·truncated·by·diffoscope;·len:·182,·SHA:·205c200128c0277385296cf379000e2c1e956f3f13821b3d2d9161633f1ad702·...·]-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="2108048568-1">(</span><span·class="p"·data-group-id="2108048568-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="2108048568-2">}</span><span·class=[·...·truncated·by·diffoscope;·len:·182,·SHA:·204eb5b7a95bc89215bf2e4fd62e85ef912e26e38aa1be750c967c4455000dd3·...·]-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="8807289552-3">(</span><span·class="n">SysTimeSecs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8807289552-4">[</span><span·class="p"·data-group-id="8807289552-5">{</span><span·class="ss">offset</span><span·class="p">[·...·truncated·by·diffoscope;·len:·215,·SHA:·b6ba85e9b18f0c95050372cf91f65e254489e790328eb98e69e2e155ac6a9962·...·]-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="2108048568-3">(</span><span·class="n">SysTimeSecs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2108048568-4">[</span><span·class="p"·data-group-id="2108048568-5">{</span><span·class="ss">offset</span><span·class="p">[·...·truncated·by·diffoscope;·len:·215,·SHA:·9975a7fbb2c4253b49c1a3b96a9dfb4e2bf516e4a21434568ccac4c3beeea7d3·...·]-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="8807289552-6">(</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_binary</span><span·class="p"·data-group-id="8807289552-7">(</span><span·class="n">TimeStr</span><span·class="p"·data-group-id="8807289552-7">)</span[·...·truncated·by·diffoscope;·len:·195,·SHA:·7e4c6b58d2dd7fcf35a280d122d93bd9d4a988b078cff58ec71bf5b28f46f02e·...·]-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="2108048568-6">(</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_binary</span><span·class="p"·data-group-id="2108048568-7">(</span><span·class="n">TimeStr</span><span·class="p"·data-group-id="2108048568-7">)</span[·...·truncated·by·diffoscope;·len:·195,·SHA:·95d529fa1ae18f16e62684c4380b1105c120bfa95b0b5970f48249cdecd62f19·...·]-6">)</span><span·class="p">;</span><span·class="gp·unselectable">
1615 &gt;·</span><span·class="nf">formatter</span><span·class="p"·data-group-id="8807289552-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="8807289552-8">)</span>[·...·truncated·by·diffoscope;·len:·439,·SHA:·41f9fe6a9e44f9b636b74387a5e8d36638d49e10af20789f042561b1d23b8747·...·]-9">)</span><span·class="p">.</span><span·class="w">1615 &gt;·</span><span·class="nf">formatter</span><span·class="p"·data-group-id="2108048568-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="2108048568-8">)</span>[·...·truncated·by·diffoscope;·len:·439,·SHA:·dc58ae92bfc0996762b4e662fcc9e3793faf3c30d0e91d9e004fe11759c4fee7·...·]-9">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 7517/49602 bytes (15.15%) of diff not shown.
671 B
html2text {}
Max HTML report size reached
399 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/lists.html
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/log_mf_h.html
    
Offset 443, 15 lines modifiedOffset 443, 15 lines modified
443 ······<p·class="built-using">443 ······<p·class="built-using">
444 ········Built·using444 ········Built·using
445 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the445 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
446 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>446 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
447 ······</p>447 ······</p>
448 <p>Copyright·©·1996-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
203 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/maps.html
Max HTML report size reached
42.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/math.html
    
Offset 445, 15 lines modifiedOffset 445, 15 lines modified
  
445 <p>Returns·the·arc·cosine·of·<code·class="inline">X</code>·in·radians.</p><h2·id="acos/1-examples"·class="section-heading">445 <p>Returns·the·arc·cosine·of·<code·class="inline">X</code>·in·radians.</p><h2·id="acos/1-examples"·class="section-heading">
446 ··<a·href="#acos/1-examples"·class="hover-link">446 ··<a·href="#acos/1-examples"·class="hover-link">
447 ····<i·class="ri-link-m"·aria-hidden="true"></i>447 ····<i·class="ri-link-m"·aria-hidden="true"></i>
448 ··</a>448 ··</a>
449 ··<span·class="text">Examples</span>449 ··<span·class="text">Examples</span>
450 </h2>450 </h2>
451 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">acos</span><span·class="p"·data-group-id="6490418659-1">(</span><span·class="mf">1.0</span><span·class="p"·data-group-id="6490418659-1">)</span><span·class="p">.</span><span·class="w">451 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">acos</span><span·class="p"·data-group-id="9734131908-1">(</span><span·class="mf">1.0</span><span·class="p"·data-group-id="9734131908-1">)</span><span·class="p">.</span><span·class="w">
452 </span><span·class="mf">0.0</span></code></pre>452 </span><span·class="mf">0.0</span></code></pre>
453 ··</section>453 ··</section>
454 </section>454 </section>
455 <section·class="detail"·id="acosh/1">455 <section·class="detail"·id="acosh/1">
  
456 ··<div·class="detail-header">456 ··<div·class="detail-header">
457 ····<a·href="#acosh/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">457 ····<a·href="#acosh/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 478, 15 lines modifiedOffset 478, 15 lines modified
  
478 <p>Returns·the·inverse·hyperbolic·cosine·of·<code·class="inline">X</code>.</p><h2·id="acosh/1-examples"·class="section-heading">478 <p>Returns·the·inverse·hyperbolic·cosine·of·<code·class="inline">X</code>.</p><h2·id="acosh/1-examples"·class="section-heading">
479 ··<a·href="#acosh/1-examples"·class="hover-link">479 ··<a·href="#acosh/1-examples"·class="hover-link">
480 ····<i·class="ri-link-m"·aria-hidden="true"></i>480 ····<i·class="ri-link-m"·aria-hidden="true"></i>
481 ··</a>481 ··</a>
482 ··<span·class="text">Examples</span>482 ··<span·class="text">Examples</span>
483 </h2>483 </h2>
484 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">acosh</span><span·class="p"·data-group-id="6429490652-1">(</span><span·class="mf">1.0</span><span·class="p"·data-group-id="6429490652-1">)</span><span·class="p">.</span><span·class="w">484 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">acosh</span><span·class="p"·data-group-id="1171168955-1">(</span><span·class="mf">1.0</span><span·class="p"·data-group-id="1171168955-1">)</span><span·class="p">.</span><span·class="w">
485 </span><span·class="mf">0.0</span></code></pre>485 </span><span·class="mf">0.0</span></code></pre>
486 ··</section>486 ··</section>
487 </section>487 </section>
488 <section·class="detail"·id="asin/1">488 <section·class="detail"·id="asin/1">
  
489 ··<div·class="detail-header">489 ··<div·class="detail-header">
490 ····<a·href="#asin/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">490 ····<a·href="#asin/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 511, 15 lines modifiedOffset 511, 15 lines modified
  
511 <p>Returns·the·arc·cosine·of·<code·class="inline">X</code>·in·radians.</p><h2·id="asin/1-examples"·class="section-heading">511 <p>Returns·the·arc·cosine·of·<code·class="inline">X</code>·in·radians.</p><h2·id="asin/1-examples"·class="section-heading">
512 ··<a·href="#asin/1-examples"·class="hover-link">512 ··<a·href="#asin/1-examples"·class="hover-link">
513 ····<i·class="ri-link-m"·aria-hidden="true"></i>513 ····<i·class="ri-link-m"·aria-hidden="true"></i>
514 ··</a>514 ··</a>
515 ··<span·class="text">Examples</span>515 ··<span·class="text">Examples</span>
516 </h2>516 </h2>
517 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">asin</span><span·class="p"·data-group-id="3934611066-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="3934611066-1">)</span><span·class="p">.</span><span·class="w">517 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">asin</span><span·class="p"·data-group-id="3455374817-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="3455374817-1">)</span><span·class="p">.</span><span·class="w">
518 </span><span·class="mf">0.0</span></code></pre>518 </span><span·class="mf">0.0</span></code></pre>
519 ··</section>519 ··</section>
520 </section>520 </section>
521 <section·class="detail"·id="asinh/1">521 <section·class="detail"·id="asinh/1">
  
522 ··<div·class="detail-header">522 ··<div·class="detail-header">
523 ····<a·href="#asinh/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">523 ····<a·href="#asinh/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 544, 15 lines modifiedOffset 544, 15 lines modified
  
544 <p>Returns·the·inverse·hyperbolic·sine·of·<code·class="inline">X</code>.</p><h2·id="asinh/1-examples"·class="section-heading">544 <p>Returns·the·inverse·hyperbolic·sine·of·<code·class="inline">X</code>.</p><h2·id="asinh/1-examples"·class="section-heading">
545 ··<a·href="#asinh/1-examples"·class="hover-link">545 ··<a·href="#asinh/1-examples"·class="hover-link">
546 ····<i·class="ri-link-m"·aria-hidden="true"></i>546 ····<i·class="ri-link-m"·aria-hidden="true"></i>
547 ··</a>547 ··</a>
548 ··<span·class="text">Examples</span>548 ··<span·class="text">Examples</span>
549 </h2>549 </h2>
550 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">asinh</span><span·class="p"·data-group-id="7122171094-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="7122171094-1">)</span><span·class="p">.</span><span·class="w">550 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">asinh</span><span·class="p"·data-group-id="3061966604-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="3061966604-1">)</span><span·class="p">.</span><span·class="w">
551 </span><span·class="mf">0.0</span></code></pre>551 </span><span·class="mf">0.0</span></code></pre>
552 ··</section>552 ··</section>
553 </section>553 </section>
554 <section·class="detail"·id="atan2/2">554 <section·class="detail"·id="atan2/2">
  
555 ··<div·class="detail-header">555 ··<div·class="detail-header">
556 ····<a·href="#atan2/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">556 ····<a·href="#atan2/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 578, 15 lines modifiedOffset 578, 15 lines modified
578 <p>Returns·the·arc·tangent·of·<code·class="inline">Y</code>/<code·class="inline">X</code>·in·radians,·using·the·signs·of·both578 <p>Returns·the·arc·tangent·of·<code·class="inline">Y</code>/<code·class="inline">X</code>·in·radians,·using·the·signs·of·both
579 arguments·to·determine·the·quadrant·of·the·return·value.</p><h2·id="atan2/2-examples"·class="section-heading">579 arguments·to·determine·the·quadrant·of·the·return·value.</p><h2·id="atan2/2-examples"·class="section-heading">
580 ··<a·href="#atan2/2-examples"·class="hover-link">580 ··<a·href="#atan2/2-examples"·class="hover-link">
581 ····<i·class="ri-link-m"·aria-hidden="true"></i>581 ····<i·class="ri-link-m"·aria-hidden="true"></i>
582 ··</a>582 ··</a>
583 ··<span·class="text">Examples</span>583 ··<span·class="text">Examples</span>
584 </h2>584 </h2>
585 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">atan2</span><span·class="p"·data-group-id="1522084724-1">(</span><span·class="mf">0.0</span><span·class="p">,</span><span·class="w">·</span><span·class="o">-</span><span·class="mf">10.0</span><span·class="p"·data-group-id="1522084724-1">)</span><span·class="p">.</span><span·class="w">585 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">atan2</span><span·class="p"·data-group-id="0913710953-1">(</span><span·class="mf">0.0</span><span·class="p">,</span><span·class="w">·</span><span·class="o">-</span><span·class="mf">10.0</span><span·class="p"·data-group-id="0913710953-1">)</span><span·class="p">.</span><span·class="w">
586 </span><span·class="mf">3.141592653589793</span></code></pre>586 </span><span·class="mf">3.141592653589793</span></code></pre>
587 ··</section>587 ··</section>
588 </section>588 </section>
589 <section·class="detail"·id="atan/1">589 <section·class="detail"·id="atan/1">
  
590 ··<div·class="detail-header">590 ··<div·class="detail-header">
591 ····<a·href="#atan/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">591 ····<a·href="#atan/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 611, 15 lines modifiedOffset 611, 15 lines modified
  
611 <p>Returns·the·arc·tangent·of·<code·class="inline">X</code>·in·radians.</p><h2·id="atan/1-examples"·class="section-heading">611 <p>Returns·the·arc·tangent·of·<code·class="inline">X</code>·in·radians.</p><h2·id="atan/1-examples"·class="section-heading">
612 ··<a·href="#atan/1-examples"·class="hover-link">612 ··<a·href="#atan/1-examples"·class="hover-link">
613 ····<i·class="ri-link-m"·aria-hidden="true"></i>613 ····<i·class="ri-link-m"·aria-hidden="true"></i>
614 ··</a>614 ··</a>
615 ··<span·class="text">Examples</span>615 ··<span·class="text">Examples</span>
616 </h2>616 </h2>
617 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">atan</span><span·class="p"·data-group-id="9813770962-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="9813770962-1">)</span><span·class="p">.</span><span·class="w">617 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">atan</span><span·class="p"·data-group-id="3478577711-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="3478577711-1">)</span><span·class="p">.</span><span·class="w">
618 </span><span·class="mf">0.0</span></code></pre>618 </span><span·class="mf">0.0</span></code></pre>
619 ··</section>619 ··</section>
620 </section>620 </section>
621 <section·class="detail"·id="atanh/1">621 <section·class="detail"·id="atanh/1">
  
622 ··<div·class="detail-header">622 ··<div·class="detail-header">
623 ····<a·href="#atanh/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">623 ····<a·href="#atanh/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 644, 15 lines modifiedOffset 644, 15 lines modified
  
644 <p>Returns·the·inverse·hyperbolic·tangent·of·<code·class="inline">X</code>.</p><h2·id="atanh/1-examples"·class="section-heading">644 <p>Returns·the·inverse·hyperbolic·tangent·of·<code·class="inline">X</code>.</p><h2·id="atanh/1-examples"·class="section-heading">
645 ··<a·href="#atanh/1-examples"·class="hover-link">645 ··<a·href="#atanh/1-examples"·class="hover-link">
646 ····<i·class="ri-link-m"·aria-hidden="true"></i>646 ····<i·class="ri-link-m"·aria-hidden="true"></i>
647 ··</a>647 ··</a>
648 ··<span·class="text">Examples</span>648 ··<span·class="text">Examples</span>
649 </h2>649 </h2>
650 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">atanh</span><span·class="p"·data-group-id="3782690200-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="3782690200-1">)</span><span·class="p">.</span><span·class="w">650 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">atanh</span><span·class="p"·data-group-id="1369447832-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="1369447832-1">)</span><span·class="p">.</span><span·class="w">
651 </span><span·class="mf">0.0</span></code></pre>651 </span><span·class="mf">0.0</span></code></pre>
652 ··</section>652 ··</section>
653 </section>653 </section>
654 <section·class="detail"·id="ceil/1">654 <section·class="detail"·id="ceil/1">
  
655 ··<div·class="detail-header">655 ··<div·class="detail-header">
656 ····<a·href="#ceil/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">656 ····<a·href="#ceil/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 679, 19 lines modifiedOffset 679, 19 lines modified
  
679 <p>Returns·the·ceiling·of·<code·class="inline">X</code>.</p><h2·id="ceil/1-examples"·class="section-heading">679 <p>Returns·the·ceiling·of·<code·class="inline">X</code>.</p><h2·id="ceil/1-examples"·class="section-heading">
680 ··<a·href="#ceil/1-examples"·class="hover-link">680 ··<a·href="#ceil/1-examples"·class="hover-link">
681 ····<i·class="ri-link-m"·aria-hidden="true"></i>681 ····<i·class="ri-link-m"·aria-hidden="true"></i>
682 ··</a>682 ··</a>
683 ··<span·class="text">Examples</span>683 ··<span·class="text">Examples</span>
684 </h2>684 </h2>
685 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">ceil</span><span·class="p"·data-group-id="0874062433-1">(</span><span·class="mf">7.5</span><span·class="p"·data-group-id="0874062433-1">)</span><span·class="p">.</span><span·class="w">685 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">ceil</span><span·class="p"·data-group-id="7995131163-1">(</span><span·class="mf">7.5</span><span·class="p"·data-group-id="7995131163-1">)</span><span·class="p">.</span><span·class="w">
686 </span><span·class="mf">8.0</span><span·class="gp·unselectable">686 </span><span·class="mf">8.0</span><span·class="gp·unselectable">
687 2&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">ceil</span><span·class="p"·data-group-id="0874062433-2">(</span><span·class="o">-</span><span·class="mf">5.5</span><span·class="p"·data-group-id="0874062433-2">)</span><span·class="p">.</span><span·class="w">687 2&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">ceil</span><span·class="p"·data-group-id="7995131163-2">(</span><span·class="o">-</span><span·class="mf">5.5</span><span·class="p"·data-group-id="7995131163-2">)</span><span·class="p">.</span><span·class="w">
688 </span><span·class="o">-</span><span·class="mf">5.0</span><span·class="gp·unselectable">688 </span><span·class="o">-</span><span·class="mf">5.0</span><span·class="gp·unselectable">
689 3&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">ceil</span><span·class="p"·data-group-id="0874062433-3">(</span><span·class="mf">1.0</span><span·class="p"·data-group-id="0874062433-3">)</span><span·class="p">.</span><span·class="w">689 3&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">ceil</span><span·class="p"·data-group-id="7995131163-3">(</span><span·class="mf">1.0</span><span·class="p"·data-group-id="7995131163-3">)</span><span·class="p">.</span><span·class="w">
690 </span><span·class="mf">1.0</span></code></pre>690 </span><span·class="mf">1.0</span></code></pre>
691 ··</section>691 ··</section>
692 </section>692 </section>
Max diff block lines reached; 31667/43041 bytes (73.57%) of diff not shown.
467 B
html2text {}
Max HTML report size reached
141 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/ms_transform.html
    
Offset 150, 55 lines modifiedOffset 150, 55 lines modified
150 ··</a>150 ··</a>
151 ··<span·class="text">Example·1</span>151 ··<span·class="text">Example·1</span>
152 </h2>152 </h2>
153 <p>Using·<a·href="ets.html#select/2"><code·class="inline">ets:select/2</code></a>·and·a·match·specification,·one·can·filter·out·rows·of·a153 <p>Using·<a·href="ets.html#select/2"><code·class="inline">ets:select/2</code></a>·and·a·match·specification,·one·can·filter·out·rows·of·a
154 table·and·construct·a·list·of·tuples·containing·relevant·parts·of·the·data·in154 table·and·construct·a·list·of·tuples·containing·relevant·parts·of·the·data·in
155 these·rows.·One·can·use·<a·href="ets.html#foldl/3"><code·class="inline">ets:foldl/3</code></a>·instead,·but·the·<a·href="ets.html#select/2"><code·class="inline">ets:select/2</code></a>·call·is155 these·rows.·One·can·use·<a·href="ets.html#foldl/3"><code·class="inline">ets:foldl/3</code></a>·instead,·but·the·<a·href="ets.html#select/2"><code·class="inline">ets:select/2</code></a>·call·is
156 far·more·efficient.·Without·the·translation·provided·by·<code·class="inline">ms_transform</code>,·one·must156 far·more·efficient.·Without·the·translation·provided·by·<code·class="inline">ms_transform</code>,·one·must
157 struggle·with·writing·match·specifications·terms·to·accommodate·this.</p><p>Consider·a·simple·table·of·employees:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="5106558067-1">(</span><span·class="ss">emp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5106558067-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="7043067396-1">(</span><span·class="ss">emp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7043067396-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="5106558067-2">}</span><span·class="p"·data-group-id="5106558067-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:·687d2d5a6918dc2bd6c076cfa4750b7a8c97651122177af48e0ad2fddaf8137a·...·]-2">}</span><span·class="p">,</span><span·class="w">161 ··············</span><span·class="ss">empyear</span><span·class="p"·data-group-id="7043067396-2">}</span><span·class="p"·data-group-id="7043067396-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:·8574c4eb8f62d57f67e7d6cb061ad0b10e768a628493da4027d7dd72727a44f7·...·]-2">}</span><span·class="p">,</span><span·class="w">
162 ·</span><span·class="p"·data-group-id="9877057381-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:·b066077de6dccfe2f830c2b4914d3acf6c3ccf956b7d4c105145f92e1f4febfe·...·]-3">}</span><span·class="p">,</span><span·class="w">162 ·</span><span·class="p"·data-group-id="7194194974-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:·e95b3b65284575c632a39bfe853b23e72e66aa04fe2dbdc24171907a17846aa8·...·]-3">}</span><span·class="p">,</span><span·class="w">
163 ·</span><span·class="p"·data-group-id="9877057381-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:·3027e6d3539d0dbfe8310a5c901c56f27f2cbfb571cf1b3e2c12b7b42011a6c0·...·]-4">}</span><span·class="p">,</span><span·class="w">163 ·</span><span·class="p"·data-group-id="7194194974-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:·1d879c1ee547c411fedc4a27c7ddf4ea5007e58d8f2979ed823484b532ea4816·...·]-4">}</span><span·class="p">,</span><span·class="w">
164 ·</span><span·class="p"·data-group-id="9877057381-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:·cb443c0db93d29777abc7ed29ffd5bcf500628c5445d8a60e072e1f6bc65ac0a·...·]-5">}</span><span·class="p">,</span><span·class="w">164 ·</span><span·class="p"·data-group-id="7194194974-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:·c71df6044946d11556141b0ee5ed60be3494f6e44caf8fce7e2e96b9f9bb637e·...·]-5">}</span><span·class="p">,</span><span·class="w">
165 ·</span><span·class="p"·data-group-id="9877057381-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:·a903dc9d8c859f9d88dd57f977d1c3cbeca2570a7b9038d1637ff3f5c9d808b7·...·]-6">}</span><span·class="p">,</span><span·class="w">165 ·</span><span·class="p"·data-group-id="7194194974-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:·732bbba5a02e800b95e0032b49e626cf5e9120725e4cbd4203fff6ed3cd2805b·...·]-6">}</span><span·class="p">,</span><span·class="w">
166 ·</span><span·class="p"·data-group-id="9877057381-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:·a8e9fc1f92ac3c90343f0ac4d3b5a8c6553e97bfd97a90533ee8b0b979f4ccb0·...·]-7">}</span><span·class="p">,</span><span·class="w">166 ·</span><span·class="p"·data-group-id="7194194974-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:·2938c33d37dad08305fe52d899b49b11910f863ea20d0383a87a9e4f849cb40d·...·]-7">}</span><span·class="p">,</span><span·class="w">
167 ·</span><span·class="p"·data-group-id="9877057381-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:·549444efbf88cc17eb671144d7f97b3676dc33a4d92eeef970d97bf92a62b8bf·...·]-8">}</span><span·class="p">,</span><span·class="w">167 ·</span><span·class="p"·data-group-id="7194194974-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:·7a9bf362802bc9a7929b1d096886e02f878d1f9d5c809a0e3c96727924c29d4f·...·]-8">}</span><span·class="p">,</span><span·class="w">
168 ·</span><span·class="p"·data-group-id="9877057381-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:·5d249d53e4378d306cb5750546c42a325b259acc52cacf2b070d94cf60651083·...·]-9">}</span><span·class="p">,</span><span·class="w">168 ·</span><span·class="p"·data-group-id="7194194974-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:·14395e42758575d8a4d853ab963f6cbf3775dd165f81ba09566ceda3e5d87000·...·]-9">}</span><span·class="p">,</span><span·class="w">
169 ·</span><span·class="p"·data-group-id="9877057381-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:·b0327679c76db96a3fd8b913877fc0cca5cd37cb7711061925d4c7d5fb332860·...·]-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="7194194974-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:·87a115da16cf687ecdb30f2696abab808ffcbaf29172616594cb942f5c913a92·...·]-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="8257631419-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8257631419-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:·39768d0448ad7e01b229e849deb4e71abe077aaeeb764b9193e8a6b79b9d9dff·...·]-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="1600928411-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1600928411-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:·68f17ac1ee845647ec759515c6c81424384ad626d5bee7cabde626317ce2c0bb·...·]-1">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="p"·data-group-id="8257631419-3">[</span><span·class="p"·data-group-id="8257631419-4">[</span><span·class="s">&quot;011103&quot;</span><span·class="p"·data-group-id="8257631419-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="8257631419-5">[</span><span·clas[·...·truncated·by·diffoscope;·len:·125,·SHA:·0bfc629f5026556686dba8f7ca4bf606cd9a841619d41337d0e0e7d979e0f678·...·]-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="1600928411-3">[</span><span·class="p"·data-group-id="1600928411-4">[</span><span·class="s">&quot;011103&quot;</span><span·class="p"·data-group-id="1600928411-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="1600928411-5">[</span><span·clas[·...·truncated·by·diffoscope;·len:·125,·SHA:·048012a6821e2f47a90f686556b55a498976402095590fe312007c864d66daca·...·]-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="9577625655-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9577625655-2">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="9577625655-3">{</span><span·class="ss">empno</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·700,·SHA:·0c2d7d332ed20ef7996aabcd6b63af2495aaaf01e3a0e5e1209891b1ea521e0d·...·]-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="5252431917-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5252431917-2">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="5252431917-3">{</span><span·class="ss">empno</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·700,·SHA:·cd161dbb3c7d10c9a64befe937cb01790f7bf67d92f135b99c871f204494dbb6·...·]-4">]</span><span·class="p">;</span><span·class="w">
174 ·············</span><span·class="p"·data-group-id="9577625655-5">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Acc</span><span·class="p"·data-group-id="9577625655-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="5252431917-5">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Acc</span><span·class="p"·data-group-id="5252431917-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="9577625655-6">[</span><span·class="p"·data-group-id="9577625655-6">]</span><span·class="p">,</span><span·class="w">176 ··········</span><span·class="p"·data-group-id="5252431917-6">[</span><span·class="p"·data-group-id="5252431917-6">]</span><span·class="p">,</span><span·class="w">
177 ··········</span><span·class="ss">emp_tab</span><span·class="p"·data-group-id="9577625655-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="5252431917-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="2697042425-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2697042425-2">[</span><span·class="p"·data-group-id="2697042425-3">{</span><span·class="o">#</span><span·class="ss">emp</spa[·...·truncated·by·diffoscope;·len:·996,·SHA:·fbf28d0bf62274b8e0d3ff33536c9273feac720d211fa8979eca411993d52aeb·...·]-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="7419498887-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7419498887-2">[</span><span·class="p"·data-group-id="7419498887-3">{</span><span·class="o">#</span><span·class="ss">emp</spa[·...·truncated·by·diffoscope;·len:·996,·SHA:·781284954b4ef279dc3dbed16707b6fa472104f7fbb99d9a63bc65cf79a43ff7·...·]-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="2989826037-1">(</span><span·class="s">&quot;stdlib/include/ms_transform.hrl&quot;</span><span·class="p"·data-group-id="2989826037-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="6323877439-1">(</span><span·class="s">&quot;stdlib/include/ms_transform.hrl&quot;</span><span·class="p"·data-group-id="6323877439-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="2989826037-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="2989826037-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="6323877439-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="6323877439-3">(</span><span·class="w">
194 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="2989826037-4">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="2989826037-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:·839121fbf77c9c2fa8d1c34bd9978b2f4fbe2a0f38fc5d6dac2001be3fb2615e·...·]-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="6323877439-4">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="6323877439-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:·d82de813dd4d7d5f6ad292f1c5a230ce1fe43a1453c1a777005266bf934b4771·...·]-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="2989826037-3">)</span><span·class="p"·data-group-id="2989826037-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="6323877439-3">)</span><span·class="p"·data-group-id="6323877439-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="1542586903-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1542586903-2">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="1542586903-3">{</span><span·class="ss">empno</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·900,·SHA:·6afcb8593eb95b1fe37d7d6d43e9f9f5ceef7f558cc2b5f225f5fbbfa7bba97e·...·]-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="7550129146-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7550129146-2">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="7550129146-3">{</span><span·class="ss">empno</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·900,·SHA:·a5b50b8d79aa020eebef3d0be1dc35f5b3033d10553841c97fbe3b2db950a8cd·...·]-4">]</span><span·class="p">;</span><span·class="w">
220 ··················</span><span·class="p"·data-group-id="1542586903-5">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Acc</span><span·class="p"·data-group-id="1542586903-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="7550129146-5">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Acc</span><span·class="p"·data-group-id="7550129146-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="1542586903-6">[</span><span·class="p"·data-group-id="1542586903-6">]</span><span·class="p">,</span><span·class="w">222 ··········</span><span·class="p"·data-group-id="7550129146-6">[</span><span·class="p"·data-group-id="7550129146-6">]</span><span·class="p">,</span><span·class="w">
223 ··········</span><span·class="ss">emp_tab</span><span·class="p"·data-group-id="1542586903-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="7550129146-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="5463865430-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5463865430-2">[</span><span·class="p"·data-group-id="5463865430-3">{</span><span·class="o">#</span><span·class="ss">emp</spa[·...·truncated·by·diffoscope;·len:·551,·SHA:·5fe563171e8413b79664da63111b0f467c3f281c5d2183b628a508fdd316f85b·...·]-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="0608560839-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0608560839-2">[</span><span·class="p"·data-group-id="0608560839-3">{</span><span·class="o">#</span><span·class="ss">emp</spa[·...·truncated·by·diffoscope;·len:·551,·SHA:·91aba4f1cffa171b0406f52d397fda6a98790b1b982c55862a4c1321a3d372cb·...·]-4">}</span><span·class="p">,</span><span·class="w">
226 ·····················</span><span·class="p"·data-group-id="5463865430-5">[</span><span·class="p"·data-group-id="5463865430-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:·5fa4e087881ad18e2be74f442f5334f91f943f61f1d6cfd190c51f67e836af5f·...·]-5">]</span><span·class="p">,</span><span·class="w">226 ·····················</span><span·class="p"·data-group-id="0608560839-5">[</span><span·class="p"·data-group-id="0608560839-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:·02aff94035a5d622c13420fe3f816a011b253e3630e9c114b5bda406786ae5c3·...·]-5">]</span><span·class="p">,</span><span·class="w">
227 ·····················</span><span·class="p"·data-group-id="5463865430-7">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="5463865430-7">]</span><span·class="p"·data-group-id="5463865430-3">}</span><span·class="p"·data-group-id="5463865430-2">]</span><span·class="p"·data-group-id="54638654[·...·truncated·by·diffoscope;·len:·2,·SHA:·624b60c58c9d8bfb6ff1886c2fd605d2adeb6ea4da576068201b6c6958ce93f4·...·]-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="0608560839-7">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="0608560839-7">]</span><span·class="p"·data-group-id="0608560839-3">}</span><span·class="p"·data-group-id="0608560839-2">]</span><span·class="p"·data-group-id="06085608[·...·truncated·by·diffoscope;·len:·2,·SHA:·0b918943df0962bc7a1824c0555a389347b4febdc7cf9d1254406d80ce44e3f9·...·]-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="2092526229-1">(</span><span·class="s">&quot;stdlib/include/ms_transform.hrl&quot;</span><span·class="p"·data-group-id="2092526229-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="2650027891-1">(</span><span·class="s">&quot;stdlib/include/ms_transform.hrl&quot;</span><span·class="p"·data-group-id="2650027891-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="2092526229-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="2092526229-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="2650027891-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="2650027891-3">(</span><span·class="w">
231 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="2092526229-4">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="2092526229-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:·263,·SHA:·50c9241430896fc1a71bdd2ba39a838362bffe3343e7122c4ec4c53222f8f501·...·]-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="2650027891-4">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="2650027891-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:·263,·SHA:·5b025afc6d0e240bde8ef0ffa8ffb55c7dda45d8940a12b22b7dee01ef15f66b·...·]-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="2092526229-3">)</span><span·class="p"·data-group-id="2092526229-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="2650027891-3">)</span><span·class="p"·data-group-id="2650027891-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="6225049783-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="6225049783-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="7967174817-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="7967174817-2">(</span><span·class="w">
242 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="6225049783-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="6225049783-4">{</span><span·class="ss">empno</span><sp[·...·truncated·by·diffoscope;·len:·362,·SHA:·4bfda5c01b1d7ca3a5704a7cc6c07c11b0b311cfe95948e5c822f77f1b61369d·...·]-3">)</span><span·class="w">242 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="7967174817-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="7967174817-4">{</span><span·class="ss">empno</span><sp[·...·truncated·by·diffoscope;·len:·362,·SHA:·6853a1898d374e25bcafbfbc126daf29582058f7c108e85cc664044b5f58688e·...·]-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="6225049783-2">)</span><span·class="p"·data-group-id="6225049783-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="7967174817-2">)</span><span·class="p"·data-group-id="7967174817-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="6918169197-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="6918169197-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="2835929112-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="2835929112-2">(</span><span·class="w">
261 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="6918169197-3">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="6918169197-4">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·320,·SHA:·f9cd1f02eefe400e7075998fd01e48834b07037545215b91e7a5a1f83cf0a739·...·]-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="2835929112-3">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="2835929112-4">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·320,·SHA:·000ec393b1b396f877eb35269aaf5157303254e5e562394681fe5ddccf4817d6·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
262 ······························</span><span·class="p"·data-group-id="6918169197-6">{</span><span·class="p"·data-group-id="6918169197-7">[</span><span·class="sc">$0</span><span·class="p">|</span><span·class="n">Rest</span><span·class="p"·data-group-id="6918169197-7">]</span><span·class="p">,</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·197,·SHA:·b643512eebac0a68898f82f284f9a9518500c56f45d6ebdbcabd551ccedd1a41·...·]-6">}</span><span·class="w">262 ······························</span><span·class="p"·data-group-id="2835929112-6">{</span><span·class="p"·data-group-id="2835929112-7">[</span><span·class="sc">$0</span><span·class="p">|</span><span·class="n">Rest</span><span·class="p"·data-group-id="2835929112-7">]</span><span·class="p">,</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·197,·SHA:·372eda1bacda4188e6d9ebff673f314ab297de0eb19f969cc16d005c72c93c95·...·]-6">}</span><span·class="w">
263 ······················</span><span·class="k">end</span><span·class="p"·data-group-id="6918169197-2">)</span><span·class="p"·data-group-id="6918169197-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="2835929112-2">)</span><span·class="p"·data-group-id="2835929112-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="0249208395-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="0249208395-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="7953159484-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="7953159484-2">(</span><span·class="w">
277 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="0249208395-3">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="0249208395-4">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span[·...·truncated·by·diffoscope;·len:·304,·SHA:·bfc3cafb7d6f4696fd6351e97f80d950c7d940bd53ffe30b325d0f6da0088eed·...·]-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="7953159484-3">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="7953159484-4">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span[·...·truncated·by·diffoscope;·len:·304,·SHA:·8515603490952fcb82440a0e50e09e32ca38778e1fb3a12b062909cb1ef71e0a·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
278 ······························</span><span·class="p"·data-group-id="0249208395-5">{</span><span·class="ss">guru</span><span·class="p">,</span><span·class="n">E</span><span·class="p"·data-group-id="0249208395-5">}</span><span·class="p">;</span><span·class="w">278 ······························</span><span·class="p"·data-group-id="7953159484-5">{</span><span·class="ss">guru</span><span·class="p">,</span><span·class="n">E</span><span·class="p"·data-group-id="7953159484-5">}</span><span·class="p">;</span><span·class="w">
279 ·························</span><span·class="p"·data-group-id="0249208395-6">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="0249208395-7">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span[·...·truncated·by·diffoscope;·len:·264,·SHA:·f7f511585a3fbc9c4f3a191b514f08463ff3d0cc75f8181e6ebf09d9eb0ebdb0·...·]-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="7953159484-6">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="7953159484-7">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span[·...·truncated·by·diffoscope;·len:·264,·SHA:·b1a3e53eee15e4861cbdf4cbb4277163a0801e65c13f35e7b7ff845e2b0148b9·...·]-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="0249208395-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="0249208395-8">}</span><span·class="p">;</span><span·class="w">280 ······························</span><span·class="p"·data-group-id="7953159484-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="7953159484-8">}</span><span·class="p">;</span><span·class="w">
281 ·························</span><span·class="p"·data-group-id="0249208395-9">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="0249208395-10">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><spa[·...·truncated·by·diffoscope;·len:·266,·SHA:·f7c228f2a1198e263992e498930aafff70ddd2dbbd99936ec4883be0af2dbcd9·...·]-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="7953159484-9">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="7953159484-10">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><spa[·...·truncated·by·diffoscope;·len:·266,·SHA:·2208f911067957bdfe59986627cc3e83826d4ae72436ff16629327766a6a554c·...·]-9">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">2001</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 75987/143578 bytes (52.92%) of diff not shown.
691 B
html2text {}
Max HTML report size reached
116 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/notes.html
    
Offset 133, 59 lines modifiedOffset 133, 59 lines modified
133 </h2>133 </h2>
134 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">134 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">
135 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">135 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>138 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
139 </h3>139 </h3>
140 <ul><li><p>Shell·help·now·orders·the·commands·in·alphabetical·order.</p><p>Own·Id:·OTP-19161·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8573"·title="">PR-8573</a></p></li><li><p><a·href="proc_lib.html#stop/3"><code·class="inline">proc_lib:stop/1,3</code></a>·(and·in·extension·<a·href="gen_server.html#stop/3"><code·class="inline">gen_server:stop/3</code></a>,·<a·href="gen_statem.html#stop/3"><code·class="inline">gen_statem:stop/3</code></a>·and·so·on)·have·been·updated·to·not·throw·an·error·if·the·process·to·be·stopped·exits·with·the·same·reason·as·given·to·<a·href="proc_lib.html#stop/3"><code·class="inline">proc_lib:stop/3</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19233·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8772"·title="">PR-8772</a></p></li><li><p>The·size·of·an·atom·in·the·Erlang·source·code·was·limited·to·255·bytes·in·previous·releases,·meaning·that·an·atom·containing·only·emojis·could·contain·only·63·emojis.</p><p>While·atoms·are·still·only·allowed·to·contain·255·characters,·the·number·of·bytes·is·no·longer·limited.</p><p>External·tools·that·parse·the·<code·class="inline">AtU8</code>·chunk·of·a·BEAM·file·directly·need·to·be·updated.·Tools·that·use·<a·href="beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[atoms])</code></a>·to·read·the·atom·table·will·continue·to·work.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19285·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8913"·title="">PR-8913</a></p></li><li><p><a·href="argparse.html#help/1"><code·class="inline">argparse:help/1</code></a>·now·accepts·<a·href="unicode.html#t:chardata/0"><code·class="inline">unicode:chardata/0</code></a>.</p><p>Own·Id:·OTP-19303·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8932"·title="">PR-8932</a></p></li><li><p>The·literals·chunk·in·BEAM·is·no·longer·compressed,·resulting·in·slightly·smaller·BEAM·files·when·a·BEAM·file·is·stripped·using·<a·href="beam_lib.html#strip_files/1"><code·class="inline">beam_lib:strip_files/1</code></a>.</p><p>This·is·a·potential·incompatibility·for·tools·that·read·and·interpret·the·contents·of·the·literal·chunk.·One·way·to·update·such·tools·to·work·with·the·new·format·is·to·retrieve·the·chunk·using·<a·href="beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[literals])</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19323·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8967"·title="">GH-8967</a>,·<a·href="https://github.com/erlang/otp/pull/8988"·title="">PR-8988</a></p></li><li><p>The·previous·<a·href="digraph_utils.html#preorder/1"><code·class="inline">digraph_utils:preorder/1</code></a>·and·<a·href="digraph_utils.html#postorder/1"><code·class="inline">digraph_utils:postorder/1</code></a>·did·not·start·the·traversal·from·root·nodes.·This·fix·makes·both·traversals·only·start·or·restart·from·a·root·node·in·one·of·the·components,·or·an·arbitrary·node·if·no·root·node·can·be·visited.</p><p>Own·Id:·OTP-19393·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9171"·title="">PR-9171</a></p></li><li><p>Auto-completion·in·the·shell·is·now·significantly·faster·for·function·parameters·that·uses·complex·custom·types.</p><p>Own·Id:·OTP-19413·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9271"·title="">PR-9271</a></p></li><li><p>Stringfying·a·non-latin1·atom·will·now·produce·a·readable·string·instead·of·encoding·each·character·using·<code·class="inline">\x{...}</code>·escape·sequences.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="9675885181-1">(</span><span·class="n">S</span><span·class="p"·data-group-id="9675885181-2">(</span><span·class="n">T</span><span·class="p"·data-group-id="9675885181-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·cla[·...·truncated·by·diffoscope;·len:·80,·SHA:·d7ec7793b6c438686791a6fee377df139fe68df813bf943b141c433a2e80ae58·...·]-1">)</span><span·class="p">.</span><span·class="w">140 <ul><li><p>Shell·help·now·orders·the·commands·in·alphabetical·order.</p><p>Own·Id:·OTP-19161·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8573"·title="">PR-8573</a></p></li><li><p><a·href="proc_lib.html#stop/3"><code·class="inline">proc_lib:stop/1,3</code></a>·(and·in·extension·<a·href="gen_server.html#stop/3"><code·class="inline">gen_server:stop/3</code></a>,·<a·href="gen_statem.html#stop/3"><code·class="inline">gen_statem:stop/3</code></a>·and·so·on)·have·been·updated·to·not·throw·an·error·if·the·process·to·be·stopped·exits·with·the·same·reason·as·given·to·<a·href="proc_lib.html#stop/3"><code·class="inline">proc_lib:stop/3</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19233·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8772"·title="">PR-8772</a></p></li><li><p>The·size·of·an·atom·in·the·Erlang·source·code·was·limited·to·255·bytes·in·previous·releases,·meaning·that·an·atom·containing·only·emojis·could·contain·only·63·emojis.</p><p>While·atoms·are·still·only·allowed·to·contain·255·characters,·the·number·of·bytes·is·no·longer·limited.</p><p>External·tools·that·parse·the·<code·class="inline">AtU8</code>·chunk·of·a·BEAM·file·directly·need·to·be·updated.·Tools·that·use·<a·href="beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[atoms])</code></a>·to·read·the·atom·table·will·continue·to·work.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19285·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8913"·title="">PR-8913</a></p></li><li><p><a·href="argparse.html#help/1"><code·class="inline">argparse:help/1</code></a>·now·accepts·<a·href="unicode.html#t:chardata/0"><code·class="inline">unicode:chardata/0</code></a>.</p><p>Own·Id:·OTP-19303·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8932"·title="">PR-8932</a></p></li><li><p>The·literals·chunk·in·BEAM·is·no·longer·compressed,·resulting·in·slightly·smaller·BEAM·files·when·a·BEAM·file·is·stripped·using·<a·href="beam_lib.html#strip_files/1"><code·class="inline">beam_lib:strip_files/1</code></a>.</p><p>This·is·a·potential·incompatibility·for·tools·that·read·and·interpret·the·contents·of·the·literal·chunk.·One·way·to·update·such·tools·to·work·with·the·new·format·is·to·retrieve·the·chunk·using·<a·href="beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[literals])</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19323·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8967"·title="">GH-8967</a>,·<a·href="https://github.com/erlang/otp/pull/8988"·title="">PR-8988</a></p></li><li><p>The·previous·<a·href="digraph_utils.html#preorder/1"><code·class="inline">digraph_utils:preorder/1</code></a>·and·<a·href="digraph_utils.html#postorder/1"><code·class="inline">digraph_utils:postorder/1</code></a>·did·not·start·the·traversal·from·root·nodes.·This·fix·makes·both·traversals·only·start·or·restart·from·a·root·node·in·one·of·the·components,·or·an·arbitrary·node·if·no·root·node·can·be·visited.</p><p>Own·Id:·OTP-19393·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9171"·title="">PR-9171</a></p></li><li><p>Auto-completion·in·the·shell·is·now·significantly·faster·for·function·parameters·that·uses·complex·custom·types.</p><p>Own·Id:·OTP-19413·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9271"·title="">PR-9271</a></p></li><li><p>Stringfying·a·non-latin1·atom·will·now·produce·a·readable·string·instead·of·encoding·each·character·using·<code·class="inline">\x{...}</code>·escape·sequences.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="9013036666-1">(</span><span·class="n">S</span><span·class="p"·data-group-id="9013036666-2">(</span><span·class="n">T</span><span·class="p"·data-group-id="9013036666-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·cla[·...·truncated·by·diffoscope;·len:·80,·SHA:·67ef945103a8bbc62d577f9ffaf88d046ef66112960f899e0bbddf0782c47ed7·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
141 </span><span·class="nf">atom</span><span·class="p"·data-group-id="9675885181-3">(</span><span·class="p"·data-group-id="9675885181-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">141 </span><span·class="nf">atom</span><span·class="p"·data-group-id="9013036666-3">(</span><span·class="p"·data-group-id="9013036666-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
142 ····</span><span·class="o">?</span><span·class="n">S</span><span·class="p"·data-group-id="9675885181-4">(</span><span·class="ss">&#39;атом&#39;</span><span·class="p"·data-group-id="9675885181-4">)</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">atom/0</code>·function·now·returns·<code·class="inline">&quot;'атом'&quot;</code>·instead·of·<code·class="inline">&quot;'\\x{430}\\x{442}\\x{43E}\\x{43C}'&quot;</code>.</p><p>Own·Id:·OTP-19421·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9173"·title="">GH-9173</a>,·<a·href="https://github.com/erlang/otp/pull/9276"·title="">PR-9276</a></p></li><li><p>A·few·minor·issues·were·corrected·in·<code·class="inline">m:syntax_tools</code>,·as·well·in·the·<a·href="erl_anno.html"><code·class="inline">erl_anno</code></a>·module.</p><p>Own·Id:·OTP-19422·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9253"·title="">PR-9253</a></p></li><li><p><a·href="dets.html"><code·class="inline">dets</code></a>·could·print·error·messages·to·standard·output·when·repairing·DETS·files.·This·has·been·changed·to·send·the·messages·to·<a·href="../../../../lib/kernel-10.3/doc/html/logger.html"><code·class="inline">logger</code></a>.</p><p><code·class="inline">ets:fun2ms</code>·would·print·an·error·message·to·standard·output·as·well·as·returning·an·error·tuple.·The·printing·of·the·message·has·been·removed.</p><p>Own·Id:·OTP-19427·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9232"·title="">PR-9232</a>,·<a·href="https://github.com/erlang/otp/pull/9446"·title="">PR-9446</a></p></li><li><p>The·functions·for·converting·to·and·from·the·RFC1339·date·and·time·format·would·not·properly·handle·fractional·seconds·for·negative·times.</p><p>Own·Id:·OTP-19441·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9279"·title="">GH-9279</a>,·<a·href="https://github.com/erlang/otp/pull/9280"·title="">PR-9280</a></p></li><li><p>Replaced·calls·to·deprecated·<code·class="inline">crypto:start()</code>·with·<code·class="inline">application:start(crypto)</code>.</p><p>Own·Id:·OTP-19485·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8592"·title="">PR-8592</a></p></li><li><p>Fixed·a·bug·when·calling·shell·completion·on·a·reserved·word·followed·by·a·<em>(</em>·would·crash·the·shell.</p><p>Own·Id:·OTP-19511·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9470"·title="">GH-9470</a></p></li><li><p>Corrected·the·spec·of·<a·href="ets.html#update_element/4"><code·class="inline">ets:update_element/4</code></a>.</p><p>Own·Id:·OTP-19514·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9504"·title="">PR-9504</a></p></li><li><p>Corrected·the·spec·for·<a·href="ets.html#info/1"><code·class="inline">ets:info/1</code></a>.</p><p>Own·Id:·OTP-19515·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9514"·title="">PR-9514</a></p></li><li><p>Fixed·crash·when·defining·records·with·a·string·field·in·the·shell</p><p>Own·Id:·OTP-19533·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9557"·title="">GH-9557</a></p></li><li><p>Details·in·the·hibernation·implementation·and·time-out·handling·has·been·improved·for·<code·class="inline">gen_statem</code>.··In·particular·to·avoid·selective·receive·when·cancelling·a·time-out.</p><p>Own·Id:·OTP-19540·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9579"·title="">PR-9579</a></p></li><li><p>Fixed·a·bug·when·getting·help·on·a·module·compiled·without·debug_info.</p><p>Own·Id:·OTP-19583·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9654"·title="">PR-9654</a></p></li><li><p>Fix·<a·href="zip.html"><code·class="inline">zip</code></a>·extraction·to·wrap·invalid·DOS·timestamps·to·their·correct·value·instead·of·returning·the·actual·value.·Before·this·fix·the·timestamp·returned·could·have·a·second·greater·than·59.·The·bug·has·been·present·since·Erlang/OTP·27.1.</p><p>Own·Id:·OTP-19593·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9537"·title="">PR-9537</a>,·<a·href="https://github.com/erlang/otp/issues/9536"·title="">GH-9536</a></p></li><li><p>Enhance·specs·of·timeout·for·improving·documentation·and·dialyzer·analysis.</p><p>Own·Id:·OTP-19604·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9574"·title="">PR-9574</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">142 ····</span><span·class="o">?</span><span·class="n">S</span><span·class="p"·data-group-id="9013036666-4">(</span><span·class="ss">&#39;атом&#39;</span><span·class="p"·data-group-id="9013036666-4">)</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">atom/0</code>·function·now·returns·<code·class="inline">&quot;'атом'&quot;</code>·instead·of·<code·class="inline">&quot;'\\x{430}\\x{442}\\x{43E}\\x{43C}'&quot;</code>.</p><p>Own·Id:·OTP-19421·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9173"·title="">GH-9173</a>,·<a·href="https://github.com/erlang/otp/pull/9276"·title="">PR-9276</a></p></li><li><p>A·few·minor·issues·were·corrected·in·<code·class="inline">m:syntax_tools</code>,·as·well·in·the·<a·href="erl_anno.html"><code·class="inline">erl_anno</code></a>·module.</p><p>Own·Id:·OTP-19422·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9253"·title="">PR-9253</a></p></li><li><p><a·href="dets.html"><code·class="inline">dets</code></a>·could·print·error·messages·to·standard·output·when·repairing·DETS·files.·This·has·been·changed·to·send·the·messages·to·<a·href="../../../../lib/kernel-10.3/doc/html/logger.html"><code·class="inline">logger</code></a>.</p><p><code·class="inline">ets:fun2ms</code>·would·print·an·error·message·to·standard·output·as·well·as·returning·an·error·tuple.·The·printing·of·the·message·has·been·removed.</p><p>Own·Id:·OTP-19427·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9232"·title="">PR-9232</a>,·<a·href="https://github.com/erlang/otp/pull/9446"·title="">PR-9446</a></p></li><li><p>The·functions·for·converting·to·and·from·the·RFC1339·date·and·time·format·would·not·properly·handle·fractional·seconds·for·negative·times.</p><p>Own·Id:·OTP-19441·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9279"·title="">GH-9279</a>,·<a·href="https://github.com/erlang/otp/pull/9280"·title="">PR-9280</a></p></li><li><p>Replaced·calls·to·deprecated·<code·class="inline">crypto:start()</code>·with·<code·class="inline">application:start(crypto)</code>.</p><p>Own·Id:·OTP-19485·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8592"·title="">PR-8592</a></p></li><li><p>Fixed·a·bug·when·calling·shell·completion·on·a·reserved·word·followed·by·a·<em>(</em>·would·crash·the·shell.</p><p>Own·Id:·OTP-19511·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9470"·title="">GH-9470</a></p></li><li><p>Corrected·the·spec·of·<a·href="ets.html#update_element/4"><code·class="inline">ets:update_element/4</code></a>.</p><p>Own·Id:·OTP-19514·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9504"·title="">PR-9504</a></p></li><li><p>Corrected·the·spec·for·<a·href="ets.html#info/1"><code·class="inline">ets:info/1</code></a>.</p><p>Own·Id:·OTP-19515·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9514"·title="">PR-9514</a></p></li><li><p>Fixed·crash·when·defining·records·with·a·string·field·in·the·shell</p><p>Own·Id:·OTP-19533·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9557"·title="">GH-9557</a></p></li><li><p>Details·in·the·hibernation·implementation·and·time-out·handling·has·been·improved·for·<code·class="inline">gen_statem</code>.··In·particular·to·avoid·selective·receive·when·cancelling·a·time-out.</p><p>Own·Id:·OTP-19540·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9579"·title="">PR-9579</a></p></li><li><p>Fixed·a·bug·when·getting·help·on·a·module·compiled·without·debug_info.</p><p>Own·Id:·OTP-19583·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9654"·title="">PR-9654</a></p></li><li><p>Fix·<a·href="zip.html"><code·class="inline">zip</code></a>·extraction·to·wrap·invalid·DOS·timestamps·to·their·correct·value·instead·of·returning·the·actual·value.·Before·this·fix·the·timestamp·returned·could·have·a·second·greater·than·59.·The·bug·has·been·present·since·Erlang/OTP·27.1.</p><p>Own·Id:·OTP-19593·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9537"·title="">PR-9537</a>,·<a·href="https://github.com/erlang/otp/issues/9536"·title="">GH-9536</a></p></li><li><p>Enhance·specs·of·timeout·for·improving·documentation·and·dialyzer·analysis.</p><p>Own·Id:·OTP-19604·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9574"·title="">PR-9574</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
143 ··<a·href="#improvements-and-new-features"·class="hover-link">143 ··<a·href="#improvements-and-new-features"·class="hover-link">
144 ····<i·class="ri-link-m"·aria-hidden="true"></i>144 ····<i·class="ri-link-m"·aria-hidden="true"></i>
145 ··</a>145 ··</a>
146 ··<span·class="text">Improvements·and·New·Features</span>146 ··<span·class="text">Improvements·and·New·Features</span>
147 </h3>147 </h3>
148 <ul><li><p>Singleton·type·variables·in·an·union·type·do·not·make·sense·from·Dialyzer's·point·of·view.·The·following·example·is·ill-typed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">run_test</span><span·class="p"·data-group-id="4994291733-1">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="4994291733-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="4994291733-2">(</span><span·class="p"·data-group-id="4994291733-2">)</span><span·class="w"> 
149 ······</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Opts</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="4994291733-3">{</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·1484,·SHA:·69e463075830af705da71f76cf933e4a1d5a0dc283dad077a55c2359e51eb7b7·...·]</span><span·class="w">148 <ul><li><p>Singleton·type·variables·in·an·union·type·do·not·make·sense·from·Dialyzer's·point·of·view.·The·following·example·is·ill-typed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w"[·...·truncated·by·diffoscope;·len:·377,·SHA:·1bda1c5706aa51974aba39b15071b9d2772ba887ac33c03e051ad73d0b793d2f·...·]</span><span·class="w">
 149 ······</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Opts</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7974192515-3">{</span><span·class="ss">join_specs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bool</span><span·class="p"·data-group-id="7974192515-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7974192515-4">{</span><span·class="ss">test</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bool</span><span·class="p"·data-group-id="7974192515-4">}</span><span·class="p">.</span></code></pre><p>This·used·to·be·reported·as·a·warning.·In·OTP-28,·this·is·an·error</p><p>Own·Id:·OTP-19125·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8556"·title="">PR-8556</a></p></li><li><p>By·default,·sets·created·by·the·<a·href="sets.html"><code·class="inline">sets</code></a>·module·will·now·be·represented·as·maps.</p><p>Own·Id:·OTP-19127·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8429"·title="">PR-8429</a></p></li><li><p>For·various·error·types,·the·compiler·now·tries·to·suggest·potential·fixes·by·adding·&quot;did·you·mean·...?&quot;·at·the·end·of·error·messages.</p><p>When·a·function·is·used·with·wrong·arity,·the·compiler·will·try·to·suggest·a·defined·function·with·the·same·name·but·a·different·arity.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6866374172-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="6866374172-1">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6412777162-2">(</span><span·class="p"·data-group-id="6412777162-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6412777162-3">]</span><span·class="p"·data-group-id="6412777162-2">)</span><span·class="p">.</span><span·class="w">150 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6866374172-2">(</span><span·class="p"·data-group-id="6866374172-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6866374172-3">]</span><span·class="p"·data-group-id="6866374172-2">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6412777162-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="6412777162-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">151 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6866374172-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="6866374172-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
152 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6412777162-5">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="6412777162-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">152 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6866374172-5">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="6866374172-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
153 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6412777162-6">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="6412777162-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">153 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6866374172-6">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="6866374172-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
154 </span><span·class="nf">t</span><span·class="p"·data-group-id="6412777162-7">(</span><span·class="p"·data-group-id="6412777162-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">bar</span><span·class="p"·data-group-id="6412777162-8">(</span><span·class="mi">0</span><[·...·truncated·by·diffoscope;·len:·112,·SHA:·915f0a3b33014d23496dad915e816220d9e92816b892a633a71ea79b49555a8a·...·]2-8">)</span><span·class="p">.</span></code></pre><p>The·compiler·will·emit·the·following·message:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typo</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">6</span><span·class="p">:</span><span·class="mi">12</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="o">?</span><span·class="w">154 </span><span·class="nf">t</span><span·class="p"·data-group-id="6866374172-7">(</span><span·class="p"·data-group-id="6866374172-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">bar</span><span·class="p"·data-group-id="6866374172-8">(</span><span·class="mi">0</span><[·...·truncated·by·diffoscope;·len:·112,·SHA:·477b45438bce2e0bd0c2cff57038c02cc097f3ccf14a8250423b7a3c29bc05b1·...·]2-8">)</span><span·class="p">.</span></code></pre><p>The·compiler·will·emit·the·following·message:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typo</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">6</span><span·class="p">:</span><span·class="mi">12</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="o">?</span><span·class="w">
155 </span><span·class="c1">%···6|·····t()·-&gt;·bar(0,·0).</span><span·class="w">155 </span><span·class="c1">%···6|·····t()·-&gt;·bar(0,·0).</span><span·class="w">
156 </span><span·class="c1">%····|············^</span></code></pre><p>For·compiler·errors·that·can·easily·be·caused·by·typos,·the·compiler·will·try·to·suggest·what·the·correct·variable·or·function·name,·could·be.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6302172206-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="6302172206-1">)</span><span·class="p">.</span><span·class="w">156 </span><span·class="c1">%····|············^</span></code></pre><p>For·compiler·errors·that·can·easily·be·caused·by·typos,·the·compiler·will·try·to·suggest·what·the·correct·variable·or·function·name,·could·be.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4740712750-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="4740712750-1">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6302172206-2">(</span><span·class="p"·data-group-id="6302172206-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="6302172206-3">]</span><span·class="p"·data-group-id="6302172206-2">)</span><span·class="p">.</span><span·class="w">157 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4740712750-2">(</span><span·class="p"·data-group-id="4740712750-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="4740712750-3">]</span><span·class="p"·data-group-id="4740712750-2">)</span><span·class="p">.</span><span·class="w">
  
158 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6302172206-4">(</span><span·class="n">A0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B0</span><span·class="p"·data-group-id="6302172206-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">158 </span><span·class="nf">bar</span><span·class="p"·data-group-id="4740712750-4">(</span><span·class="n">A0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B0</span><span·class="p"·data-group-id="4740712750-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
159 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">B</span><span·class="p">.</span></code></pre><p>the·compiler·will·emit·the·following·error·messages:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;A&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;A0&#39;</span><span·class="o">?</span><span·class="w">159 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">B</span><span·class="p">.</span></code></pre><p>the·compiler·will·emit·the·following·error·messages:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;A&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;A0&#39;</span><span·class="o">?</span><span·class="w">
160 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">160 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">
161 </span><span·class="c1">%·····|·····^</span><span·class="w">161 </span><span·class="c1">%·····|·····^</span><span·class="w">
  
162 </span><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">9</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;B&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;B0&#39;</span><span·class="o">?</span><span·class="w">162 </span><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">9</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;B&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;B0&#39;</span><span·class="o">?</span><span·class="w">
163 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">163 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">
164 </span><span·class="c1">%·····|·········^</span></code></pre><p>Error·types·that·now·suggest·correct·arities:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">bad_nowarn_bif_clash</code>,·<code·class="inline">undefined_function</code>.</p><p>Error·types·that·now·suggest·correct·names:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">undefined_on_load</code>,·<code·class="inline">undefined_function</code>,·<code·class="inline">undefined_record</code>,·<code·class="inline">undefined_field</code>,·<code·class="inline">unbound_var</code>.</p><p>Using·a·function·with·wrong·arity·has·higher·precedence·than·having·a·typo·in·the·function·name.·If·the·compiler·can·find·a·defined·function·with·the·same·name·but·a·different·arity,·it·will·not·suggest·a·defined·function·with·a·close-enough·name,·regardless·of·arity.</p><p>Own·Id:·OTP-19180·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8699"·title="">PR-8699</a>,·<a·href="https://github.com/erlang/otp/pull/9094"·title="">PR-9094</a></p></li><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="5364689755-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="[·...·truncated·by·diffoscope;·len:·691,·SHA:·5a8fbea7ccb4ac3a652e9177c0f752ef7419c26c9c793d8d3dcd151312decd4f·...·]-1">]</span><span·class="p">.</span><span·class="w">164 </span><span·class="c1">%·····|·········^</span></code></pre><p>Error·types·that·now·suggest·correct·arities:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">bad_nowarn_bif_clash</code>,·<code·class="inline">undefined_function</code>.</p><p>Error·types·that·now·suggest·correct·names:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">undefined_on_load</code>,·<code·class="inline">undefined_function</code>,·<code·class="inline">undefined_record</code>,·<code·class="inline">undefined_field</code>,·<code·class="inline">unbound_var</code>.</p><p>Using·a·function·with·wrong·arity·has·higher·precedence·than·having·a·typo·in·the·function·name.·If·the·compiler·can·find·a·defined·function·with·the·same·name·but·a·different·arity,·it·will·not·suggest·a·defined·function·with·a·close-enough·name,·regardless·of·arity.</p><p>Own·Id:·OTP-19180·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8699"·title="">PR-8699</a>,·<a·href="https://github.com/erlang/otp/pull/9094"·title="">PR-9094</a></p></li><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9200755248-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="[·...·truncated·by·diffoscope;·len:·691,·SHA:·5a46a12b9c26ea5b06baa6a23a6576b047f06f95a47a199441c55a94a8c898ff·...·]-1">]</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="5364689755-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="5364689755-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>Before·restarting·a·child,·a·supervisor·must·check·if·the·restart·limit·is·reached.·This·adds·a·penalty·to·the·overall·restart·time,·which·should·be·kept·low.·The·algorithm·165 </span><span·class="p"·data-group-id="9200755248-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="9200755248-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>Before·restarting·a·child,·a·supervisor·must·check·if·the·restart·limit·is·reached.·This·adds·a·penalty·to·the·overall·restart·time,·which·should·be·kept·low.·The·algorithm·
166 has·been·optimized·from·2*O(n)·to·O(n)·behavior.</p><p>Own·Id:·OTP-19204·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8261"·title="">PR-8261</a></p></li><li><p>Added·the·possibility·to·configure·shell·docs·column·width·through·the·stdlib·parameter·<a·href="stdlib_app.html#shell_docs_columns"><code·class="inline">shell_docs_columns</code></a>.</p><p>Own·Id:·OTP-19224·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8651"·title="">PR-8651</a></p></li><li><p>The·<a·href="io.html#setopts/2"><code·class="inline">io:setopts/2</code></a>·function·now·accepts·the·<code·class="inline">line_history</code>·option·for·more·explicit·handling·of·when·to·save·shell·history.</p><p>Own·Id:·OTP-19230·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8792"·title="">PR-8792</a></p></li><li><p>The·shell·now·prints·a·help·message·explaining·how·to·interrupt·a·running·command·when·stuck·executing·a·command·for·longer·than·5·seconds.</p><p>Own·Id:·OTP-19231·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8793"·title="">PR-8793</a></p></li><li><p>Binaries·can·now·be·used·as·input·to·<a·href="calendar.html#rfc3339_to_system_time/2"><code·class="inline">calendar:rfc3339_to_system_time/2</code></a>,·and·produced·as·output·of·<a·href="calendar.html#system_time_to_rfc3339/2"><code·class="inline">calendar:system_time_to_rfc3339/2</code></a>.</p><p>Own·Id:·OTP-19250·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8812"·title="">PR-8812</a></p></li><li><p>The·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html#noshell"><code·class="inline">erl·-noshell</code></a>·mode·has·been·updated·to·have·two·sub·modes·called·<code·class="inline">raw</code>·and·<code·class="inline">cooked</code>,·where·<code·class="inline">cooked</code>·is·the·old·default·behaviour·and·<code·class="inline">raw</code>·can·be·used·to·bypass·the·line-editing·support·of·the·native·terminal.·Using·<code·class="inline">raw</code>·mode·it·is·possible·to·read·keystrokes·as·they·happen·without·the·user·having·to·press·Enter.·Also,·the·<code·class="inline">raw</code>·mode·does·not·echo·the·typed·characters·to·stdout.·An·example·of·how·to·create·a·tic-tac-toe·game·using·this·mechanism·is·included·in·<a·href="terminal_interface.html">the·documentation</a>.</p><p>Own·Id:·OTP-19314·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8037"·title="">GH-8037</a></p></li><li><p>Added·<a·href="io.html#get_password/0"><code·class="inline">io:get_password/0</code></a>·that·can·read·passwords·from·stdin·when·in·&quot;raw&quot;·<code·class="inline">-noshell</code>·mode.</p><p>Own·Id:·OTP-19315·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/pull/9006"·title="">PR-9006</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the166 has·been·optimized·from·2*O(n)·to·O(n)·behavior.</p><p>Own·Id:·OTP-19204·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8261"·title="">PR-8261</a></p></li><li><p>Added·the·possibility·to·configure·shell·docs·column·width·through·the·stdlib·parameter·<a·href="stdlib_app.html#shell_docs_columns"><code·class="inline">shell_docs_columns</code></a>.</p><p>Own·Id:·OTP-19224·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8651"·title="">PR-8651</a></p></li><li><p>The·<a·href="io.html#setopts/2"><code·class="inline">io:setopts/2</code></a>·function·now·accepts·the·<code·class="inline">line_history</code>·option·for·more·explicit·handling·of·when·to·save·shell·history.</p><p>Own·Id:·OTP-19230·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8792"·title="">PR-8792</a></p></li><li><p>The·shell·now·prints·a·help·message·explaining·how·to·interrupt·a·running·command·when·stuck·executing·a·command·for·longer·than·5·seconds.</p><p>Own·Id:·OTP-19231·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8793"·title="">PR-8793</a></p></li><li><p>Binaries·can·now·be·used·as·input·to·<a·href="calendar.html#rfc3339_to_system_time/2"><code·class="inline">calendar:rfc3339_to_system_time/2</code></a>,·and·produced·as·output·of·<a·href="calendar.html#system_time_to_rfc3339/2"><code·class="inline">calendar:system_time_to_rfc3339/2</code></a>.</p><p>Own·Id:·OTP-19250·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8812"·title="">PR-8812</a></p></li><li><p>The·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html#noshell"><code·class="inline">erl·-noshell</code></a>·mode·has·been·updated·to·have·two·sub·modes·called·<code·class="inline">raw</code>·and·<code·class="inline">cooked</code>,·where·<code·class="inline">cooked</code>·is·the·old·default·behaviour·and·<code·class="inline">raw</code>·can·be·used·to·bypass·the·line-editing·support·of·the·native·terminal.·Using·<code·class="inline">raw</code>·mode·it·is·possible·to·read·keystrokes·as·they·happen·without·the·user·having·to·press·Enter.·Also,·the·<code·class="inline">raw</code>·mode·does·not·echo·the·typed·characters·to·stdout.·An·example·of·how·to·create·a·tic-tac-toe·game·using·this·mechanism·is·included·in·<a·href="terminal_interface.html">the·documentation</a>.</p><p>Own·Id:·OTP-19314·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8037"·title="">GH-8037</a></p></li><li><p>Added·<a·href="io.html#get_password/0"><code·class="inline">io:get_password/0</code></a>·that·can·read·passwords·from·stdin·when·in·&quot;raw&quot;·<code·class="inline">-noshell</code>·mode.</p><p>Own·Id:·OTP-19315·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/pull/9006"·title="">PR-9006</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the
167 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching167 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching
168 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="6107408625-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="6107408625-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="6107408625-2">}</span><span·class="o">=</span><span·class="n">T</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="6107408625-3">[</span><span·class="p"·data-group-id="6107408625-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6107408625-4">}</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6107408625-5">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6107408625-5">}</span><span·class="p"·data-group-id="6107408625-3">]</span><span·class="p"·data-group-id="6107408625-1">]</span><span·class="p">.</span><span·class="w"> 
169 </span><span·class="p"·data-group-id="6107408625-6">[</span><span·class="p"·data-group-id="6107408625-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6107408625-7">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·340,·SHA:·16ce0c0c7920a12e77f0a08e489279e7479873208812dfd61d78d8d538fb19a1·...·]168 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="2756738923-1">[</span><span·class="n">T</span><span·class[·...·truncated·by·diffoscope;·len:·1002,·SHA:·2b4eba572bb850e6efce8b3207fa3467cb465a775873b39fa7fa8ed0f3b27f7a·...·]
 169 </span><span·class="p"·data-group-id="2756738923-6">[</span><span·class="p"·data-group-id="2756738923-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2756738923-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="2756738923-8">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="2756738923-8">}</span><span·class="p"·data-group-id="2756738923-6">]</span></code></pre><p>If·the·intention·is·that·all·lists·processed·by·a·list·comprehension·must·only
170 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures170 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures
171 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="4053146497-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="4053146497-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·a5297d8d225cf85f46cb932fe559849e71a103f2c96d69473fa9425526cbef54·...·]-1">]</span><span·class="p">.</span><span·class="w">171 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="7807437688-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="7807437688-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·4a6da16fb8db7c37375ec2b01c803881459e5cb3d9b4efbb747f2fa3549c5be0·...·]-1">]</span><span·class="p">.</span><span·class="w">
172 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>New·options·for·suppressing·behaviour·warnings·have·been·added:</p><ul><li><code·class="inline">nowarn_conflicting_behaviours</code></li><li><code·class="inline">nowarn_undefined_behaviour_func</code></li><li><code·class="inline">nowarn_undefined_behaviour</code></li><li><code·class="inline">nowarn_undefined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_optional_callbacks</code></li></ul><p>Own·Id:·OTP-19334·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8985"·title="">GH-8985</a>,·<a·href="https://github.com/erlang/otp/pull/9020"·title="">PR-9020</a></p></li><li><p>The·<a·href="binary.html#join/2"><code·class="inline">join(Binaries,·Separator)</code></a>·function·that·joins·a·list·of·binaries·has·been·added·to·the·<a·href="binary.html"><code·class="inline">binary</code></a>·module.</p><p>Own·Id:·OTP-19337·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8099"·title="">GH-8099</a>,·<a·href="https://github.com/erlang/otp/pull/8100"·title="">PR-8100</a></p></li><li><p>The·<a·href="supervisor.html#which_child/2"><code·class="inline">supervisor:which_child/2</code></a>·function·has·been·added·to·facilitate·getting·the·pid·of·a·sibling··process;·that·is·a·process·under·same·supervisor·as·the·process·that·calls·to·call·the·new·function.</p><p>Own·Id:·OTP-19345·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8976"·title="">PR-8976</a></p></li><li><p>The·function·<a·href="erl_anno.html#set_end_location/2"><code·class="inline">erl_anno:set_end_location/2</code></a>·for·setting·the·end·location·of·a·token·has·been·added.</p><p>Own·Id:·OTP-19354·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8966"·title="">PR-8966</a></p></li><li><p>Added·a·warning·for·calling·non-exported·functions·with·the·remote·function·call·syntax·from·the·same·module,·and·likewise·for·the·remote·fun·syntax.</p><p>Own·Id:·OTP-19371·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9092"·title="">GH-9092</a>,·<a·href="https://github.com/erlang/otp/pull/9095"·title="">PR-9095</a></p></li><li><p>The·<code·class="inline">warn_deprecated_catch</code>·option·enables·warnings·for·use·of·old-style·catch·expressions·on·the·form·<code·class="inline">catch·Expr</code>·instead·of·the·modern·<code·class="inline">try·...·catch·...·end</code>.·To·prevent·new·uses·of·uses·of·old·catches·to·be·added,·this·compiler·option·can·be·enabled·on·the·project·level·and·<code·class="inline">-compile(nowarn_deprecated_catch).</code>·added·to·individual·files·that·still·contain·old·catches.</p><p>Own·Id:·OTP-19425·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9154"·title="">PR-9154</a></p></li><li><p>Module·<a·href="re.html"><code·class="inline">re</code></a>·has·been·updated·to·use·PCRE2,·which·is·mostly·backward·compatible·with·PCRE.</p><p>The·most·noticeable·incompatibilities·are</p><ul><li>The·default·character·encoding·is·pure·ASCII·and·not·Latin1.·Unicode·support172 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>New·options·for·suppressing·behaviour·warnings·have·been·added:</p><ul><li><code·class="inline">nowarn_conflicting_behaviours</code></li><li><code·class="inline">nowarn_undefined_behaviour_func</code></li><li><code·class="inline">nowarn_undefined_behaviour</code></li><li><code·class="inline">nowarn_undefined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_optional_callbacks</code></li></ul><p>Own·Id:·OTP-19334·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8985"·title="">GH-8985</a>,·<a·href="https://github.com/erlang/otp/pull/9020"·title="">PR-9020</a></p></li><li><p>The·<a·href="binary.html#join/2"><code·class="inline">join(Binaries,·Separator)</code></a>·function·that·joins·a·list·of·binaries·has·been·added·to·the·<a·href="binary.html"><code·class="inline">binary</code></a>·module.</p><p>Own·Id:·OTP-19337·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8099"·title="">GH-8099</a>,·<a·href="https://github.com/erlang/otp/pull/8100"·title="">PR-8100</a></p></li><li><p>The·<a·href="supervisor.html#which_child/2"><code·class="inline">supervisor:which_child/2</code></a>·function·has·been·added·to·facilitate·getting·the·pid·of·a·sibling··process;·that·is·a·process·under·same·supervisor·as·the·process·that·calls·to·call·the·new·function.</p><p>Own·Id:·OTP-19345·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8976"·title="">PR-8976</a></p></li><li><p>The·function·<a·href="erl_anno.html#set_end_location/2"><code·class="inline">erl_anno:set_end_location/2</code></a>·for·setting·the·end·location·of·a·token·has·been·added.</p><p>Own·Id:·OTP-19354·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8966"·title="">PR-8966</a></p></li><li><p>Added·a·warning·for·calling·non-exported·functions·with·the·remote·function·call·syntax·from·the·same·module,·and·likewise·for·the·remote·fun·syntax.</p><p>Own·Id:·OTP-19371·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9092"·title="">GH-9092</a>,·<a·href="https://github.com/erlang/otp/pull/9095"·title="">PR-9095</a></p></li><li><p>The·<code·class="inline">warn_deprecated_catch</code>·option·enables·warnings·for·use·of·old-style·catch·expressions·on·the·form·<code·class="inline">catch·Expr</code>·instead·of·the·modern·<code·class="inline">try·...·catch·...·end</code>.·To·prevent·new·uses·of·uses·of·old·catches·to·be·added,·this·compiler·option·can·be·enabled·on·the·project·level·and·<code·class="inline">-compile(nowarn_deprecated_catch).</code>·added·to·individual·files·that·still·contain·old·catches.</p><p>Own·Id:·OTP-19425·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9154"·title="">PR-9154</a></p></li><li><p>Module·<a·href="re.html"><code·class="inline">re</code></a>·has·been·updated·to·use·PCRE2,·which·is·mostly·backward·compatible·with·PCRE.</p><p>The·most·noticeable·incompatibilities·are</p><ul><li>The·default·character·encoding·is·pure·ASCII·and·not·Latin1.·Unicode·support
173 is·still·available·with·options·<code·class="inline">unicode</code>·and·<code·class="inline">ucp</code>.</li><li>Options·<code·class="inline">bsr_anycrlf</code>,·<code·class="inline">bsr_unicode</code>·and·<code·class="inline">{newline,_}</code>·are·only·set·when·a173 is·still·available·with·options·<code·class="inline">unicode</code>·and·<code·class="inline">ucp</code>.</li><li>Options·<code·class="inline">bsr_anycrlf</code>,·<code·class="inline">bsr_unicode</code>·and·<code·class="inline">{newline,_}</code>·are·only·set·when·a
174 regex·is·compiled·and·cannot·be·changed·at·matching·for·precompiled·regex.</li></ul><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19431·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9299"·title="">PR-9299</a>,·<a·href="https://github.com/erlang/otp/pull/9610"·title="">PR-9610</a></p></li><li><p>Defining·a·fun·in·terms·of·an·imported·function·is·not·allowed.·Before·this·release,·the·compiler·would·not·catch·this·kind·of·error·if·the·name·of·the·imported·function·happened·to·be·a·BIF.··Consider·this·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5719636472-1">(</span><span·class="ss">fun_example</span><span·class="p"·data-group-id="5719636472-1">)</span><span·class="p">.</span><span·class="w">174 regex·is·compiled·and·cannot·be·changed·at·matching·for·precompiled·regex.</li></ul><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19431·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9299"·title="">PR-9299</a>,·<a·href="https://github.com/erlang/otp/pull/9610"·title="">PR-9610</a></p></li><li><p>Defining·a·fun·in·terms·of·an·imported·function·is·not·allowed.·Before·this·release,·the·compiler·would·not·catch·this·kind·of·error·if·the·name·of·the·imported·function·happened·to·be·a·BIF.··Consider·this·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4885992894-1">(</span><span·class="ss">fun_example</span><span·class="p"·data-group-id="4885992894-1">)</span><span·class="p">.</span><span·class="w">
175 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5719636472-2">(</span><span·class="p"·data-group-id="5719636472-3">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·a5b5c0eb4cfb3b21a21210dfc05beb9d311e1f3ccd403ec9bf6ecb120eed06e4·...·]-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="4885992894-2">(</span><span·class="p"·data-group-id="4885992894-3">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·503b15ecc4a2d533b9cee7a5942e93dd83c0d107bd8c7851847e5dc2375af34f·...·]-2">)</span><span·class="p">.</span><span·class="w">
176 </span><span·class="p">-</span><span·class="na">import</span><span·class="p"·data-group-id="5719636472-4">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5719636472-5">[</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·192,·SHA:·86d3fa5bd7b138c0f6116fe75ed6865b5a04a251d976e8b7735a609d3036510c·...·]-4">)</span><span·class="p">.</span><span·class="w">176 </span><span·class="p">-</span><span·class="na">import</span><span·class="p"·data-group-id="4885992894-4">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4885992894-5">[</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·192,·SHA:·6dd311619482973f7426568bb5c0945aa04f7c61797f2a0282c3340f5997ce03·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
177 </span><span·class="nf">foo</span><span·class="p"·data-group-id="5719636472-6">(</span><span·class="p"·data-group-id="5719636472-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">177 </span><span·class="nf">foo</span><span·class="p"·data-group-id="4885992894-6">(</span><span·class="p"·data-group-id="4885992894-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
178 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="w">178 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="w">
  
179 </span><span·class="nf">bar</span><span·class="p"·data-group-id="5719636472-7">(</span><span·class="p"·data-group-id="5719636472-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">179 </span><span·class="nf">bar</span><span·class="p"·data-group-id="4885992894-7">(</span><span·class="p"·data-group-id="4885992894-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
180 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">not_a_bif</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span></code></pre><p>The·compiler·in·Erlang/OTP·27·would·generate·the·following·messages:</p><pre><code·class="text">fun_example.erl:9:5:·function·not_a_bif/0·undefined180 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">not_a_bif</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span></code></pre><p>The·compiler·in·Erlang/OTP·27·would·generate·the·following·messages:</p><pre><code·class="text">fun_example.erl:9:5:·function·not_a_bif/0·undefined
181 %····9|·····fun·not_a_bif/0.181 %····9|·····fun·not_a_bif/0.
182 %·····|·····^182 %·····|·····^
  
183 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--183 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--
184 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash184 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash
185 %····3|·-import(m,·[max/2,·not_a_bif/0]).185 %····3|·-import(m,·[max/2,·not_a_bif/0]).
Offset 196, 29 lines modifiedOffset 196, 29 lines modified
196 fun_example.erl:9:5:·creating·a·fun·from·imported·name·not_a_bif/0·is·not·allowed196 fun_example.erl:9:5:·creating·a·fun·from·imported·name·not_a_bif/0·is·not·allowed
197 %····9|·····fun·not_a_bif/0.197 %····9|·····fun·not_a_bif/0.
198 %·····|·····^198 %·····|·····^
  
199 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--199 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--
200 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash200 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash
201 %····3|·-import(m,·[max/2,·not_a_bif/0]).201 %····3|·-import(m,·[max/2,·not_a_bif/0]).
202 %·····|··^</code></pre><p>Also,·attempting·to·call·a·local·function·having·the·same·name·as·auto-imported·BIF·would·result·in·an·error·if·the·BIF·was·added·to·Erlang/OTP·before·R14,·and·a·warning·for·newer·BIFs.·This·has·been·changed·to·always·emit·a·warning.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4356093770-1">(</span><span·class="ss">bif_example</span><span·class="p"·data-group-id="4356093770-1">)</span><span·class="p">.</span><span·class="w">202 %·····|··^</code></pre><p>Also,·attempting·to·call·a·local·function·having·the·same·name·as·auto-imported·BIF·would·result·in·an·error·if·the·BIF·was·added·to·Erlang/OTP·before·R14,·and·a·warning·for·newer·BIFs.·This·has·been·changed·to·always·emit·a·warning.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3182202815-1">(</span><span·class="ss">bif_example</span><span·class="p"·data-group-id="3182202815-1">)</span><span·class="p">.</span><span·class="w">
203 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4356093770-2">(</span><span·class="p"·data-group-id="4356093770-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4356093770-3">]</span><span·class="p"·data-group-id="4356093770-2">)</span><span·class="p">.</span><span·class="w">203 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3182202815-2">(</span><span·class="p"·data-group-id="3182202815-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="3182202815-3">]</span><span·class="p"·data-group-id="3182202815-2">)</span><span·class="p">.</span><span·class="w">
  
204 </span><span·class="nf">bar</span><span·class="p"·data-group-id="4356093770-4">(</span><span·class="n">B</span><span·class="p"·data-group-id="4356093770-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">204 </span><span·class="nf">bar</span><span·class="p"·data-group-id="3182202815-4">(</span><span·class="n">B</span><span·class="p"·data-group-id="3182202815-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
205 ····</span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="4356093770-5">(</span><span·class="n">B</span><span·class="p"·data-group-id="4356093770-5">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="3182202815-5">(</span><span·class="n">B</span><span·class="p"·data-group-id="3182202815-5">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="4356093770-6">(</span><span·class="n">B</span><span·class="p"·data-group-id="4356093770-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 </span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="3182202815-6">(</span><span·class="n">B</span><span·class="p"·data-group-id="3182202815-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ········</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="ow">orelse</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">.</span></code></pre><p>will·now·result·in·the·following·warning·instead·of·an·error:</p><pre><code·class="text">if_example.erl:5:5:·Warning:·ambiguous·call·of·overridden·auto-imported·BIF·is_boolean/1·--207 ········</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="ow">orelse</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">.</span></code></pre><p>will·now·result·in·the·following·warning·instead·of·an·error:</p><pre><code·class="text">if_example.erl:5:5:·Warning:·ambiguous·call·of·overridden·auto-imported·BIF·is_boolean/1·--
208 use·erlang:is_boolean/1·or·&quot;-compile({no_auto_import,[is_boolean/1]}).&quot;·to·resolve·name·clash208 use·erlang:is_boolean/1·or·&quot;-compile({no_auto_import,[is_boolean/1]}).&quot;·to·resolve·name·clash
209 %····5|·····is_boolean(B).209 %····5|·····is_boolean(B).
210 %·····|·····^</code></pre><p>Own·Id:·OTP-19432·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9246"·title="">PR-9246</a></p></li><li><p>It·is·now·possible·to·use·any·base·for·floating·point·numbers·as·described·in·<a·href="https://www.erlang.org/eeps/eep-0075">EEP·75:·Based·Floating·Point·Literals</a>.</p><p>Computers·represent·floating·point·numbers·in·binary,·but·such·numbers·are·typically·printed·using·base·ten,·for·example·0.314159265e1.·To·maintain·exact·bit-level·precision·when·converting·numbers·to·and·from·text,·it·is·better·to·use·a·base·that·matches·the·internally·used·base,·such·as·16·for·a·compact·but·still·exact·representation,·or·2·for·visualizing·or·writing·down·the·exact·internal·format.·One·particular·case·where·such·exact·representations·are·useful·is·in·code·generating·tools.</p><p>Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="mi">2#0</span><span·class="p">.</span><span·class="mi">111</span><span·class="p">.</span><span·class="w">210 %·····|·····^</code></pre><p>Own·Id:·OTP-19432·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9246"·title="">PR-9246</a></p></li><li><p>It·is·now·possible·to·use·any·base·for·floating·point·numbers·as·described·in·<a·href="https://www.erlang.org/eeps/eep-0075">EEP·75:·Based·Floating·Point·Literals</a>.</p><p>Computers·represent·floating·point·numbers·in·binary,·but·such·numbers·are·typically·printed·using·base·ten,·for·example·0.314159265e1.·To·maintain·exact·bit-level·precision·when·converting·numbers·to·and·from·text,·it·is·better·to·use·a·base·that·matches·the·internally·used·base,·such·as·16·for·a·compact·but·still·exact·representation,·or·2·for·visualizing·or·writing·down·the·exact·internal·format.·One·particular·case·where·such·exact·representations·are·useful·is·in·code·generating·tools.</p><p>Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="mi">2#0</span><span·class="p">.</span><span·class="mi">111</span><span·class="p">.</span><span·class="w">
211 </span><span·class="mf">0.875</span><span·class="gp·unselectable">211 </span><span·class="mf">0.875</span><span·class="gp·unselectable">
212 &gt;·</span><span·class="mi">16#fefe</span><span·class="p">.</span><span·class="ss">fefe</span><span·class="o">#</span><span·class="ss">e16</span><span·class="p">.</span><span·class="w">212 &gt;·</span><span·class="mi">16#fefe</span><span·class="p">.</span><span·class="ss">fefe</span><span·class="o">#</span><span·class="ss">e16</span><span·class="p">.</span><span·class="w">
213 </span><span·class="mf">1.2041849337671418e24</span></code></pre><p>Own·Id:·OTP-19452·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9106"·title="">PR-9106</a></p></li><li><p>The·callback·function·<code·class="inline">handle_continue/2</code>·in·<code·class="inline">gen_server</code>·callback·modules·is·now·cached·like·the·others,·thanks·to·code·cleanup·and·optimization·of·the·internal·behaviour·loop.</p><p>This·should·only·improve·performance,·not·affect·functionality.</p><p>Own·Id:·OTP-19474·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9333"·title="">PR-9333</a></p></li><li><p>Encoding·done·by·the·<a·href="json.html"><code·class="inline">json</code></a>·module·has·been·optimized.</p><p>Own·Id:·OTP-19476·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9251"·title="">PR-9251</a></p></li><li><p>There·is·a·new·<a·href="zstd.html"><code·class="inline">zstd</code></a>·module·that·does·<a·href="https://facebook.github.io/zstd/">Zstandard</a>·compression.</p><p>Own·Id:·OTP-19477·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9316"·title="">PR-9316</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>Functions·of·a·module·can·now·be·grouped·in·the·shell·code·completion·by·using·the·<em>group</em>·key·in·the·<em>-doc</em>·attribute·e.g.·<code·class="inline">-doc(#{group=&gt;&lt;&lt;&quot;Public·API&quot;&gt;&gt;).·fetch()-&gt;...</code>.</p><p>Functions,·callbacks·and·types·in·the·module·reference·documentation·of·OTP·is·now·grouped·using·this·feature.</p><p>Own·Id:·OTP-19483·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9408"·title="">PR-9408</a></p></li><li><p>Added·calendar:universal_time_to_system_time/1,2·and·calendar:local_time_to_system_time/1,2</p><p>Own·Id:·OTP-19505·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9445"·title="">PR-9445</a></p></li><li><p>Improve·error·messages·for·<a·href="json.html#decode/1"><code·class="inline">json:decode/1</code></a>.</p><p>Own·Id:·OTP-19508·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9484"·title="">PR-9484</a></p></li><li><p>ETS·<code·class="inline">heir</code>·can·be·set·without·getting·an·<code·class="inline">ETS-TRANSFER</code>·message.·Useful·when·the·heir·is·a·supervisor·process·that·cannot·handle·custom·messages.</p><p>Own·Id:·OTP-19512·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7970"·title="">PR-7970</a></p></li><li><p>Added·support·for·the·Unicode·16·standard.</p><p>Own·Id:·OTP-19516·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9518"·title="">PR-9518</a>,·<a·href="https://github.com/erlang/otp/pull/9141"·title="">PR-9141</a></p></li><li><p>When·documenting·a·function·or·type·that·needs·to·deal·with·durations,·usually·we·can·document·it·as·&quot;time·in·milliseconds&quot;.·Since·the·<code·class="inline">timer</code>·family·of·functions·(<code·class="inline">hms</code>,·<code·class="inline">hours</code>,·<code·class="inline">seconds</code>,·...)·all·return·time·in·milliseconds,·it·is·useful·to·be·able·to·use·this·type·in·type·specifications.</p><p>Own·Id:·OTP-19526·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9515"·title="">PR-9515</a></p></li><li><p>A·new·event·time-out·has·been·implemented·in·<code·class="inline">gen_server</code>,·that·behaves·more·like·the·one·in·<code·class="inline">gen_statem</code>.</p><p>See·the·type·<code·class="inline">gen_server:action/0</code>·for·<code·class="inline">{timeout|hibernate,...}</code>,·and·also·related·functions.</p><p>Own·Id:·OTP-19537·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9287"·title="">PR-9287</a>,·<a·href="https://github.com/erlang/otp/pull/9615"·title="">PR-9615</a>,·<a·href="https://github.com/erlang/otp/pull/9621"·title="">PR-9621</a></p></li><li><p>Line·numbers·used·to·be·reported·in·the·following·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">last</span><span·class="p"·data-group-id="1671624309-1">(</span><span·class="p"·data-group-id="1671624309-2">[</span><span·class="p"·data-group-id="1671624309-2">]</span><span·class="p"·data-group-id="1671624309-1">)</span><span·class="p">.</span><span·class="w">213 </span><span·class="mf">1.2041849337671418e24</span></code></pre><p>Own·Id:·OTP-19452·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9106"·title="">PR-9106</a></p></li><li><p>The·callback·function·<code·class="inline">handle_continue/2</code>·in·<code·class="inline">gen_server</code>·callback·modules·is·now·cached·like·the·others,·thanks·to·code·cleanup·and·optimization·of·the·internal·behaviour·loop.</p><p>This·should·only·improve·performance,·not·affect·functionality.</p><p>Own·Id:·OTP-19474·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9333"·title="">PR-9333</a></p></li><li><p>Encoding·done·by·the·<a·href="json.html"><code·class="inline">json</code></a>·module·has·been·optimized.</p><p>Own·Id:·OTP-19476·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9251"·title="">PR-9251</a></p></li><li><p>There·is·a·new·<a·href="zstd.html"><code·class="inline">zstd</code></a>·module·that·does·<a·href="https://facebook.github.io/zstd/">Zstandard</a>·compression.</p><p>Own·Id:·OTP-19477·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9316"·title="">PR-9316</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>Functions·of·a·module·can·now·be·grouped·in·the·shell·code·completion·by·using·the·<em>group</em>·key·in·the·<em>-doc</em>·attribute·e.g.·<code·class="inline">-doc(#{group=&gt;&lt;&lt;&quot;Public·API&quot;&gt;&gt;).·fetch()-&gt;...</code>.</p><p>Functions,·callbacks·and·types·in·the·module·reference·documentation·of·OTP·is·now·grouped·using·this·feature.</p><p>Own·Id:·OTP-19483·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9408"·title="">PR-9408</a></p></li><li><p>Added·calendar:universal_time_to_system_time/1,2·and·calendar:local_time_to_system_time/1,2</p><p>Own·Id:·OTP-19505·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9445"·title="">PR-9445</a></p></li><li><p>Improve·error·messages·for·<a·href="json.html#decode/1"><code·class="inline">json:decode/1</code></a>.</p><p>Own·Id:·OTP-19508·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9484"·title="">PR-9484</a></p></li><li><p>ETS·<code·class="inline">heir</code>·can·be·set·without·getting·an·<code·class="inline">ETS-TRANSFER</code>·message.·Useful·when·the·heir·is·a·supervisor·process·that·cannot·handle·custom·messages.</p><p>Own·Id:·OTP-19512·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7970"·title="">PR-7970</a></p></li><li><p>Added·support·for·the·Unicode·16·standard.</p><p>Own·Id:·OTP-19516·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9518"·title="">PR-9518</a>,·<a·href="https://github.com/erlang/otp/pull/9141"·title="">PR-9141</a></p></li><li><p>When·documenting·a·function·or·type·that·needs·to·deal·with·durations,·usually·we·can·document·it·as·&quot;time·in·milliseconds&quot;.·Since·the·<code·class="inline">timer</code>·family·of·functions·(<code·class="inline">hms</code>,·<code·class="inline">hours</code>,·<code·class="inline">seconds</code>,·...)·all·return·time·in·milliseconds,·it·is·useful·to·be·able·to·use·this·type·in·type·specifications.</p><p>Own·Id:·OTP-19526·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9515"·title="">PR-9515</a></p></li><li><p>A·new·event·time-out·has·been·implemented·in·<code·class="inline">gen_server</code>,·that·behaves·more·like·the·one·in·<code·class="inline">gen_statem</code>.</p><p>See·the·type·<code·class="inline">gen_server:action/0</code>·for·<code·class="inline">{timeout|hibernate,...}</code>,·and·also·related·functions.</p><p>Own·Id:·OTP-19537·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9287"·title="">PR-9287</a>,·<a·href="https://github.com/erlang/otp/pull/9615"·title="">PR-9615</a>,·<a·href="https://github.com/erlang/otp/pull/9621"·title="">PR-9621</a></p></li><li><p>Line·numbers·used·to·be·reported·in·the·following·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">last</span><span·class="p"·data-group-id="4594593889-1">(</span><span·class="p"·data-group-id="4594593889-2">[</span><span·class="p"·data-group-id="4594593889-2">]</span><span·class="p"·data-group-id="4594593889-1">)</span><span·class="p">.</span><span·class="w">
214 </span><span·class="gt">**·exception·error:·no·function·clause·matching·lists:last([])·(lists.erl,·line·389)</span></code></pre><p>Starting·from·Erlang/OTP·28,·line·numbers·are·now·reported·in·the·following·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">last</span><span·class="p"·data-group-id="2098394685-1">(</span><span·class="p"·data-group-id="2098394685-2">[</span><span·class="p"·data-group-id="2098394685-2">]</span><span·class="p"·data-group-id="2098394685-1">)</span><span·class="p">.</span><span·class="w">214 </span><span·class="gt">**·exception·error:·no·function·clause·matching·lists:last([])·(lists.erl,·line·389)</span></code></pre><p>Starting·from·Erlang/OTP·28,·line·numbers·are·now·reported·in·the·following·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">last</span><span·class="p"·data-group-id="6366956416-1">(</span><span·class="p"·data-group-id="6366956416-2">[</span><span·class="p"·data-group-id="6366956416-2">]</span><span·class="p"·data-group-id="6366956416-1">)</span><span·class="p">.</span><span·class="w">
215 </span><span·class="gt">**·exception·error:·no·function·clause·matching·lists:last([])·(lists.erl:389)</span></code></pre><p>Own·Id:·OTP-19538·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9468"·title="">PR-9468</a></p></li><li><p>Upgrade·pcre2·to·10.45</p><p>Own·Id:·OTP-19541·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9582"·title="">PR-9582</a></p></li><li><p>Added·functions·that·produce·utf-8·binaries·instead·of·iolists.·215 </span><span·class="gt">**·exception·error:·no·function·clause·matching·lists:last([])·(lists.erl:389)</span></code></pre><p>Own·Id:·OTP-19538·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9468"·title="">PR-9468</a></p></li><li><p>Upgrade·pcre2·to·10.45</p><p>Own·Id:·OTP-19541·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9582"·title="">PR-9582</a></p></li><li><p>Added·functions·that·produce·utf-8·binaries·instead·of·iolists.·
216 New·functions·are:·<a·href="io_lib.html#bformat/2"><code·class="inline">io_lib:bformat/2</code></a>,·<a·href="io_lib.html#bformat/3"><code·class="inline">io_lib:bformat/3</code></a>,·<a·href="io_lib.html#bfwrite/2"><code·class="inline">io_lib:bfwrite/2</code></a>,·<a·href="io_lib.html#bfwrite/3"><code·class="inline">io_lib:bfwrite/3</code></a>,·<a·href="io_lib.html#bwrite/2"><code·class="inline">io_lib:bwrite/2</code></a>·and·<a·href="io_lib.html#bwrite_string/3"><code·class="inline">io_lib:bwrite_string/3</code></a>.</p><p>Own·Id:·OTP-19556·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9772"·title="">PR-9772</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>A·list·of·PCRE2·incompatibilities·is·documented·in·a·user's·guide·for·stdlib.</p><p>Own·Id:·OTP-19578·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9705"·title="">PR-9705</a></p></li><li><p>Change·automatic·hibernation·of·static·supervisors·so·that·they·will·hibernate·after·being·idle·for·1·second·instead·of·only·after·starting,·dynamic·supervisors·(simple_one_for_one)·will·not·be·hibernated·at·all.··An·option·to·the·supervisor·is·added·to·make·it·configurable·for·the·application.·This·option·defaults·to·1·second·for·static·supervisors·and·to·infinity·for·the·simple_one_for_one·supervisors.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19597·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9680"·title="">PR-9680</a></p></li></ul><h2·id="stdlib-6-2-2"·class="section-heading">216 New·functions·are:·<a·href="io_lib.html#bformat/2"><code·class="inline">io_lib:bformat/2</code></a>,·<a·href="io_lib.html#bformat/3"><code·class="inline">io_lib:bformat/3</code></a>,·<a·href="io_lib.html#bfwrite/2"><code·class="inline">io_lib:bfwrite/2</code></a>,·<a·href="io_lib.html#bfwrite/3"><code·class="inline">io_lib:bfwrite/3</code></a>,·<a·href="io_lib.html#bwrite/2"><code·class="inline">io_lib:bwrite/2</code></a>·and·<a·href="io_lib.html#bwrite_string/3"><code·class="inline">io_lib:bwrite_string/3</code></a>.</p><p>Own·Id:·OTP-19556·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9772"·title="">PR-9772</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>A·list·of·PCRE2·incompatibilities·is·documented·in·a·user's·guide·for·stdlib.</p><p>Own·Id:·OTP-19578·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9705"·title="">PR-9705</a></p></li><li><p>Change·automatic·hibernation·of·static·supervisors·so·that·they·will·hibernate·after·being·idle·for·1·second·instead·of·only·after·starting,·dynamic·supervisors·(simple_one_for_one)·will·not·be·hibernated·at·all.··An·option·to·the·supervisor·is·added·to·make·it·configurable·for·the·application.·This·option·defaults·to·1·second·for·static·supervisors·and·to·infinity·for·the·simple_one_for_one·supervisors.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19597·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9680"·title="">PR-9680</a></p></li></ul><h2·id="stdlib-6-2-2"·class="section-heading">
217 ··<a·href="#stdlib-6-2-2"·class="hover-link">217 ··<a·href="#stdlib-6-2-2"·class="hover-link">
218 ····<i·class="ri-link-m"·aria-hidden="true"></i>218 ····<i·class="ri-link-m"·aria-hidden="true"></i>
219 ··</a>219 ··</a>
220 ··<span·class="text">STDLIB·6.2.2</span>220 ··<span·class="text">STDLIB·6.2.2</span>
221 </h2>221 </h2>
Offset 250, 33 lines modifiedOffset 250, 33 lines modified
250 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">250 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">
251 ····<i·class="ri-link-m"·aria-hidden="true"></i>251 ····<i·class="ri-link-m"·aria-hidden="true"></i>
252 ··</a>252 ··</a>
253 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>253 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
254 </h3>254 </h3>
255 <ul><li><p>Made·it·possible·to·expand·help·text·displayed·by·pressing·^[h·by·pressing·^[h·again.</p><p>Own·Id:·OTP-19260·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8884"·title="">PR-8884</a></p></li><li><p>Defining·a·fun·in·the·shell·using·the·syntax·<code·class="inline">fun·Name/Arity</code>·would·fail.·This·has·been·corrected·so·that·the·following·now·works:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nb">is_atom</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">255 <ul><li><p>Made·it·possible·to·expand·help·text·displayed·by·pressing·^[h·by·pressing·^[h·again.</p><p>Own·Id:·OTP-19260·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8884"·title="">PR-8884</a></p></li><li><p>Defining·a·fun·in·the·shell·using·the·syntax·<code·class="inline">fun·Name/Arity</code>·would·fail.·This·has·been·corrected·so·that·the·following·now·works:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nb">is_atom</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">
256 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">256 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">
257 &gt;·</span><span·class="n">F</span><span·class="p"·data-group-id="3623088840-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="3623088840-1">)</span><span·class="p">.</span><span·class="w">257 &gt;·</span><span·class="n">F</span><span·class="p"·data-group-id="2655424355-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="2655424355-1">)</span><span·class="p">.</span><span·class="w">
258 </span><span·class="ss">true</span><span·class="gp·unselectable">258 </span><span·class="ss">true</span><span·class="gp·unselectable">
259 3&gt;·</span><span·class="n">Id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">259 3&gt;·</span><span·class="n">Id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">
260 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">260 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">
261 4&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="3623088840-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="3623088840-2">)</span><span·class="p">.</span><span·class="w">261 4&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="2655424355-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="2655424355-2">)</span><span·class="p">.</span><span·class="w">
262 </span><span·class="gt">**·exception·error:·undefined·shell·command·id/1</span><span·class="gp·unselectable">262 </span><span·class="gt">**·exception·error:·undefined·shell·command·id/1</span><span·class="gp·unselectable">
263 5&gt;·</span><span·class="nf">id</span><span·class="p"·data-group-id="3623088840-3">(</span><span·class="n">I</span><span·class="p"·data-group-id="3623088840-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">I</span><span·class="p">.</span><span·class="w">263 5&gt;·</span><span·class="nf">id</span><span·class="p"·data-group-id="2655424355-3">(</span><span·class="n">I</span><span·class="p"·data-group-id="2655424355-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">I</span><span·class="p">.</span><span·class="w">
264 </span><span·class="ss">ok</span><span·class="gp·unselectable">264 </span><span·class="ss">ok</span><span·class="gp·unselectable">
265 6&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="3623088840-4">(</span><span·class="mi">42</span><span·class="p"·data-group-id="3623088840-4">)</span><span·class="p">.</span><span·class="w">265 6&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="2655424355-4">(</span><span·class="mi">42</span><span·class="p"·data-group-id="2655424355-4">)</span><span·class="p">.</span><span·class="w">
266 </span><span·class="mi">42</span></code></pre><p>The·Debugger·has·also·been·corrected·to·correctly·handle·this·syntax·for·a·BIF.</p><p>Own·Id:·OTP-19322·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8963"·title="">GH-8963</a>,·<a·href="https://github.com/erlang/otp/pull/8987"·title="">PR-8987</a></p></li><li><p>Fixed·a·bug·where·completion·of·'fun('·would·cause·the·shell·to·crash.</p><p>Own·Id:·OTP-19351·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9043"·title="">PR-9043</a></p></li><li><p>Fixed·a·bug·causing·the·shell·to·crash·while·trying·to·complete·an·expression·starting·with·a·'/'·or·a·variable·followed·by·'('·or·'/'.·E.g.·Foo/·and·Foo(.</p><p>Own·Id:·OTP-19361·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9078"·title="">PR-9078</a></p></li><li><p><a·href="zip.html#extract/2"><code·class="inline">zip:extract/2</code></a>·with·<code·class="inline">keep_old_files</code>·now·respects·the·<code·class="inline">cwd</code>·option.</p><p>Own·Id:·OTP-19370·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9097"·title="">PR-9097</a>,·<a·href="https://github.com/erlang/otp/issues/9087"·title="">GH-9087</a></p></li><li><p>Fixed·an·error·in·uri_string:percent_decode·spec</p><p>Own·Id:·OTP-19380·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8755"·title="">GH-8755</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">266 </span><span·class="mi">42</span></code></pre><p>The·Debugger·has·also·been·corrected·to·correctly·handle·this·syntax·for·a·BIF.</p><p>Own·Id:·OTP-19322·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8963"·title="">GH-8963</a>,·<a·href="https://github.com/erlang/otp/pull/8987"·title="">PR-8987</a></p></li><li><p>Fixed·a·bug·where·completion·of·'fun('·would·cause·the·shell·to·crash.</p><p>Own·Id:·OTP-19351·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9043"·title="">PR-9043</a></p></li><li><p>Fixed·a·bug·causing·the·shell·to·crash·while·trying·to·complete·an·expression·starting·with·a·'/'·or·a·variable·followed·by·'('·or·'/'.·E.g.·Foo/·and·Foo(.</p><p>Own·Id:·OTP-19361·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9078"·title="">PR-9078</a></p></li><li><p><a·href="zip.html#extract/2"><code·class="inline">zip:extract/2</code></a>·with·<code·class="inline">keep_old_files</code>·now·respects·the·<code·class="inline">cwd</code>·option.</p><p>Own·Id:·OTP-19370·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9097"·title="">PR-9097</a>,·<a·href="https://github.com/erlang/otp/issues/9087"·title="">GH-9087</a></p></li><li><p>Fixed·an·error·in·uri_string:percent_decode·spec</p><p>Own·Id:·OTP-19380·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8755"·title="">GH-8755</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">
267 ··<a·href="#improvements-and-new-features-1"·class="hover-link">267 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
268 ····<i·class="ri-link-m"·aria-hidden="true"></i>268 ····<i·class="ri-link-m"·aria-hidden="true"></i>
269 ··</a>269 ··</a>
270 ··<span·class="text">Improvements·and·New·Features</span>270 ··<span·class="text">Improvements·and·New·Features</span>
271 </h3>271 </h3>
272 <ul><li><p>Updated·shell·docs·to·display·the·type·spec,·that·is,·<code·class="inline">h(erlang,·min,·2)</code>)·now·prints·the·type·spec·and·documentation·in·the·shell.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">h</span><span·class="p"·data-group-id="3376345091-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="3376345091-1">)</span><span·class="p">.</span><span·class="w">272 <ul><li><p>Updated·shell·docs·to·display·the·type·spec,·that·is,·<code·class="inline">h(erlang,·min,·2)</code>)·now·prints·the·type·spec·and·documentation·in·the·shell.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">h</span><span·class="p"·data-group-id="9097452502-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="9097452502-1">)</span><span·class="p">.</span><span·class="w">
273 </span><span·class="w">273 </span><span·class="w">
274 ··</span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">min</span><span·class="p"·data-group-id="3376345091-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="3376345091-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Minimum</span><span·class="w">274 ··</span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">min</span><span·class="p"·data-group-id="9097452502-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="9097452502-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Minimum</span><span·class="w">
275 ···············</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Term1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3376345091-3">(</span><span·class="p"·data-group-id="3376345091-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:·fd110050961626df2d39cbfd24b0f2ed3788401619afb172a60c802feec15440·...·]-5">)</span><span·class="p">.</span><span·class="w">275 ···············</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Term1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="9097452502-3">(</span><span·class="p"·data-group-id="9097452502-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:·9a415f2ecdde24f4e50333524e5adff70676701362d87b28cf71a43cf9931bbd·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
276 ··</span><span·class="n">Returns</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">smallest</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="n">Term1</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="n">Term2</span><span·class="p">.</span><span·class="w">·</span><span·class="n">If</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">terms</span><span·class="w">·</span><span·class="ss">compare</span><span·class="w">·</span><span·class="ss">equal</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="ss">operator</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Term1</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">returned</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-19234·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8544"·title="">GH-8544</a>,·<a·href="https://github.com/erlang/otp/pull/8833"·title="">PR-8833</a></p></li><li><p>The·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:io_device/0"><code·class="inline">file:io_device/0</code></a>·type·has·been·updated·to·clearly·show·the·difference·between·a·<code·class="inline">raw</code>·and·<code·class="inline">cooked</code>·IoDevice.</p><p>Own·Id:·OTP-19301·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8956"·title="">PR-8956</a></p></li><li><p>Added·<a·href="json.html#format_key_value_list/3"><code·class="inline">json:format_key_value_list/3</code></a>·and276 ··</span><span·class="n">Returns</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">smallest</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="n">Term1</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="n">Term2</span><span·class="p">.</span><span·class="w">·</span><span·class="n">If</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">terms</span><span·class="w">·</span><span·class="ss">compare</span><span·class="w">·</span><span·class="ss">equal</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="ss">operator</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Term1</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">returned</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-19234·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8544"·title="">GH-8544</a>,·<a·href="https://github.com/erlang/otp/pull/8833"·title="">PR-8833</a></p></li><li><p>The·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:io_device/0"><code·class="inline">file:io_device/0</code></a>·type·has·been·updated·to·clearly·show·the·difference·between·a·<code·class="inline">raw</code>·and·<code·class="inline">cooked</code>·IoDevice.</p><p>Own·Id:·OTP-19301·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8956"·title="">PR-8956</a></p></li><li><p>Added·<a·href="json.html#format_key_value_list/3"><code·class="inline">json:format_key_value_list/3</code></a>·and
277 <a·href="json.html#format_key_value_list_checked/3"><code·class="inline">json:format_key_value_list_checked/3</code></a>.</p><p>Own·Id:·OTP-19320·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8889"·title="">PR-8889</a></p></li><li><p>Improved·documentation·of·<a·href="../../../../erts-16.0/doc/html/time_correction.html#timers">timers</a>.</p><p>Own·Id:·OTP-19360·Aux·Id:·ERIERL-1149,·<a·href="https://github.com/erlang/otp/pull/9062"·title="">PR-9062</a></p></li><li><p>Added·logging·support·to·<a·href="io.html#t:user/0"><code·class="inline">io:user/0</code></a>,·<a·href="io.html#t:standard_io/0"><code·class="inline">io:standard_io/0</code></a>·and·<a·href="io.html#t:standard_error/0"><code·class="inline">io:standard_error/0</code></a>.·See·<a·href="io.html#setopts/2"><code·class="inline">io:setopts/2</code></a>·for·more·details.</p><p>Own·Id:·OTP-19372·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8947"·title="">PR-8947</a></p></li></ul><h2·id="stdlib-6-1-2"·class="section-heading">277 <a·href="json.html#format_key_value_list_checked/3"><code·class="inline">json:format_key_value_list_checked/3</code></a>.</p><p>Own·Id:·OTP-19320·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8889"·title="">PR-8889</a></p></li><li><p>Improved·documentation·of·<a·href="../../../../erts-16.0/doc/html/time_correction.html#timers">timers</a>.</p><p>Own·Id:·OTP-19360·Aux·Id:·ERIERL-1149,·<a·href="https://github.com/erlang/otp/pull/9062"·title="">PR-9062</a></p></li><li><p>Added·logging·support·to·<a·href="io.html#t:user/0"><code·class="inline">io:user/0</code></a>,·<a·href="io.html#t:standard_io/0"><code·class="inline">io:standard_io/0</code></a>·and·<a·href="io.html#t:standard_error/0"><code·class="inline">io:standard_error/0</code></a>.·See·<a·href="io.html#setopts/2"><code·class="inline">io:setopts/2</code></a>·for·more·details.</p><p>Own·Id:·OTP-19372·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8947"·title="">PR-8947</a></p></li></ul><h2·id="stdlib-6-1-2"·class="section-heading">
278 ··<a·href="#stdlib-6-1-2"·class="hover-link">278 ··<a·href="#stdlib-6-1-2"·class="hover-link">
279 ····<i·class="ri-link-m"·aria-hidden="true"></i>279 ····<i·class="ri-link-m"·aria-hidden="true"></i>
280 ··</a>280 ··</a>
281 ··<span·class="text">STDLIB·6.1.2</span>281 ··<span·class="text">STDLIB·6.1.2</span>
Offset 348, 16 lines modifiedOffset 348, 16 lines modified
348 <a·href="binary.html#split/2"><code·class="inline">binary:split/2,3</code></a></p><p>The·call·<code·class="inline">binary:copy(&lt;&lt;1:1&gt;&gt;,·0)</code>·would·return·an·empty·binary·instead·of·raising·an·exception.·Similarly,·calls·to·<a·href="binary.html#part/2"><code·class="inline">binary:part/2,3</code></a>·attempting·to·extract·0·bytes·at·position·0·of·a·bitstring·would·return·an·empty·binary·instead·of·raising·an·exception.</p><p>Own·Id:·OTP-18743·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7607"·title="">PR-7607</a>,·<a·href="https://github.com/erlang/otp/pull/7628"·title="">PR-7628</a></p></li><li><p>The·documentation·for·the·preprocessor·now·mentions·that·<code·class="inline">defined(Name)</code>·can·be·called·in·the·condition·for·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·directive·to·test·whether·<code·class="inline">Name</code>·is·the·name·of·a·defined·macro.·(This·feature·was·implemented·in·OTP·21.)</p><p>If·a·function·call·in·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·with·a·name·that·is·not·the·name·of·a·guard·BIF,·there·would·not·be·a·compilation·error,·but·would·instead·cause·the·lines·following·the·directive·to·be·skipped.·This·has·now·been·changed·to·be·a·compilation·error.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18784·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7706"·title="">GH-7706</a>,·<a·href="https://github.com/erlang/otp/pull/7726"·title="">PR-7726</a></p></li><li><p><code·class="inline">get_until</code>·requests·using·the·I/O·protocol·now·correctly·return·a·binary·or·list·when·<code·class="inline">eof</code>·is·the·last·item·returned·by·the·callback.</p><p>Own·Id:·OTP-18930·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7993"·title="">PR-7993</a>,·<a·href="https://github.com/erlang/otp/issues/4992"·title="">GH-4992</a></p></li><li><p>The·error·handling·the·<code·class="inline">simple_one_for_one</code>·supervisor·has·been·enhanced.·A·transient·child·returning·<code·class="inline">ignore</code>·will·no·longer·cause·a·crash.</p><p>Also,·automatic·shutdown·has·been·disabled·because·it·does·not·make·sense·for·this·supervisor·type.·That·is·was·allowed·is·considered·a·bug.·Therefore,·we·don't·consider·this·an·incompatible·change.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19029·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8230"·title="">PR-8230</a></p></li><li><p>Fix·shell·expansion·to·not·crash·when·expanding·a·map·with·non-atom·keys·and·to·not·list·zero·arity·functions·when·an·argument·has·been·given.</p><p>Own·Id:·OTP-19073·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8375"·title="">PR-8375</a>,·<a·href="https://github.com/erlang/otp/issues/8366"·title="">GH-8366</a>,·<a·href="https://github.com/erlang/otp/issues/8365"·title="">GH-8365</a>,·<a·href="https://github.com/erlang/otp/issues/8364"·title="">GH-8364</a></p></li></ul><h3·id="improvements-and-new-features-3"·class="section-heading">348 <a·href="binary.html#split/2"><code·class="inline">binary:split/2,3</code></a></p><p>The·call·<code·class="inline">binary:copy(&lt;&lt;1:1&gt;&gt;,·0)</code>·would·return·an·empty·binary·instead·of·raising·an·exception.·Similarly,·calls·to·<a·href="binary.html#part/2"><code·class="inline">binary:part/2,3</code></a>·attempting·to·extract·0·bytes·at·position·0·of·a·bitstring·would·return·an·empty·binary·instead·of·raising·an·exception.</p><p>Own·Id:·OTP-18743·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7607"·title="">PR-7607</a>,·<a·href="https://github.com/erlang/otp/pull/7628"·title="">PR-7628</a></p></li><li><p>The·documentation·for·the·preprocessor·now·mentions·that·<code·class="inline">defined(Name)</code>·can·be·called·in·the·condition·for·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·directive·to·test·whether·<code·class="inline">Name</code>·is·the·name·of·a·defined·macro.·(This·feature·was·implemented·in·OTP·21.)</p><p>If·a·function·call·in·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·with·a·name·that·is·not·the·name·of·a·guard·BIF,·there·would·not·be·a·compilation·error,·but·would·instead·cause·the·lines·following·the·directive·to·be·skipped.·This·has·now·been·changed·to·be·a·compilation·error.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18784·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7706"·title="">GH-7706</a>,·<a·href="https://github.com/erlang/otp/pull/7726"·title="">PR-7726</a></p></li><li><p><code·class="inline">get_until</code>·requests·using·the·I/O·protocol·now·correctly·return·a·binary·or·list·when·<code·class="inline">eof</code>·is·the·last·item·returned·by·the·callback.</p><p>Own·Id:·OTP-18930·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7993"·title="">PR-7993</a>,·<a·href="https://github.com/erlang/otp/issues/4992"·title="">GH-4992</a></p></li><li><p>The·error·handling·the·<code·class="inline">simple_one_for_one</code>·supervisor·has·been·enhanced.·A·transient·child·returning·<code·class="inline">ignore</code>·will·no·longer·cause·a·crash.</p><p>Also,·automatic·shutdown·has·been·disabled·because·it·does·not·make·sense·for·this·supervisor·type.·That·is·was·allowed·is·considered·a·bug.·Therefore,·we·don't·consider·this·an·incompatible·change.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19029·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8230"·title="">PR-8230</a></p></li><li><p>Fix·shell·expansion·to·not·crash·when·expanding·a·map·with·non-atom·keys·and·to·not·list·zero·arity·functions·when·an·argument·has·been·given.</p><p>Own·Id:·OTP-19073·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8375"·title="">PR-8375</a>,·<a·href="https://github.com/erlang/otp/issues/8366"·title="">GH-8366</a>,·<a·href="https://github.com/erlang/otp/issues/8365"·title="">GH-8365</a>,·<a·href="https://github.com/erlang/otp/issues/8364"·title="">GH-8364</a></p></li></ul><h3·id="improvements-and-new-features-3"·class="section-heading">
Max diff block lines reached; 26469/117938 bytes (22.44%) of diff not shown.
684 B
html2text {}
Max HTML report size reached
125 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/orddict.html
    
Offset 138, 21 lines modifiedOffset 138, 21 lines modified
138 ··<a·href="#module-notes"·class="hover-link">138 ··<a·href="#module-notes"·class="hover-link">
139 ····<i·class="ri-link-m"·aria-hidden="true"></i>139 ····<i·class="ri-link-m"·aria-hidden="true"></i>
140 ··</a>140 ··</a>
141 ··<span·class="text">Notes</span>141 ··<span·class="text">Notes</span>
142 </h2>142 </h2>
143 <p><a·href=""·id="notes"></a></p><p>Functions·<a·href="#append/3"><code·class="inline">append/3</code></a>·and·<a·href="#append_list/3"><code·class="inline">append_list/3</code></a>·are143 <p><a·href=""·id="notes"></a></p><p>Functions·<a·href="#append/3"><code·class="inline">append/3</code></a>·and·<a·href="#append_list/3"><code·class="inline">append_list/3</code></a>·are
144 included·so·that·keyed·values·can·be·stored·in·a·list·<em>accumulator</em>,·for144 included·so·that·keyed·values·can·be·stored·in·a·list·<em>accumulator</em>,·for
145 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">D0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="9198231929-1">(</span><span·class="p"·data-group-id="9198231929-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="8349910562-1">(</span><span·class="p"·data-group-id="8349910562-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="9198231929-2">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9198231929-3">[</span><span·class="p"·data-group-id="9198231929-3">]</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·63,·SHA:·1f2374d309ab9d4cf1919e38071d87696837d03dbd183ceafe9a0bf9705d55e3·...·]-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="8349910562-2">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8349910562-3">[</span><span·class="p"·data-group-id="8349910562-3">]</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·63,·SHA:·8f2563d97e322994107c8222c806a739a53c1036530b15b321a9bc91daf9cb26·...·]-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="9198231929-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="9198231929-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="8349910562-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="8349910562-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="9198231929-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="9198231929-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="8349910562-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="8349910562-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="9198231929-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="9198231929-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="8349910562-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="8349910562-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="9198231929-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="9198231929-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="8349910562-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="8349910562-7">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="p"·data-group-id="9198231929-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="9198231929-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="8349910562-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="8349910562-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="0906064132-1">(</span><span·class="p"·data-group-id="0906064132-2">[</span><span·class="p"·data-group-id="0906064132-3">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0906064132-4">[</span><s[·...·truncated·by·diffoscope;·len:·198,·SHA:·f3c42e4f4087308c853780b00c47ab1877f9ac67f72312c110baf4ac1001c772·...·]-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="6718447084-1">(</span><span·class="p"·data-group-id="6718447084-2">[</span><span·class="p"·data-group-id="6718447084-3">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6718447084-4">[</span><s[·...·truncated·by·diffoscope;·len:·198,·SHA:·8deaa81134677c37dd28f3f97cce71a1519e67bb3aad69cb7999abb8df2b8007·...·]-1">)</span><span·class="p">.</span><span·class="w">
533 </span><span·class="p"·data-group-id="0906064132-5">[</span><span·class="p"·data-group-id="0906064132-6">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="0906064132-7">[</span><span·class="p"·data-group-id="0906064132-7">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·3e930601fb3e09d0a77a1597b79751266702420dec5cbe89c37bdca788e2d401·...·]-5">]</span><span·class="gp·unselectable">533 </span><span·class="p"·data-group-id="6718447084-5">[</span><span·class="p"·data-group-id="6718447084-6">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="6718447084-7">[</span><span·class="p"·data-group-id="6718447084-7">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·4f696652668137889980340cf0fdafdd71ba4cf6e2411a4dfe6b55cf64314c1d·...·]-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="0906064132-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="0906064132-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="6718447084-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="6718447084-8">)</span><span·class="p">.</span><span·class="w">
535 </span><span·class="p"·data-group-id="0906064132-9">[</span><span·class="p"·data-group-id="0906064132-10">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="0906064132-11">[</span><span·class="mi">1</span><span·class="p"·data-group-id="0906064132-11">]</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·be3a866543be96de5f72151818633d2dd25e848a0ab278ff26247b13bcffa453·...·]-9">]</span><span·class="gp·unselectable">535 </span><span·class="p"·data-group-id="6718447084-9">[</span><span·class="p"·data-group-id="6718447084-10">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="6718447084-11">[</span><span·class="mi">1</span><span·class="p"·data-group-id="6718447084-11">]</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·cee5fa8d67e90f7a7f84b630acd69d10c3733139e8f9d4b5226223d1670b0a93·...·]-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="0906064132-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="0906064132-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="6718447084-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="6718447084-12">)</span><span·class="p">.</span><span·class="w">
537 </span><span·class="p"·data-group-id="0906064132-13">[</span><span·class="p"·data-group-id="0906064132-14">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="0906064132-15">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·147,·SHA:·3ff25c1003c020ea10d87f92b0abbbe11fb8deb69fcc71fd96e249b17f44b9eb·...·]-13">]</span><span·class="gp·unselectable">537 </span><span·class="p"·data-group-id="6718447084-13">[</span><span·class="p"·data-group-id="6718447084-14">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="6718447084-15">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·147,·SHA:·e7ffbbb8bf6d421459575a71048c84ec1ed5e274f1815e5f7c8a0d9335971250·...·]-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="0906064132-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="0906064132-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="6718447084-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="6718447084-16">)</span><span·class="p">.</span><span·class="w">
539 </span><span·class="p"·data-group-id="0906064132-17">[</span><span·class="p"·data-group-id="0906064132-18">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="0906064132-19">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0906064132-19">]</span><span·class="p"·data-group-id="0906064132-18">}</span><span·class="p">,</span><span·class="p"·data-group-id="0906064132-20">{</span><span·class="ss">y</span><span·class="p">,</span><span·class="p"·data-group-id="0906064132-21">[</span><span·class="mi">3</span><span·class="p"·data-group-id="0906064132-21">]</span><span·class="p"·data-group-id="0906064132-20">}</span><span·class="p"·data-group-id="0906064132-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="2004839301-1">(</span><span·class="p"·data-group-id="2004839301-2">[</span><span·class="p"·data-group-id="2004839301-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="2004839301-3">}</span><span·class="p"·data-group-id="2004839301-2">]</span><span·class="p"·data-group-id="2004839301-1">)</span><span·class="p">.</span><span·class="w"> 
540 </span><span·class="p"·data-group-id="2004839301-4">[</span><span·class="p"·data-group-id="2004839301-5">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">no_list</span><span·class="p"·data-group-id="2004839301-5">}</span><span·class="p"·data-group-id="2004839301-4">]</[·...·truncated·by·diffoscope;·len:·33,·SHA:·b2e352d8309445f25b55be1913f1379d4d74b8b1a31e1190b1cf594ab0bdcba8·...·]">539 </span><span·class="p"·data-group-id="6718447084-17">[</span><span·class="p"·data-group-id="6718447084-18">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="6718447084-19">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·1255,·SHA:·bedce48675c7cf140a0d59bbc4a8d2ab4b750800da6add203988adebd366ed34·...·]">
 540 </span><span·class="p"·data-group-id="9938804912-4">[</span><span·class="p"·data-group-id="9938804912-5">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">no_list</span><span·class="p"·data-group-id="9938804912-5">}</span><span·class="p"·data-group-id="9938804912-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="2004839301-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="2004839301-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="9938804912-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="9938804912-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="2919423865-1">(</span><span·class="p"·data-group-id="2919423865-2">[</span><span·class="p"·data-group-id="2919423865-3">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2919423865-4">[</span><span·class="p"·data-group-id="2919423865-4">]</span><span·class="p"·data-group-id="2919423865-3">}</span><span·class="p"·data-group-id="2919423865-2">]</span><span·class="p"·data-group-id="2919423865-1">)</span><span·class="p">.</span><span·class="w"> 
577 </span><span·class="p"·data-group-id="2919423865-5">[</span><span·class="p"·data-group-id="2919423865-6">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="2919423865-7">[</span><span·class="p"·data-group-id="2919423865[·...·truncated·by·diffoscope;·len:·146,·SHA:·2199867c5e4e774fff48f47ef0f5821730cff4d45ea297c92e6f51e77e176424·...·]">576 not·a·list·of·values.</p><p>See·also·section·<a·href="orddict.html#module-notes">Notes</a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w"[·...·truncated·by·diffoscope;·len:·680,·SHA:·be6fcfb8b9c072fe727f2f6b5838cf136fb8bcb22f70cd90a3783846cb8bf863·...·]">
 577 </span><span·class="p"·data-group-id="4578919337-5">[</span><span·class="p"·data-group-id="4578919337-6">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="4578919337-7">[</span><span·class="p"·data-group-id="4578919337-7">]</span><span·class="p"·data-group-id="4578919337-6">}</span><span·class="p"·data-group-id="4578919337-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="2919423865-8">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2919423865-9">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="291[·...·truncated·by·diffoscope;·len:·139,·SHA:·b897c13e2d78d1c9da63e51249c03ceb7ae56bc1196b3e755d8ae1c10a08142a·...·]-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="4578919337-8">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4578919337-9">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="457[·...·truncated·by·diffoscope;·len:·139,·SHA:·f7ebe12f271b8110e9736516a5eb57cbecb631c89997909d7491f8170c004415·...·]-8">)</span><span·class="p">.</span><span·class="w">
579 </span><span·class="p"·data-group-id="2919423865-10">[</span><span·class="p"·data-group-id="2919423865-11">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="2919423865-12">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·147,·SHA:·b3a2b6c0185cddb123cff1383a2ede136ef07c831c1cf2b9555fc2976c39a49e·...·]-10">]</span><span·class="gp·unselectable">579 </span><span·class="p"·data-group-id="4578919337-10">[</span><span·class="p"·data-group-id="4578919337-11">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="4578919337-12">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·147,·SHA:·ea976960b12abdfdba3723909b37f8fd0404b0aa2b57e018ecc9e82a0d3f945c·...·]-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="2919423865-13">(</span><span·class="ss">y</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2919423865-14">[</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="2[·...·truncated·by·diffoscope;·len:·142,·SHA:·d1e3c3c58e3d3515338bb07209a538665a778525b89d66f912e866cfd6bdd735·...·]-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="4578919337-13">(</span><span·class="ss">y</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4578919337-14">[</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="4[·...·truncated·by·diffoscope;·len:·142,·SHA:·2320a980b22ce275d42628f6a6f8afac04bda948433455eaca0bf607bf3e5168·...·]-13">)</span><span·class="p">.</span><span·class="w">
581 </span><span·class="p"·data-group-id="2919423865-15">[</span><span·class="p"·data-group-id="2919423865-16">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="2919423865-17">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·510,·SHA:·fae62d6624ca57b4b2b4a3eed9b602e1589c8e56b00df9be5e65bb3297339166·...·]-15">]</span></code></pre>581 </span><span·class="p"·data-group-id="4578919337-15">[</span><span·class="p"·data-group-id="4578919337-16">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="4578919337-17">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·510,·SHA:·8b010b0fb4407ac1c8ed60dee92dd907f3407268a2f0a2cb9320f8530d95d2b9·...·]-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="7833211280-1">(</span><span·class="p"·data-group-id="7833211280-2">[</span><span·class="p"·data-group-id="7833211280-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:·993770a04a4f7f6efcadd0c8727c61ed3f7b238bc5490cf8fb880ebf67148525·...·]-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="4968811739-1">(</span><span·class="p"·data-group-id="4968811739-2">[</span><span·class="p"·data-group-id="4968811739-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:·559da470f576c328ab27b4098e73d4d423230a19ad01be5695753ba2757b802e·...·]-1">)</span><span·class="p">.</span><span·class="w">
608 </span><span·class="p"·data-group-id="7833211280-5">[</span><span·class="p"·data-group-id="7833211280-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7833211280-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·8f309d04e69d0d15515d0574482b14cd80ae0199a8b870e7c6ddc64fb2040c26·...·]-5">]</span><span·class="gp·unselectable">608 </span><span·class="p"·data-group-id="4968811739-5">[</span><span·class="p"·data-group-id="4968811739-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4968811739-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·fd7b1ad54cc934c8e0ff4d474e41c28ce5233b6ec2d14daaac5e7ea093f890f3·...·]-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="7833211280-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="7833211280-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="4968811739-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="4968811739-8">)</span><span·class="p">.</span><span·class="w">
610 </span><span·class="p"·data-group-id="7833211280-9">[</span><span·class="p"·data-group-id="7833211280-10">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7833211280-10">}</span><span·class="p"·data-group-id="7833211280-9">]</span></code></pre>610 </span><span·class="p"·data-group-id="4968811739-9">[</span><span·class="p"·data-group-id="4968811739-10">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4968811739-10">}</span><span·class="p"·data-group-id="4968811739-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="9707736344-1">(</span><span·class="p"·data-group-id="9707736344-2">[</span><span·class="p"·data-group-id="9707736344-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:·a52f2dd44a717f943816e0da60170cf445d703bf31619e43b49e312d365432f2·...·]-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="8494958559-1">(</span><span·class="p"·data-group-id="8494958559-2">[</span><span·class="p"·data-group-id="8494958559-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:·b20171ed0c5ff820858343ed383761cc597b36ebe667b1223254cc9f2376e3d9·...·]-1">)</span><span·class="p">.</span><span·class="w">
639 </span><span·class="p"·data-group-id="9707736344-5">[</span><span·class="p"·data-group-id="9707736344-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="9707736344-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·9e2941fbf066996ffd566eeeee7832049f312f94d1684990bc604787b1fd66ad·...·]-5">]</span><span·class="gp·unselectable">639 </span><span·class="p"·data-group-id="8494958559-5">[</span><span·class="p"·data-group-id="8494958559-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8494958559-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·eea6bd31b39e297295c42a2c82c6eefc45137f32a3b2ff7b90a8f6a8a9af9af7·...·]-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="9707736344-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="9707736344-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="8494958559-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="8494958559-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="9707736344-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="9707736344-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="8494958559-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="8494958559-9">)</span><span·class="p">.</span><span·class="w">
643 </span><span·class="gt">**·exception·error:·no·function·clause·matching·orddict:fetch(missing,[])</span></code></pre>643 </span><span·class="gt">**·exception·error:·no·function·clause·matching·orddict:fetch(missing,[])</span></code></pre>
644 ··</section>644 ··</section>
645 </section>645 </section>
646 <section·class="detail"·id="fetch_keys/1">646 <section·class="detail"·id="fetch_keys/1">
  
647 ··<div·class="detail-header">647 ··<div·class="detail-header">
648 ····<a·href="#fetch_keys/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">648 ····<a·href="#fetch_keys/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 665, 18 lines modifiedOffset 665, 18 lines modified
  
665 ······<div·class="specs">665 ······<div·class="specs">
  
666 ··········<pre·translate="no"><span·class="attribute">-spec</span>·fetch_keys(Orddict)·->·Keys·when·Orddict·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()),·Keys·::·[Key].</pre>666 ··········<pre·translate="no"><span·class="attribute">-spec</span>·fetch_keys(Orddict)·->·Keys·when·Orddict·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()),·Keys·::·[Key].</pre>
  
667 ······</div>667 ······</div>
  
668 <p>Returns·a·list·of·all·keys·in·a·dictionary.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="4133139976-1">(</span><span·class="p"·data-group-id="4133139976-2">[</span><span·class="p"·data-group-id="4133139976-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:·5b271d69f388e0447f1f0d65d1e88f038a6731eb0da25eb6c152f44a55ab08a1·...·]-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="6203557514-1">(</span><span·class="p"·data-group-id="6203557514-2">[</span><span·class="p"·data-group-id="6203557514-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:·5f4d66bf1dd2905fa4d46a366923f1710fc4305709713a83786310d6eb64ba6d·...·]-1">)</span><span·class="p">.</span><span·class="w">
669 </span><span·class="p"·data-group-id="4133139976-5">[</span><span·class="p"·data-group-id="4133139976-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4133139976-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·97654b4be21c32dab9f503213563098d597e2501d7bf4ba3a76930e70924b11b·...·]-5">]</span><span·class="gp·unselectable">669 </span><span·class="p"·data-group-id="6203557514-5">[</span><span·class="p"·data-group-id="6203557514-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6203557514-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·e0e7976a9804988f5db61f04133fcfe88f32f49b8996a730db564b39f04a9f2c·...·]-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="4133139976-8">(</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="4133139976-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="6203557514-8">(</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="6203557514-8">)</span><span·class="p">.</span><span·class="w">
671 </span><span·class="p"·data-group-id="4133139976-9">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="4133139976-9">]</span></code></pre>671 </span><span·class="p"·data-group-id="6203557514-9">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="6203557514-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>
Max diff block lines reached; 82503/126981 bytes (64.97%) of diff not shown.
657 B
html2text {}
Max HTML report size reached
99.0 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/ordsets.html
    
Offset 468, 22 lines modifiedOffset 468, 22 lines modified
  
468 <p>Returns·a·new·ordered·set·formed·from·<code·class="inline">Ordset1</code>·with·<code·class="inline">Element</code>·inserted.</p><h2·id="add_element/2-examples"·class="section-heading">468 <p>Returns·a·new·ordered·set·formed·from·<code·class="inline">Ordset1</code>·with·<code·class="inline">Element</code>·inserted.</p><h2·id="add_element/2-examples"·class="section-heading">
469 ··<a·href="#add_element/2-examples"·class="hover-link">469 ··<a·href="#add_element/2-examples"·class="hover-link">
470 ····<i·class="ri-link-m"·aria-hidden="true"></i>470 ····<i·class="ri-link-m"·aria-hidden="true"></i>
471 ··</a>471 ··</a>
472 ··<span·class="text">Examples</span>472 ··<span·class="text">Examples</span>
473 </h2>473 </h2>
474 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="3421925196-1">(</span><span·class="p"·data-group-id="3421925196-1">)</span><span·class="p">.</span><span·class="w">474 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="0247498768-1">(</span><span·class="p"·data-group-id="0247498768-1">)</span><span·class="p">.</span><span·class="w">
475 </span><span·class="p"·data-group-id="3421925196-2">[</span><span·class="p"·data-group-id="3421925196-2">]</span><span·class="gp·unselectable">475 </span><span·class="p"·data-group-id="0247498768-2">[</span><span·class="p"·data-group-id="0247498768-2">]</span><span·class="gp·unselectable">
476 2&gt;·</span><span·class="n">S1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="3421925196-3">(</span><span·class="mi">7</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S0</span><span·class="p"·data-group-id="3421925196-3">)</span><span·class="p">.</span><span·class="w">476 2&gt;·</span><span·class="n">S1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="0247498768-3">(</span><span·class="mi">7</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S0</span><span·class="p"·data-group-id="0247498768-3">)</span><span·class="p">.</span><span·class="w">
477 </span><span·class="p"·data-group-id="3421925196-4">[</span><span·class="mi">7</span><span·class="p"·data-group-id="3421925196-4">]</span><span·class="gp·unselectable">477 </span><span·class="p"·data-group-id="0247498768-4">[</span><span·class="mi">7</span><span·class="p"·data-group-id="0247498768-4">]</span><span·class="gp·unselectable">
478 3&gt;·</span><span·class="n">S2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="3421925196-5">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="3421925196-5">)</span><span·class="p">.</span><span·class="w">478 3&gt;·</span><span·class="n">S2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="0247498768-5">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="0247498768-5">)</span><span·class="p">.</span><span·class="w">
479 </span><span·class="p"·data-group-id="3421925196-6">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="3421925196-6">]</span><span·class="gp·unselectable">479 </span><span·class="p"·data-group-id="0247498768-6">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="0247498768-6">]</span><span·class="gp·unselectable">
480 4&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="3421925196-7">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S2</span><span·class="p"·data-group-id="3421925196-7">)</span><span·class="p">.</span><span·class="w">480 4&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="0247498768-7">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S2</span><span·class="p"·data-group-id="0247498768-7">)</span><span·class="p">.</span><span·class="w">
481 </span><span·class="p"·data-group-id="3421925196-8">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="3421925196-8">]</span></code></pre>481 </span><span·class="p"·data-group-id="0247498768-8">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="0247498768-8">]</span></code></pre>
482 ··</section>482 ··</section>
483 </section>483 </section>
484 <section·class="detail"·id="del_element/2">484 <section·class="detail"·id="del_element/2">
  
485 ··<div·class="detail-header">485 ··<div·class="detail-header">
486 ····<a·href="#del_element/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">486 ····<a·href="#del_element/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
487 ······<i·class="ri-link-m"·aria-hidden="true"></i>487 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 508, 19 lines modifiedOffset 508, 19 lines modified
  
508 <p>Returns·a·copy·of·<code·class="inline">Ordset1</code>·with·<code·class="inline">Element</code>·removed.</p><h2·id="del_element/2-examples"·class="section-heading">508 <p>Returns·a·copy·of·<code·class="inline">Ordset1</code>·with·<code·class="inline">Element</code>·removed.</p><h2·id="del_element/2-examples"·class="section-heading">
509 ··<a·href="#del_element/2-examples"·class="hover-link">509 ··<a·href="#del_element/2-examples"·class="hover-link">
510 ····<i·class="ri-link-m"·aria-hidden="true"></i>510 ····<i·class="ri-link-m"·aria-hidden="true"></i>
511 ··</a>511 ··</a>
512 ··<span·class="text">Examples</span>512 ··<span·class="text">Examples</span>
513 </h2>513 </h2>
514 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="2130710560-1">(</span><span·class="p"·data-group-id="2130710560-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="2130710560-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·23aa4d669ca563731b946d1ced20f8ed761f9c3e13cc02d2585a4a70f74e8a6a·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">514 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="9106990937-1">(</span><span·class="p"·data-group-id="9106990937-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="9106990937-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·1462f440d55e2c606505bf44242792b96283bbe58e6c27bea473f5ff8b824905·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
515 2&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="2130710560-3">(</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="2130710560-3">)</span><span·class="p">.</span><span·class="w">515 2&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="9106990937-3">(</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="9106990937-3">)</span><span·class="p">.</span><span·class="w">
516 </span><span·class="p"·data-group-id="2130710560-4">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="2130710560-4">]</span><span·class="gp·unselectable">516 </span><span·class="p"·data-group-id="9106990937-4">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="9106990937-4">]</span><span·class="gp·unselectable">
517 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="2130710560-5">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="2130710560-5">)</span><span·class="p">.</span><span·class="w">517 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="9106990937-5">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="9106990937-5">)</span><span·class="p">.</span><span·class="w">
518 </span><span·class="p"·data-group-id="2130710560-6">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="2130710560-6">]</span></code></pre>518 </span><span·class="p"·data-group-id="9106990937-6">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="9106990937-6">]</span></code></pre>
519 ··</section>519 ··</section>
520 </section>520 </section>
521 <section·class="detail"·id="filter/2">521 <section·class="detail"·id="filter/2">
  
522 ··<div·class="detail-header">522 ··<div·class="detail-header">
523 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">523 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
524 ······<i·class="ri-link-m"·aria-hidden="true"></i>524 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 546, 18 lines modifiedOffset 546, 18 lines modified
  
546 <p>Filters·elements·in·<code·class="inline">Ordset1</code>·using·predicate·function·<code·class="inline">Pred</code>.</p><h2·id="filter/2-examples"·class="section-heading">546 <p>Filters·elements·in·<code·class="inline">Ordset1</code>·using·predicate·function·<code·class="inline">Pred</code>.</p><h2·id="filter/2-examples"·class="section-heading">
547 ··<a·href="#filter/2-examples"·class="hover-link">547 ··<a·href="#filter/2-examples"·class="hover-link">
548 ····<i·class="ri-link-m"·aria-hidden="true"></i>548 ····<i·class="ri-link-m"·aria-hidden="true"></i>
549 ··</a>549 ··</a>
550 ··<span·class="text">Examples</span>550 ··<span·class="text">Examples</span>
551 </h2>551 </h2>
552 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="3847184117-1">(</span><span·class="p"·data-group-id="3847184117-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·232,·SHA:·08a0feaa9c5c55324d76e353a7be32db0b4ba0a216f696d59868703b792aa854·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">552 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="6473186062-1">(</span><span·class="p"·data-group-id="6473186062-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·232,·SHA:·f4c3c1b8939497029fc496d0a44d52707aeacbf62c98b0cae5e1194ee8e19a78·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
553 2&gt;·</span><span·class="n">IsEven</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3847184117-3">(</span><span·class="n">N</span><span·class="p"·data-group-id="3847184117-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">553 2&gt;·</span><span·class="n">IsEven</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="6473186062-3">(</span><span·class="n">N</span><span·class="p"·data-group-id="6473186062-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">
554 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">filter</span><span·class="p"·data-group-id="3847184117-4">(</span><span·class="n">IsEven</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="3847184117-4">)</span><span·class="p">.</span><span·class="w">554 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">filter</span><span·class="p"·data-group-id="6473186062-4">(</span><span·class="n">IsEven</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="6473186062-4">)</span><span·class="p">.</span><span·class="w">
555 </span><span·class="p"·data-group-id="3847184117-5">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="3847184117-5">]</span></code></pre>555 </span><span·class="p"·data-group-id="6473186062-5">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="6473186062-5">]</span></code></pre>
556 ··</section>556 ··</section>
557 </section>557 </section>
558 <section·class="detail"·id="filtermap/2">558 <section·class="detail"·id="filtermap/2">
  
559 ··<div·class="detail-header">559 ··<div·class="detail-header">
560 ····<a·href="#filtermap/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">560 ····<a·href="#filtermap/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
561 ······<i·class="ri-link-m"·aria-hidden="true"></i>561 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 584, 30 lines modifiedOffset 584, 30 lines modified
584 ·······················Ordset2·::·<a·href="#t:ordset/1">ordset</a>(T1·|·T2).</pre>584 ·······················Ordset2·::·<a·href="#t:ordset/1">ordset</a>(T1·|·T2).</pre>
  
585 ······</div>585 ······</div>
  
586 <p>Calls·<code·class="inline">Fun(Elem)</code>·for·each·<code·class="inline">Elem</code>·of·<code·class="inline">Ordset1</code>·to·update·or·remove586 <p>Calls·<code·class="inline">Fun(Elem)</code>·for·each·<code·class="inline">Elem</code>·of·<code·class="inline">Ordset1</code>·to·update·or·remove
587 elements·from·<code·class="inline">Ordset1</code>.</p><p><code·class="inline">Fun/1</code>·must·return·either·a·Boolean·or·a·tuple·<code·class="inline">{true,·Value}</code>.·The587 elements·from·<code·class="inline">Ordset1</code>.</p><p><code·class="inline">Fun/1</code>·must·return·either·a·Boolean·or·a·tuple·<code·class="inline">{true,·Value}</code>.·The
588 function·returns·the·set·of·elements·for·which·<code·class="inline">Fun</code>·returns·a·new588 function·returns·the·set·of·elements·for·which·<code·class="inline">Fun</code>·returns·a·new
589 value,·with·<code·class="inline">true</code>·being·equivalent·to·<code·class="inline">{true,·Elem}</code>.</p><p><a·href="#filtermap/2"><code·class="inline">ordsets:filtermap/2</code></a>·behaves·as·if·it·were·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">filtermap</span><span·class="p"·data-group-id="4394686103-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ordset1</span><span·class="p"·data-group-id="4394686103-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">589 value,·with·<code·class="inline">true</code>·being·equivalent·to·<code·class="inline">{true,·Elem}</code>.</p><p><a·href="#filtermap/2"><code·class="inline">ordsets:filtermap/2</code></a>·behaves·as·if·it·were·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">filtermap</span><span·class="p"·data-group-id="8712990307-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ordset1</span><span·class="p"·data-group-id="8712990307-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
590 ····</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="4394686103-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="4394686103-3">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ordse[·...·truncated·by·diffoscope;·len:·103,·SHA:·f5434c7e920b12ddbfce2b359f48d9a4bb76ca18dbfd04954b192c5040928467·...·]-2">)</span><span·class="p">.</span></code></pre><h2·id="filtermap/2-examples"·class="section-heading">590 ····</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="8712990307-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="8712990307-3">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ordse[·...·truncated·by·diffoscope;·len:·103,·SHA:·242730567ee3d09b4ef0f4a658e659188564358321a98ec44196385779e81d5c·...·]-2">)</span><span·class="p">.</span></code></pre><h2·id="filtermap/2-examples"·class="section-heading">
591 ··<a·href="#filtermap/2-examples"·class="hover-link">591 ··<a·href="#filtermap/2-examples"·class="hover-link">
592 ····<i·class="ri-link-m"·aria-hidden="true"></i>592 ····<i·class="ri-link-m"·aria-hidden="true"></i>
593 ··</a>593 ··</a>
594 ··<span·class="text">Examples</span>594 ··<span·class="text">Examples</span>
595 </h2>595 </h2>
596 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="2569904313-1">(</span><span·class="p"·data-group-id="2569904313-2">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·cla[·...·truncated·by·diffoscope;·len:·183,·SHA:·a05da6596844efb2a52680eb411f1dd3ed44f3a1c49f01171783df06dc62d673·...·]-1">)</span><span·class="gp·unselectable">596 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="5095186185-1">(</span><span·class="p"·data-group-id="5095186185-2">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·cla[·...·truncated·by·diffoscope;·len:·183,·SHA:·36e5b399095574cfff04628063ba49f1e0dc0ef9529707ecf9832b8628dbf740·...·]-1">)</span><span·class="gp·unselectable">
597 2&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="2569904313-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="2569904313-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">597 2&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="5095186185-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="5095186185-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
598 ···········</span><span·class="k">case</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="k">of</span><span·class="w">598 ···········</span><span·class="k">case</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
599 ···············</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2569904313-4">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="256[·...·truncated·by·diffoscope;·len:·7,·SHA:·dfbe8249ef103138f58d4b525c1aa726324fe7782d7fa47986215b6b07743cf4·...·]-4">}</span><span·class="p">;</span><span·class="w">599 ···············</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5095186185-4">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="509[·...·truncated·by·diffoscope;·len:·7,·SHA:·c7684a6a0c60d0decac66783013d72121b6607402aff681e666f52528293c4e6·...·]-4">}</span><span·class="p">;</span><span·class="w">
600 ···············</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">600 ···············</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">
601 ···········</span><span·class="k">end</span><span·class="w">601 ···········</span><span·class="k">end</span><span·class="w">
602 ········</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">602 ········</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">
603 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="2569904313-5">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="2569904313-5">)</span><span·class="p">.</span><span·class="w">603 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="5095186185-5">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="5095186185-5">)</span><span·class="p">.</span><span·class="w">
604 </span><span·class="p"·data-group-id="2569904313-6">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="2569904313-6">]</span></code></pre>604 </span><span·class="p"·data-group-id="5095186185-6">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="5095186185-6">]</span></code></pre>
605 ··</section>605 ··</section>
606 </section>606 </section>
607 <section·class="detail"·id="fold/3">607 <section·class="detail"·id="fold/3">
  
608 ··<div·class="detail-header">608 ··<div·class="detail-header">
609 ····<a·href="#fold/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">609 ····<a·href="#fold/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
610 ······<i·class="ri-link-m"·aria-hidden="true"></i>610 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 637, 17 lines modifiedOffset 637, 17 lines modified
637 <p>Folds·<code·class="inline">Function</code>·over·every·element·in·<code·class="inline">Ordset</code>·and·returns·the·final·value·of637 <p>Folds·<code·class="inline">Function</code>·over·every·element·in·<code·class="inline">Ordset</code>·and·returns·the·final·value·of
638 the·accumulator.</p><h2·id="fold/3-examples"·class="section-heading">638 the·accumulator.</p><h2·id="fold/3-examples"·class="section-heading">
639 ··<a·href="#fold/3-examples"·class="hover-link">639 ··<a·href="#fold/3-examples"·class="hover-link">
640 ····<i·class="ri-link-m"·aria-hidden="true"></i>640 ····<i·class="ri-link-m"·aria-hidden="true"></i>
641 ··</a>641 ··</a>
642 ··<span·class="text">Examples</span>642 ··<span·class="text">Examples</span>
643 </h2>643 </h2>
644 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="0371235451-1">(</span><span·class="p"·data-group-id="0371235451-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·85,·SHA:·226b8ad8bdf8d67886e6002c8ca3ba1159da1200ab35578c53461c8cce73c6bf·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">644 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7284742342-1">(</span><span·class="p"·data-group-id="7284742342-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·85,·SHA:·51b28b62d6102ffb6e99b431b5b25f8d4d93178c31f849a2eca124bd7755da46·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
645 2&gt;·</span><span·class="n">Plus</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="ss">&#39;+&#39;</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="gp·unselectable">645 2&gt;·</span><span·class="n">Plus</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="ss">&#39;+&#39;</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="gp·unselectable">
646 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">fold</span><span·class="p"·data-group-id="0371235451-3">(</span><span·class="n">Plus</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="0371235451-3">)</span><span·class="p">.</span><span·class="w">646 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">fold</span><span·class="p"·data-group-id="7284742342-3">(</span><span·class="n">Plus</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="7284742342-3">)</span><span·class="p">.</span><span·class="w">
647 </span><span·class="mi">10</span></code></pre>647 </span><span·class="mi">10</span></code></pre>
648 ··</section>648 ··</section>
649 </section>649 </section>
650 <section·class="detail"·id="from_list/1">650 <section·class="detail"·id="from_list/1">
  
651 ··<div·class="detail-header">651 ··<div·class="detail-header">
652 ····<a·href="#from_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">652 ····<a·href="#from_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 672, 16 lines modifiedOffset 672, 16 lines modified
  
672 <p>Returns·an·ordered·set·of·the·elements·in·<code·class="inline">List</code>.</p><h2·id="from_list/1-examples"·class="section-heading">672 <p>Returns·an·ordered·set·of·the·elements·in·<code·class="inline">List</code>.</p><h2·id="from_list/1-examples"·class="section-heading">
673 ··<a·href="#from_list/1-examples"·class="hover-link">673 ··<a·href="#from_list/1-examples"·class="hover-link">
674 ····<i·class="ri-link-m"·aria-hidden="true"></i>674 ····<i·class="ri-link-m"·aria-hidden="true"></i>
675 ··</a>675 ··</a>
676 ··<span·class="text">Examples</span>676 ··<span·class="text">Examples</span>
677 </h2>677 </h2>
678 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="5842410973-1">(</span><span·class="p"·data-group-id="5842410973-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·clas[·...·truncated·by·diffoscope;·len:·182,·SHA:·042f1f986fe66e86352bd69e6c73583602383e2d68203a184079be7c86cc879d·...·]-1">)</span><span·class="p">.</span><span·class="w">678 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="5667241169-1">(</span><span·class="p"·data-group-id="5667241169-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·clas[·...·truncated·by·diffoscope;·len:·182,·SHA:·0988297dd89892d70f568cc0bf78e7c539662ef1079851313bae28a1785a4104·...·]-1">)</span><span·class="p">.</span><span·class="w">
679 </span><span·class="p"·data-group-id="5842410973-3">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="5842410973-3">]</span></code></pre>679 </span><span·class="p"·data-group-id="5667241169-3">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="5667241169-3">]</span></code></pre>
680 ··</section>680 ··</section>
681 </section>681 </section>
682 <section·class="detail"·id="intersection/1">682 <section·class="detail"·id="intersection/1">
  
683 ··<div·class="detail-header">683 ··<div·class="detail-header">
684 ····<a·href="#intersection/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">684 ····<a·href="#intersection/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
685 ······<i·class="ri-link-m"·aria-hidden="true"></i>685 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Max diff block lines reached; 71998/100724 bytes (71.48%) of diff not shown.
513 B
html2text {}
Max HTML report size reached
91.7 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/peer.html
    
Offset 157, 135 lines modifiedOffset 157, 135 lines modified
157 employs·a·number·of·techniques·to·speed·up·testing·and·reliably·shut·down·peer157 employs·a·number·of·techniques·to·speed·up·testing·and·reliably·shut·down·peer
158 nodes:</p><ul><li>peers·start·linked·to·test·runner·process.·If·the·test·case·fails,·the·peer158 nodes:</p><ul><li>peers·start·linked·to·test·runner·process.·If·the·test·case·fails,·the·peer
159 node·is·stopped·automatically,·leaving·no·rogue·nodes·running·in·the159 node·is·stopped·automatically,·leaving·no·rogue·nodes·running·in·the
160 background</li><li>arguments·used·to·start·the·peer·are·saved·in·the·control·process·state·for160 background</li><li>arguments·used·to·start·the·peer·are·saved·in·the·control·process·state·for
161 manual·analysis.·If·the·test·case·fails,·the·CRASH·REPORT·contains·these161 manual·analysis.·If·the·test·case·fails,·the·CRASH·REPORT·contains·these
162 arguments</li><li>multiple·test·cases·can·run·concurrently·speeding·up·overall·testing·process,162 arguments</li><li>multiple·test·cases·can·run·concurrently·speeding·up·overall·testing·process,
163 peer·node·names·are·unique·even·when·there·are·multiple·instances·of·the·same163 peer·node·names·are·unique·even·when·there·are·multiple·instances·of·the·same
164 test·suite·running·in·parallel</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3415691085-1">(</span><span·class="ss">my_SUITE</span><span·class="p"·data-group-id="3415691085-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="1394752094-1">(</span><span·class="ss">my_SUITE</span><span·class="p"·data-group-id="1394752094-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="3415691085-2">(</span><span·class="ss">ct_suite</span><span·class="p"·data-group-id="3415691085-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="1394752094-2">(</span><span·class="ss">ct_suite</span><span·class="p"·data-group-id="1394752094-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="3415691085-3">(</span><span·class="p"·data-group-id="3415691085-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:·127f8c3093b10ead8d673cac23f6a915e2ecf316ecf197b5c5ca164681340d2f·...·]-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="1394752094-3">(</span><span·class="p"·data-group-id="1394752094-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:·9167552584fbdd045d91f4a9db273accb7022ee05e381c4094b03a6661457439·...·]-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="3415691085-5">(</span><span·class="p"·data-group-id="3415691085-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:·fa02123904b0336ce104985cedfedae499c586c6d16662128e1875edab35fa35·...·]-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="1394752094-5">(</span><span·class="p"·data-group-id="1394752094-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:·165c380b9975dc98fb931c9b33f5d3ca522e5c58a7a4dc65c3d8c694beb73b2c·...·]-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="3415691085-7">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="3415691085-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="1394752094-7">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="1394752094-7">)</span><span·class="p">.</span><span·class="w">
  
170 </span><span·class="nf">groups</span><span·class="p"·data-group-id="3415691085-8">(</span><span·class="p"·data-group-id="3415691085-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="1394752094-8">(</span><span·class="p"·data-group-id="1394752094-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
171 ····</span><span·class="p"·data-group-id="3415691085-9">[</span><span·class="p"·data-group-id="3415691085-10">{</span><span·class="ss">quick</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3415691085-11">[</span><span·class="ss">parallel</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·2407735349457a0be5c7ceb595f0b7305186ef72a27df67afc679e54bf90b125·...·]-11">]</span><span·class="p">,</span><span·class="w">171 ····</span><span·class="p"·data-group-id="1394752094-9">[</span><span·class="p"·data-group-id="1394752094-10">{</span><span·class="ss">quick</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1394752094-11">[</span><span·class="ss">parallel</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·2bf324ccf72d40e62728bb0f01bc217cc5003fc3f764a532991e5968a2423ac8·...·]-11">]</span><span·class="p">,</span><span·class="w">
172 ········</span><span·class="p"·data-group-id="3415691085-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:·37e2853cd77295975f1951948471c06b459bed7668741b344e4109a0a43daf1d·...·]-9">]</span><span·class="p">.</span><span·class="w">172 ········</span><span·class="p"·data-group-id="1394752094-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:·0448c8861f72327b0f950a99e7e405d4b3ba90e67232c437d37159eacfe02062·...·]-9">]</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="nf">all</span><span·class="p"·data-group-id="3415691085-13">(</span><span·class="p"·data-group-id="3415691085-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="1394752094-13">(</span><span·class="p"·data-group-id="1394752094-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ····</span><span·class="p"·data-group-id="3415691085-14">[</span><span·class="p"·data-group-id="3415691085-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="3415691085-15">}</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·dea6ae14affc4c17ba7932f2bc82ed18479481be7393bc5d6f2f717eef09fabc·...·]-14">]</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="p"·data-group-id="1394752094-14">[</span><span·class="p"·data-group-id="1394752094-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="1394752094-15">}</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·15b5edee68f8b5c6a3cdd8484ded07116649697bebb7982e23696bc93a33655c·...·]-14">]</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">basic</span><span·class="p"·data-group-id="3415691085-16">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3415691085-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="3415691085-17[·...·truncated·by·diffoscope;·len:·80,·SHA:·c5ce46defcf0e250cf71be310cdcee9fefa34a9eac42886544ccf2ae1d4a59e0·...·]-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="1394752094-16">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1394752094-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="1394752094-17[·...·truncated·by·diffoscope;·len:·80,·SHA:·e39f5ec393eacc2b4b1777b340c9ab2906ab1aefeb12454a931d4832169e2d66·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
176 ····</span><span·class="p"·data-group-id="3415691085-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="34[·...·truncated·by·diffoscope;·len:·242,·SHA:·e1a11ff8c816b3ebdb836a8bc52697e08420672ed00a88362165b744b80fb431·...·]-19">)</span><span·class="p">,</span><span·class="w">176 ····</span><span·class="p"·data-group-id="1394752094-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="13[·...·truncated·by·diffoscope;·len:·242,·SHA:·6731a6a0d5088cf8325384a543b28dd3a95e8dd8bb00c5f04c1951d75222f503·...·]-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="3415691085-20">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="3415691085-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="1394752094-20">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="1394752094-20">)</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">args</span><span·class="p"·data-group-id="3415691085-21">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3415691085-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="3415691085-22[·...·truncated·by·diffoscope;·len:·80,·SHA:·c5ce46defcf0e250cf71be310cdcee9fefa34a9eac42886544ccf2ae1d4a59e0·...·]-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="1394752094-21">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1394752094-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="1394752094-22[·...·truncated·by·diffoscope;·len:·80,·SHA:·e39f5ec393eacc2b4b1777b340c9ab2906ab1aefeb12454a931d4832169e2d66·...·]-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="3415691085-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="34[·...·truncated·by·diffoscope;·len:·482,·SHA:·0534d05f08dc4143372d3d30b0a6f00312b80c1c5e6ea34dd8b2ec6d53bcfe1c·...·]-24">)</span><span·class="p">,</span><span·class="w">180 ····</span><span·class="p"·data-group-id="1394752094-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="13[·...·truncated·by·diffoscope;·len:·482,·SHA:·9ec983460b212c7d9c3e56cefc98e09d0fd80e759fbbb051d3451babdc1c3331·...·]-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="3415691085-26">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="3415691085-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="1394752094-26">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="1394752094-26">)</span><span·class="p">.</span><span·class="w">
  
182 </span><span·class="nf">named</span><span·class="p"·data-group-id="3415691085-27">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3415691085-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="3415691085-28[·...·truncated·by·diffoscope;·len:·80,·SHA:·c5ce46defcf0e250cf71be310cdcee9fefa34a9eac42886544ccf2ae1d4a59e0·...·]-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="1394752094-27">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1394752094-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="1394752094-28[·...·truncated·by·diffoscope;·len:·80,·SHA:·e39f5ec393eacc2b4b1777b340c9ab2906ab1aefeb12454a931d4832169e2d66·...·]-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="3415691085-29">(</span><span·class="ss">named_test</span><span·class="p"·data-group-id="3415691085-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="1394752094-29">(</span><span·class="ss">named_test</span><span·class="p"·data-group-id="1394752094-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="3415691085-30">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="3415691085-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="1394752094-30">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="1394752094-30">)</span><span·class="p">.</span><span·class="w">
  
186 </span><span·class="nf">start_node_impl</span><span·class="p"·data-group-id="3415691085-31">(</span><span·class="n">ActualTestCase</span><span·class="p"·data-group-id="3415691085-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="1394752094-31">(</span><span·class="n">ActualTestCase</span><span·class="p"·data-group-id="1394752094-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
187 ····</span><span·class="p"·data-group-id="3415691085-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="3415691085-32">}</span><sp[·...·truncated·by·diffoscope;·len:·635,·SHA:·c01686c10a250d12b2d466d667a3ba9e23b6a54cb96b4ac4e8fc147c1b6566f3·...·]-33">)</span><span·class="p">,</span><span·class="w">187 ····</span><span·class="p"·data-group-id="1394752094-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="1394752094-32">}</span><sp[·...·truncated·by·diffoscope;·len:·635,·SHA:·93df49b3a786572563315cb152761fe1946c14e45d47370fc3ad4a376397094f·...·]-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="3415691085-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:·08c4b4ede8d7500b5d6fa5fcad8483559b5d4cf0eea6a7e80a4804a22e93d98d·...·]-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="1394752094-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:·40bd3ad8cbec3dd3bf8b7aa7af1b9ef8d65617cacfa3d6baff2dafb365f94001·...·]-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="3415691085-38">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3415691085-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="3415691085-39[·...·truncated·by·diffoscope;·len:·80,·SHA:·c5ce46defcf0e250cf71be310cdcee9fefa34a9eac42886544ccf2ae1d4a59e0·...·]-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="1394752094-38">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1394752094-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="1394752094-39[·...·truncated·by·diffoscope;·len:·80,·SHA:·e39f5ec393eacc2b4b1777b340c9ab2906ab1aefeb12454a931d4832169e2d66·...·]-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="3415691085-40">(</span><span·class="p"·data-group-id="3415691085-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="1394752094-40">(</span><span·class="p"·data-group-id="1394752094-40">)</span><span·class="p">,</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="3415691085-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="3415691085-41">}</span><sp[·...·truncated·by·diffoscope;·len:·458,·SHA:·84d2dff2cda414b8044812e7b8f2e988163c4af08ee0c3e1961739542f3558ce·...·]-42">)</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="p"·data-group-id="1394752094-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="1394752094-41">}</span><sp[·...·truncated·by·diffoscope;·len:·458,·SHA:·b2fe2572d8bbbd78bffa59a130fc97012536e4faa2fad0fa80f76f4a56bfa66d·...·]-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="3415691085-44">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="3415691085-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="1394752094-44">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="1394752094-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="3415691085-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="3415691085-45">}</span><s[·...·truncated·by·diffoscope;·len:·758,·SHA:·87560ef095246e379c9d49d75c11ea2f5f1719135d2a9f2ddb4f88920f54fb47·...·]-46">)</span><span·class="p">,</span><span·class="w">196 ····</span><span·class="p"·data-group-id="1394752094-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="1394752094-45">}</span><s[·...·truncated·by·diffoscope;·len:·758,·SHA:·ce2ba5b33ccc71e303de847d39189ceb76aad1881549a26d4e9922404e065a7b·...·]-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="3415691085-49">(</span><span·class="n">Peer2</span><span·class="p"·data-group-id="3415691085-49">)</span><span·class="p">.</span></code></pre><p>The·next·example·demonstrates·how·to·start·multiple·nodes·concurrently:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">multi_node</span><span·class="p"·data-group-id="6115127929-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="6115127929-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="6115127929-2">(</span><span·class="n">Config</span><span·class="p"·data-group-id="6115127929-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="6115127929-3">[</span><span·class="o">?</span><span·class="n">CT_PEER</span><span·class="p"·data-group-id="6115127929-4">(</span><span·clas[·...·truncated·by·diffoscope;·len:·567,·SHA:·0fabb54d7d0ca99371951a01bc71238ff2305a8d6e247ae5fa01e0a45b2e9061·...·]</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="1394752094-49">(</span><span·class="n">Peer2</span><span·class="p"·data-group-id="1394752094-49">)</span><span·class="p">.</span></code></pre><p>The·next·examp[·...·truncated·by·diffoscope;·len:·564,·SHA:·9b8c0cee54c4c82b91282fc218fd2b47b247b5bb407ee710b52e365e8afc110c·...·]</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="6032520914-3">[</span><span·class="o">?</span><span·class="n">CT_PEER</span><span·class="p"·data-group-id="6032520914-4">(</span><span·class="p"·data-group-id="6032520914-5">#{</span><span·class="ss">wait_boot</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6032520914-6">{</span><span·class="nf">self</span><span·class="p"·data-group-id="6032520914-7">(</span><span·class="p"·data-group-id="6032520914-7">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tag</span><span·class="p"·data-group-id="6032520914-6">}</span><span·class="p"·data-group-id="6032520914-5">}</span><span·class="p"·data-group-id="6032520914-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="6115127929-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="6115127929-8">)</span><span·class="p"·data-group-id="6115127929-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="6032520914-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="6032520914-8">)</span><span·class="p"·data-group-id="6032520914-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="6115127929-9">[</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="6115127929-10">{</span><span·class="ss">tag</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6115127929-11">{</spa[·...·truncated·by·diffoscope;·len:·278,·SHA:·bf9828237bb5dc9008166409dffa42d99ddd0651ce0fb53cb53bfd3a17451240·...·]-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="6032520914-9">[</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="6032520914-10">{</span><span·class="ss">tag</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6032520914-11">{</spa[·...·truncated·by·diffoscope;·len:·278,·SHA:·9c996887947f8d35a986ba50c18671ef77878b9131f6d2eb1dcaa67f02f4732b·...·]-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="6115127929-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="6115127929-12">}</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·66,·SHA:·c46b41c72e6afde45d3649330444567eb730a7514d9d2ec558b9c01704df4eda·...·]-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="6032520914-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="6032520914-12">}</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·66,·SHA:·ab060477236bad6ade6269eb66e55dcd8f7d36ce8a5afcefe4b8fd6f22044eea·...·]-9">]</span><span·class="p">,</span><span·class="w">
203 ····</span><span·class="p"·data-group-id="6115127929-13">[</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="6115127929-14">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="6115127929-14">)</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·408,·SHA:·5656e56775facf5449c024552dd83919a7cceadb62cbe552e5af5b54435bc78e·...·]-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="6032520914-13">[</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="6032520914-14">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="6032520914-14">)</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·408,·SHA:·1048dec122783d5fc5bc6c87354209a6012e477f0f71cbfe100e95b0a8c67c55·...·]-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="3801696187-1">(</span><span·class="s">&quot;ssh&quot;</span><span·class="p"·data-group-id="3801696187-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="3268216348-1">(</span><span·class="s">&quot;ssh&quot;</span><span·class="p"·data-group-id="3268216348-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="3801696187-2">(</span><span·class="p"·data-group-id="3801696187-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="3801696187-4">{</span><span·class="n">Ssh</spa[·...·truncated·by·diffoscope;·len:·330,·SHA:·02b7dbc9310517b816681b792ae7a5ed59559744bba13873da35eefa416c29b5·...·]-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="3268216348-2">(</span><span·class="p"·data-group-id="3268216348-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="3268216348-4">{</span><span·class="n">Ssh</spa[·...·truncated·by·diffoscope;·len:·330,·SHA:·097948482991cb558fce5aaac6ff96832413424327be02d62260438ad0942311·...·]-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="3801696187-3">}</span><span·class="p"·data-group-id="3801696187-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="3268216348-3">}</span><span·class="p"·data-group-id="3268216348-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="7400322501-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7400322501-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="7400322501-2">([·...·truncated·by·diffoscope;·len:·77,·SHA:·7b6594c318db993c6ec3f042b5b43d0cab8f3e3f69801c6641bc39ed278c9c31·...·]-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="8812827385-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8812827385-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="8812827385-2">([·...·truncated·by·diffoscope;·len:·77,·SHA:·b0245fb0d302953d0edda5d848f746b1345a20ff29eb030f6597d1546b72cfe5·...·]-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="7400322501-3">(</span><span·class="s">&quot;docker&quot;</span><span·class="p"·data-group-id="7400322501-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="8812827385-3">(</span><span·class="s">&quot;docker&quot;</span><span·class="p"·data-group-id="8812827385-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="7400322501-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="7400322501-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="8812827385-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="8812827385-4">)</span><span·class="p">,</span><span·class="w">
211 ····</span><span·class="nf">build_release</span><span·class="p"·data-group-id="7400322501-5">(</span><span·class="n">PrivDir</span><span·class="p"·data-group-id="7400322501-5">)</span><span·class="p">,</span><span·class="w">211 ····</span><span·class="nf">build_release</span><span·class="p"·data-group-id="8812827385-5">(</span><span·class="n">PrivDir</span><span·class="p"·data-group-id="8812827385-5">)</span><span·class="p">,</span><span·class="w">
212 ····</span><span·class="nf">build_image</span><span·class="p"·data-group-id="7400322501-6">(</span><span·class="n">PrivDir</span><span·class="p"·data-group-id="7400322501-6">)</span><span·class="p">,</span><span·class="w">212 ····</span><span·class="nf">build_image</span><span·class="p"·data-group-id="8812827385-6">(</span><span·class="n">PrivDir</span><span·class="p"·data-group-id="8812827385-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="7400322501-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="7400322501-7">}</span><span[·...·truncated·by·diffoscope;·len:·247,·SHA:·a6d3d0e4fd8c21636d5953d0e9bdf74779e4227d4a7c56e5d51e48dd0296c78e·...·]-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="8812827385-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="8812827385-7">}</span><span[·...·truncated·by·diffoscope;·len:·247,·SHA:·1d28c6d7d7c247ba34686e169d8dc21d9464d5f0b10f4225788303fe81a10f6a·...·]-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="7400322501-10">{</span><span·class="n">Docker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7400322501-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:·2beb4c5db6f2cf8afd8d1ff2c44b8287660657fcdb337e40ca8b194560869867·...·]-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="8812827385-10">{</span><span·class="n">Docker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8812827385-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:·df2dcca4a6393bab28c93d0082672ed765f1cacc2f417843f1dae0e0d76a6ae6·...·]-8">)</span><span·class="p">,</span><span·class="w">
217 ····</span><span·class="p"·data-group-id="7400322501-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="7400322501-12">}</span><[·...·truncated·by·diffoscope;·len:·252,·SHA:·6ef80813540abb0538a670518e1573b6e45d1bcc15c617792852bcf7374a8038·...·]-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="8812827385-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="8812827385-12">}</span><[·...·truncated·by·diffoscope;·len:·252,·SHA:·f0aab3998c140b00a55bf1074094b9148707c7c92b9349435e98eef16052af8c·...·]-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="7400322501-15">{</span><span·class="n">Docker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7400322501-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:·7485d4f5b657a8f93ad300fa539ee84c3aaaedc2c1d1e85e7fcb9d09db373752·...·]-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="8812827385-15">{</span><span·class="n">Docker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8812827385-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:·6a71a11e7323aa7423ef94e26a7692976b9e2e5500a8f89be3acfcec9391543c·...·]-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="7400322501-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="7400322501-17">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·510,·SHA:·caf1c103e8c2635fd22a49942f1e13612af107680b4e948c675590f789baf959·...·]-18">)</span><span·class="p">,</span><span·class="w">221 ····</span><span·class="p"·data-group-id="8812827385-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="8812827385-17">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·510,·SHA:·14a51068ac3be208925ba101c580a004e0c35a767db62812bc938b9d096bc8c3·...·]-18">)</span><span·class="p">,</span><span·class="w">
222 ····</span><span·class="p"·data-group-id="7400322501-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="7400322501-20">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·372,·SHA:·6129b4910bbe574d04506d6e7338cd23aa824c4816ee0a23320917adf6468ff5·...·]-21">)</span><span·class="p">,</span><span·class="w">222 ····</span><span·class="p"·data-group-id="8812827385-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="8812827385-20">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·372,·SHA:·73ba6f73dfe61e7360de7a4244b7d2c0f17ee2c0dac2f72134fb5b1fef2d1999·...·]-21">)</span><span·class="p">,</span><span·class="w">
223 ····</span><span·class="p"·data-group-id="7400322501-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="7400322501-22">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·349,·SHA:·ac1a6d515d7ea7f37a4da71094c63ac277ce4079943894ae706af98fae825ebc·...·]-23">)</span><span·class="p">,</span><span·class="w">223 ····</span><span·class="p"·data-group-id="8812827385-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="8812827385-22">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·349,·SHA:·b73933601e1172cdb56d35dd0cedaf16e0e35939b9c3539afe9ceaa107b28b8e·...·]-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="7400322501-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:·01c1cb5f98839106d59eea50e60bf4245712bba06c9c85af53129b1a76e3fa02·...·]-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="8812827385-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:·069fc71e980c2ece7dfa79c1cbfa02d8db93f31ecafe0db57d5ed9b8543f5241·...·]-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="7400322501-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:·3e37df150180f072a67494496393a7be5c78430b625cdf5be16844b19dcff32f·...·]-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="8812827385-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:·14199451896eb20bfbe74f88733b8cd3bb493d49fcea9fd125d98af09d4139ac·...·]-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="7400322501-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:·3cb298d3b910c418033b6c990050a219c2e577446c81004b70e5a07b891190e3·...·]-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="8812827385-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:·96a2aa518ca52faa9f6dab37383583c3089994f65d55848523fe52e56dbd2ea5·...·]-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="7400322501-32">[</span><span·class="n">Node</span><span·class="p"·data-group-id="7400322501-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:·0ec6cf55c6a10e0c057131cbff6bcc42269cf4865ab5f426470c8aa62b7c3378·...·]-33">)</span><span·class="p">,</span><span·class="w">230 ····</span><span·class="p"·data-group-id="8812827385-32">[</span><span·class="n">Node</span><span·class="p"·data-group-id="8812827385-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:·597f7451c409329bc26c96bb992d07959bb2957105cf58f45d9d9c0281aaa6a6·...·]-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="7400322501-35">(</span><span·class="n">Peer2</span><span·class="p"·data-group-id="7400322501-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="8812827385-35">(</span><span·class="n">Peer2</span><span·class="p"·data-group-id="8812827385-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="7400322501-36">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="7400322501-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="8812827385-36">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="8812827385-36">)</span><span·class="p">.</span><span·class="w">
  
234 </span><span·class="nf">build_release</span><span·class="p"·data-group-id="7400322501-37">(</span><span·class="n">Dir</span><span·class="p"·data-group-id="7400322501-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="8812827385-37">(</span><span·class="n">Dir</span><span·class="p"·data-group-id="8812827385-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="7400322501-38">(</span><span·class="ss">sasl</span><span·class="p"·data-group-id="7400322501-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="8812827385-38">(</span><span·class="ss">sasl</span><span·class="p"·data-group-id="8812827385-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="7400322501-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="7400322501-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="8812827385-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="8812827385-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="7400322501-40">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7400322501-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:·cb8bc9a20b6353c81ef3151e85d1773a90f441a5bc7ae6e220b320b840b2d5c5·...·]-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="8812827385-40">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8812827385-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:·18d109bc2eec273d99efd0b42361fbd8ce353f253def3b9a46df743841411fc0·...·]-41">}</span><span·class="p">,</span><span·class="w">
240 ········</span><span·class="p"·data-group-id="7400322501-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="7400322501-43">(</span><span·class="s[·...·truncated·by·diffoscope;·len:·112,·SHA:·b4e83f8e58124d2ac4aa096cf29261591def579beb223bb1ecfbf100ecce973d·...·]-42">}</span><span·class="p">,</span><span·class="w">240 ········</span><span·class="p"·data-group-id="8812827385-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="8812827385-43">(</span><span·class="s[·...·truncated·by·diffoscope;·len:·112,·SHA:·4c8562cd5b6f525f6d05905ed95574aaab703425fdae08205ea1813241945b2e·...·]-42">}</span><span·class="p">,</span><span·class="w">
241 ········</span><span·class="p"·data-group-id="7400322501-44">[</span><span·class="p"·data-group-id="7400322501-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="7400322501-46">{</span[·...·truncated·by·diffoscope;·len:·691,·SHA:·809a212be486134c1480a2a87deef10b047812fa68f663d1cb72f03dfe6559fd·...·]-45">}</span><span·class="w">241 ········</span><span·class="p"·data-group-id="8812827385-44">[</span><span·class="p"·data-group-id="8812827385-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="8812827385-46">{</span[·...·truncated·by·diffoscope;·len:·691,·SHA:·11ea5f3986bd1b9097e9acfe46c3fd01931e9b876a764d2bf7d97befe3ccc26b·...·]-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="7400322501-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="7400322501-48">]</[·...·truncated·by·diffoscope;·len:·100,·SHA:·db6c0077c396d01e207b04779e516be53d99c1a5d67a29dae618e92a53330a4e·...·]-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="8812827385-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="8812827385-48">]</[·...·truncated·by·diffoscope;·len:·100,·SHA:·32a3ee6b6c9dd5b130f6440c2c150e3dc3b51eee4e78e6ef46d80223141cdc50·...·]-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="7400322501-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="7400322501-50">(</span><span·class="nc">lists</span><span·class="p">:</span><span·clas[·...·truncated·by·diffoscope;·len:·62,·SHA:·c84ed8a91624d79286b73a3bd582634cdfced99269f5c0532d33bc25998635ad·...·]-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="8812827385-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="8812827385-50">(</span><span·class="nc">lists</span><span·class="p">:</span><span·clas[·...·truncated·by·diffoscope;·len:·62,·SHA:·f4147e85b975d0cf90bbab90dc2ced88e2b9bf876acf99f4bd5a7b57b5cb72d0·...·]-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="7400322501-52">(</span><span·class="s">&quot;~tp.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7400322501-53">[</span><span·class="n">Release</span><span·class="p"·data-group-id="7400322501-53">]</span><span·cl[·...·truncated·by·diffoscope;·len:·195,·SHA:·aab26cf00565a764b0f56feb8b19792d40ddb3074a596624173060f34ba144ac·...·]-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="8812827385-52">(</span><span·class="s">&quot;~tp.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8812827385-53">[</span><span·class="n">Release</span><span·class="p"·data-group-id="8812827385-53">]</span><span·cl[·...·truncated·by·diffoscope;·len:·195,·SHA:·b91dbae17fd3f32d669932a1838cf21f8739f39e75af42a29d9ac2d3fa5cf877·...·]-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="7400322501-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="7400322501-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="8812827385-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="8812827385-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="7400322501-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="7400322501-56">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·292,·SHA:·3c76e001ec0d94116866ba23cf37d4c8a40ecb4c22e1f451a72d6c7b9c2d8adf·...·]-57">(</span><span·class="n">RelFileNoExt</span><span·class="p">,</span><span·class="w">247 ····</span><span·class="p"·data-group-id="8812827385-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="8812827385-56">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·292,·SHA:·a717feec9272b6249b6c5c0177f1d0ae1ac98861c8fe970969cd81094f4f8900·...·]-57">(</span><span·class="n">RelFileNoExt</span><span·class="p">,</span><span·class="w">
248 ········</span><span·class="p"·data-group-id="7400322501-58">[</span><span·class="ss">silent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7400322501-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:·4a46008b4a94620a1db19a7420a4d20d27a343e4d623c4c5fb56a68cc926a91f·...·]-57">)</span><span·class="p">,</span><span·class="w">248 ········</span><span·class="p"·data-group-id="8812827385-58">[</span><span·class="ss">silent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8812827385-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:·7bc75a8035e03cd1b7547d4c5d1dfed5a8f4e6a02ba41b5fe8684d282c5adedd·...·]-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="7400322501-60">(</span><span·class="n">RelFileNoExt</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7400322501-61">[</span><span·class="p"·data-group-id="7400322501-62">{</span><span·class="ss">erts</span><span·class="p[·...·truncated·by·diffoscope;·len:·375,·SHA:·c39e756e7587802e02b32aa6650470c661129b8a6d7ae575041b4764b9607d80·...·]-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="8812827385-60">(</span><span·class="n">RelFileNoExt</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8812827385-61">[</span><span·class="p"·data-group-id="8812827385-62">{</span><span·class="ss">erts</span><span·class="p[·...·truncated·by·diffoscope;·len:·375,·SHA:·ba3ccd6cdd5116445f02ec1a75d471c873f429b42e29768abe983f04abda339a·...·]-60">)</span><span·class="p">.</span><span·class="w">
  
251 </span><span·class="nf">build_image</span><span·class="p"·data-group-id="7400322501-64">(</span><span·class="n">Dir</span><span·class="p"·data-group-id="7400322501-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="8812827385-64">(</span><span·class="n">Dir</span><span·class="p"·data-group-id="8812827385-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="7400322501-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="7400322501-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="8812827385-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="8812827385-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="7400322501-66">(</span><span·class="ss">version</span><span·class="p"·data-group-id="7400322501-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="8812827385-66">(</span><span·class="ss">version</span><span·class="p"·data-group-id="8812827385-66">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">
264 ······</span><span·class="s">&quot;/bin/dyn_erl\&quot;,·\&quot;-boot\&quot;,·\&quot;/opt/lambda/releases/1.0.0/start\&quot;,&quot;</span><span·class="w">264 ······</span><span·class="s">&quot;/bin/dyn_erl\&quot;,·\&quot;-boot\&quot;,·\&quot;/opt/lambda/releases/1.0.0/start\&quot;,&quot;</span><span·class="w">
265 ······</span><span·class="s">&quot;·\&quot;-kernel\&quot;,·\&quot;inet_dist_listen_min\&quot;,·\&quot;4445\&quot;,&quot;</span><span·class="w">265 ······</span><span·class="s">&quot;·\&quot;-kernel\&quot;,·\&quot;inet_dist_listen_min\&quot;,·\&quot;4445\&quot;,&quot;</span><span·class="w">
266 ······</span><span·class="s">&quot;·\&quot;-erl_epmd_port\&quot;,·\&quot;4445\&quot;,&quot;</span><span·class="w">266 ······</span><span·class="s">&quot;·\&quot;-erl_epmd_port\&quot;,·\&quot;4445\&quot;,&quot;</span><span·class="w">
267 ······</span><span·class="s">&quot;·\&quot;-setcookie\&quot;,·\&quot;secret\&quot;]\n&quot;</span><span·class="p">,</span><span·class="w">267 ······</span><span·class="s">&quot;·\&quot;-setcookie\&quot;,·\&quot;secret\&quot;]\n&quot;</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 8586/92992 bytes (9.23%) of diff not shown.
757 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/pool.html
    
Offset 495, 15 lines modifiedOffset 495, 15 lines modified
495 ······<p·class="built-using">495 ······<p·class="built-using">
496 ········Built·using496 ········Built·using
497 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the497 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
498 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>498 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
499 ······</p>499 ······</p>
500 <p>Copyright·©·1996-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-7.0/doc/html/proc_lib.html
    
Offset 969, 29 lines modifiedOffset 969, 29 lines modified
969 the·start·function·used.</p><p>If·neither·this·function·nor·<a·href="#init_fail/3"><code·class="inline">init_fail/2,3</code></a>·is·called·by·the969 the·start·function·used.</p><p>If·neither·this·function·nor·<a·href="#init_fail/3"><code·class="inline">init_fail/2,3</code></a>·is·called·by·the
970 started·process,·the·start·function·returns·an·error·tuple·when·the·started970 started·process,·the·start·function·returns·an·error·tuple·when·the·started
971 process·exits,·or·when·the·start·function·time-out·(if·used)·has·passed,·see971 process·exits,·or·when·the·start·function·time-out·(if·used)·has·passed,·see
972 <a·href="#start/5"><code·class="inline">start/3,4,5</code></a>.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Do·not·use·this·function·to·return·an·error·indicating·that·the·process·start972 <a·href="#start/5"><code·class="inline">start/3,4,5</code></a>.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Do·not·use·this·function·to·return·an·error·indicating·that·the·process·start
973 failed.·When·doing·so·the·start·function·can·return·before·the·failing·process973 failed.·When·doing·so·the·start·function·can·return·before·the·failing·process
974 has·exited,·which·may·block·VM·resources·required·for·a·new·start·attempt·to974 has·exited,·which·may·block·VM·resources·required·for·a·new·start·attempt·to
975 succeed.·Use·<a·href="#init_fail/3"><code·class="inline">init_fail/2,3</code></a>·for·that·purpose.</p></section><p>The·following·example·illustrates·how·this·function·and·<a·href="#start_link/3"><code·class="inline">proc_lib:start_link/3</code></a>975 succeed.·Use·<a·href="#init_fail/3"><code·class="inline">init_fail/2,3</code></a>·for·that·purpose.</p></section><p>The·following·example·illustrates·how·this·function·and·<a·href="#start_link/3"><code·class="inline">proc_lib:start_link/3</code></a>
976 are·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4503587868-1">(</span><span·class="ss">my_proc</span><span·class="p"·data-group-id="4503587868-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="1697044543-1">(</span><span·class="ss">my_proc</span><span·class="p"·data-group-id="1697044543-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="4503587868-2">(</span><span·class="p"·data-group-id="4503587868-3">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="4503587868-3">]</span><span·class="p"·data-group-id="4503587868-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="4503587868-4">(</span><span·class="p"·data-group-id="4503587868-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4503587868-5">]</span><span·class="p"·data-group-id="4503587868-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="1697044543-2">(</span><span·class="p"·data-group-id="1697044543-3">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1697044543-3">]</span><span·class="p"·data-group-id="1697044543-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="1697044543-4">(</span><span·class="p"·data-group-id="1697044543-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="1697044543-5">]</span><span·class="p"·data-group-id="1697044543-4">)</span><span·class="p">.</span><span·class="w">
  
979 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="4503587868-6">(</span><span·class="p"·data-group-id="4503587868-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="1697044543-6">(</span><span·class="p"·data-group-id="1697044543-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="4503587868-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="4503587868-8">[</span><span·class="nf">self</spa[·...·truncated·by·diffoscope;·len:·202,·SHA:·c8f880948ace28123201000a43c31b9eace62521916c66e86233a9174af5ef90·...·]-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="1697044543-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="1697044543-8">[</span><span·class="nf">self</spa[·...·truncated·by·diffoscope;·len:·202,·SHA:·4a05051dc8c1f9fbab01427776744b0732e59351f8c63fe8645020e53fa66b49·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
981 </span><span·class="nf">init</span><span·class="p"·data-group-id="4503587868-10">(</span><span·class="n">Parent</span><span·class="p"·data-group-id="4503587868-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="1697044543-10">(</span><span·class="n">Parent</span><span·class="p"·data-group-id="1697044543-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="4503587868-11">(</span><span·class="p"·data-group-id="4503587868-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="1697044543-11">(</span><span·class="p"·data-group-id="1697044543-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="4503587868-12">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4503587868-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:·dd8a9bcd4906349bb98edcd3dd0c96ad054dfab0659834c9f2c1eee9800fa585·...·]-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="1697044543-12">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1697044543-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:·6eea4f89076bb72920606273b7c1a238a1cf876188022c518910ff9b43ec0fdb·...·]-12">)</span><span·class="p">;</span><span·class="w">
985 ········</span><span·class="p"·data-group-id="4503587868-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="4503587868-15">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">985 ········</span><span·class="p"·data-group-id="1697044543-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="1697044543-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="4503587868-16">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="4503587868-16">)</span><span·class="w">986 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="1697044543-16">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="1697044543-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="4503587868-17">(</span><span·class="p"·data-group-id="4503587868-17">)</span><span·class="p">.</span><span·class="w">988 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="1697044543-17">(</span><span·class="p"·data-group-id="1697044543-17">)</span><span·class="p">.</span><span·class="w">
  
989 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>989 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>
990 ··</section>990 ··</section>
991 </section>991 </section>
992 <section·class="detail"·id="init_fail/2">992 <section·class="detail"·id="init_fail/2">
  
993 ··<div·class="detail-header">993 ··<div·class="detail-header">
Offset 1052, 29 lines modifiedOffset 1052, 29 lines modified
1052 to·<code·class="inline">Exception</code>.·The·start·function·then·returns·<code·class="inline">Ret</code>.</p><p>See·<a·href="../../../../erts-16.0/doc/html/erlang.html#raise/3"><code·class="inline">erlang:raise/3</code></a>·for·a·description·of·<code·class="inline">Class</code>,·<code·class="inline">Reason</code>·and·<code·class="inline">Stacktrace</code>.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Do·not·consider·catching·the·exception·from·this·function.·That·would·defeat1052 to·<code·class="inline">Exception</code>.·The·start·function·then·returns·<code·class="inline">Ret</code>.</p><p>See·<a·href="../../../../erts-16.0/doc/html/erlang.html#raise/3"><code·class="inline">erlang:raise/3</code></a>·for·a·description·of·<code·class="inline">Class</code>,·<code·class="inline">Reason</code>·and·<code·class="inline">Stacktrace</code>.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Do·not·consider·catching·the·exception·from·this·function.·That·would·defeat
1053 its·purpose.·A·process·started·by·a·<a·href="#start/3"><code·class="inline">start[_link|_monitor]/3,4,5</code></a>1053 its·purpose.·A·process·started·by·a·<a·href="#start/3"><code·class="inline">start[_link|_monitor]/3,4,5</code></a>
1054 function·should·end·in·a·value·(that·will·be·ignored)·or·an·exception·that1054 function·should·end·in·a·value·(that·will·be·ignored)·or·an·exception·that
1055 will·be·handled·by·this·module.·See·<a·href="proc_lib.html">Description</a>.</p></section><p>If·neither·this·function·nor·<a·href="#init_ack/1"><code·class="inline">init_ack/1,2</code></a>·is·called·by·the1055 will·be·handled·by·this·module.·See·<a·href="proc_lib.html">Description</a>.</p></section><p>If·neither·this·function·nor·<a·href="#init_ack/1"><code·class="inline">init_ack/1,2</code></a>·is·called·by·the
1056 started·process,·the·start·function·returns·an·error·tuple·when·the·started1056 started·process,·the·start·function·returns·an·error·tuple·when·the·started
1057 process·exits,·or·when·the·start·function·time-out·(if·used)·has·passed,·see1057 process·exits,·or·when·the·start·function·time-out·(if·used)·has·passed,·see
1058 <a·href="#start/3"><code·class="inline">start/3,4,5</code></a>.</p><p>The·following·example·illustrates·how·this·function·and·<a·href="#start_link/3"><code·class="inline">proc_lib:start_link/3</code></a>1058 <a·href="#start/3"><code·class="inline">start/3,4,5</code></a>.</p><p>The·following·example·illustrates·how·this·function·and·<a·href="#start_link/3"><code·class="inline">proc_lib:start_link/3</code></a>
1059 can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9333174356-1">(</span><span·class="ss">my_proc</span><span·class="p"·data-group-id="9333174356-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="7138713357-1">(</span><span·class="ss">my_proc</span><span·class="p"·data-group-id="7138713357-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="9333174356-2">(</span><span·class="p"·data-group-id="9333174356-3">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9333174356-3">]</span><span·class="p"·data-group-id="9333174356-2">)</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="7138713357-2">(</span><span·class="p"·data-group-id="7138713357-3">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7138713357-3">]</span><span·class="p"·data-group-id="7138713357-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="9333174356-4">(</span><span·class="p"·data-group-id="9333174356-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9333174356-5">]</span><span·class="p"·data-group-id="9333174356-4">)</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="7138713357-4">(</span><span·class="p"·data-group-id="7138713357-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="7138713357-5">]</span><span·class="p"·data-group-id="7138713357-4">)</span><span·class="p">.</span><span·class="w">
  
1062 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="9333174356-6">(</span><span·class="p"·data-group-id="9333174356-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="7138713357-6">(</span><span·class="p"·data-group-id="7138713357-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="9333174356-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="9333174356-8">[</span><span·class="nf">self</spa[·...·truncated·by·diffoscope;·len:·202,·SHA:·0d89816da92ce04e4375fe20b9bbc7fad0dcb7efe2a9984018a6041e20e9afd6·...·]-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="7138713357-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="7138713357-8">[</span><span·class="nf">self</spa[·...·truncated·by·diffoscope;·len:·202,·SHA:·d8037847a599dc269267afcb6055b7f0a03e5a592b0f1f6cca0b3bcdbf181521·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
1064 </span><span·class="nf">init</span><span·class="p"·data-group-id="9333174356-10">(</span><span·class="n">Parent</span><span·class="p"·data-group-id="9333174356-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="7138713357-10">(</span><span·class="n">Parent</span><span·class="p"·data-group-id="7138713357-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="9333174356-11">(</span><span·class="p"·data-group-id="9333174356-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="7138713357-11">(</span><span·class="p"·data-group-id="7138713357-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="9333174356-12">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9333174356-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:·c3e137a47e27fd2640d3b17adfb16a6b83af2a211c591c9e98aafa2665e5025f·...·]-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="7138713357-12">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7138713357-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:·e501cc0f1b7b4ca76f3f64a28d2d54a4a3d0c5c0a0806e3be52140d9610a5699·...·]-12">)</span><span·class="p">;</span><span·class="w">
1068 ········</span><span·class="p"·data-group-id="9333174356-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="9333174356-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="7138713357-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="7138713357-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="9333174356-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="9333174356-17">{</span><span·class="nb">exit</spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·26b882016d2fbc2b10c75bf0e161b5f62ba37397fb988d031848cee82f2aca6f·...·]-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="7138713357-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="7138713357-17">{</span><span·class="nb">exit</spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·f19387a6d0bb60e212a638563f32db899af3048e28de9fd12d016f95973d566b·...·]-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="9333174356-18">(</span><span·class="p"·data-group-id="9333174356-18">)</span><span·class="p">.</span><span·class="w">1071 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7138713357-18">(</span><span·class="p"·data-group-id="7138713357-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-7.0/doc/html/proplists.html
    
Offset 522, 15 lines modifiedOffset 522, 15 lines modified
  
522 ··········<pre·translate="no"><span·class="attribute">-spec</span>·append_values(Key,·ListIn)·->·ListOut·when·Key·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·ListIn·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],·ListOut·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>522 ··········<pre·translate="no"><span·class="attribute">-spec</span>·append_values(Key,·ListIn)·->·ListOut·when·Key·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·ListIn·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],·ListOut·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>
  
523 ······</div>523 ······</div>
  
524 <p>Similar·to·<a·href="#get_all_values/2"><code·class="inline">get_all_values/2</code></a>,·but·each·value·is·wrapped·in·a·list·unless·it·is524 <p>Similar·to·<a·href="#get_all_values/2"><code·class="inline">get_all_values/2</code></a>,·but·each·value·is·wrapped·in·a·list·unless·it·is
525 already·itself·a·list.·The·resulting·list·of·lists·is·concatenated.·This·is525 already·itself·a·list.·The·resulting·list·of·lists·is·concatenated.·This·is
526 often·useful·for·&quot;incremental&quot;·options.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">append_values</span><span·class="p"·data-group-id="0327720157-1">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0327720157-2">[</span><span·class="p"·data-group-id="0327720157-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·1837,·SHA:·0c7c5e2e440fb075749ac69480d0a5d841e25b2e132b1cc60afeec0edbed589f·...·]-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="8112510427-1">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8112510427-2">[</span><span·class="p"·data-group-id="8112510427-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·1837,·SHA:·4ee8c310362d611e68cb54227118e1a8a8c64344fd6b3a64f3339c5c2f4fd730·...·]-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="5315841460-1">(</span><span·class="p"·data-group-id="5315841460-2">[</span><span·class="p"·data-group-id="5315841460-3">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315841460-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="5315841460-4">]</span><span·class="p"·data-group-id="5315841460-3">}</span><span·class="p"·data-group-id="5315841460-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315841460-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="5315841460-5">]</span><span·class="p"·data-group-id="5315841460-1">)</span><span·class="w"> 
617 </span><span·class="nf">expand</span><span·class="p"·data-group-id="5315841460-6">(</span><span·class="p"·data-group-id="5315841460-7">[</span><span·class="p"·data-group-id="5315841460-8">{</span><span·class="p"·data-group-id="5315841460-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="5315841460-9">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315841460-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="5315841460-10">]</span><span·class="p"·data-group-id="5315841460-8">}</span><span·class="p"·data-group-id="5315841460-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315841460-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="5315841460-11">]</span><span·class="p"·data-group-id="5315841460-6">)</span><span·class="w"> 
618 </span><span·class="nf">expand</span><span·class="p"·data-group-id="5315841460-12">(</span><span·class="p"·data-group-id="5315841460-13">[</span><span·class="p"·data-group-id="5315841460-14">{</span><span·class="p"·data-group-id="5315841460-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="5315841460-15">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315841460-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="5315841460-16">]</span><span·class="p"·data-group-id="5315841460-14">}</span><span·class="p"·data-group-id="5315841460-13">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315841460-17">[</span><span·class="ss">fie</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5315841460-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="5315841460-18">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">fum</span><span·class="p"·data-group-id="5315841460-17">]</span><span·class="p"·data-group-id="5315841460-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="4352984343-1">(</span><span·class="p"·data-group-id="4352984343-2">[</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·1333,·SHA:·e5bf2bd4a5da4bb38ab83780a6575860cc43d13d54c62a725d898243d441e298·...·]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="74[·...·truncated·by·diffoscope;·len:·915,·SHA:·5d7084a54f7889f40460e780c56f616b6a4d5859af98a110e1babf0f5926e657·...·]
 617 </span><span·class="nf">expand</span><span·class="p"·data-group-id="7499532775-6">(</span><span·class="p"·data-group-id="7499532775-7">[</span><span·class="p"·data-group-id="7499532775-8">{</span><span·class="p"·data-group-id="7499532775-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="7499532775-9">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7499532775-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="7499532775-10">]</span><span·class="p"·data-group-id="7499532775-8">}</span><span·class="p"·data-group-id="7499532775-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7499532775-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="7499532775-11">]</span><span·class="p"·data-group-id="7499532775-6">)</span><span·class="w">
 618 </span><span·class="nf">expand</span><span·class="p"·data-group-id="7499532775-12">(</span><span·class="p"·data-group-id="7499532775-13">[</span><span·class="p"·data-group-id="7499532775-14">{</span><span·class="p"·data-group-id="7499532775-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="7499532775-15">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7499532775-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="7499532775-16">]</span><span·class="p"·data-group-id="7499532775-14">}</span><span·class="p"·data-group-id="7499532775-13">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7499532775-17">[</span><span·class="ss">fie</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7499532775-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="7499532775-18">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">fum</span><span·class="p"·data-group-id="7499532775-17">]</span><span·class="p"·data-group-id="7499532775-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="3194068832-1">(</span><span·class="p"·data-group-id="3194068832-2">[</span><span·class="p"·data-group-id="3194068832-3">{</span><span·class="p"·data-group-id="3194068832-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="3194068832-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3194068832-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="3194068832-5">]</span><span·class="p"·data-group-id="3194068832-3">}</span><span·class="p"·data-group-id="3194068832-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3194068832-6">[</span><span·class="p"·data-group-id="3194068832-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="3194068832-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="3194068832-6">]</span><span·class="p"·data-group-id="3194068832-1">)</span></code></pre><p>Notice·that·if·the·original·property·term·is·to·be·preserved·in·the·result·when
620 expanded,·it·must·be·included·in·the·expansion·list.·The·inserted·terms·are·not620 expanded,·it·must·be·included·in·the·expansion·list.·The·inserted·terms·are·not
621 expanded·recursively.·If·<code·class="inline">Expansions</code>·contains·more·than·one·property·with·the621 expanded·recursively.·If·<code·class="inline">Expansions</code>·contains·more·than·one·property·with·the
622 same·key,·only·the·first·occurrence·is·used.</p><p>See·also·<a·href="#normalize/2"><code·class="inline">normalize/2</code></a>.</p>622 same·key,·only·the·first·occurrence·is·used.</p><p>See·also·<a·href="#normalize/2"><code·class="inline">normalize/2</code></a>.</p>
623 ··</section>623 ··</section>
624 </section>624 </section>
625 <section·class="detail"·id="from_map/1">625 <section·class="detail"·id="from_map/1">
  
Offset 992, 15 lines modifiedOffset 992, 15 lines modified
992 ···············when·List·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],·Keys·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],·Lists·::·[[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()]],·Rest·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>992 ···············when·List·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],·Keys·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],·Lists·::·[[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()]],·Rest·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>
  
993 ······</div>993 ······</div>
  
994 <p>Partitions·<code·class="inline">List</code>·into·a·list·of·sublists·and·a·remainder.</p><p><code·class="inline">Lists</code>·contains·one·sublist·for·each·key·in·<code·class="inline">Keys</code>,·in·the·corresponding·order.994 <p>Partitions·<code·class="inline">List</code>·into·a·list·of·sublists·and·a·remainder.</p><p><code·class="inline">Lists</code>·contains·one·sublist·for·each·key·in·<code·class="inline">Keys</code>,·in·the·corresponding·order.
995 The·relative·order·of·the·elements·in·each·sublist·is·preserved·from·the·original·<code·class="inline">List</code>.995 The·relative·order·of·the·elements·in·each·sublist·is·preserved·from·the·original·<code·class="inline">List</code>.
996 <code·class="inline">Rest</code>·contains·the·elements·in·<code·class="inline">List</code>·that·are·not·associated·with·any·of·the996 <code·class="inline">Rest</code>·contains·the·elements·in·<code·class="inline">List</code>·that·are·not·associated·with·any·of·the
997 specified·keys,·also·with·their·original·relative·order·preserved.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">split</span><span·class="p"·data-group-id="9113619247-1">(</span><span·class="p"·data-group-id="9113619247-2">[</span><span·class="p"·data-group-id="9113619247-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:·f53e540e6b7395c71ef5f5cfb7f718fe11065890f6e548839b82560bf20382c5·...·]-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="9874342855-1">(</span><span·class="p"·data-group-id="9874342855-2">[</span><span·class="p"·data-group-id="9874342855-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:·bf4c20b3773a93acb8d3cc438876408c01e853a8f51188255483051bb5839eca·...·]-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="7097919746-1">(</span><span·class="p"·data-group-id="7097919746-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7097919746-3">{</span><span·class="ss">b</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·1354,·SHA:·95fd61457b64826319210064fd093383786f26afe625f82a1647c17abe943f8c·...·]-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="3819315189-1">(</span><span·class="p"·data-group-id="3819315189-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3819315189-3">{</span><span·class="ss">b</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·1354,·SHA:·9b170ad8611ba0f628c165ad8cf2ae3b7eb05d9a75f5d3f9ca99f5487b3597ef·...·]-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-7.0/doc/html/qlc.html
Max HTML report size reached
160 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/queue.html
Max HTML report size reached
29.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/rand.html
    
Offset 197, 32 lines modifiedOffset 197, 32 lines modified
197 or·be·an·explicit·argument·and·return·value.</p><p>The·functions·with·implicit·state·operates·on·a·state·stored197 or·be·an·explicit·argument·and·return·value.</p><p>The·functions·with·implicit·state·operates·on·a·state·stored
198 in·the·process·dictionary·under·the·key·<code·class="inline">rand_seed</code>.··If·that·key198 in·the·process·dictionary·under·the·key·<code·class="inline">rand_seed</code>.··If·that·key
199 doesn't·exist·when·the·function·is·called,·<a·href="#seed/1"><code·class="inline">seed/1</code></a>·is·called·automatically199 doesn't·exist·when·the·function·is·called,·<a·href="#seed/1"><code·class="inline">seed/1</code></a>·is·called·automatically
200 with·the·<a·href="#default-algorithm"><em>default·algorithm</em></a>·and·creates200 with·the·<a·href="#default-algorithm"><em>default·algorithm</em></a>·and·creates
201 a·reasonably·unpredictable·seed.</p><p>The·functions·with·explicit·state·don't·use·the·process·dictionary.</p><h4><em>Examples</em></h4><p>Simple·use;·create·and·seed·the201 a·reasonably·unpredictable·seed.</p><p>The·functions·with·explicit·state·don't·use·the·process·dictionary.</p><h4><em>Examples</em></h4><p>Simple·use;·create·and·seed·the
202 <a·href="#default-algorithm"><em>default·algorithm</em></a>·with·a·non-fixed·seed,202 <a·href="#default-algorithm"><em>default·algorithm</em></a>·with·a·non-fixed·seed,
203 if·not·already·done,·and·generate·two·uniformly·distibuted203 if·not·already·done,·and·generate·two·uniformly·distibuted
204 floating·point·numbers.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">R0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="2964147443-1">(</span><span·class="p"·data-group-id="2964147443-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="3840668038-1">(</span><span·class="p"·data-group-id="3840668038-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="2964147443-2">(</span><span·class="p"·data-group-id="2964147443-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:·74981a1669c8d09732fa8edd64ced6309f7fb85673616514f5bdc3230dc918f7·...·]-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="3840668038-2">(</span><span·class="p"·data-group-id="3840668038-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:·29bf9ce3be5dce884b8823edf570f8f7b87e72511320dbcf530e4c2ae6fa20fd·...·]-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="8360749531-2">(</span><span·class="p"·data-group-id="8360749531-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:·b7cc2e7e380cc8c7c9172b414adeab6c049b46119ab99827a4ee7cd14eee5ad8·...·]-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="9369047949-2">(</span><span·class="p"·data-group-id="9369047949-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:·9dc0a220f309abe8089541997c019e5ea818e34075e837ea8f0a3cd27b164466·...·]-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="3125469845-3">(</span><span·class="p"·data-group-id="3125469845-3">)</span><span·class="p">,</span></code></pre><p>Use·the·functional·API·with·a·non-fixed·seed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">S0</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·258,·SHA:·6354954cf9a2ec8093375e1fd55314f14262b6455a5d5aab800218fbddfac7bb·...·]-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="1156245577-3">(</span><span·class="p"·data-group-id="1156245577-3">)</span><span·class="p">,</span></code></pre><p>Use·the·functional·API·with·a·non-fixed·seed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">S0</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·258,·SHA:·f04831826d544b000cd7970b7f4f327af256d0c2deb8852f3a889639f61b1952·...·]-1">)</span><span·class="p">,</span><span·class="w">
208 </span><span·class="p"·data-group-id="6382767236-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="6382767236-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·654,·SHA:·9e7cc5bc7a5877f8c60c327753a920b6e9fe98dc26037ae2339b9ed0c9fb0dfb·...·]-1">)</span><span·class="p">,</span><span·class="w">208 </span><span·class="p"·data-group-id="3850364657-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="3850364657-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·654,·SHA:·6f7537cf56a1c0fabd895bb608f88775cb16450cc39a6fa056db0b5c96b72206·...·]-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="1037253416-2">(</span><span·class="p"·data-group-id="1037253416-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="1819200872-2">(</span><span·class="p"·data-group-id="1819200872-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="1037253416-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="1037[·...·truncated·by·diffoscope;·len:·2112,·SHA:·dab3f81ef74c8fea3e63004bd63fc9cb0685eac080c0351f1ebc8ca8420a2931·...·]-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="1819200872-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="1819[·...·truncated·by·diffoscope;·len:·2112,·SHA:·4e61e94273ca8738b17b51fd255a939f671896f3ea39dd7d8f9b8848da4bcba0·...·]-2">)</span><span·class="p">,</span></code></pre><h4>Quality·of·the·Generated·Numbers</h4><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·builtin·random·number·generator·algorithms·are·not·cryptographically
211 strong.·If·a·cryptographically·strong·random·number·generator·is·needed,211 strong.·If·a·cryptographically·strong·random·number·generator·is·needed,
212 use·something·like·<a·href="../../../../lib/crypto-5.6/doc/html/crypto.html#rand_seed/0"><code·class="inline">crypto:rand_seed/0</code></a>.</p></section><p>For·all·these·generators·except·<code·class="inline">exro928ss</code>·and·<code·class="inline">exsss</code>·the·lowest·bit(s)212 use·something·like·<a·href="../../../../lib/crypto-5.6/doc/html/crypto.html#rand_seed/0"><code·class="inline">crypto:rand_seed/0</code></a>.</p></section><p>For·all·these·generators·except·<code·class="inline">exro928ss</code>·and·<code·class="inline">exsss</code>·the·lowest·bit(s)
213 have·got·a·slightly·less·random·behaviour·than·all·other·bits.213 have·got·a·slightly·less·random·behaviour·than·all·other·bits.
214 1·bit·for·<code·class="inline">exrop</code>·(and·<code·class="inline">exsp</code>),·and·3·bits·for·<code·class="inline">exs1024s</code>.·See·for·example214 1·bit·for·<code·class="inline">exrop</code>·(and·<code·class="inline">exsp</code>),·and·3·bits·for·<code·class="inline">exs1024s</code>.·See·for·example
215 this·explanation·in·the215 this·explanation·in·the
216 <a·href="http://xoroshiro.di.unimi.it/xoroshiro128plus.c">Xoroshiro128+</a>216 <a·href="http://xoroshiro.di.unimi.it/xoroshiro128plus.c">Xoroshiro128+</a>
217 generator·source·code:</p><blockquote><p>Beside·passing·BigCrush,·this·generator·passes·the·PractRand·test·suite217 generator·source·code:</p><blockquote><p>Beside·passing·BigCrush,·this·generator·passes·the·PractRand·test·suite
218 up·to·(and·included)·16TB,·with·the·exception·of·binary·rank·tests,218 up·to·(and·included)·16TB,·with·the·exception·of·binary·rank·tests,
219 which·fail·due·to·the·lowest·bit·being·an·LFSR;·all·other·bits·pass·all219 which·fail·due·to·the·lowest·bit·being·an·LFSR;·all·other·bits·pass·all
220 tests.·We·suggest·to·use·a·sign·test·to·extract·a·random·Boolean·value.</p></blockquote><p>If·this·is·a·problem;·to·generate·a·boolean·with·these·algorithms,220 tests.·We·suggest·to·use·a·sign·test·to·extract·a·random·Boolean·value.</p></blockquote><p>If·this·is·a·problem;·to·generate·a·boolean·with·these·algorithms,
221 use·something·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4542133336-1">(</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="4542133336-2">(</span><span·class="mi">256</span><span·class="p"·data-group-id="4542133336-2">)</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·2110,·SHA:·73ed01f1576a0e78d8d3a80c24fd1706fe3f2cdb33f8160534a244822e5f757a·...·]-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="5846807563-1">(</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="5846807563-2">(</span><span·class="mi">256</span><span·class="p"·data-group-id="5846807563-2">)</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·2110,·SHA:·991c5f6f638efd39dcbc37b01b20d8ec720412639d723c856f65fee49dba57d9·...·]-1">)</span></code></pre><p>The·floating·point·generating·functions·in·this·module·waste·the·lowest·bits
222 when·converting·from·an·integer·so·they·avoid·this·snag.</p><h2·id="module-niche-algorithms"·class="section-heading">222 when·converting·from·an·integer·so·they·avoid·this·snag.</p><h2·id="module-niche-algorithms"·class="section-heading">
223 ··<a·href="#module-niche-algorithms"·class="hover-link">223 ··<a·href="#module-niche-algorithms"·class="hover-link">
224 ····<i·class="ri-link-m"·aria-hidden="true"></i>224 ····<i·class="ri-link-m"·aria-hidden="true"></i>
225 ··</a>225 ··</a>
226 ··<span·class="text"><a·href=""·id="niche-algorithms"></a>·Niche·algorithms</span>226 ··<span·class="text"><a·href=""·id="niche-algorithms"></a>·Niche·algorithms</span>
227 </h2>227 </h2>
228 <p>The·<a·href="#niche-algorithms-api">niche·algorithms·API</a>·contains228 <p>The·<a·href="#niche-algorithms-api">niche·algorithms·API</a>·contains
Offset 1386, 15 lines modifiedOffset 1386, 15 lines modified
1386 a·new·state·<a·href="#t:mwc59_state/0"><code·class="inline">CX1</code></a>,·according·to·a·Multiply·With·Carry1386 a·new·state·<a·href="#t:mwc59_state/0"><code·class="inline">CX1</code></a>,·according·to·a·Multiply·With·Carry
1387 generator,·which·is·an·efficient·implementation·of1387 generator,·which·is·an·efficient·implementation·of
1388 a·Multiplicative·Congruential·Generator·with·a·power·of·2·multiplier1388 a·Multiplicative·Congruential·Generator·with·a·power·of·2·multiplier
1389 and·a·prime·modulus.</p><p>This·generator·uses·the·multiplier·<code·class="inline">2^32</code>·and·the·modulus1389 and·a·prime·modulus.</p><p>This·generator·uses·the·multiplier·<code·class="inline">2^32</code>·and·the·modulus
1390 <code·class="inline">16#7fa6502 * 2^32 - 1</code>,·which·have·been·selected,·in·collaboration·with1390 <code·class="inline">16#7fa6502 * 2^32 - 1</code>,·which·have·been·selected,·in·collaboration·with
1391 Sebastiano·Vigna,·to·avoid·bignum·operations·and·still·get1391 Sebastiano·Vigna,·to·avoid·bignum·operations·and·still·get
1392 good·statistical·quality.·It·has·been·named·&quot;MWC59&quot;·and·can·be·written·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">C</span><span·class="err"> </span><span·class="o">=</span><span·class="err"> </span><span·class="n">CX0</span><span·class="err"> </span><span·class="ow">bsr</span><span·class="err"> </span><span·class="mi">32</span><span·class="w">1392 good·statistical·quality.·It·has·been·named·&quot;MWC59&quot;·and·can·be·written·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">C</span><span·class="err"> </span><span·class="o">=</span><span·class="err"> </span><span·class="n">CX0</span><span·class="err"> </span><span·class="ow">bsr</span><span·class="err"> </span><span·class="mi">32</span><span·class="w">
1393 </span><span·class="n">X</span><span·class="err"> </span><span·class="o">=</span><span·class="err"> </span><span·class="n">CX0</span><span·class="err"> </span><span·class="ow">band</span><span·class="err"> </span><span·class="p"·data-group-id="4697302354-1">(</span><span·class="p"·data-group-id="4697302354-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="4697302354-2">)</spa[·...·truncated·by·diffoscope;·len:·92,·SHA:·f83f456d64226671460915313adc64fa4af708ccf6fbee5a0a47fb1c7e5fe96b·...·]-1">)</span><span·class="p">)</span><span·class="w">1393 </span><span·class="n">X</span><span·class="err"> </span><span·class="o">=</span><span·class="err"> </span><span·class="n">CX0</span><span·class="err"> </span><span·class="ow">band</span><span·class="err"> </span><span·class="p"·data-group-id="3683347556-1">(</span><span·class="p"·data-group-id="3683347556-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="3683347556-2">)</spa[·...·truncated·by·diffoscope;·len:·92,·SHA:·c1d9941b394156ef9b4c8d680f7dc655903dd3d6f09c883d542a487e3b31e13d·...·]-1">)</span><span·class="p">)</span><span·class="w">
1394 </span><span·class="n">CX1</span><span·class="err"> </span><span·class="o">=</span><span·class="err"> </span><span·class="mi">16#7fa6502</span><span·class="err"> </span><span·class="o">*</span><span·class="err"> </span><span·class="n">X</span><span·class="err"> </span><span·class="o">+</span><span·class="err"> </span><span·class="n">C</span></code></pre><p>Because·the·generator·uses·a·multiplier·that·is·a·power·of·2·it·gets1394 </span><span·class="n">CX1</span><span·class="err"> </span><span·class="o">=</span><span·class="err"> </span><span·class="mi">16#7fa6502</span><span·class="err"> </span><span·class="o">*</span><span·class="err"> </span><span·class="n">X</span><span·class="err"> </span><span·class="o">+</span><span·class="err"> </span><span·class="n">C</span></code></pre><p>Because·the·generator·uses·a·multiplier·that·is·a·power·of·2·it·gets
1395 statistical·flaws·for·collision·tests·and·birthday·spacings·tests1395 statistical·flaws·for·collision·tests·and·birthday·spacings·tests
1396 in·2·and·3·dimensions,·and·these·caveats·apply·even·when·looking1396 in·2·and·3·dimensions,·and·these·caveats·apply·even·when·looking
1397 only·at·the·MWC·&quot;digit&quot;,·that·is·the·low·32·bits·(the·multiplier)1397 only·at·the·MWC·&quot;digit&quot;,·that·is·the·low·32·bits·(the·multiplier)
1398 of·the·generator·state.··The·higher·bits·of·the·state·are·worse.</p><p>The·quality·of·the·output·value·improves·much·by·using·a·scrambler,1398 of·the·generator·state.··The·higher·bits·of·the·state·are·worse.</p><p>The·quality·of·the·output·value·improves·much·by·using·a·scrambler,
1399 instead·of·just·taking·the·low·bits.1399 instead·of·just·taking·the·low·bits.
1400 Function·<a·href="#mwc59_value32/1"><code·class="inline">mwc59_value32</code></a>·is·a·fast·scrambler1400 Function·<a·href="#mwc59_value32/1"><code·class="inline">mwc59_value32</code></a>·is·a·fast·scrambler
Offset 2222, 18 lines modifiedOffset 2222, 18 lines modified
  
2222 <p>Generate·a·uniformly·distributed·random·number·<code·class="inline">0.0 =&lt; X &lt; 1.0</code>.</p><p>From·the·specified·<code·class="inline">State</code>,·generates·a·random·number·<code·class="inline">X ::</code> <a·href="../../../../erts-16.0/doc/html/erlang.html#t:float/0"><code·class="inline">float/0</code></a>,2222 <p>Generate·a·uniformly·distributed·random·number·<code·class="inline">0.0 =&lt; X &lt; 1.0</code>.</p><p>From·the·specified·<code·class="inline">State</code>,·generates·a·random·number·<code·class="inline">X ::</code> <a·href="../../../../erts-16.0/doc/html/erlang.html#t:float/0"><code·class="inline">float/0</code></a>,
2223 uniformly·distributed·in·the·value·range·<code·class="inline">0.0·=&lt;·X·&lt;·1.0</code>.2223 uniformly·distributed·in·the·value·range·<code·class="inline">0.0·=&lt;·X·&lt;·1.0</code>.
2224 Returns·the·number·<code·class="inline">X</code>·and·the·updated·<code·class="inline">NewState</code>.</p><p>The·generated·numbers·are·of·the·form·<code·class="inline">N * 2.0^(-53)</code>,·that·is;2224 Returns·the·number·<code·class="inline">X</code>·and·the·updated·<code·class="inline">NewState</code>.</p><p>The·generated·numbers·are·of·the·form·<code·class="inline">N * 2.0^(-53)</code>,·that·is;
2225 equally·spaced·in·the·interval.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>This·function·may·return·exactly·<code·class="inline">0.0</code>·which·can·be·fatal·for·certain2225 equally·spaced·in·the·interval.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>This·function·may·return·exactly·<code·class="inline">0.0</code>·which·can·be·fatal·for·certain
2226 applications.·If·that·is·undesired·you·can·use·<code·class="inline">(1.0 - rand:uniform())</code>2226 applications.·If·that·is·undesired·you·can·use·<code·class="inline">(1.0 - rand:uniform())</code>
2227 to·get·the·interval·<code·class="inline">0.0 &lt; X =&lt; 1.0</code>,·or·instead·use·<a·href="#uniform_real/0"><code·class="inline">uniform_real/0</code></a>.</p><p>If·neither·endpoint·is·desired·you·can·achieve·the·range2227 to·get·the·interval·<code·class="inline">0.0 &lt; X =&lt; 1.0</code>,·or·instead·use·<a·href="#uniform_real/0"><code·class="inline">uniform_real/0</code></a>.</p><p>If·neither·endpoint·is·desired·you·can·achieve·the·range
2228 <code·class="inline">0.0 &lt; X &lt; 1.0</code>·using·test·and·re-try·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_uniform</span><span·class="p"·data-group-id="2548887835-1">(</span><span·class="p"·data-group-id="2548887835-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2228 <code·class="inline">0.0 &lt; X &lt; 1.0</code>·using·test·and·re-try·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_uniform</span><span·class="p"·data-group-id="3667772438-1">(</span><span·class="p"·data-group-id="3667772438-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2229 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="2548887835-2">(</span><span·class="p"·data-group-id="2548887835-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">2229 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="3667772438-2">(</span><span·class="p"·data-group-id="3667772438-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
2230 ········</span><span·class="n">X</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="mf">0.0</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="p">;</span><span·class="w">2230 ········</span><span·class="n">X</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="mf">0.0</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="p">;</span><span·class="w">
2231 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">my_uniform</span><span·class="p"·data-group-id="2548887835-3">(</span><span·class="p"·data-group-id="2548887835-3">)</span><span·class="w">2231 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">my_uniform</span><span·class="p"·data-group-id="3667772438-3">(</span><span·class="p"·data-group-id="3667772438-3">)</span><span·class="w">
2232 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre></section>2232 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre></section>
2233 ··</section>2233 ··</section>
2234 </section>2234 </section>
2235 <section·class="detail"·id="uniform_s/2">2235 <section·class="detail"·id="uniform_s/2">
  
2236 ··<div·class="detail-header">2236 ··<div·class="detail-header">
2237 ····<a·href="#uniform_s/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2237 ····<a·href="#uniform_s/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2285, 15 lines modifiedOffset 2285, 15 lines modified
2285 ······<p·class="built-using">2285 ······<p·class="built-using">
2286 ········Built·using2286 ········Built·using
2287 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2287 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2288 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2288 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2289 ······</p>2289 ······</p>
2290 <p>Copyright·©·1996-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;
656 B
html2text {}
Max HTML report size reached
5.61 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/random.html
    
Offset 458, 17 lines modifiedOffset 458, 17 lines modified
458 ······<div·class="specs">458 ······<div·class="specs">
  
459 ··········<pre·translate="no"><span·class="attribute">-spec</span>·seed(A1,·A2,·A3)·->·undefined·|·<a·href="#t:ran/0">ran</a>()·when·A1·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·A2·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·A3·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>().</pre>459 ··········<pre·translate="no"><span·class="attribute">-spec</span>·seed(A1,·A2,·A3)·->·undefined·|·<a·href="#t:ran/0">ran</a>()·when·A1·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·A2·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·A3·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>().</pre>
  
460 ······</div>460 ······</div>
  
461 <p>Seeds·random·number·generation·with·integer·values·in·the·process·dictionary·and461 <p>Seeds·random·number·generation·with·integer·values·in·the·process·dictionary·and
462 returns·the·old·state.</p><p>The·following·is·an·easy·way·of·obtaining·a·unique·value·to·seed·with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">random</span><span·class="p">:</span><span·class="nf">seed</span><span·class="p"·data-group-id="2485311569-1">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">phash2</span><span·class="p"·data-group-id="2485311569-2">(</span><span·class="p"·data-group-id="2485311569-3">[</span><span·class="nf">node</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·184,·SHA:·f3c775d3fab7a1fe25c59e6684da231f6d71f5ec4f410d3fb90f82bdd4c938bf·...·]-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="3142388830-1">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">phash2</span><span·class="p"·data-group-id="3142388830-2">(</span><span·class="p"·data-group-id="3142388830-3">[</span><span·class="nf">node</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·184,·SHA:·cd3071dc6ffc4232fc934e0b8a24c10cd03c91802930f36432939da7b0b18ae3·...·]-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="2485311569-5">(</span><span·class="p"·data-group-id="2485311569-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="3142388830-5">(</span><span·class="p"·data-group-id="3142388830-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="2485311569-6">(</span><span·class="p"·data-group-id="2485311569-6">)</span><span·class="p"·data-group-id="2485311569-1">)</span></code></pre><p>For·details,·see·<a·href="../../../../erts-16.0/doc/html/erlang.html#phash2/1"><code·class="inline">erlang:phash2/1</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#node/0"><code·class="inline">erlang:node/0</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#monotonic_time/0"><code·class="inline">erlang:monotonic_time/0</code></a>,464 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">unique_integer</span><span·class="p"·data-group-id="3142388830-6">(</span><span·class="p"·data-group-id="3142388830-6">)</span><span·class="p"·data-group-id="3142388830-1">)</span></code></pre><p>For·details,·see·<a·href="../../../../erts-16.0/doc/html/erlang.html#phash2/1"><code·class="inline">erlang:phash2/1</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#node/0"><code·class="inline">erlang:node/0</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#monotonic_time/0"><code·class="inline">erlang:monotonic_time/0</code></a>,
465 and·<a·href="../../../../erts-16.0/doc/html/erlang.html#unique_integer/0"><code·class="inline">erlang:unique_integer/0</code></a>.</p>465 and·<a·href="../../../../erts-16.0/doc/html/erlang.html#unique_integer/0"><code·class="inline">erlang:unique_integer/0</code></a>.</p>
466 ··</section>466 ··</section>
467 </section>467 </section>
468 <section·class="detail"·id="uniform/0">468 <section·class="detail"·id="uniform/0">
  
469 ··<div·class="detail-header">469 ··<div·class="detail-header">
470 ····<a·href="#uniform/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">470 ····<a·href="#uniform/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 615, 15 lines modifiedOffset 615, 15 lines modified
615 ······<p·class="built-using">615 ······<p·class="built-using">
616 ········Built·using616 ········Built·using
617 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the617 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
618 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>618 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
619 ······</p>619 ······</p>
620 <p>Copyright·©·1996-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
109 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/re.html
    
Offset 2551, 40 lines modifiedOffset 2551, 40 lines modified
  
2551 ··········<pre·translate="no"><span·class="attribute">-spec</span>·inspect(MP,·Item)·->·{namelist,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()]}·when·MP·::·<a·href="#t:mp/0">mp</a>(),·Item·::·namelist.</pre>2551 ··········<pre·translate="no"><span·class="attribute">-spec</span>·inspect(MP,·Item)·->·{namelist,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()]}·when·MP·::·<a·href="#t:mp/0">mp</a>(),·Item·::·namelist.</pre>
  
2552 ······</div>2552 ······</div>
  
2553 <p>Takes·a·compiled·regular·expression·and·an·item,·and·returns·the·relevant·data2553 <p>Takes·a·compiled·regular·expression·and·an·item,·and·returns·the·relevant·data
2554 from·the·regular·expression.</p><p>The·only·supported·item·is·<code·class="inline">namelist</code>,·which·returns·the·tuple·<code·class="inline">{namelist,·[binary()]}</code>,2554 from·the·regular·expression.</p><p>The·only·supported·item·is·<code·class="inline">namelist</code>,·which·returns·the·tuple·<code·class="inline">{namelist,·[binary()]}</code>,
2555 containing·the·names·of·all·(unique)·named·subpatterns·in·the·regular·expression.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="4648475817-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MP</span><span·class="p"·data-group-id="4648475817-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:·38cf6385e99fcd30ed7b9a747716270da6ce72a1a7790dc3bd1bf3d209e334c3·...·]-2">)</span><span·class="p">.</span><span·class="w">2555 containing·the·names·of·all·(unique)·named·subpatterns·in·the·regular·expression.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="0440737506-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MP</span><span·class="p"·data-group-id="0440737506-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:·d3c95737d7da15090abee50494055f5955a9b349098073a36f09ccb84d1cd1ac·...·]-2">)</span><span·class="p">.</span><span·class="w">
2556 </span><span·class="p"·data-group-id="4648475817-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4648475817-4">{</span><span·class="ss">re_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">2556 </span><span·class="p"·data-group-id="0440737506-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0440737506-4">{</span><span·class="ss">re_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
2557 ················</span><span·class="p"·data-group-id="4648475817-5">&lt;&lt;</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">119</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="w">2557 ················</span><span·class="p"·data-group-id="0440737506-5">&lt;&lt;</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">119</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="w">
2558 ··················</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4648475817-5">&gt;&gt;</span><span·class="p"·data-group-id="4648475817-4">}</span><span·class="p"·data-group-id="4648475817-3">}</span><span·class="gp·unselectable">2558 ··················</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0440737506-5">&gt;&gt;</span><span·class="p"·data-group-id="0440737506-4">}</span><span·class="p"·data-group-id="0440737506-3">}</span><span·class="gp·unselectable">
2559 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="4648475817-6">(</span><span·class="n">MP</span><span·class="p">,</span><span·class="ss">namelist</span><span·class="p"·data-group-id="4648475817-6">)</span><span·class="p">.</span><span·class="w">2559 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="0440737506-6">(</span><span·class="n">MP</span><span·class="p">,</span><span·class="ss">namelist</span><span·class="p"·data-group-id="0440737506-6">)</span><span·class="p">.</span><span·class="w">
2560 </span><span·class="p"·data-group-id="4648475817-7">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="4648475817-8">[</span><span·class="p"·data-group-id="4648475817-9">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·489,·SHA:·9ca454caf0e03c4339f24ace1fa25a7ad424ee5fec9687abc3af97535b3ae8f1·...·]-7">}</span><span·class="gp·unselectable">2560 </span><span·class="p"·data-group-id="0440737506-7">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="0440737506-8">[</span><span·class="p"·data-group-id="0440737506-9">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·489,·SHA:·018ebe2837c23a521a4b0c2ca35667e0d72c4567cb095584fd2b4a44b7982e9f·...·]-7">}</span><span·class="gp·unselectable">
2561 3&gt;·</span><span·class="p"·data-group-id="4648475817-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MPD</span><span·class="p"·data-group-id="4648475817-12">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><span[·...·truncated·by·diffoscope;·len:·385,·SHA:·647a900c6df3bd21fe723e93fce90efec80b726c08a3e22763c672062e06b4e1·...·]-13">)</span><span·class="p">.</span><span·class="w">2561 3&gt;·</span><span·class="p"·data-group-id="0440737506-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MPD</span><span·class="p"·data-group-id="0440737506-12">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><span[·...·truncated·by·diffoscope;·len:·385,·SHA:·190ed09fd2247ed1b0e4c6e02c8192ad597e4c5bade01e0f1472a2984be66248·...·]-13">)</span><span·class="p">.</span><span·class="w">
2562 </span><span·class="p"·data-group-id="4648475817-15">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4648475817-16">{</span><span·class="ss">re_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">2562 </span><span·class="p"·data-group-id="0440737506-15">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0440737506-16">{</span><span·class="ss">re_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
2563 ················</span><span·class="p"·data-group-id="4648475817-17">&lt;&lt;</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">119</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="w">2563 ················</span><span·class="p"·data-group-id="0440737506-17">&lt;&lt;</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">119</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="w">
2564 ··················</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4648475817-17">&gt;&gt;</span><span·class="p"·data-group-id="4648475817-16">}</span><span·class="p"·data-group-id="4648475817-15">}</span><span·class="gp·unselectable">2564 ··················</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0440737506-17">&gt;&gt;</span><span·class="p"·data-group-id="0440737506-16">}</span><span·class="p"·data-group-id="0440737506-15">}</span><span·class="gp·unselectable">
2565 4&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="4648475817-18">(</span><span·class="n">MPD</span><span·class="p">,</span><span·class="ss">namelist</span><span·class="p"·data-group-id="4648475817-18">)</span><span·class="p">.</span><span·class="w">2565 4&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="0440737506-18">(</span><span·class="n">MPD</span><span·class="p">,</span><span·class="ss">namelist</span><span·class="p"·data-group-id="0440737506-18">)</span><span·class="p">.</span><span·class="w">
2566 </span><span·class="p"·data-group-id="4648475817-19">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="4648475817-20">[</span><span·class="p"·data-group-id="4648475817-21">&lt;&lt;</span><span·class="s">&quot;B&quot;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·312,·SHA:·0bdce006be881033ab4c156772de40169a3c34affb396640d560802a88d302cd·...·]-19">}</span></code></pre><p>Notice·in·the·second·example·that·the·duplicate·name·only·occurs·once·in·the2566 </span><span·class="p"·data-group-id="0440737506-19">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="0440737506-20">[</span><span·class="p"·data-group-id="0440737506-21">&lt;&lt;</span><span·class="s">&quot;B&quot;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·312,·SHA:·70a93ced283a73ddc96244dab2545ab8166a16e9185e07ee0dc4d15b33bd6b7c·...·]-19">}</span></code></pre><p>Notice·in·the·second·example·that·the·duplicate·name·only·occurs·once·in·the
2567 returned·list,·and·that·the·list·is·in·alphabetical·order·regardless·of·where2567 returned·list,·and·that·the·list·is·in·alphabetical·order·regardless·of·where
2568 the·names·are·positioned·in·the·regular·expression.·The·order·of·the·names·is2568 the·names·are·positioned·in·the·regular·expression.·The·order·of·the·names·is
2569 the·same·as·the·order·of·captured·subexpressions·if·<code·class="inline">{capture,·all_names}</code>·is2569 the·same·as·the·order·of·captured·subexpressions·if·<code·class="inline">{capture,·all_names}</code>·is
2570 specified·as·an·option·to·<a·href="#run/3"><code·class="inline">run/3</code></a>.·You·can·therefore·create·a·name-to-value2570 specified·as·an·option·to·<a·href="#run/3"><code·class="inline">run/3</code></a>.·You·can·therefore·create·a·name-to-value
2571 mapping·from·the·result·of·<a·href="#run/3"><code·class="inline">run/3</code></a>·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="2041858612-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MP</span><span·class="p"·data-group-id="2041858612-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:·8d7799eb46d15bf6bb6e1e5d89022e783b65fcdfbc6627c1cb04d7efe5479ffb·...·]-2">)</span><span·class="p">.</span><span·class="w">2571 mapping·from·the·result·of·<a·href="#run/3"><code·class="inline">run/3</code></a>·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="7290666557-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MP</span><span·class="p"·data-group-id="7290666557-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:·818ee6fe806339cd79057a37706748abc7ca725d0ea5a3c087fbeaec55d2e5c0·...·]-2">)</span><span·class="p">.</span><span·class="w">
2572 </span><span·class="p"·data-group-id="2041858612-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2041858612-4">{</span><span·class="ss">re_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">2572 </span><span·class="p"·data-group-id="7290666557-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7290666557-4">{</span><span·class="ss">re_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
2573 ················</span><span·class="p"·data-group-id="2041858612-5">&lt;&lt;</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">119</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="w">2573 ················</span><span·class="p"·data-group-id="7290666557-5">&lt;&lt;</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">119</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="w">
2574 ··················</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="2041858612-5">&gt;&gt;</span><span·class="p"·data-group-id="2041858612-4">}</span><span·class="p"·data-group-id="2041858612-3">}</span><span·class="gp·unselectable">2574 ··················</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="7290666557-5">&gt;&gt;</span><span·class="p"·data-group-id="7290666557-4">}</span><span·class="p"·data-group-id="7290666557-3">}</span><span·class="gp·unselectable">
2575 2&gt;·</span><span·class="p"·data-group-id="2041858612-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="2041858612-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·251,·SHA:·16dc0cef7b489841677dc8454db223c7fffe7ce4cf0c31f935843bc13389af21·...·]-7">)</span><span·class="p">.</span><span·class="w">2575 2&gt;·</span><span·class="p"·data-group-id="7290666557-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="7290666557-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·251,·SHA:·7677cd1f44b40b742c661c0cd84ec471e8f8fc33aa2930bded61b919d6b78065·...·]-7">)</span><span·class="p">.</span><span·class="w">
2576 </span><span·class="p"·data-group-id="2041858612-8">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="2041858612-9">[</span><span·class="p"·data-group-id="2041858612-10">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·491,·SHA:·d4dce7274091635f4e0f6e1daf18100fdd2a0b0b0d0b64ae931f656f81c85eed·...·]-8">}</span><span·class="gp·unselectable">2576 </span><span·class="p"·data-group-id="7290666557-8">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="7290666557-9">[</span><span·class="p"·data-group-id="7290666557-10">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·491,·SHA:·45bf7b5b406a5f9097e4e1fd7831151af24299ca7419287fc3917ecbde099077·...·]-8">}</span><span·class="gp·unselectable">
2577 3&gt;·</span><span·class="p"·data-group-id="2041858612-13">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="n">L</span><span·class="p"·data-group-id="2041858612-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:·28d07c9cbbffb965fc67e88ed2d2d218ce32d507987a90f9a0694d7334ab4e43·...·]-14">)</span><span·class="p">.</span><span·class="w">2577 3&gt;·</span><span·class="p"·data-group-id="7290666557-13">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="n">L</span><span·class="p"·data-group-id="7290666557-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:·258f1a99c30d77febf34709d3b1ac1c152bef51ec1efcd35b9a26389395706aa·...·]-14">)</span><span·class="p">.</span><span·class="w">
2578 </span><span·class="p"·data-group-id="2041858612-17">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="2041858612-18">[</span><span·class="p"·data-group-id="2041858612-19">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·419,·SHA:·4dd1219347a7dd5a370ec29332487db29c3a3a322b1ef2aa50ef6018b6a23483·...·]-17">}</span><span·class="gp·unselectable">2578 </span><span·class="p"·data-group-id="7290666557-17">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="7290666557-18">[</span><span·class="p"·data-group-id="7290666557-19">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·419,·SHA:·2bbed8a593d16fa152065db33e26096bcce3f1d2d8eb029345140a761b923aa9·...·]-17">}</span><span·class="gp·unselectable">
2579 4&gt;·</span><span·class="n">NameMap</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">zip</span><span·class="p"·data-group-id="2041858612-22">(</span><span·class="n">N</span><span·class="p">,</span><span·class="n">L</span><span·class="p"·data-group-id="2041858612-22">)</span><span·class="p">.</span><span·class="w">2579 4&gt;·</span><span·class="n">NameMap</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">zip</span><span·class="p"·data-group-id="7290666557-22">(</span><span·class="n">N</span><span·class="p">,</span><span·class="n">L</span><span·class="p"·data-group-id="7290666557-22">)</span><span·class="p">.</span><span·class="w">
2580 </span><span·class="p"·data-group-id="2041858612-23">[</span><span·class="p"·data-group-id="2041858612-24">{</span><span·class="p"·data-group-id="2041858612-25">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="2041858612-25">&gt;&gt;</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·1128,·SHA:·d7a1d2ae7cc6040288b699d3f374300a7972d9c842fc4bca2aae92b28e5b62ef·...·]-23">]</span></code></pre>2580 </span><span·class="p"·data-group-id="7290666557-23">[</span><span·class="p"·data-group-id="7290666557-24">{</span><span·class="p"·data-group-id="7290666557-25">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="7290666557-25">&gt;&gt;</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·1128,·SHA:·e464bf5957d9fcd37206bf3f6e1c29015439a0214edef1fe4882733c383a0e98·...·]-23">]</span></code></pre>
2581 ··</section>2581 ··</section>
2582 </section>2582 </section>
2583 <section·class="detail"·id="replace/3">2583 <section·class="detail"·id="replace/3">
  
2584 ··<div·class="detail-header">2584 ··<div·class="detail-header">
2585 ····<a·href="#replace/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2585 ····<a·href="#replace/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
2586 ······<i·class="ri-link-m"·aria-hidden="true"></i>2586 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2661, 24 lines modifiedOffset 2661, 24 lines modified
2661 both·the·regular·expression·and·<code·class="inline">Subject</code>·are·to·specified·as·valid·Unicode2661 both·the·regular·expression·and·<code·class="inline">Subject</code>·are·to·specified·as·valid·Unicode
2662 <code·class="inline">charlist()</code>s.</p><p>If·the·replacement·is·given·as·a·string,·it·can·contain·the·special·character2662 <code·class="inline">charlist()</code>s.</p><p>If·the·replacement·is·given·as·a·string,·it·can·contain·the·special·character
2663 <code·class="inline">&amp;</code>,·which·inserts·the·whole·matching·expression·in·the·result,·and·the·special2663 <code·class="inline">&amp;</code>,·which·inserts·the·whole·matching·expression·in·the·result,·and·the·special
2664 sequence·<code·class="inline">\</code>N·(where·N·is·an·integer·&gt;·0),·<code·class="inline">\g</code>N,·or·<code·class="inline">\g{</code>N<code·class="inline">}</code>,·resulting·in·the2664 sequence·<code·class="inline">\</code>N·(where·N·is·an·integer·&gt;·0),·<code·class="inline">\g</code>N,·or·<code·class="inline">\g{</code>N<code·class="inline">}</code>,·resulting·in·the
2665 subexpression·number·N,·is·inserted·in·the·result.·If·no·subexpression·with·that2665 subexpression·number·N,·is·inserted·in·the·result.·If·no·subexpression·with·that
2666 number·is·generated·by·the·regular·expression,·nothing·is·inserted.</p><p>To·insert·an·&amp;·or·a·\·in·the·result,·precede·it·with·a·\.·Notice·that·Erlang2666 number·is·generated·by·the·regular·expression,·nothing·is·inserted.</p><p>To·insert·an·&amp;·or·a·\·in·the·result,·precede·it·with·a·\.·Notice·that·Erlang
2667 already·gives·a·special·meaning·to·\·in·literal·strings,·so·a·single·\·must·be2667 already·gives·a·special·meaning·to·\·in·literal·strings,·so·a·single·\·must·be
2668 written·as·<code·class="inline">&quot;\\&quot;</code>·and·therefore·a·double·\·as·<code·class="inline">&quot;\\\\&quot;</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">replace</span><span·class="p"·data-group-id="7988082046-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="7988082046-2">[</span><span·class="p"·data-group-id="7988082046-3">{</span><span·class="ss">return</span><span·class="p">,</span><span·class="ss">list</span><span·class="p"·data-group-id="7988082046-3">}</span><span·class="p"·data-group-id="7988082046-2">]</span><span·class="p"·data-group-id="7988082046-1">)</span><span·class="p">.</span><span·class="w"> 
2669 </span><span·class="s">&quot;ab[c]d&quot;</span></code></pre><p>while</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">replace</span><span·class[·...·truncated·by·diffoscope;·len:·568,·SHA:·98af1b366052fe8f8793914bdb52a9a2a7b7b97448f31fe23e31c7c9c05100a8·...·]-1">)</span><span·class="p">.</span><span·class="w">2668 written·as·<code·class="inline">&quot;\\&quot;</code>·and·therefore·a·double·\·as·<code·class="inline">&quot;\\\\&quot;</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·clas[·...·truncated·by·diffoscope;·len:·648,·SHA:·3eea1bd8b120c8698fb77e094da3b0876ce50cabbaac52ce555126d70cbf6b80·...·]-1">)</span><span·class="p">.</span><span·class="w">
 2669 </span><span·class="s">&quot;ab[c]d&quot;</span></code></pre><p>while</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">replace</span><span·class="p"·data-group-id="8374924001-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="8374924001-2">[</span><span·class="p"·data-group-id="8374924001-3">{</span><span·class="ss">return</span><span·class="p">,</span><span·class="ss">list</span><span·class="p"·data-group-id="8374924001-3">}</span><span·class="p"·data-group-id="8374924001-2">]</span><span·class="p"·data-group-id="8374924001-1">)</span><span·class="p">.</span><span·class="w">
2670 </span><span·class="s">&quot;ab[&amp;]d&quot;</span></code></pre><p>If·the·replacement·is·given·as·a·fun,·it·will·be·called·with·the·whole·matching2670 </span><span·class="s">&quot;ab[&amp;]d&quot;</span></code></pre><p>If·the·replacement·is·given·as·a·fun,·it·will·be·called·with·the·whole·matching
2671 expression·as·the·first·argument·and·a·list·of·subexpression·matches·in·the2671 expression·as·the·first·argument·and·a·list·of·subexpression·matches·in·the
2672 order·in·which·they·appear·in·the·regular·expression.·The·returned·value·will·be2672 order·in·which·they·appear·in·the·regular·expression.·The·returned·value·will·be
2673 inserted·in·the·result.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">replace</span><span·class="p"·data-group-id="4063921737-1">(</span><span·class="s">&quot;abcd&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;.(.)&quot;</span><span·class="p">,</span><span·class="w">2673 inserted·in·the·result.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">replace</span><span·class="p"·data-group-id="7827786363-1">(</span><span·class="s">&quot;abcd&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;.(.)&quot;</span><span·class="p">,</span><span·class="w">
2674 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="4063921737-2">(</span><span·class="n">Whole</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4063921737-3">[</span><span·class="p"·data-group-id="4063921737-4">&lt;&lt;</span><span·class="n">C</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·133,·SHA:·b54a93bef1e0cd102f86316743518168b33bface32b20bac41be1a025d78c8b8·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2674 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="7827786363-2">(</span><span·class="n">Whole</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7827786363-3">[</span><span·class="p"·data-group-id="7827786363-4">&lt;&lt;</span><span·class="n">C</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·133,·SHA:·29558ee221e281d47bb269303f6a928ba878ffacd3758ef2e442c1bab81b877d·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2675 ·········</span><span·class="p"·data-group-id="4063921737-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:·b4d91a675e5a4dbc584cb0fc814cd0e84c5fd8ea85aeab06f179e34515fe0788·...·]-5">&gt;&gt;</span><span·class="w">2675 ·········</span><span·class="p"·data-group-id="7827786363-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:·1b4bad34d467d3bb744979d635f776063804ddf95bb96402e51603404494367c·...·]-5">&gt;&gt;</span><span·class="w">
2676 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">2676 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
2677 ····</span><span·class="p"·data-group-id="4063921737-7">[</span><span·class="p"·data-group-id="4063921737-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="4063921737-8">}</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·e1fc69df178bb5c3b0de0eff2545f0e41e9b025ae863fdbe38334503cd91678b·...·]-1">)</span><span·class="p">.</span><span·class="w">2677 ····</span><span·class="p"·data-group-id="7827786363-7">[</span><span·class="p"·data-group-id="7827786363-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="7827786363-8">}</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·1d50d58e8e67dc43cadb286df1146653bfaf90dc42f3be9347fdc863aeee5c37·...·]-1">)</span><span·class="p">.</span><span·class="w">
2678 </span><span·class="s">&quot;#ab-B#cd&quot;</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Non-matching·optional·subexpressions·will·not·be·included·in·the·list·of2678 </span><span·class="s">&quot;#ab-B#cd&quot;</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Non-matching·optional·subexpressions·will·not·be·included·in·the·list·of
2679 subexpression·matches·if·they·are·the·last·subexpressions·in·the·regular2679 subexpression·matches·if·they·are·the·last·subexpressions·in·the·regular
2680 expression.</p><p><em>Example:</em></p><p>The·regular·expression·<code·class="inline">&quot;(a)(b)?(c)?&quot;</code>·(&quot;a&quot;,·optionally·followed·by·&quot;b&quot;,2680 expression.</p><p><em>Example:</em></p><p>The·regular·expression·<code·class="inline">&quot;(a)(b)?(c)?&quot;</code>·(&quot;a&quot;,·optionally·followed·by·&quot;b&quot;,
2681 optionally·followed·by·&quot;c&quot;)·will·create·the·following·subexpression·lists:</p><ul><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;,·&lt;&lt;&quot;b&quot;&gt;&gt;,·&lt;&lt;&quot;c&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;abc&quot;</code></li><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;,·&lt;&lt;&gt;&gt;,·&lt;&lt;&quot;c&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;acx&quot;</code></li><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;,·&lt;&lt;&quot;b&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;abx&quot;</code></li><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;axx&quot;</code></li></ul></section><p>As·with·<a·href="#run/3"><code·class="inline">run/3</code></a>,·compilation·errors·raise·the·<code·class="inline">badarg</code>·exception.2681 optionally·followed·by·&quot;c&quot;)·will·create·the·following·subexpression·lists:</p><ul><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;,·&lt;&lt;&quot;b&quot;&gt;&gt;,·&lt;&lt;&quot;c&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;abc&quot;</code></li><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;,·&lt;&lt;&gt;&gt;,·&lt;&lt;&quot;c&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;acx&quot;</code></li><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;,·&lt;&lt;&quot;b&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;abx&quot;</code></li><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;axx&quot;</code></li></ul></section><p>As·with·<a·href="#run/3"><code·class="inline">run/3</code></a>,·compilation·errors·raise·the·<code·class="inline">badarg</code>·exception.
2682 <a·href="#compile/2"><code·class="inline">compile/2</code></a>·can·be·used·to·get·more·information·about·the·error.</p>2682 <a·href="#compile/2"><code·class="inline">compile/2</code></a>·can·be·used·to·get·more·information·about·the·error.</p>
2683 ··</section>2683 ··</section>
2684 </section>2684 </section>
Offset 2787, 27 lines modifiedOffset 2787, 27 lines modified
2787 any·matching·subexpressions·(or·as·specified·by·option·<code·class="inline">capture</code>.·The2787 any·matching·subexpressions·(or·as·specified·by·option·<code·class="inline">capture</code>.·The
2788 <code·class="inline">Captured</code>·part·of·the·return·value·is·hence·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a>·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a>s·when2788 <code·class="inline">Captured</code>·part·of·the·return·value·is·hence·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a>·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a>s·when
2789 this·option·is·specified.</p><p>The·interaction·of·option·<code·class="inline">global</code>·with·a·regular·expression·that·matches·an2789 this·option·is·specified.</p><p>The·interaction·of·option·<code·class="inline">global</code>·with·a·regular·expression·that·matches·an
2790 empty·string·surprises·some·users.·When·option·<code·class="inline">global</code>·is·specified,2790 empty·string·surprises·some·users.·When·option·<code·class="inline">global</code>·is·specified,
2791 <a·href="#run/3"><code·class="inline">run/3</code></a>·handles·empty·matches·in·the·same·way·as·Perl:·a2791 <a·href="#run/3"><code·class="inline">run/3</code></a>·handles·empty·matches·in·the·same·way·as·Perl:·a
2792 zero-length·match·at·any·point·is·also·retried·with·options2792 zero-length·match·at·any·point·is·also·retried·with·options
2793 <code·class="inline">[anchored,·notempty_atstart]</code>.·If·that·search·gives·a·result·of·length·&gt;·0,2793 <code·class="inline">[anchored,·notempty_atstart]</code>.·If·that·search·gives·a·result·of·length·&gt;·0,
2794 the·result·is·included.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="3967761655-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="3967761655-2">[</span><span·class="ss">global</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·0be5a9caa234a8515b6a7cf5c9049291d868e8d8e7478340ed91cb6bdeed34fc·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·following·matchings·are·performed:</p><ul><li><p><strong>At·offset·<code·class="inline">0</code></strong>·-·The·regular·expression·<code·class="inline">(|at)</code>·first·match·at·the2794 the·result·is·included.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="9920076618-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="9920076618-2">[</span><span·class="ss">global</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·3d45344f8d60dabbde1cb6fda4ce4e0a5c9d2ac1c70473eac3767ed2494fedd7·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·following·matchings·are·performed:</p><ul><li><p><strong>At·offset·<code·class="inline">0</code></strong>·-·The·regular·expression·<code·class="inline">(|at)</code>·first·match·at·the
2795 initial·position·of·string·<code·class="inline">cat</code>,·giving·the·result·set·<code·class="inline">[{0,0},{0,0}]</code>·(the2795 initial·position·of·string·<code·class="inline">cat</code>,·giving·the·result·set·<code·class="inline">[{0,0},{0,0}]</code>·(the
2796 second·<code·class="inline">{0,0}</code>·is·because·of·the·subexpression·marked·by·the·parentheses).2796 second·<code·class="inline">{0,0}</code>·is·because·of·the·subexpression·marked·by·the·parentheses).
2797 As·the·length·of·the·match·is·0,·we·do·not·advance·to·the·next·position·yet.</p></li><li><p><strong>At·offset·<code·class="inline">0</code>·with·<code·class="inline">[anchored,·notempty_atstart]</code></strong>·-·The·search·is2797 As·the·length·of·the·match·is·0,·we·do·not·advance·to·the·next·position·yet.</p></li><li><p><strong>At·offset·<code·class="inline">0</code>·with·<code·class="inline">[anchored,·notempty_atstart]</code></strong>·-·The·search·is
2798 retried·with·options·<code·class="inline">[anchored,·notempty_atstart]</code>·at·the·same·position,2798 retried·with·options·<code·class="inline">[anchored,·notempty_atstart]</code>·at·the·same·position,
2799 which·does·not·give·any·interesting·result·of·longer·length,·so·the·search2799 which·does·not·give·any·interesting·result·of·longer·length,·so·the·search
2800 position·is·advanced·to·the·next·character·(<code·class="inline">a</code>).</p></li><li><p><strong>At·offset·<code·class="inline">1</code></strong>·-·The·search·results·in·<code·class="inline">[{1,0},{1,0}]</code>,·so·this·search·is2800 position·is·advanced·to·the·next·character·(<code·class="inline">a</code>).</p></li><li><p><strong>At·offset·<code·class="inline">1</code></strong>·-·The·search·results·in·<code·class="inline">[{1,0},{1,0}]</code>,·so·this·search·is
2801 also·repeated·with·the·extra·options.</p></li><li><p><strong>At·offset·<code·class="inline">1</code>·with·<code·class="inline">[anchored,·notempty_atstart]</code></strong>·-·Alternative·<code·class="inline">ab</code>·is2801 also·repeated·with·the·extra·options.</p></li><li><p><strong>At·offset·<code·class="inline">1</code>·with·<code·class="inline">[anchored,·notempty_atstart]</code></strong>·-·Alternative·<code·class="inline">ab</code>·is
2802 found·and·the·result·is·[{1,2},{1,2}].·The·result·is·added·to·the·list2802 found·and·the·result·is·[{1,2},{1,2}].·The·result·is·added·to·the·list
2803 of·results·and·the·position·in·the·search·string·is·advanced·two·steps.</p></li><li><p><strong>At·offset·<code·class="inline">3</code></strong>·-·The·search·once·again·matches·the·empty·string,·giving2803 of·results·and·the·position·in·the·search·string·is·advanced·two·steps.</p></li><li><p><strong>At·offset·<code·class="inline">3</code></strong>·-·The·search·once·again·matches·the·empty·string,·giving
2804 <code·class="inline">[{3,0},{3,0}]</code>.</p></li><li><p><strong>At·offset·<code·class="inline">1</code>·with·<code·class="inline">[anchored,·notempty_atstart]</code></strong>·-·This·gives·no·result2804 <code·class="inline">[{3,0},{3,0}]</code>.</p></li><li><p><strong>At·offset·<code·class="inline">1</code>·with·<code·class="inline">[anchored,·notempty_atstart]</code></strong>·-·This·gives·no·result
2805 of·length·&gt;·0·and·we·are·at·the·last·position,·so·the·global·search·is2805 of·length·&gt;·0·and·we·are·at·the·last·position,·so·the·global·search·is
2806 complete.</p></li></ul><p>The·result·of·the·call·is:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4830127547-1">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="4830127547-2">[</span><span·class="p"·data-group-id="4830127547-3">[</span><span·class="p"·data-group-id="4830127547-4">{</span><span·class="mi">0</sp[·...·truncated·by·diffoscope;·len:·2006,·SHA:·8ac853965d7caec3bf32dd3c1d15feeea31e85a4b1000c9c5d754a98cd3ff5e9·...·]47-1">}</span></code></pre></li><li><p><strong><code·class="inline">notempty</code></strong>·-·An·empty·string·is·not·considered·to·be·a·valid·match·if·this2806 complete.</p></li></ul><p>The·result·of·the·call·is:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2185009347-1">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="2185009347-2">[</span><span·class="p"·data-group-id="2185009347-3">[</span><span·class="p"·data-group-id="2185009347-4">{</span><span·class="mi">0</sp[·...·truncated·by·diffoscope;·len:·2006,·SHA:·6062a914e62a5f690ec5ad20a26e699e7ca374dee78474bfc8d65d57ea29183c·...·]47-1">}</span></code></pre></li><li><p><strong><code·class="inline">notempty</code></strong>·-·An·empty·string·is·not·considered·to·be·a·valid·match·if·this
2807 option·is·specified.·If·alternatives·in·the·pattern·exist,·they·are·tried.·If2807 option·is·specified.·If·alternatives·in·the·pattern·exist,·they·are·tried.·If
2808 all·the·alternatives·match·the·empty·string,·the·entire·match·fails.</p><p><em>Example:</em></p><p>If·the·following·pattern·is·applied·to·a·string·not·beginning·with·&quot;a&quot;·or·&quot;b&quot;,2808 all·the·alternatives·match·the·empty·string,·the·entire·match·fails.</p><p><em>Example:</em></p><p>If·the·following·pattern·is·applied·to·a·string·not·beginning·with·&quot;a&quot;·or·&quot;b&quot;,
2809 it·would·normally·match·the·empty·string·at·the·start·of·the·subject:</p><pre><code·class="text">a?b?</code></pre><p>With·option·<code·class="inline">notempty</code>,·this·match·is·invalid,·so·<a·href="#run/3"><code·class="inline">run/3</code></a>·searches2809 it·would·normally·match·the·empty·string·at·the·start·of·the·subject:</p><pre><code·class="text">a?b?</code></pre><p>With·option·<code·class="inline">notempty</code>,·this·match·is·invalid,·so·<a·href="#run/3"><code·class="inline">run/3</code></a>·searches
2810 further·into·the·string·for·occurrences·of·&quot;a&quot;·or·&quot;b&quot;.</p></li><li><p><strong><code·class="inline">notempty_atstart</code></strong>·-·Like·<code·class="inline">notempty</code>,·except·that·an·empty·string·match2810 further·into·the·string·for·occurrences·of·&quot;a&quot;·or·&quot;b&quot;.</p></li><li><p><strong><code·class="inline">notempty_atstart</code></strong>·-·Like·<code·class="inline">notempty</code>,·except·that·an·empty·string·match
2811 that·is·not·at·the·start·of·the·subject·is·permitted.·If·the·pattern·is2811 that·is·not·at·the·start·of·the·subject·is·permitted.·If·the·pattern·is
2812 anchored,·such·a·match·can·occur·only·if·the·pattern·contains·\K.</p><p>Perl·has·no·direct·equivalent·of·<code·class="inline">notempty</code>·or·<code·class="inline">notempty_atstart</code>,·but·it·does2812 anchored,·such·a·match·can·occur·only·if·the·pattern·contains·\K.</p><p>Perl·has·no·direct·equivalent·of·<code·class="inline">notempty</code>·or·<code·class="inline">notempty_atstart</code>,·but·it·does
2813 make·a·special·case·of·a·pattern·match·of·the·empty·string·within·its·split()2813 make·a·special·case·of·a·pattern·match·of·the·empty·string·within·its·split()
Offset 2870, 35 lines modifiedOffset 2870, 35 lines modified
2870 than·the·total·number·of·calls,·because·not·all·calls·to·match()·are2870 than·the·total·number·of·calls,·because·not·all·calls·to·match()·are
2871 recursive.·This·limit·is·of·use·only·if·it·is·set·smaller·than2871 recursive.·This·limit·is·of·use·only·if·it·is·set·smaller·than
2872 match_limit.</p><p>Limiting·the·recursion·depth·limits·the·amount·of·machine·stack·that2872 match_limit.</p><p>Limiting·the·recursion·depth·limits·the·amount·of·machine·stack·that
2873 can·be·used,·or,·when·PCRE·has·been·compiled·to·use·memory·on·the·heap2873 can·be·used,·or,·when·PCRE·has·been·compiled·to·use·memory·on·the·heap
2874 instead·of·the·stack,·the·amount·of·heap·memory·that·can·be·used.</p></blockquote><p>The·Erlang·VM·uses·a·PCRE·library·where·heap·memory·is·used·when·regular2874 instead·of·the·stack,·the·amount·of·heap·memory·that·can·be·used.</p></blockquote><p>The·Erlang·VM·uses·a·PCRE·library·where·heap·memory·is·used·when·regular
2875 expression·match·recursion·occurs.·This·therefore·limits·the·use·of·machine2875 expression·match·recursion·occurs.·This·therefore·limits·the·use·of·machine
2876 heap,·not·C·stack.</p><p>Specifying·a·lower·value·can·result·in·matches·with·deep·recursion·failing,2876 heap,·not·C·stack.</p><p>Specifying·a·lower·value·can·result·in·matches·with·deep·recursion·failing,
2877 when·they·should·have·matched:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="8483711393-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="8483711393-1">)</span><span·class="p">.</span><span·class="w">2877 when·they·should·have·matched:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="7741397100-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="7741397100-1">)</span><span·class="p">.</span><span·class="w">
2878 </span><span·class="p"·data-group-id="8483711393-2">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="8483711393-3">[</span><span·class="p"·data-group-id="8483711393-4">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">14</span>[·...·truncated·by·diffoscope;·len:·352,·SHA:·0a18ac45cafee244b9959c3ae6fe4f605c213073a64b5f168bdebbd5b1f52286·...·]-2">}</span><span·class="gp·unselectable">2878 </span><span·class="p"·data-group-id="7741397100-2">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="7741397100-3">[</span><span·class="p"·data-group-id="7741397100-4">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">14</span>[·...·truncated·by·diffoscope;·len:·352,·SHA:·3f99e9604eb644cd143287afe143ec0c99c469394c621ed363ec9c5195150487·...·]-2">}</span><span·class="gp·unselectable">
2879 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="8483711393-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="8483711393-7">[</span><span·class="p"·data-group-id="8483711393-8[·...·truncated·by·diffoscope;·len:·251,·SHA:·82666c255d34612ae430b60df911372ae4cad89b3a64643a7dea46911a6ef0ff·...·]-6">)</span><span·class="p">.</span><span·class="w">2879 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="7741397100-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="7741397100-7">[</span><span·class="p"·data-group-id="7741397100-8[·...·truncated·by·diffoscope;·len:·251,·SHA:·f87be164f8ca0ba8294fe2abc5a41ae6182fccc12f6d1fd8ba33307759ad8d3b·...·]-6">)</span><span·class="p">.</span><span·class="w">
2880 </span><span·class="ss">nomatch</span><span·class="gp·unselectable">2880 </span><span·class="ss">nomatch</span><span·class="gp·unselectable">
2881 3&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="8483711393-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="8483711393-10">[</span><span·class="p"·data-group-id="8483711393-[·...·truncated·by·diffoscope;·len:·316,·SHA:·dc7800e375377a0a5f57f111653720e1bf44a19b1ad0e4d5aa25a169e168e22b·...·]-9">)</span><span·class="p">.</span><span·class="w">2881 3&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="7741397100-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="7741397100-10">[</span><span·class="p"·data-group-id="7741397100-[·...·truncated·by·diffoscope;·len:·316,·SHA:·fee8643905e1ceb2552eafc7eb786a036568a115651b3f054ec84089627e044f·...·]-9">)</span><span·class="p">.</span><span·class="w">
2882 </span><span·class="p"·data-group-id="8483711393-12">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">match_limit_recursion</span><span·class="p"·data-group-id="8483711393-12">}</span></code></pre><p>This·option·and·option·<code·class="inline">match_limit</code>·are·only·to·be·used·in·rare·cases.2882 </span><span·class="p"·data-group-id="7741397100-12">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">match_limit_recursion</span><span·class="p"·data-group-id="7741397100-12">}</span></code></pre><p>This·option·and·option·<code·class="inline">match_limit</code>·are·only·to·be·used·in·rare·cases.
2883 Understanding·of·the·PCRE·library·internals·is·recommended·before·tampering2883 Understanding·of·the·PCRE·library·internals·is·recommended·before·tampering
2884 with·these·limits.</p></li><li><p><strong><code·class="inline">{offset,·integer()·&gt;=·0}</code></strong>·-·Start·matching·at·the·offset·(position)2884 with·these·limits.</p></li><li><p><strong><code·class="inline">{offset,·integer()·&gt;=·0}</code></strong>·-·Start·matching·at·the·offset·(position)
2885 specified·in·the·subject·string.·The·offset·is·zero-based,·so·that·the·default2885 specified·in·the·subject·string.·The·offset·is·zero-based,·so·that·the·default
2886 is·<code·class="inline">{offset,0}</code>·(all·of·the·subject·string).</p></li><li><p><strong><code·class="inline">{capture,·ValueSpec}</code>/<code·class="inline">{capture,·ValueSpec,·Type}</code></strong>·-·Specifies·which2886 is·<code·class="inline">{offset,0}</code>·(all·of·the·subject·string).</p></li><li><p><strong><code·class="inline">{capture,·ValueSpec}</code>/<code·class="inline">{capture,·ValueSpec,·Type}</code></strong>·-·Specifies·which
2887 captured·substrings·are·returned·and·in·what·format.·By·default,2887 captured·substrings·are·returned·and·in·what·format.·By·default,
2888 <a·href="#run/3"><code·class="inline">run/3</code></a>·captures·all·of·the·matching·part·of·the·substring·and·all2888 <a·href="#run/3"><code·class="inline">run/3</code></a>·captures·all·of·the·matching·part·of·the·substring·and·all
2889 capturing·subpatterns·(all·of·the·pattern·is·automatically·captured).·The2889 capturing·subpatterns·(all·of·the·pattern·is·automatically·captured).·The
2890 default·return·type·is·(zero-based)·indexes·of·the·captured·parts·of·the2890 default·return·type·is·(zero-based)·indexes·of·the·captured·parts·of·the
2891 string,·specified·as·<code·class="inline">{Offset,Length}</code>·pairs·(the·<code·class="inline">index</code>·<code·class="inline">Type</code>·of2891 string,·specified·as·<code·class="inline">{Offset,Length}</code>·pairs·(the·<code·class="inline">index</code>·<code·class="inline">Type</code>·of
2892 capturing).</p><p>As·an·example·of·the·default·behavior,·the·following·call·returns,·as·first2892 capturing).</p><p>As·an·example·of·the·default·behavior,·the·following·call·returns,·as·first
2893 and·only·captured·string,·the·matching·part·of·the·subject·(&quot;abcd&quot;·in·the2893 and·only·captured·string,·the·matching·part·of·the·subject·(&quot;abcd&quot;·in·the
2894 middle)·as·an·index·pair·<code·class="inline">{3,4}</code>,·where·character·positions·are·zero-based,2894 middle)·as·an·index·pair·<code·class="inline">{3,4}</code>,·where·character·positions·are·zero-based,
2895 just·as·in·offsets:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="9052167454-1">(</span><span·class="s">&quot;ABCabcdABC&quot;</span><span·class="p">,</span><span·class="s">&quot;abcd&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="9052167454-2">[</span><span·class="p"·data-group-id="9052167454-2">]</s[·...·truncated·by·diffoscope;·len:·615,·SHA:·d893c9d4a67fbfd1ec9b2d9c40b718b3863be579ba4f162435e4baeab4300de6·...·]-1">}</span></code></pre><p>Another·(and·quite·common)·case·is·where·the·regular·expression·matches·all·of2895 just·as·in·offsets:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="0908274749-1">(</span><span·class="s">&quot;ABCabcdABC&quot;</span><span·class="p">,</span><span·class="s">&quot;abcd&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="0908274749-2">[</span><span·class="p"·data-group-id="0908274749-2">]</s[·...·truncated·by·diffoscope;·len:·615,·SHA:·ac83cbbb1e8b68f3a98e3357b0a0217dc90ac20112e802ac3ffb50b31a717e62·...·]-1">}</span></code></pre><p>Another·(and·quite·common)·case·is·where·the·regular·expression·matches·all·of
2896 the·subject:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="8246957343-1">(</span><span·class="s">&quot;ABCabcdABC&quot;</span><span·class="p">,</span><span·class="s">&quot;.*abcd.*&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8246957343-2">[</span><span·class="p"·data-group-id="8246957343-2">][·...·truncated·by·diffoscope;·len:·48,·SHA:·24036caef2884e53da832d4e404c1ba15cd4cf47f264a563b1d72bb135df4dc9·...·]-1">)</span><span·class="p">.</span></code></pre><p>Here·the·return·value·correspondingly·points·out·all·of·the·string,·beginning2896 the·subject:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="8721975256-1">(</span><span·class="s">&quot;ABCabcdABC&quot;</span><span·class="p">,</span><span·class="s">&quot;.*abcd.*&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8721975256-2">[</span><span·class="p"·data-group-id="8721975256-2">][·...·truncated·by·diffoscope;·len:·48,·SHA:·65afeade19fc2637425364e4f55a6d62dd4b6dd4879ffc41ba2ad0816c7ff48f·...·]-1">)</span><span·class="p">.</span></code></pre><p>Here·the·return·value·correspondingly·points·out·all·of·the·string,·beginning
2897 at·index·0,·and·it·is·10·characters·long:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8544709964-1">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="8544709964-2">[</span><span·class="p"·data-group-id="8544709964-3">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">10</span>[·...·truncated·by·diffoscope;·len:·1525,·SHA:·148c5d23ece9dcd615b0442179d234674bda0e239b77173bc9a0fdfc0618e116·...·]-1">}</span></code></pre><p>The·complete·matching·pattern·always·gives·the·first·return·value·in·the·list2897 at·index·0,·and·it·is·10·characters·long:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5267912639-1">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="5267912639-2">[</span><span·class="p"·data-group-id="5267912639-3">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">10</span>[·...·truncated·by·diffoscope;·len:·1525,·SHA:·925d6b3b0f81120244e22bffde014af045c0a0dad942411c0f1cbf9311196dbf·...·]-1">}</span></code></pre><p>The·complete·matching·pattern·always·gives·the·first·return·value·in·the·list
2898 and·the·remaining·subpatterns·are·added·in·the·order·they·occurred·in·the2898 and·the·remaining·subpatterns·are·added·in·the·order·they·occurred·in·the
2899 regular·expression.</p><p>The·capture·tuple·is·built·up·as·follows:</p><ul><li><p><strong><code·class="inline">ValueSpec</code></strong>·-·Specifies·which·captured·(sub)patterns·are·to·be·returned.2899 regular·expression.</p><p>The·capture·tuple·is·built·up·as·follows:</p><ul><li><p><strong><code·class="inline">ValueSpec</code></strong>·-·Specifies·which·captured·(sub)patterns·are·to·be·returned.
2900 <code·class="inline">ValueSpec</code>·can·either·be·an·atom·describing·a·predefined·set·of·return2900 <code·class="inline">ValueSpec</code>·can·either·be·an·atom·describing·a·predefined·set·of·return
2901 values,·or·a·list·containing·the·indexes·or·the·names·of·specific2901 values,·or·a·list·containing·the·indexes·or·the·names·of·specific
Max diff block lines reached; 42318/111011 bytes (38.12%) of diff not shown.
619 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/re_incompat.html
    
Offset 250, 15 lines modifiedOffset 250, 15 lines modified
250 ······<p·class="built-using">250 ······<p·class="built-using">
251 ········Built·using251 ········Built·using
252 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the252 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
253 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>253 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
254 ······</p>254 ······</p>
255 <p>Copyright·©·1996-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;
796 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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
127 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/sets.html
    
Offset 157, 19 lines modifiedOffset 157, 19 lines modified
157 do·not·match·(<code·class="inline">=:=</code>),·while·both·<a·href="ordsets.html"><code·class="inline">ordsets</code></a>·and·<a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>·consider·elements157 do·not·match·(<code·class="inline">=:=</code>),·while·both·<a·href="ordsets.html"><code·class="inline">ordsets</code></a>·and·<a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>·consider·elements
158 as·different·if·and·only·if·they·do·not·compare·equal·(<code·class="inline">==</code>).</p><h3·id="module-examples"·class="section-heading">158 as·different·if·and·only·if·they·do·not·compare·equal·(<code·class="inline">==</code>).</p><h3·id="module-examples"·class="section-heading">
159 ··<a·href="#module-examples"·class="hover-link">159 ··<a·href="#module-examples"·class="hover-link">
160 ····<i·class="ri-link-m"·aria-hidden="true"></i>160 ····<i·class="ri-link-m"·aria-hidden="true"></i>
161 ··</a>161 ··</a>
162 ··<span·class="text">Examples</span>162 ··<span·class="text">Examples</span>
163 </h3>163 </h3>
164 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="1656784398-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="1656784398-2">(</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·204,·SHA:·43e0657b891d98f9167e316310fdbf4184b570fa6967d1d0bad8ee3f26a75fff·...·]-1">)</span><span·class="p">.</span><span·class="w">164 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="0593202213-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="0593202213-2">(</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·204,·SHA:·7875a115d19e1ebfe10706a2140f15ef3e1d4b7f57a9bcdc88a200aec1698edf·...·]-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="ss">false</span><span·class="gp·unselectable">165 </span><span·class="ss">false</span><span·class="gp·unselectable">
166 2&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="1656784398-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="1656784398-5">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·207,·SHA:·dcb8a602a1592b83ec3cf5f8fc87d784e9f2fe1cef8aafd624da0fe96ea83e43·...·]-4">)</span><span·class="p">.</span><span·class="w">166 2&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="0593202213-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="0593202213-5">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·207,·SHA:·e9998a1361e6b63ce33e347586b027e0bd06cc932ac1efb825be67c5e248a154·...·]-4">)</span><span·class="p">.</span><span·class="w">
167 </span><span·class="ss">true</span><span·class="gp·unselectable">167 </span><span·class="ss">true</span><span·class="gp·unselectable">
168 3&gt;·</span><span·class="nc">gb_sets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="1656784398-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="1656784398-8">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·207,·SHA:·ff1f559f2bc0bf531d754bddcb4a8301350fc1a1bccc7c00036b560a2b7a75ea·...·]-7">)</span><span·class="p">.</span><span·class="w">168 3&gt;·</span><span·class="nc">gb_sets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="0593202213-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="0593202213-8">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·207,·SHA:·c6116b744e599fb8a429d47b2c9e0e41d92590f2d5b58d883dde3c7c4c771d31·...·]-7">)</span><span·class="p">.</span><span·class="w">
169 </span><span·class="ss">true</span></code></pre></section><h2·id="module-see-also"·class="section-heading">169 </span><span·class="ss">true</span></code></pre></section><h2·id="module-see-also"·class="section-heading">
170 ··<a·href="#module-see-also"·class="hover-link">170 ··<a·href="#module-see-also"·class="hover-link">
171 ····<i·class="ri-link-m"·aria-hidden="true"></i>171 ····<i·class="ri-link-m"·aria-hidden="true"></i>
172 ··</a>172 ··</a>
173 ··<span·class="text">See·Also</span>173 ··<span·class="text">See·Also</span>
174 </h2>174 </h2>
175 <p><a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>,·<a·href="ordsets.html"><code·class="inline">ordsets</code></a></p>175 <p><a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>,·<a·href="ordsets.html"><code·class="inline">ordsets</code></a></p>
Offset 552, 24 lines modifiedOffset 552, 24 lines modified
  
552 <p>Returns·a·new·set·formed·from·<code·class="inline">Set1</code>·with·<code·class="inline">Element</code>·inserted.</p><h2·id="add_element/2-examples"·class="section-heading">552 <p>Returns·a·new·set·formed·from·<code·class="inline">Set1</code>·with·<code·class="inline">Element</code>·inserted.</p><h2·id="add_element/2-examples"·class="section-heading">
553 ··<a·href="#add_element/2-examples"·class="hover-link">553 ··<a·href="#add_element/2-examples"·class="hover-link">
554 ····<i·class="ri-link-m"·aria-hidden="true"></i>554 ····<i·class="ri-link-m"·aria-hidden="true"></i>
555 ··</a>555 ··</a>
556 ··<span·class="text">Examples</span>556 ··<span·class="text">Examples</span>
557 </h2>557 </h2>
558 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="0464230536-1">(</span><span·class="p"·data-group-id="0464230536-1">)</span><span·class="p">.</span><span·class="gp·unselectable">558 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="4911821279-1">(</span><span·class="p"·data-group-id="4911821279-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
559 2&gt;·</span><span·class="n">S1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="0464230536-2">(</span><span·class="mi">7</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S0</span><span·class="p"·data-group-id="0464230536-2">)</span><span·class="p">.</span><span·class="gp·unselectable">559 2&gt;·</span><span·class="n">S1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="4911821279-2">(</span><span·class="mi">7</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S0</span><span·class="p"·data-group-id="4911821279-2">)</span><span·class="p">.</span><span·class="gp·unselectable">
560 3&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="0464230536-3">(</span><span·class="n">S1</span><span·class="p"·data-group-id="0464230536-3">)</span><span·class="p">.</span><span·class="w">560 3&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="4911821279-3">(</span><span·class="n">S1</span><span·class="p"·data-group-id="4911821279-3">)</span><span·class="p">.</span><span·class="w">
561 </span><span·class="p"·data-group-id="0464230536-4">[</span><span·class="mi">7</span><span·class="p"·data-group-id="0464230536-4">]</span><span·class="gp·unselectable">561 </span><span·class="p"·data-group-id="4911821279-4">[</span><span·class="mi">7</span><span·class="p"·data-group-id="4911821279-4">]</span><span·class="gp·unselectable">
562 4&gt;·</span><span·class="n">S2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="0464230536-5">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="0464230536-5">)</span><span·class="p">.</span><span·class="gp·unselectable">562 4&gt;·</span><span·class="n">S2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="4911821279-5">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="4911821279-5">)</span><span·class="p">.</span><span·class="gp·unselectable">
563 5&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="0464230536-6">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="0464230536-7">(</span><span·class="n">S2</span><span·class="p"·data-group-id="0464230536-7">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·2623d2b7a541fbf261e36f6a76dc6d74dec485d40447a34f87ece95825870e5b·...·]-6">)</span><span·class="p">.</span><span·class="w">563 5&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="4911821279-6">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="4911821279-7">(</span><span·class="n">S2</span><span·class="p"·data-group-id="4911821279-7">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·b286572a042f4c44a11067b2c41a19ceb0bfff2b4eab172ceec9f78cc1f00ed6·...·]-6">)</span><span·class="p">.</span><span·class="w">
564 </span><span·class="p"·data-group-id="0464230536-8">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="0464230536-8">]</span><span·class="gp·unselectable">564 </span><span·class="p"·data-group-id="4911821279-8">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="4911821279-8">]</span><span·class="gp·unselectable">
565 6&gt;·</span><span·class="n">S2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="0464230536-9">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="0464230536-9">)</span><span·class="p">.</span><span·class="gp·unselectable">565 6&gt;·</span><span·class="n">S2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="4911821279-9">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="4911821279-9">)</span><span·class="p">.</span><span·class="gp·unselectable">
566 7&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="0464230536-10">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="0464230536-11">(</span><span·class="n">S2</span><span·class="p"·data-group-id="0464230536-11">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·2a0f67c272311e9c89c0e7691d2017acd60ebefb4ab1942a72a321b4b5d5143b·...·]-10">)</span><span·class="p">.</span><span·class="w">566 7&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="4911821279-10">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="4911821279-11">(</span><span·class="n">S2</span><span·class="p"·data-group-id="4911821279-11">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·f585cc97b59e5155bc3559f67c83ea0da4cbe487c593b9d0578e2d00f8cf0a04·...·]-10">)</span><span·class="p">.</span><span·class="w">
567 </span><span·class="p"·data-group-id="0464230536-12">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="0464230536-12">]</span></code></pre>567 </span><span·class="p"·data-group-id="4911821279-12">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="4911821279-12">]</span></code></pre>
568 ··</section>568 ··</section>
569 </section>569 </section>
570 <section·class="detail"·id="del_element/2">570 <section·class="detail"·id="del_element/2">
  
571 ··<div·class="detail-header">571 ··<div·class="detail-header">
572 ····<a·href="#del_element/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">572 ····<a·href="#del_element/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
573 ······<i·class="ri-link-m"·aria-hidden="true"></i>573 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 593, 20 lines modifiedOffset 593, 20 lines modified
  
593 <p>Returns·a·copy·of·<code·class="inline">Set1</code>·with·<code·class="inline">Element</code>·removed.</p><h2·id="del_element/2-examples"·class="section-heading">593 <p>Returns·a·copy·of·<code·class="inline">Set1</code>·with·<code·class="inline">Element</code>·removed.</p><h2·id="del_element/2-examples"·class="section-heading">
594 ··<a·href="#del_element/2-examples"·class="hover-link">594 ··<a·href="#del_element/2-examples"·class="hover-link">
595 ····<i·class="ri-link-m"·aria-hidden="true"></i>595 ····<i·class="ri-link-m"·aria-hidden="true"></i>
596 ··</a>596 ··</a>
597 ··<span·class="text">Examples</span>597 ··<span·class="text">Examples</span>
598 </h2>598 </h2>
599 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="9164294186-1">(</span><span·class="p"·data-group-id="9164294186-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="9164294186-2">]</span><span·class="p"·data-group-id="9164294186-1">)</span><span·class="p">.</span><span·class="gp·unselectable">599 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="9617098004-1">(</span><span·class="p"·data-group-id="9617098004-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="9617098004-2">]</span><span·class="p"·data-group-id="9617098004-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
600 2&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="9164294186-3">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="9164294186-4">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·0f15ed7950ab4c9dd777c18ed0381ef8b0319e88d37fbf3fe11888ff6f064370·...·]-3">)</span><span·class="p">.</span><span·class="w">600 2&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="9617098004-3">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="9617098004-4">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·0b22805e7eb00161eb2978fecbc43defaff7a25bfaaba76449163d7c4c57be36·...·]-3">)</span><span·class="p">.</span><span·class="w">
601 </span><span·class="p"·data-group-id="9164294186-5">[</span><span·class="ss">a</span><span·class="p"·data-group-id="9164294186-5">]</span><span·class="gp·unselectable">601 </span><span·class="p"·data-group-id="9617098004-5">[</span><span·class="ss">a</span><span·class="p"·data-group-id="9617098004-5">]</span><span·class="gp·unselectable">
602 3&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="9164294186-6">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="9164294186-6">)</span><span·class="p">.</span><span·class="gp·unselectable">602 3&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="9617098004-6">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="9617098004-6">)</span><span·class="p">.</span><span·class="gp·unselectable">
603 4&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="9164294186-7">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="9164294186-8">(</span><span·class="n">S</span><span·class="p"·data-group-id="9164294186-8">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·2c6506b5876eca83759c948c068d0004b2529e5e67f72e4be330e63e0694bd9d·...·]-7">)</span><span·class="p">.</span><span·class="w">603 4&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="9617098004-7">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="9617098004-8">(</span><span·class="n">S</span><span·class="p"·data-group-id="9617098004-8">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·4d7bf287f1167f912666fc033c13befd9b8b71074e033c36d4094c700b248704·...·]-7">)</span><span·class="p">.</span><span·class="w">
604 </span><span·class="p"·data-group-id="9164294186-9">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="9164294186-9">]</span></code></pre>604 </span><span·class="p"·data-group-id="9617098004-9">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="9617098004-9">]</span></code></pre>
605 ··</section>605 ··</section>
606 </section>606 </section>
607 <section·class="detail"·id="filter/2">607 <section·class="detail"·id="filter/2">
  
608 ··<div·class="detail-header">608 ··<div·class="detail-header">
609 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">609 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
610 ······<i·class="ri-link-m"·aria-hidden="true"></i>610 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 631, 19 lines modifiedOffset 631, 19 lines modified
  
631 <p>Filters·elements·in·<code·class="inline">Set1</code>·using·predicate·function·<code·class="inline">Pred</code>.</p><h2·id="filter/2-examples"·class="section-heading">631 <p>Filters·elements·in·<code·class="inline">Set1</code>·using·predicate·function·<code·class="inline">Pred</code>.</p><h2·id="filter/2-examples"·class="section-heading">
632 ··<a·href="#filter/2-examples"·class="hover-link">632 ··<a·href="#filter/2-examples"·class="hover-link">
633 ····<i·class="ri-link-m"·aria-hidden="true"></i>633 ····<i·class="ri-link-m"·aria-hidden="true"></i>
634 ··</a>634 ··</a>
635 ··<span·class="text">Examples</span>635 ··<span·class="text">Examples</span>
636 </h2>636 </h2>
637 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="8650702328-1">(</span><span·class="p"·data-group-id="8650702328-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·232,·SHA:·a599728b64dbe6cc514dc8f89894a65ea2f15202367fe6206e324f16ef0a2b86·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">637 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="1417494737-1">(</span><span·class="p"·data-group-id="1417494737-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·232,·SHA:·5a7b85f550120f8591a7bf92f75e4905eecd7aefc6dadf503cc51ca8e041780c·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
638 2&gt;·</span><span·class="n">IsEven</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8650702328-3">(</span><span·class="n">N</span><span·class="p"·data-group-id="8650702328-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">638 2&gt;·</span><span·class="n">IsEven</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="1417494737-3">(</span><span·class="n">N</span><span·class="p"·data-group-id="1417494737-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">
639 3&gt;·</span><span·class="n">Filtered</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">filter</span><span·class="p"·data-group-id="8650702328-4">(</span><span·class="n">IsEven</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="8650702328-4">)</span><span·class="p">.</span><span·class="gp·unselectable">639 3&gt;·</span><span·class="n">Filtered</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">filter</span><span·class="p"·data-group-id="1417494737-4">(</span><span·class="n">IsEven</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="1417494737-4">)</span><span·class="p">.</span><span·class="gp·unselectable">
640 4&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="8650702328-5">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="8650702328-6">(</span><span·class="n">Filtered</span><span·class="p"·data-group-id="8650702328-6">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·8d5cc3de7fb1adfd1176ee3471faa45dbe758e803d59702e44e2976030258ea5·...·]-5">)</span><span·class="p">.</span><span·class="w">640 4&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="1417494737-5">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="1417494737-6">(</span><span·class="n">Filtered</span><span·class="p"·data-group-id="1417494737-6">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·81655b9768e180501d2f0b1a33c84c7ca242e26e5599b3109c5b68996e2e0682·...·]-5">)</span><span·class="p">.</span><span·class="w">
641 </span><span·class="p"·data-group-id="8650702328-7">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8650702328-7">]</span></code></pre>641 </span><span·class="p"·data-group-id="1417494737-7">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1417494737-7">]</span></code></pre>
642 ··</section>642 ··</section>
643 </section>643 </section>
644 <section·class="detail"·id="filtermap/2">644 <section·class="detail"·id="filtermap/2">
  
645 ··<div·class="detail-header">645 ··<div·class="detail-header">
646 ····<a·href="#filtermap/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">646 ····<a·href="#filtermap/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
647 ······<i·class="ri-link-m"·aria-hidden="true"></i>647 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 670, 31 lines modifiedOffset 670, 31 lines modified
670 ·······················Set2·::·<a·href="#t:set/1">set</a>(Element1·|·Element2).</pre>670 ·······················Set2·::·<a·href="#t:set/1">set</a>(Element1·|·Element2).</pre>
  
671 ······</div>671 ······</div>
  
672 <p>Calls·<code·class="inline">Fun(Elem)</code>·for·each·<code·class="inline">Elem</code>·of·<code·class="inline">Set1</code>·to·update·or·remove672 <p>Calls·<code·class="inline">Fun(Elem)</code>·for·each·<code·class="inline">Elem</code>·of·<code·class="inline">Set1</code>·to·update·or·remove
673 elements·from·<code·class="inline">Set1</code>.</p><p><code·class="inline">Fun/1</code>·must·return·either·a·Boolean·or·a·tuple·<code·class="inline">{true,·Value}</code>.·The673 elements·from·<code·class="inline">Set1</code>.</p><p><code·class="inline">Fun/1</code>·must·return·either·a·Boolean·or·a·tuple·<code·class="inline">{true,·Value}</code>.·The
674 function·returns·the·set·of·elements·for·which·<code·class="inline">Fun</code>·returns·a·new674 function·returns·the·set·of·elements·for·which·<code·class="inline">Fun</code>·returns·a·new
675 value,·with·<code·class="inline">true</code>·being·equivalent·to·<code·class="inline">{true,·Elem}</code>.</p><p><a·href="#filtermap/2"><code·class="inline">sets:filtermap/2</code></a>·behaves·as·if·it·were·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">filtermap</span><span·class="p"·data-group-id="4484284758-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Set1</span><span·class="p"·data-group-id="4484284758-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">675 value,·with·<code·class="inline">true</code>·being·equivalent·to·<code·class="inline">{true,·Elem}</code>.</p><p><a·href="#filtermap/2"><code·class="inline">sets:filtermap/2</code></a>·behaves·as·if·it·were·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">filtermap</span><span·class="p"·data-group-id="4439161593-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Set1</span><span·class="p"·data-group-id="4439161593-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
676 ····</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="4484284758-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="4484284758-3">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Set1</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·c561d97dbae93dc50a46b05a6bf6d5dba4c64cbc97542f439dd36b3d8cf44e53·...·]-2">)</span><span·class="p">.</span></code></pre><h2·id="filtermap/2-examples"·class="section-heading">676 ····</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="4439161593-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="4439161593-3">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Set1</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·a55aab5230587bb29ac7c72dfde4ab0d6c7f33c89f75c5195342a634da028415·...·]-2">)</span><span·class="p">.</span></code></pre><h2·id="filtermap/2-examples"·class="section-heading">
677 ··<a·href="#filtermap/2-examples"·class="hover-link">677 ··<a·href="#filtermap/2-examples"·class="hover-link">
678 ····<i·class="ri-link-m"·aria-hidden="true"></i>678 ····<i·class="ri-link-m"·aria-hidden="true"></i>
679 ··</a>679 ··</a>
680 ··<span·class="text">Examples</span>680 ··<span·class="text">Examples</span>
681 </h2>681 </h2>
682 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="8899826301-1">(</span><span·class="p"·data-group-id="8899826301-2">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·cla[·...·truncated·by·diffoscope;·len:·183,·SHA:·858921161f779ee587bc367d0da9d79e740f6e59e2be462415ea387247b8f6bb·...·]-1">)</span><span·class="gp·unselectable">682 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="6219664552-1">(</span><span·class="p"·data-group-id="6219664552-2">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·cla[·...·truncated·by·diffoscope;·len:·183,·SHA:·e913c7153c6fbf1a0051f7e437fd17ba85ef05e5cd4916a8989d5c4acff18fc0·...·]-1">)</span><span·class="gp·unselectable">
683 2&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8899826301-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="8899826301-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">683 2&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="6219664552-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="6219664552-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
684 ···········</span><span·class="k">case</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="k">of</span><span·class="w">684 ···········</span><span·class="k">case</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
685 ···············</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8899826301-4">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="889[·...·truncated·by·diffoscope;·len:·7,·SHA:·3b8119c608eed8efc7913e2819ba102748941461525f6a2d3c4a839219da8cab·...·]-4">}</span><span·class="p">;</span><span·class="w">685 ···············</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6219664552-4">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="621[·...·truncated·by·diffoscope;·len:·7,·SHA:·8c078feac01b63f5f4692d917cfbd5ed9060279fd24db9e998628734b936c57c·...·]-4">}</span><span·class="p">;</span><span·class="w">
686 ···············</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">686 ···············</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">
687 ···········</span><span·class="k">end</span><span·class="w">687 ···········</span><span·class="k">end</span><span·class="w">
688 ········</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">688 ········</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">
689 3&gt;·</span><span·class="n">Set</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="8899826301-5">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="8899826301-5">)</span><span·class="p">.</span><span·class="gp·unselectable">689 3&gt;·</span><span·class="n">Set</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="6219664552-5">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="6219664552-5">)</span><span·class="p">.</span><span·class="gp·unselectable">
690 4&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="8899826301-6">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="8899826301-7">(</span><span·class="n">Set</span><span·class="p"·data-group-id="8899826301-7">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·1e3a776349e5fc6f7f7dd9f70a2bbded1d158c08cbcdf7b0c801449ba1994952·...·]-6">)</span><span·class="p">.</span><span·class="w">690 4&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="6219664552-6">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="6219664552-7">(</span><span·class="n">Set</span><span·class="p"·data-group-id="6219664552-7">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·e16efa0967597e3d40ce3e4aa6d6a2e3018ff119e9e510573c0e836951beb3f1·...·]-6">)</span><span·class="p">.</span><span·class="w">
691 </span><span·class="p"·data-group-id="8899826301-8">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="8899826301-8">]</span></code></pre>691 </span><span·class="p"·data-group-id="6219664552-8">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="6219664552-8">]</span></code></pre>
692 ··</section>692 ··</section>
693 </section>693 </section>
694 <section·class="detail"·id="fold/3">694 <section·class="detail"·id="fold/3">
  
695 ··<div·class="detail-header">695 ··<div·class="detail-header">
696 ····<a·href="#fold/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">696 ····<a·href="#fold/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
697 ······<i·class="ri-link-m"·aria-hidden="true"></i>697 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 726, 17 lines modifiedOffset 726, 17 lines modified
726 <p>Folds·<code·class="inline">Function</code>·over·every·element·in·<code·class="inline">Set</code>·and·returns·the·final·value·of726 <p>Folds·<code·class="inline">Function</code>·over·every·element·in·<code·class="inline">Set</code>·and·returns·the·final·value·of
727 the·accumulator.</p><p>The·evaluation·order·is·undefined.</p><h2·id="fold/3-examples"·class="section-heading">727 the·accumulator.</p><p>The·evaluation·order·is·undefined.</p><h2·id="fold/3-examples"·class="section-heading">
728 ··<a·href="#fold/3-examples"·class="hover-link">728 ··<a·href="#fold/3-examples"·class="hover-link">
729 ····<i·class="ri-link-m"·aria-hidden="true"></i>729 ····<i·class="ri-link-m"·aria-hidden="true"></i>
730 ··</a>730 ··</a>
731 ··<span·class="text">Examples</span>731 ··<span·class="text">Examples</span>
732 </h2>732 </h2>
733 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7608427343-1">(</span><span·class="p"·data-group-id="7608427343-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·85,·SHA:·3211ee2bc5db7d666a04e9cfeb3d096c4c44792b64de1ccadc210ac2258a3867·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">733 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="3232132491-1">(</span><span·class="p"·data-group-id="3232132491-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·85,·SHA:·6a766e6aecbf93c96c3ee7eb8cc80c105dcf32c8751577242d1e51c746fec78a·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
734 2&gt;·</span><span·class="n">Plus</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="ss">&#39;+&#39;</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="gp·unselectable">734 2&gt;·</span><span·class="n">Plus</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="ss">&#39;+&#39;</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="gp·unselectable">
Max diff block lines reached; 92537/129468 bytes (71.47%) of diff not shown.
523 B
html2text {}
Max HTML report size reached
74.3 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/shell.html
    
Offset 162, 15 lines modifiedOffset 162, 15 lines modified
162 used·by·the·compiler·are·unavailable·at·runtime.·So,·to·read·the·record·syntax162 used·by·the·compiler·are·unavailable·at·runtime.·So,·to·read·the·record·syntax
163 and·print·tuples·as·records·when·possible,·record·definitions·must·be·maintained163 and·print·tuples·as·records·when·possible,·record·definitions·must·be·maintained
164 by·the·shell·itself.</p><p>The·shell·commands·for·reading,·defining,·forgetting,·listing,·and·printing164 by·the·shell·itself.</p><p>The·shell·commands·for·reading,·defining,·forgetting,·listing,·and·printing
165 records·are·described·below.·Notice·that·each·job·has·its·own·set·of·record165 records·are·described·below.·Notice·that·each·job·has·its·own·set·of·record
166 definitions.·To·facilitate·matters,·record·definitions·in·modules166 definitions.·To·facilitate·matters,·record·definitions·in·modules
167 <code·class="inline">shell_default</code>·and·<code·class="inline">user_default</code>·(if·loaded)·are·read·each·time·a·new·job·is167 <code·class="inline">shell_default</code>·and·<code·class="inline">user_default</code>·(if·loaded)·are·read·each·time·a·new·job·is
168 started.·For·example,·adding·the·following·line·to·<code·class="inline">user_default</code>·makes·the168 started.·For·example,·adding·the·following·line·to·<code·class="inline">user_default</code>·makes·the
169 definition·of·<code·class="inline">file_info</code>·readily·available·in·the·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="5820119699-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="5820119699-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="5918291179-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="5918291179-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="1236733710-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="1236733710-1">)</span><span·class="w">·</span><span·class="ss">emulator</span><span·class="w">·</span><span·class="ss">version</span><span·class="w">·</span><span·class="mf">5.[·...·truncated·by·diffoscope;·len:·364,·SHA:·385b378a3a1214ba28a2cdd4b94d49ea137f34f704faaa6c8ccd08fd1ddcbcff·...·]-3">]</span><span·class="w">237 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="5103624657-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="5103624657-1">)</span><span·class="w">·</span><span·class="ss">emulator</span><span·class="w">·</span><span·class="ss">version</span><span·class="w">·</span><span·class="mf">5.[·...·truncated·by·diffoscope;·len:·364,·SHA:·9b036da1bb86062a523ecb8010171112506c6b145528aa15ba7e815283efa6b9·...·]-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="1236733710-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="1236733710-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="5103624657-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="5103624657-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="0026919993-1">(</span><span·class="n">Str</span><span·class="p"·data-group-id="0026919993-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="8036974549-1">(</span><span·class="n">Str</span><span·class="p"·data-group-id="8036974549-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="4832048550-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="4832048550-2">(</span><span·class="n">Str</span><span·class="p"·data-group-id="4832048550-2">)</span><span·class="p"·data-group-id="4832048550-1">}</span><span·class="p">.</span><span·class="w"> 
242 </span><span·class="p"·data-group-id="4832048550-3">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="4832048550-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:·57f4047d302f83be23f6e8567e32145f20b13702049e3851b6710ec8e590a5d2·...·]
 242 </span><span·class="p"·data-group-id="3314397862-3">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="3314397862-3">}</span></code></pre><p>Command·3·builds·the·tuple·<code·class="inline">Descriptor</code>,·evaluating·the·BIF
243 <a·href="../../../../erts-16.0/doc/html/erlang.html#list_to_atom/1"><code·class="inline">list_to_atom/1</code>·</a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="n">L</span><span·class="p">.</span><span·class="w">243 <a·href="../../../../erts-16.0/doc/html/erlang.html#list_to_atom/1"><code·class="inline">list_to_atom/1</code>·</a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="n">L</span><span·class="p">.</span><span·class="w">
244 </span><span·class="mi">4</span></code></pre><p>Command·4·prints·the·value·of·variable·<code·class="inline">L</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nf">b</span><span·class="p"·data-group-id="6367634613-1">(</span><span·class="p"·data-group-id="6367634613-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="1094484616-1">(</span><span·class="p"·data-group-id="1094484616-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="6367634613-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="6367634613-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="1094484616-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="1094484616-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="9143469822-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="9143469822-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="6058198341-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="6058198341-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="5576638552-1">(</span><span·class="p"·data-group-id="5576638552-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="1091433526-1">(</span><span·class="p"·data-group-id="1091433526-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="5576638552-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="5576638552-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="1091433526-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="1091433526-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="3010248135-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="3010248135-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="7705110866-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="7705110866-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="7584037661-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="7584037661-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="1431790005-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="1431790005-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="7584037661-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="7584037661-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="1431790005-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="1431790005-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="7063261130-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="7063261130-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="7450310937-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="7450310937-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="9892203616-1">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="9892203616-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="2287078664-1">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="2287078664-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="2679881606-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="2679881606-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="5225862278-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="5225862278-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="2679881606-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="2679881606-2">}</span><span·class="gp·unselectable">270 </span><span·class="p"·data-group-id="5225862278-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="5225862278-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="7469001640-1">(</span><span·class="p"·data-group-id="7469001640-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="4193337034-1">(</span><span·class="p"·data-group-id="4193337034-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="9563343422-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="9563343422-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="8489323788-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="8489323788-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="9563343422-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="9563343422-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="8489323788-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="8489323788-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="1219634685-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="1219634685-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="4810939095-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="4810939095-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="1219634685-2">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="1219634685-2">)</span><span·class="p">.</span><span·class="w">278 18&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="4810939095-2">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="4810939095-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="2377839034-1">(</span><span·class="mi">1</span><span·class="p"·data-group-id="2377839034-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="6487622299-1">(</span><span·class="mi">1</span><span·class="p"·data-group-id="6487622299-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="2604871480-1">(</span><span·class="p"·data-group-id="2604871480-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="2378201049-1">(</span><span·class="p"·data-group-id="2378201049-1">)</span><span·class="p">.</span><span·class="w">
284 </span><span·class="p"·data-group-id="2604871480-2">[</span><span·class="p"·data-group-id="2604871480-3">{</span><span·class="ss">aa</span><span·class="p">,</span><span·class="ss">worked</span><span·class="p"·data-group-id="2604871480-3">}</span><span·class="p"·data-group-id="2604871480-2">]</span><span·class="gp·unselectable">284 </span><span·class="p"·data-group-id="2378201049-2">[</span><span·class="p"·data-group-id="2378201049-3">{</span><span·class="ss">aa</span><span·class="p">,</span><span·class="ss">worked</span><span·class="p"·data-group-id="2378201049-3">}</span><span·class="p"·data-group-id="2378201049-2">]</span><span·class="gp·unselectable">
285 21&gt;·</span><span·class="nf">put</span><span·class="p"·data-group-id="2604871480-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="2604871480-4">)</span><span·class="p">.</span><span·class="w">285 21&gt;·</span><span·class="nf">put</span><span·class="p"·data-group-id="2378201049-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="2378201049-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="2604871480-5">(</span><span·class="mi">2</span><span·class="p"·data-group-id="2604871480-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="2378201049-5">(</span><span·class="mi">2</span><span·class="p"·data-group-id="2378201049-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="8952883627-1">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="8952883627-1">)</span><span·class="p">.</span><span·class="w">293 24&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="0694660825-1">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="0694660825-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="2660074778-1">(</span><span·class="p"·data-group-id="2660074778-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">put</span><span·class="p"·data-group-id="2660074778-2">(</span><span·class="ss">aa</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·9f907a5e85f855de08ae604d83fe50b8bd142854f54de0944d89dd2294147537·...·]-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="7952911351-1">(</span><span·class="p"·data-group-id="7952911351-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">put</span><span·class="p"·data-group-id="7952911351-2">(</span><span·class="ss">aa</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·da3e4fee9eb52f9ac47edb9b50bef96396cea0b0a40bbb71df87aaf90e564175·...·]-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="2660074778-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="2660074778-4">[</span><span·class="mi">1</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·2d165bc7ce103173eb04546e1cdb4639d2f8310982d001fe5c21a47ff8daaca6·...·]-3">)</span><span·class="p">.</span><span·class="w">297 26&gt;·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7952911351-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="7952911351-4">[</span><span·class="mi">1</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·4c0a6dda2b9613e20c41b10f42f1b27c8cf9d449548048e20a855184e3e70fda·...·]-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="2660074778-5">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="2660074778-5">)</span><span·class="p">.</span><span·class="w">299 27&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="7952911351-5">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="7952911351-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="0779807505-1">(</span><span·class="s">&quot;hello·hello\n&quot;</span><span·class="p"·data-group-id="0779807505-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="3744211828-1">(</span><span·class="s">&quot;hello·hello\n&quot;</span><span·class="p"·data-group-id="3744211828-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="0779807505-2">(</span><span·class="mi">28</span><span·class="p"·data-group-id="0779807505-2">)</span><span·class="p">.</span><span·class="w">306 29&gt;·</span><span·class="nf">e</span><span·class="p"·data-group-id="3744211828-2">(</span><span·class="mi">28</span><span·class="p"·data-group-id="3744211828-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="0779807505-3">(</span><span·class="mi">28</span><span·class="p"·data-group-id="0779807505-3">)</span><span·class="p">.</span><span·class="w">309 30&gt;·</span><span·class="nf">v</span><span·class="p"·data-group-id="3744211828-3">(</span><span·class="mi">28</span><span·class="p"·data-group-id="3744211828-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="7318383023-1">(</span><span·class="ss">ex</span><span·class="p"·data-group-id="7318383023-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="2968510037-1">(</span><span·class="ss">ex</span><span·class="p"·data-group-id="2968510037-1">)</span><span·class="p">.</span><span·class="w">
315 </span><span·class="p"·data-group-id="7318383023-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">ex</span><span·class="p"·data-group-id="7318383023-2">}</span><span·class="gp·unselectable">315 </span><span·class="p"·data-group-id="2968510037-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">ex</span><span·class="p"·data-group-id="2968510037-2">}</span><span·class="gp·unselectable">
316 32&gt;·</span><span·class="nf">rr</span><span·class="p"·data-group-id="7318383023-3">(</span><span·class="ss">ex</span><span·class="p"·data-group-id="7318383023-3">)</span><span·class="p">.</span><span·class="w">316 32&gt;·</span><span·class="nf">rr</span><span·class="p"·data-group-id="2968510037-3">(</span><span·class="ss">ex</span><span·class="p"·data-group-id="2968510037-3">)</span><span·class="p">.</span><span·class="w">
317 </span><span·class="p"·data-group-id="7318383023-4">[</span><span·class="ss">rec</span><span·class="p"·data-group-id="7318383023-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="2968510037-4">[</span><span·class="ss">rec</span><span·class="p"·data-group-id="2968510037-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="1278162547-1">(</span><span·class="ss">rec</span><span·class="p"·data-group-id="1278162547-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="3388060733-1">(</span><span·class="ss">rec</span><span·class="p"·data-group-id="3388060733-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="1278162547-2">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="p"·data-group-id="1278162547-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:·f6f9a2821b635e5a68904e0b5c7bf0ce3c9e488c1d17e51675020cc8c2330088·...·]-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="3388060733-2">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="p"·data-group-id="3388060733-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:·bbe25fea76a35ea3827f15dbde45366c5de061664c7a5076b6a48c1de4576d08·...·]-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="6244920840-1">{</span><span·class="p"·data-group-id="6244920840-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="5536350643-1">{</span><span·class="p"·data-group-id="5536350643-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="9154500448-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="9154500448-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="6790882714-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="6790882714-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="9154500448-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:·a415c2bc69a5a9ed04efb39c24966b84a147e78be8fe2e017a61ebc61899a015·...·]-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="6790882714-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:·42e4f10317079708ba5a7e1cd021334d17d81a52a04216f55be5ddc25f1485e3·...·]-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="4125956284-1">(</span><span·class="nf">v</span><span·class="p"·data-group-id="4125956284-2">(</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="4125956284-2">)</span><span·class="p"·data-group-id="4125956284-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="9511958145-1">(</span><span·class="nf">v</span><span·class="p"·data-group-id="9511958145-2">(</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="9511958145-2">)</span><span·class="p"·data-group-id="9511958145-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="4125956284-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:·3f099b0b121f1bb259f47e981439bd3b4d08ef2b248ac9d75ff22afb2d788cce·...·]-3">}</span><span·class="w">326 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="9511958145-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:·1288c3bf2732e32ff3c8cf50e35826b584726e691d374d2f3b1e384e1dbef444·...·]-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="6177763751-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6177763751-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:·adf9943062a36c9a71417a95e2611e0189c0cf6617a0c8225d0be5eb823ba150·...·]-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="5916600646-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5916600646-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:·be76df10fa65c36339da7381d7aa85a396e1d11a305e120b4402dd66bba41282·...·]-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="6387579893-1">{</span><span·class="p"·data-group-id="6387579893-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="9191693302-1">{</span><span·class="p"·data-group-id="9191693302-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="6387579893-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="6387579893-3">[</span><span·class="p"·data-group-id="6387579893-3">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·b44e1f7888e998a1390f711582f0bfc7dfeffd2e2089afc21b3600f14b40b759·...·]-2">}</span><span·class="w">331 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="9191693302-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="9191693302-3">[</span><span·class="p"·data-group-id="9191693302-3">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·e27dd83bce95ebcf23d15cf99226d2a2ea4019f6a944afc7d0b5ae05735de7e7·...·]-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="6149468887-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6149468887-2">{</span><span·class="ss">c</span><span·class="p"·data-group-id="6149468887-2">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·b415873a1d2e4b72ea11dc39f1cf9f2d7ca961487a758e7bc4ac4558e3a5d5db·...·]-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">332 </span><span·class="ss">ok</span></code></pre><p>Command·38·creates·a·record·using·the·new·definition,·and·prints·the·result.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">39&gt;·</span><span·class="nf">rd</span><span·class="p"·data-group-id="3393132741-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3393132741-2">{</span><span·class="ss">c</span><span·class="p"·data-group-id="3393132741-2">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·7ba79f3accb88d9b8825954001229b8bef261ebbd483b76ff5c3d4608bb3ef5e·...·]-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="6149468887-3">{</span><span·class="p"·data-group-id="6149468887-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="3393132741-3">{</span><span·class="p"·data-group-id="3393132741-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="6149468887-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="6149468887-4">}</span><span·class="w">335 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="3393132741-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="3393132741-4">}</span><span·class="w">
336 </span><span·class="ss">ok</span></code></pre><p>Command·39·and·40·show·that·record·definitions·are·updated·as·side·effects.·The336 </span><span·class="ss">ok</span></code></pre><p>Command·39·and·40·show·that·record·definitions·are·updated·as·side·effects.·The
337 evaluation·of·the·command·fails,·but·the·definition·of·<code·class="inline">rec</code>·has·been·carried337 evaluation·of·the·command·fails,·but·the·definition·of·<code·class="inline">rec</code>·has·been·carried
338 out.</p><p>For·the·next·command,·it·is·assumed·that·<code·class="inline">test1:loop(N)</code>·is·defined·as·follows:</p><p><code·class="inline">loop(N)·-&gt;</code><br/>    <code·class="inline">io:format(&quot;Hello·Number:·~w~n&quot;,·[N]),</code><br/>    <code·class="inline">loop(N+1).</code></p><pre><code·class="text">41&gt;·test1:loop(0).338 out.</p><p>For·the·next·command,·it·is·assumed·that·<code·class="inline">test1:loop(N)</code>·is·defined·as·follows:</p><p><code·class="inline">loop(N)·-&gt;</code><br/>    <code·class="inline">io:format(&quot;Hello·Number:·~w~n&quot;,·[N]),</code><br/>    <code·class="inline">loop(N+1).</code></p><pre><code·class="text">41&gt;·test1:loop(0).
Max diff block lines reached; 23619/75382 bytes (31.33%) of diff not shown.
594 B
html2text {}
Max HTML report size reached
4.22 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/shell_default.html
    
Offset 125, 18 lines modifiedOffset 125, 18 lines modified
125 ····<small·class="app-vsn"·translate="no">(stdlib·v7.0)</small>125 ····<small·class="app-vsn"·translate="no">(stdlib·v7.0)</small>
  
126 ··</h1>126 ··</h1>
  
  
127 ····<section·id="moduledoc">127 ····<section·id="moduledoc">
128 <p>Customizing·the·Erlang·environment.</p><p>The·functions·in·this·module·are·called·when·no·module·name·is·specified·in·a128 <p>Customizing·the·Erlang·environment.</p><p>The·functions·in·this·module·are·called·when·no·module·name·is·specified·in·a
129 shell·command.</p><p>Consider·the·following·shell·dialog:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="4090836838-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="4090836838-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="3677889708-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="3677889708-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="4090836838-2">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="4090836838-2">)</span><span·class="p">.</span><span·class="w">131 2&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="3677889708-2">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="3677889708-2">)</span><span·class="p">.</span><span·class="w">
132 </span><span·class="p"·data-group-id="4090836838-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="4090836838-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="3677889708-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="3677889708-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;
555 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/shell_docs.html
    
Offset 1244, 15 lines modifiedOffset 1244, 15 lines modified
1244 ······<p·class="built-using">1244 ······<p·class="built-using">
1245 ········Built·using1245 ········Built·using
1246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1248 ······</p>1248 ······</p>
1249 <p>Copyright·©·1996-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;
673 B
html2text {}
Max HTML report size reached
9.29 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/slave.html
    
Offset 367, 15 lines modifiedOffset 367, 15 lines modified
367 ······</div>367 ······</div>
  
368 <p>Starts·a·number·of·pseudo·servers.·A·pseudo·server·is·a·server·with·a·registered368 <p>Starts·a·number·of·pseudo·servers.·A·pseudo·server·is·a·server·with·a·registered
369 name·that·does·nothing·but·pass·on·all·message·to·the·real·server·that·executes369 name·that·does·nothing·but·pass·on·all·message·to·the·real·server·that·executes
370 at·a·master·node.·A·pseudo·server·is·an·intermediary·that·only·has·the·same370 at·a·master·node.·A·pseudo·server·is·an·intermediary·that·only·has·the·same
371 registered·name·as·the·real·server.</p><p>For·example,·if·you·have·started·a·slave·node·<code·class="inline">N</code>·and·want·to·execute·<code·class="inline">pxw</code>371 registered·name·as·the·real·server.</p><p>For·example,·if·you·have·started·a·slave·node·<code·class="inline">N</code>·and·want·to·execute·<code·class="inline">pxw</code>
372 graphics·code·on·this·node,·you·can·start·server·<code·class="inline">pxw_server</code>·as·a·pseudo·server372 graphics·code·on·this·node,·you·can·start·server·<code·class="inline">pxw_server</code>·as·a·pseudo·server
373 at·the·slave·node.·This·is·illustrated·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">rpc</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="9889370961-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·cl[·...·truncated·by·diffoscope;·len:·461,·SHA:·4a0f277562bd7c01438777c210cbd8ed6f696d69aee6c768c22b3365053c52a1·...·]-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="9023257907-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·cl[·...·truncated·by·diffoscope;·len:·461,·SHA:·bb3043d7b5045b5a8c633ff3d8d15e18136e2fe08d2461640bb20946b51accba·...·]-1">)</span><span·class="p">.</span></code></pre>
374 ··</section>374 ··</section>
375 </section>375 </section>
376 <section·class="detail"·id="relay/1">376 <section·class="detail"·id="relay/1">
  
377 ··<div·class="detail-header">377 ··<div·class="detail-header">
378 ····<a·href="#relay/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">378 ····<a·href="#relay/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
379 ······<i·class="ri-link-m"·aria-hidden="true"></i>379 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 513, 17 lines modifiedOffset 513, 17 lines modified
513 as·fully·qualified·names;·short·names·can·also·be·used.·This·is·the·same513 as·fully·qualified·names;·short·names·can·also·be·used.·This·is·the·same
514 condition·that·applies·to·names·of·distributed·Erlang·nodes.</p><p>The·name·of·the·started·node·becomes·<code·class="inline">Name@Host</code>.</p><p>The·slave·node·resets·its·<a·href="io.html#t:user/0"><code·class="inline">io:user/0</code></a>·process·so·that·all·terminal·I/O·that·is514 condition·that·applies·to·names·of·distributed·Erlang·nodes.</p><p>The·name·of·the·started·node·becomes·<code·class="inline">Name@Host</code>.</p><p>The·slave·node·resets·its·<a·href="io.html#t:user/0"><code·class="inline">io:user/0</code></a>·process·so·that·all·terminal·I/O·that·is
515 produced·at·the·slave·is·automatically·relayed·to·the·master.·Also,·the·file515 produced·at·the·slave·is·automatically·relayed·to·the·master.·Also,·the·file
516 server·is·relayed·to·the·master.</p><p>Argument·<code·class="inline">Args</code>·is·used·to·set·<code·class="inline">erl</code>·command-line·arguments.·It·is516 server·is·relayed·to·the·master.</p><p>Argument·<code·class="inline">Args</code>·is·used·to·set·<code·class="inline">erl</code>·command-line·arguments.·It·is
517 passed·to·the·new·node·and·can·be·used·for·a·variety·of·purposes;·see517 passed·to·the·new·node·and·can·be·used·for·a·variety·of·purposes;·see
518 <a·href="../../../../erts-16.0/doc/html/erl_cmd.html"><code·class="inline">erl(1)</code></a>.</p><p>As·an·example,·suppose·that·you·want·to·start·a·slave·node·at·host·<code·class="inline">H</code>·with·node518 <a·href="../../../../erts-16.0/doc/html/erl_cmd.html"><code·class="inline">erl(1)</code></a>.</p><p>As·an·example,·suppose·that·you·want·to·start·a·slave·node·at·host·<code·class="inline">H</code>·with·node
519 name·<code·class="inline">Name@H</code>·and·want·the·slave·node·to·have·the·following·properties:</p><ul><li>Directory·<code·class="inline">Dir</code>·is·to·be·added·to·the·code·path.</li><li>The·Mnesia·directory·is·to·be·set·to·<code·class="inline">M</code>.</li><li>The·Unix·<code·class="inline">DISPLAY</code>·environment·variable·is·to·be·set·to·the·display·of·the519 name·<code·class="inline">Name@H</code>·and·want·the·slave·node·to·have·the·following·properties:</p><ul><li>Directory·<code·class="inline">Dir</code>·is·to·be·added·to·the·code·path.</li><li>The·Mnesia·directory·is·to·be·set·to·<code·class="inline">M</code>.</li><li>The·Unix·<code·class="inline">DISPLAY</code>·environment·variable·is·to·be·set·to·the·display·of·the
520 master·node.</li></ul><p>The·following·code·is·executed·to·achieve·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;·-env·DISPLAY·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="nc">net_adm</span><span·class="p">:</span><span·class="nf">localhost</span><span·class="p"·data-group-id="7894865855-1">(</span><span·class="p"·data-group-id="7894865855-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="1847284861-1">(</span><span·class="p"·data-group-id="1847284861-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="7894865855-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="7894865855-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="1847284861-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="1847284861-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
643 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/sofs.html
Max HTML report size reached
5.65 MB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/stdlib.epub
13.9 KB
zipinfo {}
Max HTML report size reached
557 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
73.8 KB
OEBPS/zstd.xhtml
Max HTML report size reached
35.8 KB
OEBPS/zip.xhtml
Max HTML report size reached
39.0 KB
OEBPS/uri_string_usage.xhtml
Max HTML report size reached
89.5 KB
OEBPS/uri_string.xhtml
Max HTML report size reached
159 KB
OEBPS/unicode_usage.xhtml
Max HTML report size reached
36.6 KB
OEBPS/unicode.xhtml
Max HTML report size reached
19.3 KB
OEBPS/timer.xhtml
Max HTML report size reached
40.5 KB
OEBPS/terminal_interface.xhtml
Max HTML report size reached
13.7 KB
OEBPS/supervisor.xhtml
Max HTML report size reached
147 KB
OEBPS/string.xhtml
Max HTML report size reached
8.32 KB
OEBPS/stdlib_app.xhtml
Max HTML report size reached
642 KB
OEBPS/sofs.xhtml
Max HTML report size reached
7.93 KB
OEBPS/slave.xhtml
Max HTML report size reached
2.9 KB
OEBPS/shell_default.xhtml
Max HTML report size reached
73.0 KB
OEBPS/shell.xhtml
Max HTML report size reached
126 KB
OEBPS/sets.xhtml
Max HTML report size reached
108 KB
OEBPS/re.xhtml
Max HTML report size reached
4.17 KB
OEBPS/random.xhtml
Max HTML report size reached
28.1 KB
OEBPS/rand.xhtml
Max HTML report size reached
159 KB
OEBPS/queue.xhtml
Max HTML report size reached
216 KB
OEBPS/qlc.xhtml
Max HTML report size reached
30.4 KB
OEBPS/proplists.xhtml
Max HTML report size reached
18.9 KB
OEBPS/proc_lib.xhtml
Max HTML report size reached
90.2 KB
OEBPS/peer.xhtml
Max HTML report size reached
97.7 KB
OEBPS/ordsets.xhtml
Max HTML report size reached
123 KB
OEBPS/orddict.xhtml
Max HTML report size reached
115 KB
OEBPS/notes.xhtml
Max HTML report size reached
140 KB
OEBPS/ms_transform.xhtml
Max HTML report size reached
41.4 KB
OEBPS/math.xhtml
Max HTML report size reached
202 KB
OEBPS/maps.xhtml
Max HTML report size reached
398 KB
OEBPS/lists.xhtml
Max HTML report size reached
47.8 KB
OEBPS/json.xhtml
Max HTML report size reached
196 KB
OEBPS/io_protocol.xhtml
Max HTML report size reached
13.2 KB
OEBPS/io_lib.xhtml
Max HTML report size reached
407 KB
OEBPS/io.xhtml
Max HTML report size reached
59.2 KB
OEBPS/gen_statem.xhtml
Max HTML report size reached
6.54 KB
OEBPS/gen_server.xhtml
Max HTML report size reached
182 KB
OEBPS/gen_fsm.xhtml
Max HTML report size reached
6.65 KB
OEBPS/gen_event.xhtml
Max HTML report size reached
170 KB
OEBPS/gb_sets.xhtml
Max HTML report size reached
83.3 KB
OEBPS/filename.xhtml
Max HTML report size reached
5.99 KB
OEBPS/filelib.xhtml
Max HTML report size reached
18.7 KB
OEBPS/file_sorter.xhtml
Max HTML report size reached
138 KB
OEBPS/ets.xhtml
Max HTML report size reached
74.0 KB
OEBPS/escript.xhtml
Max HTML report size reached
13.2 KB
OEBPS/erl_tar.xhtml
Max HTML report size reached
2.35 KB
OEBPS/erl_scan.xhtml
Max HTML report size reached
2.49 KB
OEBPS/erl_parse.xhtml
Max HTML report size reached
2.34 KB
OEBPS/erl_lint.xhtml
Max HTML report size reached
8.35 KB
OEBPS/erl_eval.xhtml
Max HTML report size reached
25.7 KB
OEBPS/erl_error.xhtml
Max HTML report size reached
2.74 KB
OEBPS/epp.xhtml
Max HTML report size reached
19.4 KB
OEBPS/dict.xhtml
Max HTML report size reached
25.3 KB
OEBPS/dets.xhtml
Max HTML report size reached
63.4 KB
OEBPS/custom_shell.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
Max HTML report size reached
17.7 KB
OEBPS/calendar.xhtml
Max HTML report size reached
2.09 KB
OEBPS/c.xhtml
Max HTML report size reached
142 KB
OEBPS/binary.xhtml
Max HTML report size reached
25.3 KB
OEBPS/beam_lib.xhtml
Max HTML report size reached
10.3 KB
OEBPS/base64.xhtml
Max HTML report size reached
7.17 KB
OEBPS/assert_hrl.xhtml
Max HTML report size reached
24.9 KB
OEBPS/array.xhtml
Max HTML report size reached
125 KB
OEBPS/argparse.xhtml
Max HTML report size reached
9.77 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/stdlib_app.html
    
Offset 158, 21 lines modifiedOffset 158, 21 lines modified
158 string·and·returns·a·formatted·expressions·as·a·string.·See158 string·and·returns·a·formatted·expressions·as·a·string.·See
159 <a·href="shell.html#format_shell_func/1"><code·class="inline">shell:format_shell_func/1</code></a>·for·how·to·set·it·from·inside·the·shell.</p><p>If·instead·a·string·is·provided,·it·will·be·used·as·a·shell·command.·Your159 <a·href="shell.html#format_shell_func/1"><code·class="inline">shell:format_shell_func/1</code></a>·for·how·to·set·it·from·inside·the·shell.</p><p>If·instead·a·string·is·provided,·it·will·be·used·as·a·shell·command.·Your
160 command·must·include·<code·class="inline">${file}</code>·somewhere·in·the·string,·for·the·shell·to·know160 command·must·include·<code·class="inline">${file}</code>·somewhere·in·the·string,·for·the·shell·to·know
161 where·the·file·goes·in·the·command.</p><pre><code·class="text">-stdlib·format_shell_func·&quot;\&quot;emacs·-batch·\${file}·-l·~/erlang-format/emacs-format-file·-f·emacs-format-function\&quot;&quot;</code></pre><pre><code·class="text">-stdlib·format_shell_func·&quot;{shell,·erl_pp_format_func}&quot;</code></pre></li><li><p><strong><code·class="inline"·id="shell_prompt_func">shell_prompt_func·=·{Mod,·Func}·|·default</code></strong>·-·where</p><ul><li><code·class="inline">Mod·=·atom()</code></li><li><code·class="inline">Func·=·atom()</code></li></ul><p>Can·be·used·to·set·a·customized·Erlang·shell·prompt·function.</p></li><li><p><strong><code·class="inline"·id="shell_multiline_prompt">shell_multiline_prompt·=·{Mod,·Func}·|·string()·|·default</code></strong>·-·where</p><ul><li><code·class="inline">Mod·=·atom()</code></li><li><code·class="inline">Func·=·atom()</code></li></ul><p>Can·be·used·to·set·a·customized·multiline·shell·prompt·function.·The·multiline161 where·the·file·goes·in·the·command.</p><pre><code·class="text">-stdlib·format_shell_func·&quot;\&quot;emacs·-batch·\${file}·-l·~/erlang-format/emacs-format-file·-f·emacs-format-function\&quot;&quot;</code></pre><pre><code·class="text">-stdlib·format_shell_func·&quot;{shell,·erl_pp_format_func}&quot;</code></pre></li><li><p><strong><code·class="inline"·id="shell_prompt_func">shell_prompt_func·=·{Mod,·Func}·|·default</code></strong>·-·where</p><ul><li><code·class="inline">Mod·=·atom()</code></li><li><code·class="inline">Func·=·atom()</code></li></ul><p>Can·be·used·to·set·a·customized·Erlang·shell·prompt·function.</p></li><li><p><strong><code·class="inline"·id="shell_multiline_prompt">shell_multiline_prompt·=·{Mod,·Func}·|·string()·|·default</code></strong>·-·where</p><ul><li><code·class="inline">Mod·=·atom()</code></li><li><code·class="inline">Func·=·atom()</code></li></ul><p>Can·be·used·to·set·a·customized·multiline·shell·prompt·function.·The·multiline
162 prompt·function·takes·the·main·prompt·as·its·only·parameter.</p></li><li><p><strong><code·class="inline"·id="shell_saved_results">shell_saved_results·=·integer()·&gt;=·0</code></strong>·-·Can·be162 prompt·function·takes·the·main·prompt·as·its·only·parameter.</p></li><li><p><strong><code·class="inline"·id="shell_saved_results">shell_saved_results·=·integer()·&gt;=·0</code></strong>·-·Can·be
163 used·to·determine·how·many·results·are·saved·by·the·Erlang·shell.</p></li><li><p><strong><code·class="inline"·id="shell_session_slogan">shell_session_slogan·=·string()·|·fun()·-&gt;·string())</code></strong>·-·The·slogan·printed·when·starting·an·Erlang·shell.163 used·to·determine·how·many·results·are·saved·by·the·Erlang·shell.</p></li><li><p><strong><code·class="inline"·id="shell_session_slogan">shell_session_slogan·=·string()·|·fun()·-&gt;·string())</code></strong>·-·The·slogan·printed·when·starting·an·Erlang·shell.
164 Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">stdlib</span><span·class="w">·</span><span·class="ss">shell_session_slogan</span><span·class="w">·</span><span·class="ss">&#39;&quot;Test·slogan&quot;&#39;</span><span·class="w">164 Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">stdlib</span><span·class="w">·</span><span·class="ss">shell_session_slogan</span><span·class="w">·</span><span·class="ss">&#39;&quot;Test·slogan&quot;&#39;</span><span·class="w">
165 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">26</span><span·class="w">·</span><span·class="p"·data-group-id="4194026824-1">[</span><span·class="n">DEVELOPMENT</span><span·class="p"·data-group-id="4194026824-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="4194026824-2">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">1[·...·truncated·by·diffoscope;·len:·1496,·SHA:·a967d6efe7b3b490290fdec3d0c49cec4ea7b18e0f24135415902201f9487315·...·]-8">]</span><span·class="w">165 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">26</span><span·class="w">·</span><span·class="p"·data-group-id="6801121016-1">[</span><span·class="n">DEVELOPMENT</span><span·class="p"·data-group-id="6801121016-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="6801121016-2">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">1[·...·truncated·by·diffoscope;·len:·1496,·SHA:·acae7776e40fc35b1af5923c000b47c35c22feeccdc4078b5ce84cc1fbe71541·...·]-8">]</span><span·class="w">
  
166 </span><span·class="n">Test</span><span·class="w">·</span><span·class="ss">slogan</span><span·class="w">166 </span><span·class="n">Test</span><span·class="w">·</span><span·class="ss">slogan</span><span·class="w">
167 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre></li><li><p><strong><code·class="inline"·id="shell_slogan">shell_slogan·=·string()·|·fun(()·-&gt;·string())</code></strong>·-·The167 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre></li><li><p><strong><code·class="inline"·id="shell_slogan">shell_slogan·=·string()·|·fun(()·-&gt;·string())</code></strong>·-·The
168 slogan·printed·when·starting·the·Erlang·shell·subsystem.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">stdlib</span><span·class="w">·</span><span·class="ss">shell_slogan</span><span·class="w">·</span><span·class="ss">&#39;&quot;Test·slogan&quot;&#39;</span><span·class="w">168 slogan·printed·when·starting·the·Erlang·shell·subsystem.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">stdlib</span><span·class="w">·</span><span·class="ss">shell_slogan</span><span·class="w">·</span><span·class="ss">&#39;&quot;Test·slogan&quot;&#39;</span><span·class="w">
169 </span><span·class="n">Test</span><span·class="w">·</span><span·class="ss">slogan</span><span·class="w">169 </span><span·class="n">Test</span><span·class="w">·</span><span·class="ss">slogan</span><span·class="w">
170 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V13</span><span·class="p">.</span><span·class="mf">0.2</span><span·class="w">··</span><span·class="p"·data-group-id="9859634665-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="9859634665-1">)</span><span·class="w">170 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V13</span><span·class="p">.</span><span·class="mf">0.2</span><span·class="w">··</span><span·class="p"·data-group-id="7739080521-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="7739080521-1">)</span><span·class="w">
171 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre><p>The·default·is·the·return·value·of171 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre><p>The·default·is·the·return·value·of
172 <a·href="../../../../erts-16.0/doc/html/erlang.html#system_info_system_version"><code·class="inline">erlang:system_info(system_version)</code></a>.</p></li><li><p><strong><code·class="inline"·id="shell_strings">shell_strings·=·boolean()</code></strong>·-·Can·be·used·to·determine172 <a·href="../../../../erts-16.0/doc/html/erlang.html#system_info_system_version"><code·class="inline">erlang:system_info(system_version)</code></a>.</p></li><li><p><strong><code·class="inline"·id="shell_strings">shell_strings·=·boolean()</code></strong>·-·Can·be·used·to·determine
173 how·the·Erlang·shell·outputs·lists·of·integers.</p></li></ul><h2·id="see-also"·class="section-heading">173 how·the·Erlang·shell·outputs·lists·of·integers.</p></li></ul><h2·id="see-also"·class="section-heading">
174 ··<a·href="#see-also"·class="hover-link">174 ··<a·href="#see-also"·class="hover-link">
175 ····<i·class="ri-link-m"·aria-hidden="true"></i>175 ····<i·class="ri-link-m"·aria-hidden="true"></i>
176 ··</a>176 ··</a>
177 ··<span·class="text">See·Also</span>177 ··<span·class="text">See·Also</span>
Offset 224, 15 lines modifiedOffset 224, 15 lines modified
224 ······<p·class="built-using">224 ······<p·class="built-using">
225 ········Built·using225 ········Built·using
226 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the226 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
227 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>227 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
228 ······</p>228 ······</p>
229 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>229 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
230 ····</footer>230 ····</footer>
231 ··</div>231 ··</div>
232 </main>232 </main>
233 </div>233 </div>
234 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>234 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
235 ··<script>235 ··<script>
236 ··let·initialized·=·false;236 ··let·initialized·=·false;
682 B
html2text {}
Max HTML report size reached
148 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/string.html
    
Offset 145, 22 lines modifiedOffset 145, 22 lines modified
145 <a·href="#replace/3"><code·class="inline">replace/3</code></a>,·<a·href="#split/2"><code·class="inline">split/2</code></a>,·<a·href="#split/3"><code·class="inline">split/3</code></a>·and·<a·href="#trim/3"><code·class="inline">trim/3</code></a>.</p><p>Splitting·and·appending·strings·is·to·be·done·on·grapheme·clusters·borders.145 <a·href="#replace/3"><code·class="inline">replace/3</code></a>,·<a·href="#split/2"><code·class="inline">split/2</code></a>,·<a·href="#split/3"><code·class="inline">split/3</code></a>·and·<a·href="#trim/3"><code·class="inline">trim/3</code></a>.</p><p>Splitting·and·appending·strings·is·to·be·done·on·grapheme·clusters·borders.
146 There·is·no·verification·that·the·results·of·appending·strings·are·valid·or146 There·is·no·verification·that·the·results·of·appending·strings·are·valid·or
147 normalized.</p><p>Most·of·the·functions·expect·all·input·to·be·normalized·to·one·form,·see·for147 normalized.</p><p>Most·of·the·functions·expect·all·input·to·be·normalized·to·one·form,·see·for
148 example·<a·href="unicode.html#characters_to_nfc_list/1"><code·class="inline">unicode:characters_to_nfc_list/1</code></a>.</p><p>Language·or·locale·specific·handling·of·input·is·not·considered·in·any·function.</p><p>The·functions·can·crash·for·non-valid·input·strings.·For·example,·the·functions148 example·<a·href="unicode.html#characters_to_nfc_list/1"><code·class="inline">unicode:characters_to_nfc_list/1</code></a>.</p><p>Language·or·locale·specific·handling·of·input·is·not·considered·in·any·function.</p><p>The·functions·can·crash·for·non-valid·input·strings.·For·example,·the·functions
149 expect·UTF-8·binaries·but·not·all·functions·verify·that·all·binaries·are·encoded149 expect·UTF-8·binaries·but·not·all·functions·verify·that·all·binaries·are·encoded
150 correctly.</p><p>Unless·otherwise·specified·the·return·value·type·is·the·same·as·the·input·type.150 correctly.</p><p>Unless·otherwise·specified·the·return·value·type·is·the·same·as·the·input·type.
151 That·is,·binary·input·returns·binary·output,·list·input·returns·a·list·output,151 That·is,·binary·input·returns·binary·output,·list·input·returns·a·list·output,
152 and·mixed·input·can·return·a·mixed·output.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">trim</span><span·class="p"·data-group-id="3760859051-1">(</span><span·class="s">&quot;··sarah··&quot;</span><span·class="p"·data-group-id="3760859051-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="0008648440-1">(</span><span·class="s">&quot;··sarah··&quot;</span><span·class="p"·data-group-id="0008648440-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="3760859051-2">(</span><span·class="p"·data-group-id="3760859051-3">&lt;&lt;</span><span·class="s">&quot;··sarah··&quot;</span><span·class="p"·data-group-id="3760859051-3">&gt;&gt;</span><span·class="p"·data-group-id="3760859051-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="0008648440-2">(</span><span·class="p"·data-group-id="0008648440-3">&lt;&lt;</span><span·class="s">&quot;··sarah··&quot;</span><span·class="p"·data-group-id="0008648440-3">&gt;&gt;</span><span·class="p"·data-group-id="0008648440-2">)</span><span·class="p">.</span><span·class="w">
155 </span><span·class="p"·data-group-id="3760859051-4">&lt;&lt;</span><span·class="s">&quot;sarah&quot;</span><span·class="p"·data-group-id="3760859051-4">&gt;&gt;</span><span·class="gp·unselectable">155 </span><span·class="p"·data-group-id="0008648440-4">&lt;&lt;</span><span·class="s">&quot;sarah&quot;</span><span·class="p"·data-group-id="0008648440-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="3760859051-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="3760859051-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="0008648440-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="0008648440-5">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="3760859051-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="3760859051-6">]</span><span·class="gp·unselectable">157 </span><span·class="p"·data-group-id="0008648440-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="0008648440-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="3760859051-7">(</span><span·class="p"·data-group-id="3760859051-8">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group-id="3760859051-8">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;·&quot;</span><span·class="p"·data-group-id="3760859051-7">)</span><span·class="p">.</span><span·class="w"> 
159 </span><span·class="p"·data-group-id="3760859051-9">[</span><span·class="p"·data-group-id="3760859051-10">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="3760859051-10">&gt;&gt;</span><span·class="p">,</span><span·class=[·...·truncated·by·diffoscope;·len:·359,·SHA:·9c4ec89e025bffe18dfba24b1b09ab63a88c75e7395e0b0685c1deb9202e7739·...·]>158 4&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">lexemes</span><span·class="p"·data-group-id="0008648440-7">(</span><span·class="p"·data-group-id="0008648440-8">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><sp[·...·truncated·by·diffoscope;·len:·233,·SHA:·1ae94d7476a60ee75aaefeb5812cf2b61a7d4dd53861333bc0901ae2f225cb1a·...·]>
 159 </span><span·class="p"·data-group-id="0008648440-9">[</span><span·class="p"·data-group-id="0008648440-10">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="0008648440-10">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="0008648440-11">&lt;&lt;</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="0008648440-11">&gt;&gt;</span><span·class="p"·data-group-id="0008648440-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="9707392324-1">(</span><span·class="s">&quot;Ω·and··SHARP·S&quot;</span><span·class="p"·data-group-id="9707392324-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="5816389402-1">(</span><span·class="s">&quot;Ω·and··SHARP·S&quot;</span><span·class="p"·data-group-id="5816389402-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="1728430845-1">(</span><span·class="p"·data-group-id="1728430845-2">&lt;&lt;</span><span·class="s">&quot;\nHello\n\n&quot;</span><span·class="p"·data-group-id="1728430845-2">&gt;&gt;</span><span·class="p"·data-group-id="1728430845-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="2999079351-1">(</span><span·class="p"·data-group-id="2999079351-2">&lt;&lt;</span><span·class="s">&quot;\nHello\n\n&quot;</span><span·class="p"·data-group-id="2999079351-2">&gt;&gt;</span><span·class="p"·data-group-id="2999079351-1">)</span><span·class="p">.</span><span·class="w">
1097 </span><span·class="p"·data-group-id="1728430845-3">&lt;&lt;</span><span·class="s">&quot;\nHello&quot;</span><span·class="p"·data-group-id="1728430845-3">&gt;&gt;</span><span·class="gp·unselectable">1097 </span><span·class="p"·data-group-id="2999079351-3">&lt;&lt;</span><span·class="s">&quot;\nHello&quot;</span><span·class="p"·data-group-id="2999079351-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="1728430845-4">(</span><span·class="s">&quot;\nHello\r\r\n&quot;</span><span·class="p"·data-group-id="1728430845-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="2999079351-4">(</span><span·class="s">&quot;\nHello\r\r\n&quot;</span><span·class="p"·data-group-id="2999079351-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="4416131286-1">(</span><span·class="s">&quot;åäö&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4416131286-2">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</spa[·...·truncated·by·diffoscope;·len:·103,·SHA:·45c8cb0eb251c946c38622fb3e28e2ec14a59127669474f865d7df0468a0740a·...·]-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="3996915422-1">(</span><span·class="s">&quot;åäö&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3996915422-2">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</spa[·...·truncated·by·diffoscope;·len:·103,·SHA:·fde5c56be82624b67fa04abe7ff21abe878ecdf754dd224e68380896c36b7326·...·]-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="4416131286-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="4416131286-4">[·...·truncated·by·diffoscope;·len:·140,·SHA:·a935079f30543d861e4651249ffd1f3fe4247e93661bf24a2651c4721ae6b746·...·]-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="3996915422-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="3996915422-4">[·...·truncated·by·diffoscope;·len:·140,·SHA:·189547ecf5114bcf8f1089bb1245f870d9c41682e24192319ff17362458d6120·...·]-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="4416131286-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="4416131286-6">[·...·truncated·by·diffoscope;·len:·291,·SHA:·a69ee8c39f4cceb44a5df725499811ea9eb0615d846b182a55bd38cdc7f6020c·...·]-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="3996915422-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="3996915422-6">[·...·truncated·by·diffoscope;·len:·291,·SHA:·cd916efbdf13740fedaf7ec595f0960a18749f06cb77c795fbccf373c44632e6·...·]-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="3028234166-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="3028234166-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="1047492905-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="1047492905-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="3028234166-2">(</span><span·class="p"·data-group-id="3028234166-3">&lt;&lt;</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p"·data-group-id="3028234166-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·137,·SHA:·bb43022ccbd9610f3e0922bf5a07bd252bba7a8ab251d34f3aa62fb0f5a345d1·...·]-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="1047492905-2">(</span><span·class="p"·data-group-id="1047492905-3">&lt;&lt;</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p"·data-group-id="1047492905-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·137,·SHA:·df632e0cef543391004b7226fb052708f9d040eaa79d753521af084cc448ac6b·...·]-2">)</span><span·class="p">.</span><span·class="w">
1263 </span><span·class="p"·data-group-id="3028234166-4">&lt;&lt;</span><span·class="s">&quot;..ef&quot;</span><span·class="p"·data-group-id="3028234166-4">&gt;&gt;</span><span·class="gp·unselectable">1263 </span><span·class="p"·data-group-id="1047492905-4">&lt;&lt;</span><span·class="s">&quot;..ef&quot;</span><span·class="p"·data-group-id="1047492905-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="3028234166-5">(</span><span·class="p"·data-group-id="3028234166-6">&lt;&lt;</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p"·data-group-id="3028234166-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·135,·SHA:·a1b3267e4c9acc55ec5503ebab8712e0b3fb8d4f1f1fa5ee6c299fa893798e69·...·]-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="1047492905-5">(</span><span·class="p"·data-group-id="1047492905-6">&lt;&lt;</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p"·data-group-id="1047492905-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·135,·SHA:·98e2fa01bbe6fbad0dd627e11db34bc1d04f7820f6498ceaad8f68b5b765e48c·...·]-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="3028234166-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:·b64a669f8f0857ef250184d79ae2a2dc731fd415ba138683c72ba21b07faf9fb·...·]-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="1047492905-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:·58a428fd53ba6f02458c9e1dbedc66ba23acfe5b68af69462f866bef6f756474·...·]-7">)</span><span·class="p">.</span><span·class="w">
1267 </span><span·class="ss">nomatch</span></code></pre>1267 </span><span·class="ss">nomatch</span></code></pre>
1268 ··</section>1268 ··</section>
1269 </section>1269 </section>
1270 <section·class="detail"·id="is_empty/1">1270 <section·class="detail"·id="is_empty/1">
  
1271 ··<div·class="detail-header">1271 ··<div·class="detail-header">
1272 ····<a·href="#is_empty/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1272 ····<a·href="#is_empty/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1290, 17 lines modifiedOffset 1290, 17 lines modified
  
1290 ······<div·class="specs">1290 ······<div·class="specs">
  
1291 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_empty(String·::·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>1291 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_empty(String·::·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>
  
1292 ······</div>1292 ······</div>
  
1293 <p>Returns·<code·class="inline">true</code>·if·<code·class="inline">String</code>·is·the·empty·string,·otherwise·<code·class="inline">false</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">is_empty</span><span·class="p"·data-group-id="9419870951-1">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="9419870951-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="0339267739-1">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="0339267739-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="9419870951-2">(</span><span·class="p"·data-group-id="9419870951-3">[</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="9419870951-4">&lt;&lt;</span><span·class="p"·data-group-id="9419870951-4">&gt;&gt;</span><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·66efa90ab22a03932d8503d8bdbd25812d04fd2abb282d8b7e0a79c9322a5ac4·...·]-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="0339267739-2">(</span><span·class="p"·data-group-id="0339267739-3">[</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="0339267739-4">&lt;&lt;</span><span·class="p"·data-group-id="0339267739-4">&gt;&gt;</span><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·1a930aa6ebd92d2c48c066afc0fd11d794da2acff8648770442fca3ffc0e9c15·...·]-2">)</span><span·class="p">.</span><span·class="w">
1296 </span><span·class="ss">true</span></code></pre>1296 </span><span·class="ss">true</span></code></pre>
1297 ··</section>1297 ··</section>
1298 </section>1298 </section>
1299 <section·class="detail"·id="jaro_similarity/2">1299 <section·class="detail"·id="jaro_similarity/2">
  
1300 ··<div·class="detail-header">1300 ··<div·class="detail-header">
1301 ····<a·href="#jaro_similarity/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1301 ····<a·href="#jaro_similarity/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1328, 21 lines modifiedOffset 1328, 21 lines modified
1328 ·····························Similarity·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:float/0">float</a>().</pre>1328 ·····························Similarity·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:float/0">float</a>().</pre>
  
1329 ······</div>1329 ······</div>
  
1330 <p>Returns·a·float·between·<code·class="inline">+0.0</code>·and·<code·class="inline">1.0</code>·representing·the1330 <p>Returns·a·float·between·<code·class="inline">+0.0</code>·and·<code·class="inline">1.0</code>·representing·the
1331 <a·href="https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance">Jaro·similarity</a>1331 <a·href="https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance">Jaro·similarity</a>
1332 between·the·given·strings.·Strings·with·a·higher·similarity·will·score·closer1332 between·the·given·strings.·Strings·with·a·higher·similarity·will·score·closer
1333 to·<code·class="inline">1.0</code>,·with·<code·class="inline">+0.0</code>·meaning·no·similarity·and·<code·class="inline">1.0</code>·meaning·an·exact·match.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">jaro_similarity</span><span·class="p"·data-group-id="7223224964-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="7223224964-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="7601126939-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="7601126939-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; 123115/151165 bytes (81.44%) of diff not shown.
581 B
html2text {}
Max HTML report size reached
15.1 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/supervisor.html
    
Offset 154, 19 lines modifiedOffset 154, 19 lines modified
154 left.</p><p><a·href=""·id="sup_flags"></a></p><h3·id="module-supervisor-flags"·class="section-heading">154 left.</p><p><a·href=""·id="sup_flags"></a></p><h3·id="module-supervisor-flags"·class="section-heading">
155 ··<a·href="#module-supervisor-flags"·class="hover-link">155 ··<a·href="#module-supervisor-flags"·class="hover-link">
156 ····<i·class="ri-link-m"·aria-hidden="true"></i>156 ····<i·class="ri-link-m"·aria-hidden="true"></i>
157 ··</a>157 ··</a>
158 ··<span·class="text">Supervisor·flags</span>158 ··<span·class="text">Supervisor·flags</span>
159 </h3>159 </h3>
160 <p>The·supervisor·properties·are·defined·by·the·supervisor·flags.·The·type160 <p>The·supervisor·properties·are·defined·by·the·supervisor·flags.·The·type
161 definition·for·the·supervisor·flags·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sup_flags</span><span·class="p"·data-group-id="9707090579-1">(</span><span·class="p"·data-group-id="9707090579-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9707090579-2">#{</span><span·class="ss">strategy</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·0147504f6ac868301f099432820dcc7bd3e2d0eaa5b47a118ab0d3005769c7ff·...·]-3">)</span><span·class="p">,</span><span·class="w">···········</span><span·class="c1">%·optional</span><span·class="w">161 definition·for·the·supervisor·flags·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sup_flags</span><span·class="p"·data-group-id="6848019155-1">(</span><span·class="p"·data-group-id="6848019155-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6848019155-2">#{</span><span·class="ss">strategy</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·dbaf9029241ac11ba595807df3ac2535dd4ebb6d1c151de2364a95252000eb37·...·]-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="9707090579-4">(</span><span·class="p"·data-group-id="9707090579-4">)</span><span·class="p">,</span><span·class="w">···</span><span·class="c1">%·optional</span><span·class="w">162 ················</span><span·class="ss">intensity</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">non_neg_integer</span><span·class="p"·data-group-id="6848019155-4">(</span><span·class="p"·data-group-id="6848019155-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="9707090579-5">(</span><span·class="p"·data-group-id="9707090579-5">)</span><span·class="p">,</span><span·class="w">··········</span><span·class="c1">%·optional</span><span·class="w">163 ················</span><span·class="ss">period</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">pos_integer</span><span·class="p"·data-group-id="6848019155-5">(</span><span·class="p"·data-group-id="6848019155-5">)</span><span·class="p">,</span><span·class="w">··········</span><span·class="c1">%·optional</span><span·class="w">
164 ················</span><span·class="ss">hibernate_after</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">timeout</span><span·class="p"·data-group-id="9707090579-6">(</span><span·class="p"·data-group-id="9707090579-6">)</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·optional,·available·since·OTP·28.0</span><span·class="w">164 ················</span><span·class="ss">hibernate_after</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">timeout</span><span·class="p"·data-group-id="6848019155-6">(</span><span·class="p"·data-group-id="6848019155-6">)</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·optional,·available·since·OTP·28.0</span><span·class="w">
165 ················</span><span·class="ss">auto_shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">auto_shutdown</span><span·class="p"·data-group-id="9707090579-7">(</span><span·class="p"·data-group-id="9707090579-7">)</span><span·class="p"·data-group-id="9707090579-2">}</span><span·class="w">·</span><span·class="c1">%·optional</span></code></pre><h4>Restart·Strategies</h4><p>A·supervisor·can·have·one·of·the·following·<em>restart·strategies</em>·specified·with165 ················</span><span·class="ss">auto_shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">auto_shutdown</span><span·class="p"·data-group-id="6848019155-7">(</span><span·class="p"·data-group-id="6848019155-7">)</span><span·class="p"·data-group-id="6848019155-2">}</span><span·class="w">·</span><span·class="c1">%·optional</span></code></pre><h4>Restart·Strategies</h4><p>A·supervisor·can·have·one·of·the·following·<em>restart·strategies</em>·specified·with
166 the·<code·class="inline">strategy</code>·key·in·the·above·map:</p><ul><li><p><code·class="inline">one_for_one</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·only166 the·<code·class="inline">strategy</code>·key·in·the·above·map:</p><ul><li><p><code·class="inline">one_for_one</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·only
167 that·child·process·is·affected.·This·is·the·default·restart·strategy.</p></li><li><p><code·class="inline">one_for_all</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·all167 that·child·process·is·affected.·This·is·the·default·restart·strategy.</p></li><li><p><code·class="inline">one_for_all</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·all
168 other·child·processes·are·terminated·and·then·all·child·processes·are168 other·child·processes·are·terminated·and·then·all·child·processes·are
169 restarted.</p></li><li><p><code·class="inline">rest_for_one</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·the169 restarted.</p></li><li><p><code·class="inline">rest_for_one</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·the
170 'rest'·of·the·child·processes·(that·is,·the·child·processes·after·the170 'rest'·of·the·child·processes·(that·is,·the·child·processes·after·the
171 terminated·child·process·in·the·start·order)·are·terminated.·Then·the171 terminated·child·process·in·the·start·order)·are·terminated.·Then·the
172 terminated·child·process·and·all·child·processes·after·it·are·restarted.</p></li><li><p><code·class="inline">simple_one_for_one</code>·-·A·simplified·<code·class="inline">one_for_one</code>·supervisor,·where·all·child172 terminated·child·process·and·all·child·processes·after·it·are·restarted.</p></li><li><p><code·class="inline">simple_one_for_one</code>·-·A·simplified·<code·class="inline">one_for_one</code>·supervisor,·where·all·child
Offset 210, 21 lines modifiedOffset 210, 21 lines modified
210 the·automatic·shutdowns·they·rely·on·will·not·happen.</p><p>It·is·up·to·implementors·to·take·proper·precautions·if·they·expect·that·their210 the·automatic·shutdowns·they·rely·on·will·not·happen.</p><p>It·is·up·to·implementors·to·take·proper·precautions·if·they·expect·that·their
211 applications·may·be·compiled·with·older·OTP·versions.</p></section><p><a·href=""·id="child_spec"></a></p><h3·id="module-child-specification"·class="section-heading">211 applications·may·be·compiled·with·older·OTP·versions.</p></section><p><a·href=""·id="child_spec"></a></p><h3·id="module-child-specification"·class="section-heading">
212 ··<a·href="#module-child-specification"·class="hover-link">212 ··<a·href="#module-child-specification"·class="hover-link">
213 ····<i·class="ri-link-m"·aria-hidden="true"></i>213 ····<i·class="ri-link-m"·aria-hidden="true"></i>
214 ··</a>214 ··</a>
215 ··<span·class="text">Child·specification</span>215 ··<span·class="text">Child·specification</span>
216 </h3>216 </h3>
217 <p>The·type·definition·of·a·child·specification·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">child_spec</span><span·class="p"·data-group-id="6661086082-1">(</span><span·class="p"·data-group-id="6661086082-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6661086082-2">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">child_id</span><span·class="p"·data-group-id="6661086082-3">(</span><span·class="p"·data-group-id="6661086082-3">)</span><span·class="p">,</span><span·class="w">·············</span><span·class="c1">%·mandatory</span><span·class="w"> 
218 ·················</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">mfargs</span><span·class="p"·data-group-id="6661086082-4">(</span><span·class="p"·data-group-id="6661086082-4"[·...·truncated·by·diffoscope;·len:·49,·SHA:·c1348d10958a20c35f38d142a04c14e1c06497b5a79bf818fd20ae814b33f142·...·]············</span><span·class="c1">%·mandatory</span><span·class="w">217 <p>The·type·definition·of·a·child·specification·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">child_spec</span><span·class="p"·data-group-id="9035650623-1">(</span><span·class="p"·data-group-id="9035650623-1">)</span><s[·...·truncated·by·diffoscope;·len:·405,·SHA:·db449c0a8e2a0ae516432b491347d551ce2c75bd6ddf46c570557c1f2cc3dc8d·...·]············</span><span·class="c1">%·mandatory</span><span·class="w">
 218 ·················</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">mfargs</span><span·class="p"·data-group-id="9035650623-4">(</span><span·class="p"·data-group-id="9035650623-4">)</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·mandatory</span><span·class="w">
219 ·················</span><span·class="ss">restart</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">restart</span><span·class="p"·data-group-id="6661086082-5">(</span><span·class="p"·data-group-id="6661086082-5">)</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·optional</span><span·class="w">219 ·················</span><span·class="ss">restart</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">restart</span><span·class="p"·data-group-id="9035650623-5">(</span><span·class="p"·data-group-id="9035650623-5">)</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·optional</span><span·class="w">
220 ·················</span><span·class="ss">significant</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">significant</span><span·class="p"·data-group-id="6661086082-6">(</span><span·class="p"·data-group-id="6661086082-6">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·optional</span><span·class="w"> 
221 ·················</span><span·class="ss">shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="6661086082-7">(</span><span·class="p"·data-group-id="6661086082-7">)</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·optional</span><span·class="w"> 
222 ·················</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">worker</span><span·class="p"·data-group-id="6661086082-8">(</span><span·class="p"·data-group-id="6661086082-8">)</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·19,·SHA:·cdc41c3b86f778a70c395180e042b4243a73269f3386d415d4b2c2ecbdfd1fa7·...·]·</span><span·class="c1">%·optional</span><span·class="w">220 ·················</span><span·class="ss">significant</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">significant</span><span·class="p"·data-group-id="9035650623-6">(</span><span·class="p"·data-group-id="9035650623-6">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·19,·SHA:·887e09d9f57385f2929afb80f23f02203796ca6431e1f51107d90a29beb84747·...·]·</span><span·class="c1">%·optional</span><span·class="w">
 221 ·················</span><span·class="ss">shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="9035650623-7">(</span><span·class="p"·data-group-id="9035650623-7">)</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·optional</span><span·class="w">
 222 ·················</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">worker</span><span·class="p"·data-group-id="9035650623-8">(</span><span·class="p"·data-group-id="9035650623-8">)</span><span·class="p">,</span><span·class="w">·············</span><span·class="c1">%·optional</span><span·class="w">
223 ·················</span><span·class="ss">modules</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">modules</span><span·class="p"·data-group-id="6661086082-9">(</span><span·class="p"·data-group-id="6661086082-9">)</span><span·class="p"·data-group-id="6661086082-2">}</span><span·class="w">·········</span><span·class="c1">%·optional</span></code></pre><p>The·old·tuple·format·is·kept·for·backwards·compatibility,·see·<a·href="#t:child_spec/0"><code·class="inline">child_spec/0</code></a>,223 ·················</span><span·class="ss">modules</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">modules</span><span·class="p"·data-group-id="9035650623-9">(</span><span·class="p"·data-group-id="9035650623-9">)</span><span·class="p"·data-group-id="9035650623-2">}</span><span·class="w">·········</span><span·class="c1">%·optional</span></code></pre><p>The·old·tuple·format·is·kept·for·backwards·compatibility,·see·<a·href="#t:child_spec/0"><code·class="inline">child_spec/0</code></a>,
224 but·the·map·is·preferred.</p><ul><li><p><code·class="inline">id</code>·is·used·to·identify·the·child·specification·internally·by·the·supervisor.</p><p>The·<code·class="inline">id</code>·key·is·mandatory.</p><p>Notice·that·this·identifier·on·occations·has·been·called·&quot;name&quot;.·As·far·as224 but·the·map·is·preferred.</p><ul><li><p><code·class="inline">id</code>·is·used·to·identify·the·child·specification·internally·by·the·supervisor.</p><p>The·<code·class="inline">id</code>·key·is·mandatory.</p><p>Notice·that·this·identifier·on·occations·has·been·called·&quot;name&quot;.·As·far·as
225 possible,·the·terms·&quot;identifier&quot;·or·&quot;id&quot;·are·now·used·but·to·keep·backward225 possible,·the·terms·&quot;identifier&quot;·or·&quot;id&quot;·are·now·used·but·to·keep·backward
226 compatibility,·some·occurences·of·&quot;name&quot;·can·still·be·found,·for·example·in226 compatibility,·some·occurences·of·&quot;name&quot;·can·still·be·found,·for·example·in
227 error·messages.</p></li><li><p><code·class="inline">start</code>·defines·the·function·call·used·to·start·the·child·process.·It·must·be227 error·messages.</p></li><li><p><code·class="inline">start</code>·defines·the·function·call·used·to·start·the·child·process.·It·must·be
228 a·module-function-arguments·tuple·<code·class="inline">{M,F,A}</code>·used·as228 a·module-function-arguments·tuple·<code·class="inline">{M,F,A}</code>·used·as
229 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,F,A)</code></a>.</p><p>The·start·function·<em>must·create·and·link·to</em>·the·child·process,·and·must229 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,F,A)</code></a>.</p><p>The·start·function·<em>must·create·and·link·to</em>·the·child·process,·and·must
230 return·<code·class="inline">{ok,Child}</code>·or·<code·class="inline">{ok,Child,Info}</code>,·where·<code·class="inline">Child</code>·is·the·pid·of·the230 return·<code·class="inline">{ok,Child}</code>·or·<code·class="inline">{ok,Child,Info}</code>,·where·<code·class="inline">Child</code>·is·the·pid·of·the
Offset 1796, 15 lines modifiedOffset 1796, 15 lines modified
1796 ······<p·class="built-using">1796 ······<p·class="built-using">
1797 ········Built·using1797 ········Built·using
1798 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1798 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1799 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1799 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1800 ······</p>1800 ······</p>
1801 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1801 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1802 ····</footer>1802 ····</footer>
1803 ··</div>1803 ··</div>
1804 </main>1804 </main>
1805 </div>1805 </div>
1806 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1806 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1807 ··<script>1807 ··<script>
1808 ··let·initialized·=·false;1808 ··let·initialized·=·false;
652 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/supervisor_bridge.html
    
Offset 407, 15 lines modifiedOffset 407, 15 lines modified
407 ······<p·class="built-using">407 ······<p·class="built-using">
408 ········Built·using408 ········Built·using
409 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the409 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
410 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>410 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
411 ······</p>411 ······</p>
412 <p>Copyright·©·1996-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.52 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/sys.html
    
Offset 2229, 15 lines modifiedOffset 2229, 15 lines modified
2229 ······<p·class="built-using">2229 ······<p·class="built-using">
2230 ········Built·using2230 ········Built·using
2231 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2231 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2232 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2232 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2233 ······</p>2233 ······</p>
2234 <p>Copyright·©·1996-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
42.2 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/terminal_interface.html
    
Offset 137, 109 lines modifiedOffset 137, 109 lines modified
137 ·····················137 ·····················
138 ·····················138 ·····················
139 ╟───────┼───────┼───────╢139 ╟───────┼───────┼───────╢
140 ·····················140 ·····················
141 ·····················141 ·····················
142 ·····················142 ·····················
143 ╚═══════╧═══════╧═══════╝</code></pre><p>We·will·use·the·alternate·screen·buffer·for·our·game·so·first·we·need·to·set·that·up:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript143 ╚═══════╧═══════╧═══════╝</code></pre><p>We·will·use·the·alternate·screen·buffer·for·our·game·so·first·we·need·to·set·that·up:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript
144 </span><span·class="nf">main</span><span·class="p"·data-group-id="4350204604-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="4350204604-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">144 </span><span·class="nf">main</span><span·class="p"·data-group-id="4891254695-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="4891254695-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
145 ····145 ····
146 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="4350204604-2">(</span><span·class="s">&quot;\e[?1049h&quot;</span><span·class="p"·data-group-id="4350204604-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Enable·alternate·screen·buffer</span><span·class="w">146 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="4891254695-2">(</span><span·class="s">&quot;\e[?1049h&quot;</span><span·class="p"·data-group-id="4891254695-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Enable·alternate·screen·buffer</span><span·class="w">
147 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="4350204604-3">(</span><span·class="s">&quot;\e[?25l&quot;</span><span·class="p"·data-group-id="4350204604-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Hide·the·cursor</span><span·class="w">147 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="4891254695-3">(</span><span·class="s">&quot;\e[?25l&quot;</span><span·class="p"·data-group-id="4891254695-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Hide·the·cursor</span><span·class="w">
148 ····</span><span·class="nf">draw_board</span><span·class="p"·data-group-id="4350204604-4">(</span><span·class="p"·data-group-id="4350204604-4">)</span><span·class="p">,</span><span·class="w">148 ····</span><span·class="nf">draw_board</span><span·class="p"·data-group-id="4891254695-4">(</span><span·class="p"·data-group-id="4891254695-4">)</span><span·class="p">,</span><span·class="w">
149 ····</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">sleep</span><span·class="p"·data-group-id="4350204604-5">(</span><span·class="mi">5000</span><span·class="p"·data-group-id="4350204604-5">)</span><span·class="p">,</span><span·class="w">149 ····</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">sleep</span><span·class="p"·data-group-id="4891254695-5">(</span><span·class="mi">5000</span><span·class="p"·data-group-id="4891254695-5">)</span><span·class="p">,</span><span·class="w">
150 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="4350204604-6">(</span><span·class="s">&quot;\e[?25h&quot;</span><span·class="p"·data-group-id="4350204604-6">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Show·the·cursor</span><span·class="w">150 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="4891254695-6">(</span><span·class="s">&quot;\e[?25h&quot;</span><span·class="p"·data-group-id="4891254695-6">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Show·the·cursor</span><span·class="w">
151 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="4350204604-7">(</span><span·class="s">&quot;\e[?1049l&quot;</span><span·class="p"·data-group-id="4350204604-7">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Disable·alternate·screen·buffer</span><span·class="w">151 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="4891254695-7">(</span><span·class="s">&quot;\e[?1049l&quot;</span><span·class="p"·data-group-id="4891254695-7">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Disable·alternate·screen·buffer</span><span·class="w">
152 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>We·then·use·the·box·drawing·parts·of·Unicode·to·draw·our·board:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">draw_board</span><span·class="p"·data-group-id="2280941196-1">(</span><span·class="p"·data-group-id="2280941196-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">152 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>We·then·use·the·box·drawing·parts·of·Unicode·to·draw·our·board:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">draw_board</span><span·class="p"·data-group-id="3250833751-1">(</span><span·class="p"·data-group-id="3250833751-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
153 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="2280941196-2">(</span><span·class="s">&quot;\e[5;0H&quot;</span><span·class="p"·data-group-id="2280941196-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Move·cursor·to·top·left</span><span·class="w">153 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="3250833751-2">(</span><span·class="s">&quot;\e[5;0H&quot;</span><span·class="p"·data-group-id="3250833751-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Move·cursor·to·top·left</span><span·class="w">
154 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="2280941196-3">(</span><span·class="w">154 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="3250833751-3">(</span><span·class="w">
155 ······</span><span·class="p"·data-group-id="2280941196-4">[</span><span·class="s">&quot;·····╔═══════╤═══════╤═══════╗\r\n&quot;</span><span·class="p">,</span><span·class="w">155 ······</span><span·class="p"·data-group-id="3250833751-4">[</span><span·class="s">&quot;·····╔═══════╤═══════╤═══════╗\r\n&quot;</span><span·class="p">,</span><span·class="w">
156 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">156 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
157 ·······</span><span·class="s">&quot;·······························Place·an·X·by·pressing·Enter\r\n&quot;</span><span·class="p">,</span><span·class="w">157 ·······</span><span·class="s">&quot;·······························Place·an·X·by·pressing·Enter\r\n&quot;</span><span·class="p">,</span><span·class="w">
158 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">158 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
159 ·······</span><span·class="s">&quot;·····╟───────┼───────┼───────╢\r\n&quot;</span><span·class="p">,</span><span·class="w">159 ·······</span><span·class="s">&quot;·····╟───────┼───────┼───────╢\r\n&quot;</span><span·class="p">,</span><span·class="w">
160 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">160 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
161 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">161 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
162 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">162 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
163 ·······</span><span·class="s">&quot;·····╟───────┼───────┼───────╢\r\n&quot;</span><span·class="p">,</span><span·class="w">163 ·······</span><span·class="s">&quot;·····╟───────┼───────┼───────╢\r\n&quot;</span><span·class="p">,</span><span·class="w">
164 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">164 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
165 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">165 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
166 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">166 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
167 ·······</span><span·class="s">&quot;·····╚═══════╧═══════╧═══════╝\r\n&quot;</span><span·class="p"·data-group-id="2280941196-4">]</span><span·class="p"·data-group-id="2280941196-3">)</span><span·class="p">,</span><span·class="w">167 ·······</span><span·class="s">&quot;·····╚═══════╧═══════╧═══════╝\r\n&quot;</span><span·class="p"·data-group-id="3250833751-4">]</span><span·class="p"·data-group-id="3250833751-3">)</span><span·class="p">,</span><span·class="w">
168 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>Let·us·add·some·interactivity·to·our·game!·To·do·that·we·need·to·change·the168 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>Let·us·add·some·interactivity·to·our·game!·To·do·that·we·need·to·change·the
169 shell·from·running·in·<code·class="inline">cooked</code>·to·<code·class="inline">raw</code>·mode.·This·is·done·by·calling169 shell·from·running·in·<code·class="inline">cooked</code>·to·<code·class="inline">raw</code>·mode.·This·is·done·by·calling
170 <a·href="shell.html#start_interactive/1"><code·class="inline">shell:start_interactive({noshell,·raw})</code></a>.170 <a·href="shell.html#start_interactive/1"><code·class="inline">shell:start_interactive({noshell,·raw})</code></a>.
171 We·can·then·use·<a·href="io.html#get_chars/2"><code·class="inline">io:get_chars/2</code></a>·to·read·key·strokes·from·the·user.·The·key171 We·can·then·use·<a·href="io.html#get_chars/2"><code·class="inline">io:get_chars/2</code></a>·to·read·key·strokes·from·the·user.·The·key
172 strokes·will·be·returned·as·<a·href="https://en.wikipedia.org/wiki/ANSI_escape_code">ANSI·escape·codes</a>,·172 strokes·will·be·returned·as·<a·href="https://en.wikipedia.org/wiki/ANSI_escape_code">ANSI·escape·codes</a>,·
173 so·we·will·have·need·to·handle·the·codes·for·up,·down,·left,·right·and·enter.</p><p>It·could·look·something·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">main</span><span·class="p"·data-group-id="6904108199-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="6904108199-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">173 so·we·will·have·need·to·handle·the·codes·for·up,·down,·left,·right·and·enter.</p><p>It·could·look·something·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">main</span><span·class="p"·data-group-id="2937759015-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="2937759015-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">shell</span><span·class="p">:</span><span·class="nf">start_interactive</span><span·class="p"·data-group-id="6904108199-2">(</span><span·class="p"·data-group-id="6904108199-3">{</span><span·class="ss">noshell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">raw</span><span·class="p"·data-group-id="6904108199-3">}</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·af6443806eb003357bb94be866fea7092e3ac3a2f23af90eda382e6005fb74c5·...·]-2">)</span><span·class="p">,</span><span·class="w">174 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">shell</span><span·class="p">:</span><span·class="nf">start_interactive</span><span·class="p"·data-group-id="2937759015-2">(</span><span·class="p"·data-group-id="2937759015-3">{</span><span·class="ss">noshell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">raw</span><span·class="p"·data-group-id="2937759015-3">}</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·197f26f09ea6d9c13945fd07f196e7ca3fabf7408c8cf8d5d4cd1727753ff498·...·]-2">)</span><span·class="p">,</span><span·class="w">
175 ····175 ····
176 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="6904108199-4">(</span><span·class="s">&quot;\e[?1049h&quot;</span><span·class="p"·data-group-id="6904108199-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Enable·alternate·screen·buffer</span><span·class="w">176 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="2937759015-4">(</span><span·class="s">&quot;\e[?1049h&quot;</span><span·class="p"·data-group-id="2937759015-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Enable·alternate·screen·buffer</span><span·class="w">
177 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="6904108199-5">(</span><span·class="s">&quot;\e[?25l&quot;</span><span·class="p"·data-group-id="6904108199-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Hide·the·cursor</span><span·class="w">177 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="2937759015-5">(</span><span·class="s">&quot;\e[?25l&quot;</span><span·class="p"·data-group-id="2937759015-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Hide·the·cursor</span><span·class="w">
178 ····</span><span·class="nf">draw_board</span><span·class="p"·data-group-id="6904108199-6">(</span><span·class="p"·data-group-id="6904108199-6">)</span><span·class="p">,</span><span·class="w">178 ····</span><span·class="nf">draw_board</span><span·class="p"·data-group-id="2937759015-6">(</span><span·class="p"·data-group-id="2937759015-6">)</span><span·class="p">,</span><span·class="w">
179 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="6904108199-7">(</span><span·class="mi">0</span><span·class="p"·data-group-id="6904108199-7">)</span><span·class="p">,</span><span·class="w">179 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="2937759015-7">(</span><span·class="mi">0</span><span·class="p"·data-group-id="2937759015-7">)</span><span·class="p">,</span><span·class="w">
180 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="6904108199-8">(</span><span·class="s">&quot;\e[?25h&quot;</span><span·class="p"·data-group-id="6904108199-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Show·the·cursor</span><span·class="w">180 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="2937759015-8">(</span><span·class="s">&quot;\e[?25h&quot;</span><span·class="p"·data-group-id="2937759015-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Show·the·cursor</span><span·class="w">
181 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="6904108199-9">(</span><span·class="s">&quot;\e[?1049l&quot;</span><span·class="p"·data-group-id="6904108199-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Disable·alternate·screen·buffer</span><span·class="w">181 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="2937759015-9">(</span><span·class="s">&quot;\e[?1049l&quot;</span><span·class="p"·data-group-id="2937759015-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Disable·alternate·screen·buffer</span><span·class="w">
182 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">182 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
183 </span><span·class="nf">loop</span><span·class="p"·data-group-id="6904108199-10">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="6904108199-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">183 </span><span·class="nf">loop</span><span·class="p"·data-group-id="2937759015-10">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="2937759015-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
184 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="6904108199-11">(</span><span·class="nf">draw_selection</span><span·class="p"·data-group-id="6904108199-12">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="6904108199-12">)</span><span·class="p"·data-group-id="6904108199-11">)</span><span·class="p">,</span><span·class="w">184 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="2937759015-11">(</span><span·class="nf">draw_selection</span><span·class="p"·data-group-id="2937759015-12">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="2937759015-12">)</span><span·class="p"·data-group-id="2937759015-11">)</span><span·class="p">,</span><span·class="w">
185 ····</span><span·class="c1">%%·Read·at·most·1024·characters·from·stdin.</span><span·class="w">185 ····</span><span·class="c1">%%·Read·at·most·1024·characters·from·stdin.</span><span·class="w">
186 ····</span><span·class="p"·data-group-id="6904108199-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chars</span><span·class="p"·data-group-id="6904108199-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·284,·SHA:·d017e93a30d717f1bfcaa35f733b73bdfda8eaebf3f4313055e310ee16ade3d2·...·]-14">)</span><span·class="p">,</span><span·class="w">186 ····</span><span·class="p"·data-group-id="2937759015-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chars</span><span·class="p"·data-group-id="2937759015-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·284,·SHA:·83cb16d640e8168905f190aade89b45d42d5e080e1bc6a1704851f8cf33effc8·...·]-14">)</span><span·class="p">,</span><span·class="w">
187 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-15">(</span><span·class="n">Chars</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data-group-id="6904108199-15">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">187 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-15">(</span><span·class="n">Chars</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data-group-id="2937759015-15">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
188 ········</span><span·class="ss">stop</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">;</span><span·class="w">188 ········</span><span·class="ss">stop</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">;</span><span·class="w">
189 ········</span><span·class="n">NewPos</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">189 ········</span><span·class="n">NewPos</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
190 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="6904108199-16">(</span><span·class="nf">clear_selection</span><span·class="p"·data-group-id="6904108199-17">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="6904108199-17">)</span><span·class="p"·data-group-id="6904108199-16">)</span><span·class="p">,</span><span·class="w">190 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="2937759015-16">(</span><span·class="nf">clear_selection</span><span·class="p"·data-group-id="2937759015-17">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="2937759015-17">)</span><span·class="p"·data-group-id="2937759015-16">)</span><span·class="p">,</span><span·class="w">
191 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="6904108199-18">(</span><span·class="n">NewPos</span><span·class="p"·data-group-id="6904108199-18">)</span><span·class="w">191 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="2937759015-18">(</span><span·class="n">NewPos</span><span·class="p"·data-group-id="2937759015-18">)</span><span·class="w">
192 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">192 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
193 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-19">(</span><span·class="s">&quot;\e[A&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·418148d1dc647cf99e2cf6c39281d51de1b6ce026456430dbdf329550319de8d·...·]-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-19">(</span><span·class="s">&quot;\e[A&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·3a2b9dc26576f4dc5efc9572dd580dcdf90fed86d708b51481e62d89237d85ec·...·]-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
194 ····</span><span·class="c1">%%·Up·key</span><span·class="w">194 ····</span><span·class="c1">%%·Up·key</span><span·class="w">
195 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-20">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">max</span><span·class="p"·data-group-id="6904108199-21">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·214,·SHA:·104e8390799dfb5bc89b651ed2201d824722e1f223f534c226974fc1f032469d·...·]-20">)</span><span·class="p">;</span><span·class="w">195 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-20">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">max</span><span·class="p"·data-group-id="2937759015-21">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·214,·SHA:·8c9232dd4bc102a8080db54af5ff231d548084cb07dd15d55c052707b7b7af23·...·]-20">)</span><span·class="p">;</span><span·class="w">
196 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-22">(</span><span·class="s">&quot;\e[B&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·418148d1dc647cf99e2cf6c39281d51de1b6ce026456430dbdf329550319de8d·...·]-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">196 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-22">(</span><span·class="s">&quot;\e[B&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·3a2b9dc26576f4dc5efc9572dd580dcdf90fed86d708b51481e62d89237d85ec·...·]-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
197 ····</span><span·class="c1">%%·Down·key</span><span·class="w">197 ····</span><span·class="c1">%%·Down·key</span><span·class="w">
198 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-23">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">min</span><span·class="p"·data-group-id="6904108199-24">(</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·214,·SHA:·6eb8707606bd5f5e2d0a3a88ea1de56de0818cadf7da8ffc61c287bbc06616e5·...·]-23">)</span><span·class="p">;</span><span·class="w">198 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-23">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">min</span><span·class="p"·data-group-id="2937759015-24">(</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·214,·SHA:·2bcffcaf24e505c6cac2cef4a17c85a5a2fcbf01d848af9ccbe3f7f5fb2ae5df·...·]-23">)</span><span·class="p">;</span><span·class="w">
199 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-25">(</span><span·class="s">&quot;\e[C&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·418148d1dc647cf99e2cf6c39281d51de1b6ce026456430dbdf329550319de8d·...·]-25">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">199 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-25">(</span><span·class="s">&quot;\e[C&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·3a2b9dc26576f4dc5efc9572dd580dcdf90fed86d708b51481e62d89237d85ec·...·]-25">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
200 ····</span><span·class="c1">%%·right·key</span><span·class="w">200 ····</span><span·class="c1">%%·right·key</span><span·class="w">
201 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-26">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">min</span><span·class="p"·data-group-id="6904108199-27">(</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·214,·SHA:·9e1a79dade36ffd249e0c80d156c14a1401faecc6723d3a55f332f7a8185e744·...·]-26">)</span><span·class="p">;</span><span·class="w">201 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-26">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">min</span><span·class="p"·data-group-id="2937759015-27">(</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·214,·SHA:·185f9eaeaa666636e1133cc35e26dd225e4494e279485eddbb2741baf1e5d597·...·]-26">)</span><span·class="p">;</span><span·class="w">
202 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-28">(</span><span·class="s">&quot;\e[D&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·418148d1dc647cf99e2cf6c39281d51de1b6ce026456430dbdf329550319de8d·...·]-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-28">(</span><span·class="s">&quot;\e[D&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·3a2b9dc26576f4dc5efc9572dd580dcdf90fed86d708b51481e62d89237d85ec·...·]-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ····</span><span·class="c1">%%·left·key</span><span·class="w">203 ····</span><span·class="c1">%%·left·key</span><span·class="w">
204 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-29">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">max</span><span·class="p"·data-group-id="6904108199-30">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·214,·SHA:·a5749afdcc2e6ecf2262cd0c9dfb6d4f7dd2b6a74085c1929ae21ff226415d19·...·]-29">)</span><span·class="p">;</span><span·class="w">204 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-29">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">max</span><span·class="p"·data-group-id="2937759015-30">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·214,·SHA:·a36738d0e514b2facb1ff41f7f723f310b0e533e86e12a761306cf9f9c7cf346·...·]-29">)</span><span·class="p">;</span><span·class="w">
205 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-31">(</span><span·class="s">&quot;q&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">State</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·e29a4def5bb237111bcb9368d7b756b7cb99faa45473856204cd55bca6d7a7f7·...·]-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-31">(</span><span·class="s">&quot;q&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">State</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·23341d27be99227e0f17595dd4d85cae336c62ca8bed18942348c7777a9d51e8·...·]-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ····</span><span·class="ss">stop</span><span·class="p">;</span><span·class="w">206 ····</span><span·class="ss">stop</span><span·class="p">;</span><span·class="w">
207 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-32">(</span><span·class="p"·data-group-id="6904108199-33">[</span><span·class="p">_</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">T</span><span·class="p"·data-group-id="6904108199-33">]</span><span[·...·truncated·by·diffoscope;·len:·112,·SHA:·15594b2e2c6caea3cbc703d74779ec2a7aabbfc7f74afaac19dc7468de6082fd·...·]-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">207 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-32">(</span><span·class="p"·data-group-id="2937759015-33">[</span><span·class="p">_</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">T</span><span·class="p"·data-group-id="2937759015-33">]</span><span[·...·truncated·by·diffoscope;·len:·112,·SHA:·e2db4668d0c82ad4ffffcc0c342bef605dc28d69e0a832365dd22eb4fd14562d·...·]-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
208 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-34">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="6904108199-34">)</span><span·class="p">;</span><span·class="w">208 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-34">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="2937759015-34">)</span><span·class="p">;</span><span·class="w">
209 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="6904108199-35">(</span><span·class="p"·data-group-id="6904108199-36">[</span><span·class="p"·data-group-id="6904108199-36">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="6904108199-35">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">209 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="2937759015-35">(</span><span·class="p"·data-group-id="2937759015-36">[</span><span·class="p"·data-group-id="2937759015-36">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="2937759015-35">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
210 ····</span><span·class="n">State</span><span·class="p">.</span></code></pre><p>Note·that·when·using·<a·href="io.html#get_chars/2"><code·class="inline">io:get_chars/2</code></a>·with·the·shell·set·in·<code·class="inline">{noshell,·raw}</code>·mode210 ····</span><span·class="n">State</span><span·class="p">.</span></code></pre><p>Note·that·when·using·<a·href="io.html#get_chars/2"><code·class="inline">io:get_chars/2</code></a>·with·the·shell·set·in·<code·class="inline">{noshell,·raw}</code>·mode
211 it·will·return·as·soon·as·any·data·is·available.·The·number·of·characters211 it·will·return·as·soon·as·any·data·is·available.·The·number·of·characters
212 is·the·maximum·number·that·will·be·returned.·We·use·1024·here·to·make·sure·that212 is·the·maximum·number·that·will·be·returned.·We·use·1024·here·to·make·sure·that
213 we·always·get·all·the·data·in·one·read.</p><p>We·also·need·to·draw·the·selection·marker,·we·do·this·using·some·simple·drawing213 we·always·get·all·the·data·in·one·read.</p><p>We·also·need·to·draw·the·selection·marker,·we·do·this·using·some·simple·drawing
214 routines.</p><pre·id="monospace-font"><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Clear/draw·the·selection·markers,·making·sure</span><span·class="w">214 routines.</p><pre·id="monospace-font"><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Clear/draw·the·selection·markers,·making·sure</span><span·class="w">
215 </span><span·class="c1">%%·not·to·overwrite·if·a·X·or·O·exists.</span><span·class="w">215 </span><span·class="c1">%%·not·to·overwrite·if·a·X·or·O·exists.</span><span·class="w">
216 </span><span·class="c1">%%···\b·=·Move·cursor·left</span><span·class="w">216 </span><span·class="c1">%%···\b·=·Move·cursor·left</span><span·class="w">
217 </span><span·class="c1">%%···\e[C·=·Move·cursor·right</span><span·class="w">217 </span><span·class="c1">%%···\e[C·=·Move·cursor·right</span><span·class="w">
218 </span><span·class="c1">%%···\n·=·Move·cursor·down</span><span·class="w">218 </span><span·class="c1">%%···\n·=·Move·cursor·down</span><span·class="w">
219 </span><span·class="nf">clear_selection</span><span·class="p"·data-group-id="4844738217-1">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="4844738217-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 </span><span·class="nf">clear_selection</span><span·class="p"·data-group-id="8403429654-1">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="8403429654-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
220 ····</span><span·class="p"·data-group-id="4844738217-2">[</span><span·class="nf">set_position</span><span·class="p"·data-group-id="4844738217-3">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="4844738217-3">)</span><span·class="p">,</span><span·class="w">220 ····</span><span·class="p"·data-group-id="8403429654-2">[</span><span·class="nf">set_position</span><span·class="p"·data-group-id="8403429654-3">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="8403429654-3">)</span><span·class="p">,</span><span·class="w">
221 ·····</span><span·class="s">&quot;·······&quot;</span><span·class="p">,</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="w">221 ·····</span><span·class="s">&quot;·······&quot;</span><span·class="p">,</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="w">
222 ·····</span><span·class="s">&quot;·\e[C\e[C\e[C\e[C\e[C·&quot;</span><span·class="p">,</span><span·class="w">222 ·····</span><span·class="s">&quot;·\e[C\e[C\e[C\e[C\e[C·&quot;</span><span·class="p">,</span><span·class="w">
223 ·····</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="s">&quot;·······&quot;</span><span·class="p"·data-group-id="4844738217-2">]</span><span·class="p">.</span><span·class="w">223 ·····</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="s">&quot;·······&quot;</span><span·class="p"·data-group-id="8403429654-2">]</span><span·class="p">.</span><span·class="w">
  
224 </span><span·class="nf">draw_selection</span><span·class="p"·data-group-id="4844738217-4">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="4844738217-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 </span><span·class="nf">draw_selection</span><span·class="p"·data-group-id="8403429654-4">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="8403429654-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 ····</span><span·class="p"·data-group-id="4844738217-5">[</span><span·class="nf">set_position</span><span·class="p"·data-group-id="4844738217-6">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="4844738217-6">)</span><span·class="p">,</span><span·class="w">225 ····</span><span·class="p"·data-group-id="8403429654-5">[</span><span·class="nf">set_position</span><span·class="p"·data-group-id="8403429654-6">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="8403429654-6">)</span><span·class="p">,</span><span·class="w">
226 ·····</span><span·class="s">&quot;┌─────┐&quot;</span><span·class="p">,</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="w">226 ·····</span><span·class="s">&quot;┌─────┐&quot;</span><span·class="p">,</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="w">
227 ·····</span><span·class="s">&quot;│\e[C\e[C\e[C\e[C\e[C│&quot;</span><span·class="p">,</span><span·class="w">227 ·····</span><span·class="s">&quot;│\e[C\e[C\e[C\e[C\e[C│&quot;</span><span·class="p">,</span><span·class="w">
228 ·····</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="s">&quot;└─────┘&quot;</span><span·class="p"·data-group-id="4844738217-5">]</span><span·class="p">.</span><span·class="w">228 ·····</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="s">&quot;└─────┘&quot;</span><span·class="p"·data-group-id="8403429654-5">]</span><span·class="p">.</span><span·class="w">
  
229 </span><span·class="c1">%%·Set·the·cursor·position·to·be·at·the·top</span><span·class="w">229 </span><span·class="c1">%%·Set·the·cursor·position·to·be·at·the·top</span><span·class="w">
230 </span><span·class="c1">%%·left·of·the·field·of·the·given·position</span><span·class="w">230 </span><span·class="c1">%%·left·of·the·field·of·the·given·position</span><span·class="w">
231 </span><span·class="nf">set_position</span><span·class="p"·data-group-id="4844738217-7">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="4844738217-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 </span><span·class="nf">set_position</span><span·class="p"·data-group-id="8403429654-7">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="8403429654-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="n">Row</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">6</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="p"·data-group-id="4844738217-8">(</span><span·class="n">Pos</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="4844738217-8">)</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">232 ····</span><span·class="n">Row</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">6</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="p"·data-group-id="8403429654-8">(</span><span·class="n">Pos</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="8403429654-8">)</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">
233 ····</span><span·class="n">Col</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">7</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="p"·data-group-id="4844738217-9">(</span><span·class="n">Pos</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="4844738217-9">)</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">233 ····</span><span·class="n">Col</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">7</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="p"·data-group-id="8403429654-9">(</span><span·class="n">Pos</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="8403429654-9">)</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">
234 ····</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4844738217-10">(</span><span·class="s">&quot;\e[</span><span·class="si">~p</span><span·class="s">;</span><span·class="si">~p</span><span·class="s">H&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="4844738217-11">[</span><span·class="n">R[·...·truncated·by·diffoscope;·len:·178,·SHA:·eed2efdcd0db939ef154356ca32ad4fc81ca1c39bd5767a3bba1b4430bb43c23·...·]-10">)</span><span·class="p">.</span></code></pre><p>Now·we·have·a·program·where·we·can·move·the·marker·around·the·board.234 ····</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8403429654-10">(</span><span·class="s">&quot;\e[</span><span·class="si">~p</span><span·class="s">;</span><span·class="si">~p</span><span·class="s">H&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8403429654-11">[</span><span·class="n">R[·...·truncated·by·diffoscope;·len:·178,·SHA:·43e3b48a11017cade7603c3160b18939cbd7a89f5800663daeac7ed821e6326e·...·]-10">)</span><span·class="p">.</span></code></pre><p>Now·we·have·a·program·where·we·can·move·the·marker·around·the·board.
235 To·complete·the·game·we·need·to·add·some·state·so·that·we·know·which235 To·complete·the·game·we·need·to·add·some·state·so·that·we·know·which
236 squares·are·marked·and·whos·turn·it·is.·You·can·find·the·final·solution236 squares·are·marked·and·whos·turn·it·is.·You·can·find·the·final·solution
237 in·<a·href="assets/tic-tac-toe.es">tic-tac-toe.es</a>.</p>237 in·<a·href="assets/tic-tac-toe.es">tic-tac-toe.es</a>.</p>
238 </div>238 </div>
  
239 <div·class="bottom-actions"·id="bottom-actions">239 <div·class="bottom-actions"·id="bottom-actions">
240 ··<div·class="bottom-actions-item">240 ··<div·class="bottom-actions-item">
Offset 285, 15 lines modifiedOffset 285, 15 lines modified
285 ······<p·class="built-using">285 ······<p·class="built-using">
286 ········Built·using286 ········Built·using
287 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the287 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
288 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>288 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
289 ······</p>289 ······</p>
290 <p>Copyright·©·1996-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;
853 B
html2text {}
Max HTML report size reached
20.8 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/timer.html
    
Offset 142, 23 lines modifiedOffset 142, 23 lines modified
142 <a·href="../../../../erts-16.0/doc/html/time_correction.html"><em>Time·and·Time·Correction·in·Erlang</em></a>142 <a·href="../../../../erts-16.0/doc/html/time_correction.html"><em>Time·and·Time·Correction·in·Erlang</em></a>
143 ERTS·User's·guide.</p><h2·id="module-examples"·class="section-heading">143 ERTS·User's·guide.</p><h2·id="module-examples"·class="section-heading">
144 ··<a·href="#module-examples"·class="hover-link">144 ··<a·href="#module-examples"·class="hover-link">
145 ····<i·class="ri-link-m"·aria-hidden="true"></i>145 ····<i·class="ri-link-m"·aria-hidden="true"></i>
146 ··</a>146 ··</a>
147 ··<span·class="text">Examples</span>147 ··<span·class="text">Examples</span>
148 </h2>148 </h2>
149 <p><em>Example·1</em></p><p>The·following·example·shows·how·to·print·&quot;Hello·World!&quot;·in·5·seconds:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">apply_after</span><span·class="p"·data-group-id="9712290687-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:·852ca7e03d4a629fe64e5511db578464189423def9762cb5fa8482d87b0bf1ed·...·]-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="8295008334-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:·bc4a9748509e470b9735783c0d4cde379d5fbf6ffa67e2cd4c8d8676c31caa87·...·]-1">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="p"·data-group-id="9712290687-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="9712290687-4">}</span><span·class="w">150 </span><span·class="p"·data-group-id="8295008334-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="8295008334-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="1402970182-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="1402970182-2">[</span><span·class="ss">foo</span><span[·...·truncated·by·diffoscope;·len:·164,·SHA:·9e52d958599266fc67e3ad3dbc5826f3bf8dad86c5a6f597868e61061123dce9·...·]-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="9279962834-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="9279962834-2">[</span><span·class="ss">foo</span><span[·...·truncated·by·diffoscope;·len:·164,·SHA:·ea554fc8ee4aaa5145262bc8e959415c4c9b9c19d3d719cc7436fc4cb51ffd66·...·]-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="1402970182-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="1402970182-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·460,·SHA:·1de05ee156d0144f5202497b076260c91bf4f91d2a2ef6e38a17df7017adfbfb·...·]-4">)</span><span·class="p">,</span><span·class="w">154 </span><span·class="p"·data-group-id="9279962834-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="9279962834-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·460,·SHA:·7f2c3a95d359aab1653e7deb56a69d140b88afa57563880e0c8d44c3c1379425·...·]-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="1402970182-6">(</span><span·class="n">R</span><span·class="p"·data-group-id="1402970182-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="9279962834-6">(</span><span·class="n">R</span><span·class="p"·data-group-id="9279962834-6">)</span><span·class="p">,</span><span·class="w">
158 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><h2·id="module-notes"·class="section-heading">158 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><h2·id="module-notes"·class="section-heading">
159 ··<a·href="#module-notes"·class="hover-link">159 ··<a·href="#module-notes"·class="hover-link">
160 ····<i·class="ri-link-m"·aria-hidden="true"></i>160 ····<i·class="ri-link-m"·aria-hidden="true"></i>
161 ··</a>161 ··</a>
162 ··<span·class="text">Notes</span>162 ··<span·class="text">Notes</span>
163 </h2>163 </h2>
164 <p>A·timer·can·always·be·removed·by·calling·<a·href="#cancel/1"><code·class="inline">cancel/1</code></a>.</p><p>An·interval·timer,·that·is,·a·timer·created·by·evaluating·any·of·the·functions164 <p>A·timer·can·always·be·removed·by·calling·<a·href="#cancel/1"><code·class="inline">cancel/1</code></a>.</p><p>An·interval·timer,·that·is,·a·timer·created·by·evaluating·any·of·the·functions
Offset 177, 28 lines modifiedOffset 177, 28 lines modified
177 process,·and·therefore·calls·to·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·in·those·functions·will·return·the·Pid177 process,·and·therefore·calls·to·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·in·those·functions·will·return·the·Pid
178 of·this·process,·which·is·different·from·the·process·that·called178 of·this·process,·which·is·different·from·the·process·that·called
179 <code·class="inline">timer:apply_*</code>.</p><p><em>Example</em></p><p>In·the·following·example,·the·intention·is·to·set·a·timer·to·execute·a·function179 <code·class="inline">timer:apply_*</code>.</p><p><em>Example</em></p><p>In·the·following·example,·the·intention·is·to·set·a·timer·to·execute·a·function
180 after·1·second,·which·performs·a·fictional·task,·and·then·wants·to·inform·the180 after·1·second,·which·performs·a·fictional·task,·and·then·wants·to·inform·the
181 process·which·set·the·timer·about·its·completion,·by·sending·it·a·<code·class="inline">done</code>181 process·which·set·the·timer·about·its·completion,·by·sending·it·a·<code·class="inline">done</code>
182 message.</p><p>Using·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·<em>inside</em>·the·timed·function,·the·code·below·does·not·work·as182 message.</p><p>Using·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·<em>inside</em>·the·timed·function,·the·code·below·does·not·work·as
183 intended.·The·task·gets·done,·but·the·<code·class="inline">done</code>·message·gets·sent·to·the·wrong183 intended.·The·task·gets·done,·but·the·<code·class="inline">done</code>·message·gets·sent·to·the·wrong
184 process·and·is·lost.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">apply_after</span><span·class="p"·data-group-id="1403141712-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="1403141712-2">(</span><span·class="p"·data-group-id="1403141712-2">)</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·566,·SHA:·837a9ccff90e34f979f0907208807c46c594de4e06c075887f891d7f15c6e540·...·]-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="7005489386-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="7005489386-2">(</span><span·class="p"·data-group-id="7005489386-2">)</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·566,·SHA:·58b40ae678c152663401a003fac608a42f8009499deec7e5305c5d318bd6938b·...·]-1">)</span><span·class="p">.</span><span·class="w">
185 </span><span·class="p"·data-group-id="1403141712-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="1403141712-5">}</span><span·class="gp·unselectable">185 </span><span·class="p"·data-group-id="7005489386-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="7005489386-5">}</span><span·class="gp·unselectable">
186 2&gt;·</span><span·class="k">receive</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">186 2&gt;·</span><span·class="k">receive</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
187 </span><span·class="c1">%%·...·5s·pass...</span><span·class="w">187 </span><span·class="c1">%%·...·5s·pass...</span><span·class="w">
188 </span><span·class="ss">timeout</span></code></pre><p>The·code·below·calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·in·the·process·which·sets·the·timer·and·assigns·it188 </span><span·class="ss">timeout</span></code></pre><p>The·code·below·calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·in·the·process·which·sets·the·timer·and·assigns·it
189 to·a·variable,·which·is·then·used·in·the·function·to·send·the·<code·class="inline">done</code>·message·to,189 to·a·variable,·which·is·then·used·in·the·function·to·send·the·<code·class="inline">done</code>·message·to,
190 and·so·works·as·intended.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Target</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="5302335560-1">(</span><span·class="p"·data-group-id="5302335560-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="9924330556-1">(</span><span·class="p"·data-group-id="9924330556-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="5302335560-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="5302335560-3">(</span><span·class="p"·data-group-id="5302335560-3">)</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·461,·SHA:·03c02d9ba209cca223e6dfbe2f74827e68173704ec02cdf8dc6fd0d98a01c2b2·...·]-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="9924330556-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="9924330556-3">(</span><span·class="p"·data-group-id="9924330556-3">)</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·461,·SHA:·24ccc16d68f6ab152518c238182332cec4a55c10e75cd3ec889897a75f5f02fd·...·]-2">)</span><span·class="p">.</span><span·class="w">
193 </span><span·class="p"·data-group-id="5302335560-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="5302335560-5">}</span><span·class="gp·unselectable">193 </span><span·class="p"·data-group-id="9924330556-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="9924330556-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="2835603272-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="2835603272-2">(</span><span·class="n">Target</span><span·class="p"·data-group-id="2835603272-2">)</sp[·...·truncated·by·diffoscope;·len:·777,·SHA:·31ffe7ecbe43e8798d1d36695e7c02bc311962f34afb03497475299ae9063f71·...·]-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="2095556214-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="2095556214-2">(</span><span·class="n">Target</span><span·class="p"·data-group-id="2095556214-2">)</sp[·...·truncated·by·diffoscope;·len:·777,·SHA:·c8d9101bdbc99119148cc6f82b21673f077ce8d8eee446f270640b200fef9378·...·]-1">)</span><span·class="p">.</span><span·class="w">
197 </span><span·class="p"·data-group-id="2835603272-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="2835603272-6">}</span><span·class="gp·unselectable">197 </span><span·class="p"·data-group-id="2095556214-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="2095556214-6">}</span><span·class="gp·unselectable">
198 2&gt;·</span><span·class="k">receive</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">198 2&gt;·</span><span·class="k">receive</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
199 </span><span·class="c1">%%·...·1s·passes...</span><span·class="w">199 </span><span·class="c1">%%·...·1s·passes...</span><span·class="w">
200 </span><span·class="ss">done</span></code></pre>200 </span><span·class="ss">done</span></code></pre>
201 ····</section>201 ····</section>
  
202 </div>202 </div>
  
Offset 1575, 15 lines modifiedOffset 1575, 15 lines modified
1575 ······<p·class="built-using">1575 ······<p·class="built-using">
1576 ········Built·using1576 ········Built·using
1577 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1577 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1578 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1578 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1579 ······</p>1579 ······</p>
1580 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1580 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1581 ····</footer>1581 ····</footer>
1582 ··</div>1582 ··</div>
1583 </main>1583 </main>
1584 </div>1584 </div>
1585 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1585 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1586 ··<script>1586 ··<script>
1587 ··let·initialized·=·false;1587 ··let·initialized·=·false;
779 B
html2text {}
Max HTML report size reached
38.1 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/unicode.html
    
Offset 1031, 21 lines modifiedOffset 1031, 21 lines modified
1031 binaries·in·other·ways·are·split·on·non-UTF·character·boundaries.·An1031 binaries·in·other·ways·are·split·on·non-UTF·character·boundaries.·An
1032 <code·class="inline">incomplete</code>·tuple·is·then·returned·instead·of·the·<code·class="inline">error</code>·tuple.·It·consists·of1032 <code·class="inline">incomplete</code>·tuple·is·then·returned·instead·of·the·<code·class="inline">error</code>·tuple.·It·consists·of
1033 the·same·parts·as·the·<code·class="inline">error</code>·tuple,·but·the·tag·is·<code·class="inline">incomplete</code>·instead·of1033 the·same·parts·as·the·<code·class="inline">error</code>·tuple,·but·the·tag·is·<code·class="inline">incomplete</code>·instead·of
1034 <code·class="inline">error</code>·and·the·last·element·is·always·guaranteed·to·be·a·binary·consisting·of1034 <code·class="inline">error</code>·and·the·last·element·is·always·guaranteed·to·be·a·binary·consisting·of
1035 the·first·part·of·a·(so·far)·valid·UTF·character.</p><p>If·one·UTF·character·is·split·over·two·consecutive·binaries·in·the·<code·class="inline">Data</code>,·the1035 the·first·part·of·a·(so·far)·valid·UTF·character.</p><p>If·one·UTF·character·is·split·over·two·consecutive·binaries·in·the·<code·class="inline">Data</code>,·the
1036 conversion·succeeds.·This·means·that·a·character·can·be·decoded·from·a·range·of1036 conversion·succeeds.·This·means·that·a·character·can·be·decoded·from·a·range·of
1037 binaries·as·long·as·the·whole·range·is·specified·as·input·without·errors1037 binaries·as·long·as·the·whole·range·is·specified·as·input·without·errors
1038 occurring.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">decode_data</span><span·class="p"·data-group-id="3051296092-1">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3051296092-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="2359421435-1">(</span><span·class="n">Data</span><span·class="p"·data-group-id="2359421435-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="3051296092-2">(</span><span·class="n">Data</span><span·class="p">,</span><span·class="ss">unicode</span><span·class="p"·data-group-id="3051296092-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="2359421435-2">(</span><span·class="n">Data</span><span·class="p">,</span><span·class="ss">unicode</span><span·class="p"·data-group-id="2359421435-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1040 ······</span><span·class="p"·data-group-id="3051296092-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="3051296092-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1040 ······</span><span·class="p"·data-group-id="2359421435-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="2359421435-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="3051296092-4">(</span><span·class="p"·data-group-id="3051296092-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="2359421435-4">(</span><span·class="p"·data-group-id="2359421435-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="3051296092-5">(</span><span·class="p"·data-group-id="3051296092-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="3051296092-6">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·7da6c9b661c590987e2951a061313d3f532d34ea4a1e1a76b10a68c25467c038·...·]-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="2359421435-5">(</span><span·class="p"·data-group-id="2359421435-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="2359421435-6">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·4322a437f21729727e7e2a98647300af1b039cb14a624dc7ade8176f0efc6c95·...·]-5">)</span><span·class="p">;</span><span·class="w">
1043 ······</span><span·class="p"·data-group-id="3051296092-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="3051296092-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1043 ······</span><span·class="p"·data-group-id="2359421435-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="2359421435-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="3051296092-8">(</span><span·class="n">Encoded</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="3051296092-8">)</span><span·class="p">;</span><span·class="w">1044 ············</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="2359421435-8">(</span><span·class="n">Encoded</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="2359421435-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="3294059990-1">(</span><span·class="p"·data-group-id="3294059990-2">[</span><span·class="p"·data-group-id="3294059990-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="3294059990-3">&gt;&gt;</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·643,·SHA:·04c7dd8a2f06b6bfe1f2345481cfeb5de4c48ef756d9340432218e0df92211c5·...·]-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="3227750597-1">(</span><span·class="p"·data-group-id="3227750597-2">[</span><span·class="p"·data-group-id="3227750597-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="3227750597-3">&gt;&gt;</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·643,·SHA:·465479fc6efd2eb4913de1db5a8c0e62667e328fcf867473a43ba0b3f1527961·...·]-1">)</span><span·class="p">.</span><span·class="w">
1075 </span><span·class="p"·data-group-id="3294059990-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="3294059990-7">&gt;&gt;</span></code></pre>1075 </span><span·class="p"·data-group-id="3227750597-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="3227750597-7">&gt;&gt;</span></code></pre>
1076 ··</section>1076 ··</section>
1077 </section>1077 </section>
1078 <section·class="detail"·id="characters_to_nfc_list/1">1078 <section·class="detail"·id="characters_to_nfc_list/1">
  
1079 ··<div·class="detail-header">1079 ··<div·class="detail-header">
1080 ····<a·href="#characters_to_nfc_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1080 ····<a·href="#characters_to_nfc_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1081 ······<i·class="ri-link-m"·aria-hidden="true"></i>1081 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1100, 15 lines modifiedOffset 1100, 15 lines modified
1100 ······<div·class="specs">1100 ······<div·class="specs">
  
1101 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfc_list(<a·href="#t:chardata/0">chardata</a>())·->·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()],·<a·href="#t:chardata/0">chardata</a>()}.</pre>1101 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfc_list(<a·href="#t:chardata/0">chardata</a>())·->·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()],·<a·href="#t:chardata/0">chardata</a>()}.</pre>
  
1102 ······</div>1102 ······</div>
  
1103 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form1103 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form
1104 of·canonical·equivalent·Composed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·a·list·of·characters.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfc_list</span><span·class="p"·data-group-id="0658250605-1">(</span><span·class="p"·data-group-id="0658250605-2">[</span><span·class="p"·data-group-id="0658250605-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="0658250605-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·645,·SHA:·ace647d345e3c1f665f5de607c769655620758f1e1a7dded19503289ea7a2469·...·]-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="1200697053-1">(</span><span·class="p"·data-group-id="1200697053-2">[</span><span·class="p"·data-group-id="1200697053-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="1200697053-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·645,·SHA:·8b17152f15139023f039b6bd8d8dec165d3ce47d4120bfd2406088ad4d4b4f57·...·]-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="7953193696-1">(</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="p"·data-group-id="7953193696-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="6425757815-1">(</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="p"·data-group-id="6425757815-1">)</span><span·class="p">.</span><span·class="w">
1135 </span><span·class="p"·data-group-id="7953193696-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:·d546c6297ab659e167dc6fc10f7be19a51fd629f3fb55ac3675a7193da458056·...·]-2">&gt;&gt;</span></code></pre>1135 </span><span·class="p"·data-group-id="6425757815-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:·493d9212d900153aa68b90f57e33a85fa775ac00acb9f3d90d28c967e96ce691·...·]-2">&gt;&gt;</span></code></pre>
1136 ··</section>1136 ··</section>
1137 </section>1137 </section>
1138 <section·class="detail"·id="characters_to_nfd_list/1">1138 <section·class="detail"·id="characters_to_nfd_list/1">
  
1139 ··<div·class="detail-header">1139 ··<div·class="detail-header">
1140 ····<a·href="#characters_to_nfd_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1140 ····<a·href="#characters_to_nfd_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1141 ······<i·class="ri-link-m"·aria-hidden="true"></i>1141 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1160, 16 lines modifiedOffset 1160, 16 lines modified
1160 ······<div·class="specs">1160 ······<div·class="specs">
  
1161 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfd_list(<a·href="#t:chardata/0">chardata</a>())·->·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()],·<a·href="#t:chardata/0">chardata</a>()}.</pre>1161 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfd_list(<a·href="#t:chardata/0">chardata</a>())·->·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()],·<a·href="#t:chardata/0">chardata</a>()}.</pre>
  
1162 ······</div>1162 ······</div>
  
1163 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form1163 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form
1164 of·canonical·equivalent·Decomposed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·a·list·of·characters.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfd_list</span><span·class="p"·data-group-id="1467005113-1">(</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="p"·data-group-id="1467005113-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="6011338021-1">(</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="p"·data-group-id="6011338021-1">)</span><span·class="p">.</span><span·class="w">
1165 </span><span·class="p"·data-group-id="1467005113-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:·6d54b4bc45a21d9f31806f070f193fa926a6a1dca44f11ae7ba86d164be8ed11·...·]-2">]</span></code></pre>1165 </span><span·class="p"·data-group-id="6011338021-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:·80ac1d12ff1754917617c12c55bc3ef9be4f2099bb25e0e5fcedd40c35e2479f·...·]-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="3137354836-1">(</span><span·class="p"·data-group-id="3137354836-2">[</span><span·class="p"·data-group-id="3137354836-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="3137354836-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·857,·SHA:·93f0897a8f66c737ae55bda8fa1dc92ec31a4d43de1b2f29a98753e58aa3ccc7·...·]-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="8249250255-1">(</span><span·class="p"·data-group-id="8249250255-2">[</span><span·class="p"·data-group-id="8249250255-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="8249250255-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·857,·SHA:·b0b4dc42ac134b1315ce0208a4bb79c5ad2378bdae53055ff5630903a211834d·...·]-1">)</span><span·class="p">.</span><span·class="w">
1195 </span><span·class="p"·data-group-id="3137354836-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="3137354836-8">&gt;&gt;</span></code></pre>1195 </span><span·class="p"·data-group-id="8249250255-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="8249250255-8">&gt;&gt;</span></code></pre>
1196 ··</section>1196 ··</section>
1197 </section>1197 </section>
1198 <section·class="detail"·id="characters_to_nfkc_list/1">1198 <section·class="detail"·id="characters_to_nfkc_list/1">
  
1199 ··<div·class="detail-header">1199 ··<div·class="detail-header">
1200 ····<a·href="#characters_to_nfkc_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1200 ····<a·href="#characters_to_nfkc_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1201 ······<i·class="ri-link-m"·aria-hidden="true"></i>1201 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1220, 15 lines modifiedOffset 1220, 15 lines modified
1220 ······<div·class="specs">1220 ······<div·class="specs">
  
1221 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfkc_list(<a·href="#t:chardata/0">chardata</a>())·->·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()],·<a·href="#t:chardata/0">chardata</a>()}.</pre>1221 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfkc_list(<a·href="#t:chardata/0">chardata</a>())·->·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()],·<a·href="#t:chardata/0">chardata</a>()}.</pre>
  
1222 ······</div>1222 ······</div>
  
1223 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form1223 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form
1224 of·compatibly·equivalent·Composed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·a·list·of·characters.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfkc_list</span><span·class="p"·data-group-id="3244103095-1">(</span><span·class="p"·data-group-id="3244103095-2">[</span><span·class="p"·data-group-id="3244103095-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="3244103095-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·857,·SHA:·69a4b5a2a4352e1997b8bd8c9b94756555311e468a45dbb3dcf9a2473a234705·...·]-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="4315444413-1">(</span><span·class="p"·data-group-id="4315444413-2">[</span><span·class="p"·data-group-id="4315444413-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="4315444413-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·857,·SHA:·c8b534cf7ad1587dde2bb218598fe5d128c8afec6ec0b141a7d8f52b750d7983·...·]-1">)</span><span·class="p">.</span><span·class="w">
1225 </span><span·class="s">&quot;abc..åäö32&quot;</span></code></pre>1225 </span><span·class="s">&quot;abc..åäö32&quot;</span></code></pre>
1226 ··</section>1226 ··</section>
1227 </section>1227 </section>
1228 <section·class="detail"·id="characters_to_nfkd_binary/1">1228 <section·class="detail"·id="characters_to_nfkd_binary/1">
  
1229 ··<div·class="detail-header">1229 ··<div·class="detail-header">
1230 ····<a·href="#characters_to_nfkd_binary/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1230 ····<a·href="#characters_to_nfkd_binary/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1251, 16 lines modifiedOffset 1251, 16 lines modified
  
1251 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfkd_binary(<a·href="#t:chardata/0">chardata</a>())·->·<a·href="#t:unicode_binary/0">unicode_binary</a>()·|·{error,·<a·href="#t:unicode_binary/0">unicode_binary</a>(),·<a·href="#t:chardata/0">chardata</a>()}.</pre>1251 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfkd_binary(<a·href="#t:chardata/0">chardata</a>())·->·<a·href="#t:unicode_binary/0">unicode_binary</a>()·|·{error,·<a·href="#t:unicode_binary/0">unicode_binary</a>(),·<a·href="#t:chardata/0">chardata</a>()}.</pre>
  
1252 ······</div>1252 ······</div>
  
Max diff block lines reached; 8540/38160 bytes (22.38%) of diff not shown.
693 B
html2text {}
Max HTML report size reached
160 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/unicode_usage.html
    
Offset 335, 28 lines modifiedOffset 335, 28 lines modified
335 communicating·externally.·Functions·and·bit·syntax·exist·to·encode·and·decode335 communicating·externally.·Functions·and·bit·syntax·exist·to·encode·and·decode
336 both·UTF-8,·UTF-16,·and·UTF-32·in·binaries.·However,·library·functions·dealing336 both·UTF-8,·UTF-16,·and·UTF-32·in·binaries.·However,·library·functions·dealing
337 with·binaries·and·Unicode·in·general·only·deal·with·the·default·encoding.</p><p>Character·data·can·be·combined·from·many·sources,·sometimes·available·in·a·mix337 with·binaries·and·Unicode·in·general·only·deal·with·the·default·encoding.</p><p>Character·data·can·be·combined·from·many·sources,·sometimes·available·in·a·mix
338 of·strings·and·binaries.·Erlang·has·for·long·had·the·concept·of·<code·class="inline">iodata</code>·or338 of·strings·and·binaries.·Erlang·has·for·long·had·the·concept·of·<code·class="inline">iodata</code>·or
339 <code·class="inline">iolist</code>s,·where·binaries·and·lists·can·be·combined·to·represent·a·sequence·of339 <code·class="inline">iolist</code>s,·where·binaries·and·lists·can·be·combined·to·represent·a·sequence·of
340 bytes.·In·the·same·way,·the·Unicode-aware·modules·often·allow·for·combinations340 bytes.·In·the·same·way,·the·Unicode-aware·modules·often·allow·for·combinations
341 of·binaries·and·lists,·where·the·binaries·have·characters·encoded·in·UTF-8·and341 of·binaries·and·lists,·where·the·binaries·have·characters·encoded·in·UTF-8·and
342 the·lists·contain·such·binaries·or·numbers·representing·Unicode·code·points:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">unicode_binary</span><span·class="p"·data-group-id="3386298494-1">(</span><span·class="p"·data-group-id="3386298494-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="3386298494-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·4b39cefcf20cb6c09f4870dcbc16a1c8c5169d4d061f703ae0645c7c0c7553e3·...·]-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="0015778531-1">(</span><span·class="p"·data-group-id="0015778531-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="0015778531-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·e779b8eab3b1d8f19741d06afd21473fc4cf515097af10590dc8b3618012fccd·...·]-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="3386298494-3">(</span><span·class="p"·data-group-id="3386298494-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="3386298494-4">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·233,·SHA:·a3e59544c2de56c9665e76abed61a6e9f944dd3163a0de0f7a56b454ff20ecdd·...·]-5">)</span><span·class="w">343 </span><span·class="nf">chardata</span><span·class="p"·data-group-id="0015778531-3">(</span><span·class="p"·data-group-id="0015778531-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="0015778531-4">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·233,·SHA:·420c0ea88270607b23c41c64e9ea6164a0667e119412901c8e2529dbbd9cea81·...·]-5">)</span><span·class="w">
  
344 </span><span·class="nf">charlist</span><span·class="p"·data-group-id="3386298494-6">(</span><span·class="p"·data-group-id="3386298494-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="3386298494-7">(</span><span·class="nf">char</span><span·class="p"·data-group-id="3386298494-8">(</span><span·class="p"·data-group-id="3386298494-8">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">unicode_binary</span><span·class="p"·data-group-id="3386298494-9">(</span><span·class="p"·data-group-id="3386298494-9">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">charlist</span><span·class="p"·data-group-id="3386298494-10">(</span><span·class="p"·data-group-id="3386298494-10">)</span><span·class="p">,</span><span·class="w"> 
345 ··</span><span·class="nf">unicode_binary</span><span·class="p"·data-group-id="3386298494-11">(</span><span·class="p"·data-group-id="3386298494-11">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">nil</span><s[·...·truncated·by·diffoscope;·len:·301,·SHA:·931f0bf987c12cf2f26c2196d81841b64d7b96abdc24639b7ad3caed82483a33·...·]344 </span><span·class="nf">charlist</span><span·class="p"·data-group-id="0015778531-6">(</span><span·class="p"·data-group-id="0015778531-6">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">maybe_improper_list</s[·...·truncated·by·diffoscope;·len:·659,·SHA:·e8179949c2ab2545161e798a7f1acb8cee9de5133ca9ab52a9636f053d121bae·...·]
 345 ··</span><span·class="nf">unicode_binary</span><span·class="p"·data-group-id="0015778531-11">(</span><span·class="p"·data-group-id="0015778531-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="0015778531-12">(</span><span·class="p"·data-group-id="0015778531-12">)</span><span·class="p"·data-group-id="0015778531-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="4102287744-1">(</span><span·class="p"·data-group-id="4102287744-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="4102287744-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·14,·SHA:·ec8b67a314feb9e13d93e096ef69876c101ee5068164d23f600e647bdc925b52·...·]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">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="9439408404-1">(</span><span·class="p"·data-group-id="9439408404-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="9439408404-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·14,·SHA:·8ac70eaac48c08b7d923cbd6b01146605e737a8f909154511befaf0cf066c079·...·]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">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="4102287744-3">(</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">16</span><span·class="w">·</span><span·class="ow">or</span><span·class="w">·</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">32</span><span·cl[·...·truncated·by·diffoscope;·len:·32,·SHA:·65c4e01c33474c2ead4b44a7810e13fc04d6231e598b56922408436451fc7132·...·]4-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="9439408404-3">(</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">16</span><span·class="w">·</span><span·class="ow">or</span><span·class="w">·</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">32</span><span·cl[·...·truncated·by·diffoscope;·len:·32,·SHA:·864bfffdfdd0c44d0734f2641368aa064a2336e527f0abd327cdc8b8303effa1·...·]4-3">)</span><span·class="w">
  
349 </span><span·class="nf">external_chardata</span><span·class="p"·data-group-id="4102287744-4">(</span><span·class="p"·data-group-id="4102287744-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="4102287744-5">(</span><span·class="p"[·...·truncated·by·diffoscope;·len:·250,·SHA:·30828d9f65990e10423c4bbc0a2633079432f0b095e4d7d4c0b9229ad1165418·...·]4-6">)</span><span·class="w">349 </span><span·class="nf">external_chardata</span><span·class="p"·data-group-id="9439408404-4">(</span><span·class="p"·data-group-id="9439408404-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="9439408404-5">(</span><span·class="p"[·...·truncated·by·diffoscope;·len:·250,·SHA:·78178262b93304650f93e6a638ad799ec7d6373c5fd862bc38d0629456dc05f9·...·]4-6">)</span><span·class="w">
  
350 </span><span·class="nf">external_charlist</span><span·class="p"·data-group-id="4102287744-7">(</span><span·class="p"·data-group-id="4102287744-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="4102287744-8">(</span><span·class="[·...·truncated·by·diffoscope;·len:·334,·SHA:·f0ebac0e7a0a532a65b7124f3370c2adff16f781a9ddbc07274d313c286a12b2·...·]4-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="9439408404-7">(</span><span·class="p"·data-group-id="9439408404-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="9439408404-8">(</span><span·class="[·...·truncated·by·diffoscope;·len:·334,·SHA:·745ee82bfac37421ac7805d9bf6e04c2d87ee3119871f9227333f36f676e5cba·...·]4-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="4102287744-11">(</span><span·class="p"·data-group-id="4102287744-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">external_unicode_binary</span><span·class="p"·data-group-id="4102287744-12">(</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·271,·SHA:·03b027f8d891b402b3ef69c402d060f8c7d6044e7c90cda799daf3c9b78c8c86·...·]4-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="9439408404-11">(</span><span·class="p"·data-group-id="9439408404-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">external_unicode_binary</span><span·class="p"·data-group-id="9439408404-12">(</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·271,·SHA:·014c0a4fc1a071835329c8de686a3c49faf30fe4f235acee1a7481c6cdfbeb7e·...·]4-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="4931466176-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="4931466176-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="5716556087-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="5716556087-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="4931466176-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="4931466176-2">&gt;&gt;</span><span·class="p">.</span><span·class="w">405 2&gt;·</span><span·class="p"·data-group-id="5716556087-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="5716556087-2">&gt;&gt;</span><span·class="p">.</span><span·class="w">
406 </span><span·class="p"·data-group-id="4931466176-3">&lt;&lt;</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="4931466176-3">&gt;&gt;</span><span·class="gp·unselectable">406 </span><span·class="p"·data-group-id="5716556087-3">&lt;&lt;</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="5716556087-3">&gt;&gt;</span><span·class="gp·unselectable">
407 3&gt;·</span><span·class="p"·data-group-id="4931466176-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:·a4a684b95933c661b19b80d27ea1997803c7832b3445e472fca4fe14f9468874·...·]-4">&gt;&gt;</span><span·class="p">.</span><span·class="w">407 3&gt;·</span><span·class="p"·data-group-id="5716556087-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:·b7083152b1ab4369489498da1b5843c33d625a6e84f412f14cabbf0af8adbdd5·...·]-4">&gt;&gt;</span><span·class="p">.</span><span·class="w">
408 </span><span·class="p"·data-group-id="4931466176-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="4931466176-5">&gt;&gt;</span></code></pre><p>Here·the·shell·detects·lists·containing·printable·characters·or·binaries408 </span><span·class="p"·data-group-id="5716556087-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="5716556087-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="2423381923-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="2423381923-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·45813270e41625c393ff0f5705d9072ca8e7f7578866346a8e5d4f6db498f8ee·...·]-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="6882145234-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="6882145234-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·e3dc87ce1316cb26c8224ecff32f07892d3449f3016a62ecd5bece721aa883f3·...·]-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="2423381923-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="2423381923-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="6882145234-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="6882145234-6">)</span><span·class="gp·unselectable">
425 1&gt;·</span><span·class="p"·data-group-id="2423381923-7">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="2423381923-7">]</span><span·class="p">.</span><span·class="w">425 1&gt;·</span><span·class="p"·data-group-id="6882145234-7">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="6882145234-7">]</span><span·class="p">.</span><span·class="w">
426 </span><span·class="p"·data-group-id="2423381923-8">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="2423381923-8">]</span><span·class="gp·unselectable">426 </span><span·class="p"·data-group-id="6882145234-8">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="6882145234-8">]</span><span·class="gp·unselectable">
427 2&gt;·</span><span·class="p"·data-group-id="2423381923-9">[</span><span·class="mi">1070</span><span·class="p">,</span><span·class="mi">1085</span><span·class="p">,</span><span·class="mi">1080</span><span·class="p">,</span><span·class="mi">1082</span><span·class="p">,</span><span·class="mi">1086</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·d721484c13966122c09dcf726b6485a67f54b8bd39b11cf4f51a4c53d78bb73e·...·]-9">]</span><span·class="p">.</span><span·class="w">427 2&gt;·</span><span·class="p"·data-group-id="6882145234-9">[</span><span·class="mi">1070</span><span·class="p">,</span><span·class="mi">1085</span><span·class="p">,</span><span·class="mi">1080</span><span·class="p">,</span><span·class="mi">1082</span><span·class="p">,</span><span·class="mi">1086</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·edbe126a29228dfb98bd9f4221475fca2ada135afdbe9838533a1e6a05ad0775·...·]-9">]</span><span·class="p">.</span><span·class="w">
428 </span><span·class="p"·data-group-id="2423381923-10">[</span><span·class="mi">1070</span><span·class="p">,</span><span·class="mi">1085</span><span·class="p">,</span><span·class="mi">1080</span><span·class="p">,</span><span·class="mi">1082</span><span·class="p">,</span><span·class="mi">1086</sp[·...·truncated·by·diffoscope;·len:·96,·SHA:·c3fe730fda2a2db53d31bc4a92508bffc5110dddc08731b0b5b74c0bcdf8d318·...·]-10">]</span><span·class="gp·unselectable">428 </span><span·class="p"·data-group-id="6882145234-10">[</span><span·class="mi">1070</span><span·class="p">,</span><span·class="mi">1085</span><span·class="p">,</span><span·class="mi">1080</span><span·class="p">,</span><span·class="mi">1082</span><span·class="p">,</span><span·class="mi">1086</sp[·...·truncated·by·diffoscope;·len:·96,·SHA:·51dca9c569f102e3336811df3c82d2bb2e1ca1c62958ce6b3aa5136fd1bce3fa·...·]-10">]</span><span·class="gp·unselectable">
429 3&gt;·</span><span·class="p"·data-group-id="2423381923-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="2423381923-11">]</span><span·class="p">.</span><span·class="w">429 3&gt;·</span><span·class="p"·data-group-id="6882145234-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="6882145234-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="2423381923-12">&lt;&lt;</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">174</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">208</[·...·truncated·by·diffoscope;·len:·403,·SHA:·79b7ff7854a4615f73b2f1dc4ffd94b5515e6fa0ca24f1d96d6c2df08d47e76c·...·]-12">&gt;&gt;</span><span·class="p">.</span><span·class="w">431 4&gt;·</span><span·class="p"·data-group-id="6882145234-12">&lt;&lt;</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">174</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">208</[·...·truncated·by·diffoscope;·len:·403,·SHA:·837f0c7dd53f998a5af9dc116b8428e6912f26b4440ec7a229e8c6daa4a121f5·...·]-12">&gt;&gt;</span><span·class="p">.</span><span·class="w">
432 </span><span·class="p"·data-group-id="2423381923-13">&lt;&lt;</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">174</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">208</[·...·truncated·by·diffoscope;·len:·403,·SHA:·79b7ff7854a4615f73b2f1dc4ffd94b5515e6fa0ca24f1d96d6c2df08d47e76c·...·]-13">&gt;&gt;</span><span·class="gp·unselectable">432 </span><span·class="p"·data-group-id="6882145234-13">&lt;&lt;</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">174</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">208</[·...·truncated·by·diffoscope;·len:·403,·SHA:·837f0c7dd53f998a5af9dc116b8428e6912f26b4440ec7a229e8c6daa4a121f5·...·]-13">&gt;&gt;</span><span·class="gp·unselectable">
433 5&gt;·</span><span·class="p"·data-group-id="2423381923-14">&lt;&lt;</span><span·class="mi">229</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">228</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">246[·...·truncated·by·diffoscope;·len:·100,·SHA:·3ae04bca72d2a8afa2f0bbad3ff246066cfec1b49df57e19ae142565d0453de5·...·]-14">&gt;&gt;</span><span·class="p">.</span><span·class="w">433 5&gt;·</span><span·class="p"·data-group-id="6882145234-14">&lt;&lt;</span><span·class="mi">229</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">228</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">246[·...·truncated·by·diffoscope;·len:·100,·SHA:·2ab7232b0a5ea79051e9dcab6549ee10481eee6643dad1b7be64611892473860·...·]-14">&gt;&gt;</span><span·class="p">.</span><span·class="w">
434 </span><span·class="p"·data-group-id="2423381923-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="2423381923-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="6882145234-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="6882145234-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="9904681880-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="9904681880-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·d489eea0f8af548241906443c660f02ad47c6f5a2248aa26a73a64fc97e6489c·...·]-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="6418625265-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="6418625265-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·36169e629cda0bbe4e94a2335b03b4cdeb2b00ed6ff4a3dfd867c23b5ef122f0·...·]-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="9904681880-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="9904681880-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="6418625265-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="6418625265-6">)</span><span·class="gp·unselectable">
437 1&gt;·</span><span·class="p"·data-group-id="9904681880-7">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="9904681880-7">]</span><span·class="p">.</span><span·class="w">437 1&gt;·</span><span·class="p"·data-group-id="6418625265-7">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="6418625265-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="9904681880-8">[</span><span·class="mi">1070</span><span·class="p">,</span><span·class="mi">1085</span><span·class="p">,</span><span·class="mi">1080</span><span·class="p">,</span><span·class="mi">1082</span><span·class="p">,</span><span·class="mi">1086</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·85bb9d225f40566a0bf43c25036a81813751643b9fc8c6517a7a4ec35538066a·...·]-8">]</span><span·class="p">.</span><span·class="w">439 2&gt;·</span><span·class="p"·data-group-id="6418625265-8">[</span><span·class="mi">1070</span><span·class="p">,</span><span·class="mi">1085</span><span·class="p">,</span><span·class="mi">1080</span><span·class="p">,</span><span·class="mi">1082</span><span·class="p">,</span><span·class="mi">1086</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·70be099d85a847430069ae14f0e9eb354781c0f60574f0bd57083c2cd5803338·...·]-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="9904681880-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="9904681880-9">]</span><span·class="p">.</span><span·class="w">441 3&gt;·</span><span·class="p"·data-group-id="6418625265-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="6418625265-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="9904681880-10">&lt;&lt;</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">174</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">208</[·...·truncated·by·diffoscope;·len:·403,·SHA:·d47361606c971899ac6717c847be9a30bd24aeb86ef10338e0687a023c694542·...·]-10">&gt;&gt;</span><span·class="p">.</span><span·class="w">443 4&gt;·</span><span·class="p"·data-group-id="6418625265-10">&lt;&lt;</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">174</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">208</[·...·truncated·by·diffoscope;·len:·403,·SHA:·6904265637560733894457e3ef0195063afcc60f5695856942f1de6da0b366ef·...·]-10">&gt;&gt;</span><span·class="p">.</span><span·class="w">
444 </span><span·class="p"·data-group-id="9904681880-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="9904681880-11">&gt;&gt;</span><span·class="gp·unselectable">444 </span><span·class="p"·data-group-id="6418625265-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="6418625265-11">&gt;&gt;</span><span·class="gp·unselectable">
445 5&gt;·</span><span·class="p"·data-group-id="9904681880-12">&lt;&lt;</span><span·class="mi">229</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">228</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">246[·...·truncated·by·diffoscope;·len:·100,·SHA:·954b75935a449cff3fc19c839c32643111a5b7898041337dc6350e2c1af1acb8·...·]-12">&gt;&gt;</span><span·class="p">.</span><span·class="w">445 5&gt;·</span><span·class="p"·data-group-id="6418625265-12">&lt;&lt;</span><span·class="mi">229</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">228</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">246[·...·truncated·by·diffoscope;·len:·100,·SHA:·b86086ae2f2f875b7239b48ff742a2a0624dbd2111ff697708a6a1bcd563b50d·...·]-12">&gt;&gt;</span><span·class="p">.</span><span·class="w">
446 </span><span·class="p"·data-group-id="9904681880-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="9904681880-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="6418625265-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="6418625265-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="6541170508-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="6541170508-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·8db69d33b1ac135069cc274d23fbc8ba164c475565f0aadcfc0042bb2a220de9·...·]-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="2906744226-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="2906744226-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·630033a52af7ef7ca589accb0aab4fcf36d9f955564e511f435329449019e7e3·...·]-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="6541170508-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="6541170508-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="2906744226-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="2906744226-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="6541170508-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="6541170508-8">[</span><span·class="p"·data-group-id="6541170508-9">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1308,·SHA:·895cf2cf43c74f4c1672aac202dd60374a4c53cf0fb7958b895025ae97b13d85·...·]-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="2906744226-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="2906744226-8">[</span><span·class="p"·data-group-id="2906744226-9">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1308,·SHA:·b1e37085c10316ee59df074a8bbf032b26d847668291e3d4001b99f532afcfa0·...·]-7">)</span><span·class="p">.</span><span·class="w">
457 </span><span·class="p"·data-group-id="6541170508-13">{</span><span·class="p"·data-group-id="6541170508-14">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="6541170508-14">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="6541170508-15">&lt[·...·truncated·by·diffoscope;·len:·938,·SHA:·bebf66768f5c7db64537b15f164e3f4caf8d8ae373da1892d147a5a760c50604·...·]-13">}</span><span·class="w">457 </span><span·class="p"·data-group-id="2906744226-13">{</span><span·class="p"·data-group-id="2906744226-14">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="2906744226-14">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2906744226-15">&lt[·...·truncated·by·diffoscope;·len:·938,·SHA:·f9259571cf57e22919072524522b0fa7f6dd30a4d7fa07837ff63906d606f26f·...·]-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="5248927427-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="5248927427-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·d3db5a9ce7504736181917eac4818831f7e8a93de00b9a59719c1ed5f98ca884·...·]-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="3700564865-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="3700564865-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·e290537b18d9d216a1f3c600c6cc7ce2b30c3f345801cb28a8a2cf1edb7ad522·...·]-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="5248927427-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="5248927427-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="3700564865-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="3700564865-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="5248927427-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="5248927427-8">[</span><span·class="p"·data-group-id="5248927427-9">{</span><span·class="p"·data-group-id="5248927427-10">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="5248927427-10">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5248927427-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="5248927427-11">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5248927427-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</span><span·class="p">,</span><span·class="mi">184</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">186</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">190</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">180</span><span·class="p"·data-group-id="5248927427-12">&gt;&gt;</span><span·class="p"·data-group-id="5248927427-9">}</span><span·class="p"·data-group-id="5248927427-8">]</span><span·class="p"·data-group-id="5248927427-7">)</span><span·class="p">.</span><span·class="w"> 
462 </span><span·class="p"·data-group-id="5248927427-13">{</span><span·class="p"·data-group-id="5248927427-14">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="5248927427-14">&gt;&gt;</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·487,·SHA:·c4881054e83526fb7ad2d97b1733d2a90e1352fdf9d29e8c80fa43f136b1b400·...·]</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="3700564865-7">(</span><span·class="s">&quot;~tp</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·1461,·SHA:·58fe2ab265a2c27a36542664dae622d89357453f82cd821112c9ffb3722a5b2e·...·]</span><span·class="w">
 462 </span><span·class="p"·data-group-id="3700564865-13">{</span><span·class="p"·data-group-id="3700564865-14">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="3700564865-14">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="3700564865-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="3700564865-15">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="3700564865-16">&lt;&lt;</span><span·class="s">&quot;Юникод&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="3700564865-16">&gt;&gt;</span><span·class="p"·data-group-id="3700564865-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="0461448570-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="0461448570-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·2f966f3620e18af347b7bd154ab943434d3eabf1d466907bd798c4da0b7061a3·...·]-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="6903169726-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="6903169726-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·8fb4778bdb22c396d66aa734e26a3610cc0e25e9526b4761a65df3ac4c5cece2·...·]-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="0461448570-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="0461448570-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="6903169726-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="6903169726-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="0461448570-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:·6de5ecdcc833e1531f80813187b4080820fabe7e029f1b1fc42f3264065d3f57·...·]-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="6903169726-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:·44c92e9bb2d204df5536a79040289ebb209a89701b5e6d9c2739fa4b8ca7afb3·...·]-7">)</span><span·class="p">.</span><span·class="w">
492 </span><span·class="p"·data-group-id="0461448570-9">{</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="ss">latin1</span><span·class="p"·data-group-id="0461448570-9">}</span><span·class="gp·unselectable">492 </span><span·class="p"·data-group-id="6903169726-9">{</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="ss">latin1</span><span·class="p"·data-group-id="6903169726-9">}</span><span·class="gp·unselectable">
493 2&gt;·</span><span·class="nf">q</span><span·class="p"·data-group-id="0461448570-10">(</span><span·class="p"·data-group-id="0461448570-10">)</span><span·class="p">.</span><span·class="w">493 2&gt;·</span><span·class="nf">q</span><span·class="p"·data-group-id="6903169726-10">(</span><span·class="p"·data-group-id="6903169726-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="0461448570-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="0461448570-11">)</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·791,·SHA:·cf9ec9e240c319de6048e4d2c08fdcd226e69f62e0fd6cee88a6de90b077943e·...·]-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="6903169726-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="6903169726-11">)</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·791,·SHA:·778deb0a937a93e4a802867b32a2e01a65310929bd0e97c391042fe11ef8c328·...·]-15">]</span><span·class="w">
  
Max diff block lines reached; 91667/163325 bytes (56.13%) of diff not shown.
854 B
html2text {}
Max HTML report size reached
90.8 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/uri_string.html
    
Offset 587, 19 lines modifiedOffset 587, 19 lines modified
587 ···························QueryString·::·<a·href="#t:uri_string/0">uri_string</a>()·|·<a·href="#t:error/0">error</a>().</pre>587 ···························QueryString·::·<a·href="#t:uri_string/0">uri_string</a>()·|·<a·href="#t:error/0">error</a>().</pre>
  
588 ······</div>588 ······</div>
  
589 <p>Composes·a·form-urlencoded·<code·class="inline">QueryString</code>·based·on·a·<code·class="inline">QueryList</code>,·a·list·of589 <p>Composes·a·form-urlencoded·<code·class="inline">QueryString</code>·based·on·a·<code·class="inline">QueryList</code>,·a·list·of
590 non-percent-encoded·key-value·pairs.</p><p>Form-urlencoding·is·defined·in·section·4.10.21.6·of·the·<a·href="https://www.w3.org/TR/html52/">HTML·5.2</a>590 non-percent-encoded·key-value·pairs.</p><p>Form-urlencoding·is·defined·in·section·4.10.21.6·of·the·<a·href="https://www.w3.org/TR/html52/">HTML·5.2</a>
591 specification·and·in·section·4.10.22.6·of·the·<a·href="https://www.w3.org/TR/html50/">HTML·5.0</a>591 specification·and·in·section·4.10.22.6·of·the·<a·href="https://www.w3.org/TR/html50/">HTML·5.0</a>
592 specification·for·non-UTF-8·encodings.</p><p>See·also·the·opposite·operation·<a·href="#dissect_query/1"><code·class="inline">dissect_query/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">compose_query</span><span·class="p"·data-group-id="3668153116-1">(</span><span·class="p"·data-group-id="3668153116-2">[</span><span·class="p"·data-group-id="3668153116-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:·354,·SHA:·9fe01a1e855da442dad7718e2ddaff0c6a7247cc545b38a9b797e931ed263aac·...·]6-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="6599015126-1">(</span><span·class="p"·data-group-id="6599015126-2">[</span><span·class="p"·data-group-id="6599015126-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:·354,·SHA:·581c0866122e205d53019c13fe20765b73710bd08509efc7fe38ce424d3c6587·...·]6-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="3668153116-5">(</span><span·class="p"·data-group-id="3668153116-6">[</span><span·class="p"·data-group-id="3668153116-7">{</span><span·class="p"·data-group-id="3668153116-8">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·254,·SHA:·bd3c4e700f16e744536471132a4950e2211fde2af20cdcacb4a769b48ae63f55·...·]6-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="6599015126-5">(</span><span·class="p"·data-group-id="6599015126-6">[</span><span·class="p"·data-group-id="6599015126-7">{</span><span·class="p"·data-group-id="6599015126-8">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·254,·SHA:·fe07290845c46acc68915038a1807a456e0e66afae791369682d695533f244ff·...·]6-7">}</span><span·class="p">,</span><span·class="gp·unselectable">
595 2&gt;·</span><span·class="p"·data-group-id="3668153116-10">{</span><span·class="p"·data-group-id="3668153116-11">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="3668153116-11">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="3668153116-12">&l[·...·truncated·by·diffoscope;·len:·314,·SHA:·06617ff3fbda592f21036241ee709260463bbd1f19d425dbff1a8dbe9653b1c2·...·]6-5">)</span><span·class="p">.</span><span·class="w">595 2&gt;·</span><span·class="p"·data-group-id="6599015126-10">{</span><span·class="p"·data-group-id="6599015126-11">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="6599015126-11">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="6599015126-12">&l[·...·truncated·by·diffoscope;·len:·314,·SHA:·7c608308a32082e8c3c70bf4afe4438f8e5f169f519174454378ec483619a474·...·]6-5">)</span><span·class="p">.</span><span·class="w">
596 </span><span·class="p"·data-group-id="3668153116-13">&lt;&lt;</span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="p"·data-group-id="3668153116-13">&gt;&gt;</span></code></pre>596 </span><span·class="p"·data-group-id="6599015126-13">&lt;&lt;</span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="p"·data-group-id="6599015126-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="2705314410-1">(</span><span·class="p"·data-group-id="2705314410-2">[</span><span·class="p"·data-group-id="2705314410-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="2705314410-3">}</span><span·class="p">,</span><span·class="p"·data-group-id="2705314410-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="2705314410-4">}</span><span·class="p"·data-group-id="2705314410-2">]</span><span·class="p">,</span><span·class="gp·unselectable"> 
640 1&gt;·</span><span·class="p"·data-group-id="2705314410-5">[</span><span·class="p"·data-group-id="2705314410-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:·d6fd607805b0ea54bc119c3305f599d7f45bf9861b5092ef5aa51f104f536b01·...·]">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:·88052e9b052b768c6144bf7acc79639c1b724cacda18be89411694adc30e3c51·...·]">
 640 1&gt;·</span><span·class="p"·data-group-id="7321569160-5">[</span><span·class="p"·data-group-id="7321569160-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="7321569160-6">}</span><span·class="p"·data-group-id="7321569160-5">]</span><span·class="p"·data-group-id="7321569160-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="2705314410-7">(</span><span·class="p"·data-group-id="2705314410-8">[</span><span·class="p"·data-group-id="2705314410-9">{</span><span·class="p"·data-group-id="2705314410-10">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·258,·SHA:·2602d40bef9fc5b264b0b0c5ea52ad2e19a9085eda9f292f21c59350fa2ee6e8·...·]0-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="7321569160-7">(</span><span·class="p"·data-group-id="7321569160-8">[</span><span·class="p"·data-group-id="7321569160-9">{</span><span·class="p"·data-group-id="7321569160-10">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·258,·SHA:·d973970910451bb9388f40db48a76a97409c9ee141963f9d083f0b836ce46976·...·]0-9">}</span><span·class="p">,</span><span·class="gp·unselectable">
643 2&gt;·</span><span·class="p"·data-group-id="2705314410-12">{</span><span·class="p"·data-group-id="2705314410-13">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="2705314410-13">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2705314410-14">&l[·...·truncated·by·diffoscope;·len:·684,·SHA:·ad5f492588cbd111a890a41e18c5a0da9ef8a73237b83b675c6aee27bbce9591·...·]0-7">)</span><span·class="p">.</span><span·class="w">643 2&gt;·</span><span·class="p"·data-group-id="7321569160-12">{</span><span·class="p"·data-group-id="7321569160-13">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="7321569160-13">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="7321569160-14">&l[·...·truncated·by·diffoscope;·len:·684,·SHA:·3297052f6c9032d25d4ea318158602a3178daf982de3db4e99f453e260435047·...·]0-7">)</span><span·class="p">.</span><span·class="w">
644 </span><span·class="p"·data-group-id="2705314410-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="2705314410-17">&gt;&gt;</span></code></pre>644 </span><span·class="p"·data-group-id="7321569160-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="7321569160-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="0051847351-1">(</span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="p"·data-group-id="0051847351-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="7531070581-1">(</span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="p"·data-group-id="7531070581-1">)</span><span·class="p">.</span><span·class="w">
677 </span><span·class="p"·data-group-id="0051847351-2">[</span><span·class="p"·data-group-id="0051847351-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="0051847351-3">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·248,·SHA:·66fd1ad02eb5600cdf98510991bc8f228a422d6b0ffb73dd60288ddbca9498e6·...·]1-2">]</span><span·class="gp·unselectable">677 </span><span·class="p"·data-group-id="7531070581-2">[</span><span·class="p"·data-group-id="7531070581-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="7531070581-3">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·248,·SHA:·5941214dbb23a2a9d5f9297d8a5ee2b933f8694c25994a0f504614fc37e27f1e·...·]1-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="0051847351-5">(</span><span·class="p"·data-group-id="0051847351-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="0051847351-6">&gt;&gt;</span><span·class="p"·data-group-id="0[·...·truncated·by·diffoscope;·len:·8,·SHA:·816bba30211dd2c92bbe4667176dcf352031e697e140a1bc68bbde443e5cb54c·...·]1-5">)</span><span·class="p">.</span><span·class="w">678 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">dissect_query</span><span·class="p"·data-group-id="7531070581-5">(</span><span·class="p"·data-group-id="7531070581-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="7531070581-6">&gt;&gt;</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·8,·SHA:·5bdc80fa107821661803286e4e990bd69917b8ad2fb9c3dc482d447fe2d9d0f5·...·]1-5">)</span><span·class="p">.</span><span·class="w">
679 </span><span·class="p"·data-group-id="0051847351-7">[</span><span·class="p"·data-group-id="0051847351-8">{</span><span·class="p"·data-group-id="0051847351-9">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group-id="0051847351-9">&gt;&gt;</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·203,·SHA:·b4c1c22d203e207ca301629345b1e7fc10c4af48340f29837052cadbf74361ef·...·]1-8">}</span><span·class="p">,</span><span·class="w">679 </span><span·class="p"·data-group-id="7531070581-7">[</span><span·class="p"·data-group-id="7531070581-8">{</span><span·class="p"·data-group-id="7531070581-9">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group-id="7531070581-9">&gt;&gt;</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·203,·SHA:·3e5c501ff6cd005f9c381056b71b83572f6c77a542a4b6c33db55f68f65d9bf4·...·]1-8">}</span><span·class="p">,</span><span·class="w">
680 ·</span><span·class="p"·data-group-id="0051847351-11">{</span><span·class="p"·data-group-id="0051847351-12">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="0051847351-12">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="0051847351-13">&l[·...·truncated·by·diffoscope;·len:·450,·SHA:·d5b790f90102dd09ebbc42198e7276b68cc91517b928ab12d7f433230908745b·...·]1-7">]</span></code></pre>680 ·</span><span·class="p"·data-group-id="7531070581-11">{</span><span·class="p"·data-group-id="7531070581-12">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="7531070581-12">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="7531070581-13">&l[·...·truncated·by·diffoscope;·len:·450,·SHA:·a20c330d6a1008a267d4a858a1a66046669281b2a952b943e08a2cfb02503522·...·]1-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="3418993117-1">(</span><span·class="s">&quot;/a/b/c/./../../g&quot;</span><span·class="p"·data-group-id="3418993117-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="6199111003-1">(</span><span·class="s">&quot;/a/b/c/./../../g&quot;</span><span·class="p"·data-group-id="6199111003-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="3418993117-2">(</span><span·class="p"·data-group-id="3418993117-3">&lt;&lt;</span><span·class="s">&quot;mid/content=5/../6&quot;</span><span·class="p"·data-group-id="3418993117-3">&gt;&gt;</span><span·class="p"·data-group-id="3418993117-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="6199111003-2">(</span><span·class="p"·data-group-id="6199111003-3">&lt;&lt;</span><span·class="s">&quot;mid/content=5/../6&quot;</span><span·class="p"·data-group-id="6199111003-3">&gt;&gt;</span><span·class="p"·data-group-id="6199111003-2">)</span><span·class="p">.</span><span·class="w">
715 </span><span·class="p"·data-group-id="3418993117-4">&lt;&lt;</span><span·class="s">&quot;mid/6&quot;</span><span·class="p"·data-group-id="3418993117-4">&gt;&gt;</span><span·class="gp·unselectable">715 </span><span·class="p"·data-group-id="6199111003-4">&lt;&lt;</span><span·class="s">&quot;mid/6&quot;</span><span·class="p"·data-group-id="6199111003-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="3418993117-5">(</span><span·class="s">&quot;http://localhost:80&quot;</span><span·class="p"·data-group-id="3418993117-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="6199111003-5">(</span><span·class="s">&quot;http://localhost:80&quot;</span><span·class="p"·data-group-id="6199111003-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="3418993117-6">(</span><span·class="p"·data-group-id="3418993117-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="6199111003-6">(</span><span·class="p"·data-group-id="6199111003-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="3418993117-7">}</span><span·class="p"·data-group-id="3418993117-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="6199111003-7">}</span><span·class="p"·data-group-id="6199111003-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="5743705567-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="5743705567-2">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="5743705567-2">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·a98a6f56ef393cd9d2b51d9acbf64c8c3ab4475c8040dad59e9aeb4d79d70ed4·...·]-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="5493323052-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="5493323052-2">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="5493323052-2">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·c82ec0d01c309ffd324b2f7f680963f700d37d00fe9180f922077dea422c5cdf·...·]-1">)</span><span·class="p">.</span><span·class="w">
755 </span><span·class="p"·data-group-id="5743705567-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="5743705567-3">}</span><span·class="gp·unselectable">755 </span><span·class="p"·data-group-id="5493323052-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="5493323052-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="5743705567-4">(</span><span·class="p"·data-group-id="5743705567-5">&lt;&lt;</span><span·class="s">&quot;mid/content=5/../6&quot;</span><span·class="p"·data-group-id="5743705567-5">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p[·...·truncated·by·diffoscope;·len:·167,·SHA:·d6f871fc292ffe21ad63ad052c915e65abf784677222107efb6ca37f93989aa2·...·]-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="5493323052-4">(</span><span·class="p"·data-group-id="5493323052-5">&lt;&lt;</span><span·class="s">&quot;mid/content=5/../6&quot;</span><span·class="p"·data-group-id="5493323052-5">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p[·...·truncated·by·diffoscope;·len:·167,·SHA:·803c3b5f86f0538b5267a62a7356cd5d8685d3102246bb0d9f9ffdab391e1157·...·]-4">)</span><span·class="p">.</span><span·class="w">
757 </span><span·class="p"·data-group-id="5743705567-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="5743705567-8">&lt;&lt;</span><span·class="s">&quot;mid/6&quot;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·71,·SHA:·c494e94947e8359b48e6eccff6fa394c2898d8ed42ea86793fb956677afc194b·...·]-7">}</span><span·class="gp·unselectable">757 </span><span·class="p"·data-group-id="5493323052-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="5493323052-8">&lt;&lt;</span><span·class="s">&quot;mid/6&quot;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·71,·SHA:·047dcb0b0fe32a452cb99a3f74412ce6ec2c5acdf216285ebaa5e56c99916080·...·]-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="5743705567-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="5743705567-10">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="5743705567-10"[·...·truncated·by·diffoscope;·len:·50,·SHA:·a9fb3f4d420795421ae82e2bcc544eeb781ade72e9b8ce5c7a7eca3e5c202abe·...·]-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="5493323052-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="5493323052-10">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="5493323052-10"[·...·truncated·by·diffoscope;·len:·50,·SHA:·bf43696927a3117a4e3827b8b46235b15e936ac9bf4803ac07f02f19ff2332fa·...·]-9">)</span><span·class="p">.</span><span·class="w">
759 </span><span·class="p"·data-group-id="5743705567-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:·289,·SHA:·151595e7c9be3093585bf97b6bf5c9cddcd043bbee3d6124ef63a7e8a06d2725·...·]-11">}</span><span·class="gp·unselectable">759 </span><span·class="p"·data-group-id="5493323052-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:·289,·SHA:·1b119433bde14aa81d9a3387c9a0bc0480569b71877be8950d30312a6f587c2d·...·]-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="5743705567-12">(</span><span·class="p"·data-group-id="5743705567-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="5493323052-12">(</span><span·class="p"·data-group-id="5493323052-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="5743705567-13">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5743705567-14">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="5743705567-14">]</span><span·class="p"·data-group-id="5743705567-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="5493323052-13">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5493323052-14">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="5493323052-14">]</span><span·class="p"·data-group-id="5493323052-12">)</span><span·class="p">.</span><span·class="w">
762 </span><span·class="p"·data-group-id="5743705567-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:·299,·SHA:·102777e12c8baa5bd5a2b8398eaebe16c353b58e206c5aabc4b0840bb364b766·...·]-15">}</span></code></pre>762 </span><span·class="p"·data-group-id="5493323052-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:·299,·SHA:·30a5856464b4105feb539abc08a80aa3480d2d0e8dd834dd1f1d83aa8a7fc284·...·]-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="8675191677-1">(</span><span·class="s">&quot;foo://user@example.com:8042/over/there?name=ferret#nose&quot;</span><span·class="p"·data-group-id="8675191677-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="0392756193-1">(</span><span·class="s">&quot;foo://user@example.com:8042/over/there?name=ferret#nose&quot;</span><span·class="p"·data-group-id="0392756193-1">)</span><span·class="p">.</span><span·class="w">
792 </span><span·class="p"·data-group-id="8675191677-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="0392756193-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="8675191677-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="0392756193-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="8675191677-3">(</span><span·class="p"·data-group-id="8675191677-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="8675191677-4">&gt;&gt;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·69082f8a1412414c9d52731f6f37e4a45757abccae02880d11c57b59078e0380·...·]-3">)</span><span·class="p">.</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="0392756193-3">(</span><span·class="p"·data-group-id="0392756193-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="0392756193-4">&gt;&gt;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·c4460ad63ac48287833addc425c614eb654412fa9b87ec40947dd3c1ea931392·...·]-3">)</span><span·class="p">.</span><span·class="w">
796 </span><span·class="p"·data-group-id="8675191677-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="8675191677-6">&lt;&lt;</span><span·class="s">&quot;example.com&quot;</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·312,·SHA:·031919acfe359c89b5bed704e4ba2c99a5956dbd0110adcacd582b07f9629c22·...·]-7">&gt;&gt;</span><span·class="p">,</span><span·class="w">796 </span><span·class="p"·data-group-id="0392756193-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="0392756193-6">&lt;&lt;</span><span·class="s">&quot;example.com&quot;</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·312,·SHA:·4e6fe158c0bd49d3146ad88effe7f53e177da90953d83f5306ecc3f698396184·...·]-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="8675191677-8">&lt;&lt;</span><span·class="s">&quot;name=ferret&quot;</span><span·class="p"·data-group-id="8675191677-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:·4fe0bcd8363046f5912bfeef7715e1720779f45d10b33712c13b46f1afab1dfe·...·]-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="0392756193-8">&lt;&lt;</span><span·class="s">&quot;name=ferret&quot;</span><span·class="p"·data-group-id="0392756193-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:·ae32ce116961e627c5000f4fd919071c156d6585571b4414adfd5790ff36c933·...·]-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">
798 ··</span><span·class="ss">userinfo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8675191677-10">&lt;&lt;</span><span·class="s">&quot;user&quot;</span><span·class="p"·data-group-id="8675191677-10">&gt;&gt;</span><span·class="p"·data-group-id="8675191677-5">}</span></code></pre>798 ··</span><span·class="ss">userinfo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0392756193-10">&lt;&lt;</span><span·class="s">&quot;user&quot;</span><span·class="p"·data-group-id="0392756193-10">&gt;&gt;</span><span·class="p"·data-group-id="0392756193-5">}</span></code></pre>
799 ··</section>799 ··</section>
800 </section>800 </section>
801 <section·class="detail"·id="percent_decode/1">801 <section·class="detail"·id="percent_decode/1">
Max diff block lines reached; 46095/92270 bytes (49.96%) of diff not shown.
599 B
html2text {}
Max HTML report size reached
40.5 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/uri_string_usage.html
    
Offset 190, 27 lines modifiedOffset 190, 27 lines modified
190 URI·components·using·<a·href="unicode_usage.html#what-unicode-is">Unicode</a>·characters.190 URI·components·using·<a·href="unicode_usage.html#what-unicode-is">Unicode</a>·characters.
191 <a·href="uri_string.html#t:uri_map/0"><code·class="inline">uri_map()</code></a>·is·a·convenient·choice·for·enabling191 <a·href="uri_string.html#t:uri_map/0"><code·class="inline">uri_map()</code></a>·is·a·convenient·choice·for·enabling
192 operations·such·as·producing·standard·compliant·URIs·out·of·components·that·have192 operations·such·as·producing·standard·compliant·URIs·out·of·components·that·have
193 special·or·<a·href="unicode_usage.html#what-unicode-is">Unicode</a>·characters.·It·is·easier193 special·or·<a·href="unicode_usage.html#what-unicode-is">Unicode</a>·characters.·It·is·easier
194 to·explain·this·by·an·example.</p><p>Let's·say·that·we·would·like·to·create·the·following·URI·and·send·it·over·the194 to·explain·this·by·an·example.</p><p>Let's·say·that·we·would·like·to·create·the·following·URI·and·send·it·over·the
195 network:·<code·class="inline">http://cities/örebro?foo·bar</code>.·This·is·not·a·valid·URI·as·it·contains195 network:·<code·class="inline">http://cities/örebro?foo·bar</code>.·This·is·not·a·valid·URI·as·it·contains
196 characters·that·are·not·allowed·in·a·URI·such·as·&quot;ö&quot;·and·the·space.·We·can196 characters·that·are·not·allowed·in·a·URI·such·as·&quot;ö&quot;·and·the·space.·We·can
197 verify·this·by·parsing·the·URI:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="6238398783-1">(</span><span·class="s">&quot;http://cities/örebro?foo·bar&quot;</span><span·class="p"·data-group-id="6238398783-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="9934415809-1">(</span><span·class="s">&quot;http://cities/örebro?foo·bar&quot;</span><span·class="p"·data-group-id="9934415809-1">)</span><span·class="p">.</span><span·class="w">
198 ··</span><span·class="p"·data-group-id="6238398783-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="6238398783-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="9934415809-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="9934415809-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="3777540407-1">(</span><span·class="p"·data-group-id="3777540407-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="6538831743-1">(</span><span·class="p"·data-group-id="6538831743-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="3777540407-2">}</span><span·class="p"·data-group-id="3777540407-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="6538831743-2">}</span><span·class="p"·data-group-id="6538831743-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="5614504966-1">(</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="5614504966-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:·1bebcad8731716294b7050682ee29f1c08f138c1f984230027a66115a670d720·...·]-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="3377843284-1">(</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="3377843284-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:·e2de6ab8791bb4d29fe64b84b3591c326326fd7bb63d99cacb3abc4dc582071f·...·]-1">)</span><span·class="p">.</span><span·class="w">
208 ··</span><span·class="p"·data-group-id="5614504966-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="3377843284-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="5614504966-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="3377843284-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="6701567510-1">(</span><span·class="p"·data-group-id="6701567510-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="6273156499-1">(</span><span·class="p"·data-group-id="6273156499-1">)</span><span·class="p">.</span><span·class="w">
233 ····</span><span·class="p"·data-group-id="6701567510-2">[</span><span·class="p"·data-group-id="6701567510-3">{</span><span·class="ss">scheme</span><span·class="p">,</span><span·class="w">233 ····</span><span·class="p"·data-group-id="6273156499-2">[</span><span·class="p"·data-group-id="6273156499-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="6701567510-3">}</span><span·class="p">,</span><span·class="w">234 ·····</span><span·class="s">&quot;+-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&quot;</span><span·class="p"·data-group-id="6273156499-3">}</span><span·class="p">,</span><span·class="w">
235 ····</span><span·class="p"·data-group-id="6701567510-4">{</span><span·class="ss">userinfo</span><span·class="p">,</span><span·class="w">235 ····</span><span·class="p"·data-group-id="6273156499-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="6701567510-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="6273156499-4">}</span><span·class="p">,</span><span·class="w">
237 ····</span><span·class="p"·data-group-id="6701567510-5">{</span><span·class="ss">host</span><span·class="p">,</span><span·class="w">237 ····</span><span·class="p"·data-group-id="6273156499-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="6701567510-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="6273156499-5">}</span><span·class="p">,</span><span·class="w">
239 ····</span><span·class="p"·data-group-id="6701567510-6">{</span><span·class="ss">ipv4</span><span·class="p">,</span><span·class="s">&quot;.0123456789&quot;</span><span·class="p"·data-group-id="6701567510-6">}</span><span·class="p">,</span><span·class="w">239 ····</span><span·class="p"·data-group-id="6273156499-6">{</span><span·class="ss">ipv4</span><span·class="p">,</span><span·class="s">&quot;.0123456789&quot;</span><span·class="p"·data-group-id="6273156499-6">}</span><span·class="p">,</span><span·class="w">
240 ····</span><span·class="p"·data-group-id="6701567510-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="6701567510-7">}</span><span·class="p">,</span><span·class="w">240 ····</span><span·class="p"·data-group-id="6273156499-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="6273156499-7">}</span><span·class="p">,</span><span·class="w">
241 ····</span><span·class="p"·data-group-id="6701567510-8">{</span><span·class="ss">regname</span><span·class="p">,</span><span·class="w">241 ····</span><span·class="p"·data-group-id="6273156499-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="6701567510-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="6273156499-8">}</span><span·class="p">,</span><span·class="w">
243 ····</span><span·class="p"·data-group-id="6701567510-9">{</span><span·class="ss">path</span><span·class="p">,</span><span·class="w">243 ····</span><span·class="p"·data-group-id="6273156499-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="6701567510-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="6273156499-9">}</span><span·class="p">,</span><span·class="w">
245 ····</span><span·class="p"·data-group-id="6701567510-10">{</span><span·class="k">query</span><span·class="p">,</span><span·class="w">245 ····</span><span·class="p"·data-group-id="6273156499-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="6701567510-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="6273156499-10">}</span><span·class="p">,</span><span·class="w">
247 ····</span><span·class="p"·data-group-id="6701567510-11">{</span><span·class="ss">fragment</span><span·class="p">,</span><span·class="w">247 ····</span><span·class="p"·data-group-id="6273156499-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="6701567510-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="6273156499-11">}</span><span·class="p">,</span><span·class="w">
249 ····</span><span·class="p"·data-group-id="6701567510-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="6701567510-12">}</span><span·class="p">,</span><span·class="w">249 ····</span><span·class="p"·data-group-id="6273156499-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="6273156499-12">}</span><span·class="p">,</span><span·class="w">
250 ····</span><span·class="p"·data-group-id="6701567510-13">{</span><span·class="ss">unreserved</span><span·class="p">,</span><span·class="w">250 ····</span><span·class="p"·data-group-id="6273156499-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="6701567510-13">}</span><span·class="p"·data-group-id="6701567510-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="6273156499-13">}</span><span·class="p"·data-group-id="6273156499-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="1745489734-1">(</span><span·class="p"·data-group-id="1745489734-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:·444,·SHA:·434746861787356f07fb5dbc511f1fd4a49101184a23b3aee22e7b33acc5ff53·...·]-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="8429335587-1">(</span><span·class="p"·data-group-id="8429335587-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:·444,·SHA:·99c879a597ff88a074acb316c7a679118a8026164ebc319f6b9ca093a6a551bf·...·]-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="9372917354-1">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%F6re%26bro%20&quot;</span><span·class="p"·data-group-id="9372917354-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="4980870447-1">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%F6re%26bro%20&quot;</span><span·class="p"·data-group-id="4980870447-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="9372917354-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="9372917354-3">[</span><span·class="ss">return_map</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·421706ae7bd75055a38511b6b773dd5b1c502f812baa361384266f282b738ed7·...·]-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="4980870447-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="4980870447-3">[</span><span·class="ss">return_map</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·121a76c92e5e8d46d1cd025b2d4556f5e01af3b8899e775a2390f50d5c0b6505·...·]-2">)</span><span·class="p">.</span><span·class="w">
267 ····</span><span·class="p"·data-group-id="9372917354-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="4980870447-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="9372917354-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="4980870447-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="3611384355-1">(</span><span·class="s">&quot;local%23host&quot;</span><span·class="p"·data-group-id="3611384355-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="9963547918-1">(</span><span·class="s">&quot;local%23host&quot;</span><span·class="p"·data-group-id="9963547918-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="3611384355-2">(</span><span·class="s">&quot;/%F6re%26bro%20&quot;</span><span·class="p"·data-group-id="3611384355-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="9963547918-2">(</span><span·class="s">&quot;/%F6re%26bro%20&quot;</span><span·class="p"·data-group-id="9963547918-2">)</span><span·class="p">.</span><span·class="w">
275 ····</span><span·class="p"·data-group-id="3611384355-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="3611384355-4">&lt;&lt;</span><span·class="s">&quot;/öre&amp;bro·&quot;</span><span·class="[·...·truncated·by·diffoscope;·len:·88,·SHA:·ec2e0c62327964a979ea3ae37e4d74aa4c07b97ea1477066dce803f82e4f8d5a·...·]-3">}</span><span·class="w">275 ····</span><span·class="p"·data-group-id="9963547918-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="9963547918-4">&lt;&lt;</span><span·class="s">&quot;/öre&amp;bro·&quot;</span><span·class="[·...·truncated·by·diffoscope;·len:·88,·SHA:·bc4f5255ed54b30895e46f67dadf9ec76e129e6dfa754095393cc8ff1d7fe94f·...·]-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="3611384355-5">(</span><span·class="p"·data-group-id="3611384355-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="9963547918-5">(</span><span·class="p"·data-group-id="9963547918-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="3611384355-6">}</span><span·class="p"·data-group-id="3611384355-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="9963547918-6">}</span><span·class="p"·data-group-id="9963547918-5">)</span><span·class="p">.</span><span·class="w">
278 ····</span><span·class="p"·data-group-id="3611384355-7">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p"·data-group-id="3611384355-8">{</span><span·class="ss">invalid</span><span·class="p">,</span><span·class="p"·data-group-id="3611384355-9">{</span><span·class="ss">pat[·...·truncated·by·diffoscope;·len:·517,·SHA:·24508eaa2dc1ad4022a3b77d999ad2fed646a7167a12f87dd271639ec0d4bedc·...·]-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="9963547918-7">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p"·data-group-id="9963547918-8">{</span><span·class="ss">invalid</span><span·class="p">,</span><span·class="p"·data-group-id="9963547918-9">{</span><span·class="ss">pat[·...·truncated·by·diffoscope;·len:·517,·SHA:·ea1b24cfd51c42191eb2ea720719f9ad4038e5567ffbf2345ae95cf7df7beb75·...·]-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="1383748392-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="1383748392-2">[</span><span·class="p"·data-group-id="1383748392-3">{</span><span·class="ss">in_encoding</[·...·truncated·by·diffoscope;·len:·230,·SHA:·12a66da2568c65ab668e0d74f006490b985e590d3710ee15bac0b2fbd7281faf·...·]-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="4343685899-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="4343685899-2">[</span><span·class="p"·data-group-id="4343685899-3">{</span><span·class="ss">in_encoding</[·...·truncated·by·diffoscope;·len:·230,·SHA:·5735d2d425df5df45b421b0aae47fb4866b881cea31e6bd5b891a9a6c35ac68f·...·]-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="1383748392-4">(</span><span·class="s">&quot;/%C3%B6re%26bro%20&quot;</span><span·class="p"·data-group-id="1383748392-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="4343685899-4">(</span><span·class="s">&quot;/%C3%B6re%26bro%20&quot;</span><span·class="p"·data-group-id="4343685899-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="2889574003-1">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%C3%B6re%26bro%20&quot;</span><span·class="p"·data-group-id="2889574003-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="8343057886-1">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%C3%B6re%26bro%20&quot;</span><span·class="p"·data-group-id="8343057886-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="2889574003-2">(</span><span·class="s">&quot;http://local#host/öre&amp;bro·&quot;</span><span·class="p"·data-group-id="2889574003-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="8343057886-2">(</span><span·class="s">&quot;http://local#host/öre&amp;bro·&quot;</span><span·class="p"·data-group-id="8343057886-2">)</span><span·class="p">.</span><span·class="w">
289 ····</span><span·class="p"·data-group-id="2889574003-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="2889574003-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="8343057886-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="8343057886-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;
799 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/win32reg.html
    
Offset 882, 15 lines modifiedOffset 882, 15 lines modified
882 ······<p·class="built-using">882 ······<p·class="built-using">
883 ········Built·using883 ········Built·using
884 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the884 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
885 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>885 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
886 ······</p>886 ······</p>
887 <p>Copyright·©·1996-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-7.0/doc/html/zip.html
    
Offset 1020, 37 lines modifiedOffset 1020, 37 lines modified
1020 <code·class="inline">Archive</code>,·starting·with·<code·class="inline">AccIn·==·Acc0</code>.</p><p><code·class="inline">FileInArchive</code>·is·the·name·that·the·file·has·in·the·archive.</p><p><code·class="inline">GetInfo</code>·is·a·fun·that·returns·information·about·the·file.</p><p><code·class="inline">GetBin</code>·returns·the·file·contents.</p><p>Both·<code·class="inline">GetInfo</code>·and·<code·class="inline">GetBin</code>·must·be·called·within·the·<code·class="inline">Fun</code>.·Their·behavior·is1020 <code·class="inline">Archive</code>,·starting·with·<code·class="inline">AccIn·==·Acc0</code>.</p><p><code·class="inline">FileInArchive</code>·is·the·name·that·the·file·has·in·the·archive.</p><p><code·class="inline">GetInfo</code>·is·a·fun·that·returns·information·about·the·file.</p><p><code·class="inline">GetBin</code>·returns·the·file·contents.</p><p>Both·<code·class="inline">GetInfo</code>·and·<code·class="inline">GetBin</code>·must·be·called·within·the·<code·class="inline">Fun</code>.·Their·behavior·is
1021 undefined·if·they·are·called·outside·the·context·of·<code·class="inline">Fun</code>.</p><p>The·<code·class="inline">Fun</code>·must·return·a·new·accumulator,·which·is·passed·to·the·next·call.1021 undefined·if·they·are·called·outside·the·context·of·<code·class="inline">Fun</code>.</p><p>The·<code·class="inline">Fun</code>·must·return·a·new·accumulator,·which·is·passed·to·the·next·call.
1022 <a·href="#foldl/3"><code·class="inline">foldl/3</code></a>·returns·the·final·accumulator·value.·<code·class="inline">Acc0</code>·is·returned1022 <a·href="#foldl/3"><code·class="inline">foldl/3</code></a>·returns·the·final·accumulator·value.·<code·class="inline">Acc0</code>·is·returned
1023 if·the·archive·is·empty.·It·is·not·necessary·to·iterate·over·all·files·in·the1023 if·the·archive·is·empty.·It·is·not·necessary·to·iterate·over·all·files·in·the
1024 archive.·The·iteration·can·be·ended·prematurely·in·a·controlled·manner·by1024 archive.·The·iteration·can·be·ended·prematurely·in·a·controlled·manner·by
1025 throwing·an·exception.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;dummy.zip&quot;</span><span·class="p">.</span><span·class="w">1025 throwing·an·exception.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;dummy.zip&quot;</span><span·class="p">.</span><span·class="w">
1026 </span><span·class="s">&quot;dummy.zip&quot;</span><span·class="gp·unselectable">1026 </span><span·class="s">&quot;dummy.zip&quot;</span><span·class="gp·unselectable">
1027 &gt;·</span><span·class="p"·data-group-id="0961701113-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0961701113-2">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·c[·...·truncated·by·diffoscope;·len:·1459,·SHA:·3142c8fa16db4857da2f088c28bac00bf9c8b239b5906429ca5000dda7983a40·...·]-3">)</span><span·class="p">.</span><span·class="w">1027 &gt;·</span><span·class="p"·data-group-id="0655871350-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0655871350-2">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·c[·...·truncated·by·diffoscope;·len:·1459,·SHA:·db05fc5fa659f143d7cf110b832883ffe7b7ad8343d695788dfbdca10aa5c5a3·...·]-3">)</span><span·class="p">.</span><span·class="w">
1028 </span><span·class="p"·data-group-id="0961701113-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0961701113-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="0655871350-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0655871350-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="0961701113-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="0655871350-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="0961701113-12">&gt;&gt;</span><span·class="p"·data-group-id="0961701113-11">}</span><span·class="p"·data-group-id="0961701113-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="0655871350-12">&gt;&gt;</span><span·class="p"·data-group-id="0655871350-11">}</span><span·class="p"·data-group-id="0655871350-10">}</span><span·class="gp·unselectable">
1031 &gt;·</span><span·class="p"·data-group-id="0961701113-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="0961701113-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·1786,·SHA:·e7a6d9d4060a1f83abf67f167b5db67139a7c4c311a4d04cafff396d11282efc·...·]-14">)</span><span·class="p">.</span><span·class="w">1031 &gt;·</span><span·class="p"·data-group-id="0655871350-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="0655871350-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·1786,·SHA:·22fecd8cb7bf4c3121bac2ab584d7b53ffa3838d71bf22a12dbc7ccd1ca4fafe·...·]-14">)</span><span·class="p">.</span><span·class="w">
1032 </span><span·class="p"·data-group-id="0961701113-22">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0961701113-23">[</span><span·class="p"·data-group-id="0961701113-24">{</span><span·class="s">&quot;bar&quot;</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·126,·SHA:·589ee22e1ee2b5cc805d4f3fa1c0926a6c565be1777f6f2106ca77503d6f68f4·...·]-25">&gt;&gt;</span><span·class="p">,</span><span·class="w">1032 </span><span·class="p"·data-group-id="0655871350-22">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0655871350-23">[</span><span·class="p"·data-group-id="0655871350-24">{</span><span·class="s">&quot;bar&quot;</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·126,·SHA:·d5a87d74fb4e39328f3284cccd5f617d7e44ed46609f2fb9157a51610019d062·...·]-25">&gt;&gt;</span><span·class="p">,</span><span·class="w">
1033 ······</span><span·class="p"·data-group-id="0961701113-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="0655871350-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="0961701113-27">{</span><span·class="p"·data-group-id="0961701113-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="0961701113-28">}</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·ea32778b81ebe7c47ba420c99aae6cc1e8d381ef1032778c312da61726bc40f8·...·]-27">}</span><span·class="p">,</span><span·class="w">1034 ·················</span><span·class="p"·data-group-id="0655871350-27">{</span><span·class="p"·data-group-id="0655871350-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="0655871350-28">}</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·5338570014b032eb0df365b853fd8cac5c872e1ee38fe4285becce10e6607bbe·...·]-27">}</span><span·class="p">,</span><span·class="w">
1035 ·················</span><span·class="p"·data-group-id="0961701113-30">{</span><span·class="p"·data-group-id="0961701113-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="0961701113-31">}</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·20161df67792b2d4d7f0b99c18177861b28c4ce4aa824e1f0ac956fd603cf7fa·...·]-30">}</span><span·class="p">,</span><span·class="w">1035 ·················</span><span·class="p"·data-group-id="0655871350-30">{</span><span·class="p"·data-group-id="0655871350-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="0655871350-31">}</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·7f3b8af8c6954523965caeb4862f3e30d5f1b0960891d60929a92dde64e3dbdd·...·]-30">}</span><span·class="p">,</span><span·class="w">
1036 ·················</span><span·class="p"·data-group-id="0961701113-33">{</span><span·class="p"·data-group-id="0961701113-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="0961701113-34">}</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·4e10ad3e4e1e542e64f566bcdb5a37e227950f70de8c8378a51719d6f33f87cb·...·]-33">}</span><span·class="p">,</span><span·class="w">1036 ·················</span><span·class="p"·data-group-id="0655871350-33">{</span><span·class="p"·data-group-id="0655871350-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="0655871350-34">}</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·1f44a7c88c817354f926de0cb35e530607c331aea4080fec0a081c62707af505·...·]-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="0961701113-26">}</span><span·class="p"·data-group-id="0961701113-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="0655871350-26">}</span><span·class="p"·data-group-id="0655871350-24">}</span><span·class="p">,</span><span·class="w">
1038 ·····</span><span·class="p"·data-group-id="0961701113-36">{</span><span·class="s">&quot;foo&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="0961701113-37">&lt;&lt;</span><span·class="s">&quot;FOO&quot;</span><span·class="p"·data-group-id="0961701113-37">&gt;&gt;</span><span·class="p">,</span><span·class="w">1038 ·····</span><span·class="p"·data-group-id="0655871350-36">{</span><span·class="s">&quot;foo&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="0655871350-37">&lt;&lt;</span><span·class="s">&quot;FOO&quot;</span><span·class="p"·data-group-id="0655871350-37">&gt;&gt;</span><span·class="p">,</span><span·class="w">
1039 ······</span><span·class="p"·data-group-id="0961701113-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="0655871350-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="0961701113-39">{</span><span·class="p"·data-group-id="0961701113-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="0961701113-40">}</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·c7bf87f2de07318f4aca7061a71a9964a2a0c618fa04f850f5e81d678df3040b·...·]-39">}</span><span·class="p">,</span><span·class="w">1040 ·················</span><span·class="p"·data-group-id="0655871350-39">{</span><span·class="p"·data-group-id="0655871350-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="0655871350-40">}</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·1256fb3df75e005e5f5f6117cb00b8a12d0a41f9fd6dda7118dfee241b5978c3·...·]-39">}</span><span·class="p">,</span><span·class="w">
1041 ·················</span><span·class="p"·data-group-id="0961701113-42">{</span><span·class="p"·data-group-id="0961701113-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="0961701113-43">}</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·a1108c4f5d9b4c9a8591730db5ad79fa9921a765b0c1384aefeb194e0a3920b6·...·]-42">}</span><span·class="p">,</span><span·class="w">1041 ·················</span><span·class="p"·data-group-id="0655871350-42">{</span><span·class="p"·data-group-id="0655871350-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="0655871350-43">}</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·d74ce96a965e65a7dfbf6df451ff01b93e04cc27385dfed85549c888c96acfa1·...·]-42">}</span><span·class="p">,</span><span·class="w">
1042 ·················</span><span·class="p"·data-group-id="0961701113-45">{</span><span·class="p"·data-group-id="0961701113-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="0961701113-46">}</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·4bf41931f8f6f37d50d8513b06994b05059f23a9e445460bbb4575914046843d·...·]-45">}</span><span·class="p">,</span><span·class="w">1042 ·················</span><span·class="p"·data-group-id="0655871350-45">{</span><span·class="p"·data-group-id="0655871350-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="0655871350-46">}</span>[·...·truncated·by·diffoscope;·len:·298,·SHA:·3c0555506dc9d3f63effb768fccb4132032d8412071b3bb8a74f2f6866fc1e85·...·]-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="0961701113-38">}</span><span·class="p"·data-group-id="0961701113-36">}</span><span·class="p"·data-group-id="0961701113-23">]</span><span·class="p"·data-group-id="0961701113-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="0655871350-38">}</span><span·class="p"·data-group-id="0655871350-36">}</span><span·class="p"·data-group-id="0655871350-23">]</span><span·class="p"·data-group-id="0655871350-22">}</span><span·class="gp·unselectable">
1044 &gt;·</span><span·class="p"·data-group-id="0961701113-48">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0961701113-49">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span[·...·truncated·by·diffoscope;·len:·835,·SHA:·85c3eb93d96bb055bdf1b783aa799d9d30e5c6d2fbc799429cdcac0891ce6371·...·]-50">)</span><span·class="p">.</span><span·class="w">1044 &gt;·</span><span·class="p"·data-group-id="0655871350-48">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0655871350-49">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span[·...·truncated·by·diffoscope;·len:·835,·SHA:·e652cb99afbd2256b3106eb73cd480852371d4e9df4692a827bb1e59a2521ddf·...·]-50">)</span><span·class="p">.</span><span·class="w">
1045 </span><span·class="p"·data-group-id="0961701113-53">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0961701113-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="0655871350-53">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0655871350-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="0961701113-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="0655871350-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="0961701113-55">&gt;&gt;</span><span·class="p"·data-group-id="0961701113-54">}</span><span·class="p"·data-group-id="0961701113-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="0655871350-55">&gt;&gt;</span><span·class="p"·data-group-id="0655871350-54">}</span><span·class="p"·data-group-id="0655871350-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="0961701113-56">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0961701113-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:·1432,·SHA:·e6325600746b823d52423ce6d3dbf5f2083035abec0ff497c88b3874645b42ff·...·]-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="0655871350-56">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0655871350-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:·1432,·SHA:·04a6a47339fbae54eb943c94420ba1d41a20dfa365623ae2eb4235d8eeed5462·...·]-56">)</span><span·class="p">.</span><span·class="w">
1049 </span><span·class="p"·data-group-id="0961701113-63">&lt;&lt;</span><span·class="s">&quot;FOO&quot;</span><span·class="p"·data-group-id="0961701113-63">&gt;&gt;</span></code></pre>1049 </span><span·class="p"·data-group-id="0655871350-63">&lt;&lt;</span><span·class="s">&quot;FOO&quot;</span><span·class="p"·data-group-id="0655871350-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
75.0 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/zstd.html
    
Offset 127, 33 lines modifiedOffset 127, 33 lines modified
127 ··</h1>127 ··</h1>
  
  
128 ····<section·id="moduledoc">128 ····<section·id="moduledoc">
129 <p>Zstandard·compression·interface.</p><p>This·module·provides·an·API·for·the·Zstandard·library129 <p>Zstandard·compression·interface.</p><p>This·module·provides·an·API·for·the·Zstandard·library
130 (<a·href="http://www.zstd.net">www.zstd.net</a>).·It·is·used·to·compress·and·decompress·data130 (<a·href="http://www.zstd.net">www.zstd.net</a>).·It·is·used·to·compress·and·decompress·data
131 and·offers·the·same·compression·ratio·as·<a·href="../../../../erts-16.0/doc/html/zlib.html"><code·class="inline">zlib</code></a>·but·at·a·lower·CPU·cost.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">~&quot;my·data·to·be·compressed&quot;</span><span·class="p">.</span><span·class="gp·unselectable">131 and·offers·the·same·compression·ratio·as·<a·href="../../../../erts-16.0/doc/html/zlib.html"><code·class="inline">zlib</code></a>·but·at·a·lower·CPU·cost.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">~&quot;my·data·to·be·compressed&quot;</span><span·class="p">.</span><span·class="gp·unselectable">
132 2&gt;·</span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="3337802720-1">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3337802720-1">)</span><span·class="p">.</span><span·class="gp·unselectable">132 2&gt;·</span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="6367236076-1">(</span><span·class="n">Data</span><span·class="p"·data-group-id="6367236076-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
133 3&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">decompress</span><span·class="p"·data-group-id="3337802720-2">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="3337802720-2">)</span><span·class="p">.</span><span·class="w">133 3&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">decompress</span><span·class="p"·data-group-id="6367236076-2">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="6367236076-2">)</span><span·class="p">.</span><span·class="w">
134 </span><span·class="p"·data-group-id="3337802720-3">[</span><span·class="s">~&quot;my·data·to·be·compressed&quot;</span><span·class="p"·data-group-id="3337802720-3">]</span></code></pre><p>If·you·are·compressing·or·decompressing·possibly·large·amounts·of·data,134 </span><span·class="p"·data-group-id="6367236076-3">[</span><span·class="s">~&quot;my·data·to·be·compressed&quot;</span><span·class="p"·data-group-id="6367236076-3">]</span></code></pre><p>If·you·are·compressing·or·decompressing·possibly·large·amounts·of·data,
135 it·is·also·possible·to·do·streamed·compression/decompression.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Compress</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="5639117842-1">(</span><span·class="n">Ctx</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="5639117842-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">135 it·is·also·possible·to·do·streamed·compression/decompression.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Compress</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="9233167641-1">(</span><span·class="n">Ctx</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="9233167641-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
136 ······················</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">read</span><span·class="p"·data-group-id="5639117842-2">(</span><span·class="n">D</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="5639117842-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">136 ······················</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">read</span><span·class="p"·data-group-id="9233167641-2">(</span><span·class="n">D</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="9233167641-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
137 ··························</span><span·class="p"·data-group-id="5639117842-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="5639117842-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">137 ··························</span><span·class="p"·data-group-id="9233167641-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="9233167641-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
138 ······························</span><span·class="p"·data-group-id="5639117842-4">{</span><span·class="ss">continue</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p"·data-group-id="5639117842-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·272,·SHA:·2e6678bf1aaec2b1953da0671035e717b3e40e3040a233fe7c0b8d0724435387·...·]-5">)</span><span·class="p">,</span><span·class="w">138 ······························</span><span·class="p"·data-group-id="9233167641-4">{</span><span·class="ss">continue</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p"·data-group-id="9233167641-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·272,·SHA:·3f418d284f01ed4c4ab30475d182fbeacab1105f87aa50cbd557b738b8c3ad15·...·]-5">)</span><span·class="p">,</span><span·class="w">
139 ······························</span><span·class="p"·data-group-id="5639117842-6">[</span><span·class="n">C</span><span·class="p">|</span><span·class="n">F</span><span·class="p"·data-group-id="5639117842-7">(</span><span·class="n">Ctx</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class[·...·truncated·by·diffoscope;·len:·83,·SHA:·cc734cde523213e1a48d7cc2b38c602b1e3bd0708b69fcb96b9d87034f527bfd·...·]-6">]</span><span·class="p">;</span><span·class="w">139 ······························</span><span·class="p"·data-group-id="9233167641-6">[</span><span·class="n">C</span><span·class="p">|</span><span·class="n">F</span><span·class="p"·data-group-id="9233167641-7">(</span><span·class="n">Ctx</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class[·...·truncated·by·diffoscope;·len:·83,·SHA:·0363ec30e14e4ac9a4cdfb6d58e4808a593de00f48898aea636b2737319d928a·...·]-6">]</span><span·class="p">;</span><span·class="w">
140 ··························</span><span·class="ss">eof</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">140 ··························</span><span·class="ss">eof</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
141 ······························</span><span·class="p"·data-group-id="5639117842-8">{</span><span·class="ss">done</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p"·data-group-id="5639117842-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·276,·SHA:·bbd793e5c9add284135b164c122712bea7b8d9de6cfe796d7e7e7a6833b6ed3c·...·]-9">)</span><span·class="p">,</span><span·class="w">141 ······························</span><span·class="p"·data-group-id="9233167641-8">{</span><span·class="ss">done</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p"·data-group-id="9233167641-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·276,·SHA:·cf5a1c7840a9686175c977b994a352bf1239614c85c4efbd53b4fa2e654086b1·...·]-9">)</span><span·class="p">,</span><span·class="w">
142 ······························</span><span·class="n">C</span><span·class="w">142 ······························</span><span·class="n">C</span><span·class="w">
143 ······················</span><span·class="k">end</span><span·class="w">143 ······················</span><span·class="k">end</span><span·class="w">
144 ··············</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">144 ··············</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">
145 2&gt;·</span><span·class="p"·data-group-id="5639117842-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ctx</span><span·class="p"·data-group-id="5639117842-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·203,·SHA:·45b7bf9ccdd0de5a8b9d886dca9164c222d0b0304204c54d9621303b806b5c19·...·]-11">)</span><span·class="p">.</span><span·class="gp·unselectable">145 2&gt;·</span><span·class="p"·data-group-id="9233167641-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ctx</span><span·class="p"·data-group-id="9233167641-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·203,·SHA:·7d643952ea577e1e6d0ca93ae21f43bb455dddaab98ec65748f4375d9624d66c·...·]-11">)</span><span·class="p">.</span><span·class="gp·unselectable">
146 3&gt;·</span><span·class="p"·data-group-id="5639117842-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="5639117842-12">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·407,·SHA:·aa641e2b34a4508b62103ca2da9fd069d8900dd1913a3575a70e2a612ec48499·...·]-13">)</span><span·class="p">.</span><span·class="gp·unselectable">146 3&gt;·</span><span·class="p"·data-group-id="9233167641-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="9233167641-12">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·407,·SHA:·20d1853d34378b6c510b238ad5e1697db905b1a80168db0526b303dc3898099f·...·]-13">)</span><span·class="p">.</span><span·class="gp·unselectable">
147 4&gt;·</span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">iolist_to_binary</span><span·class="p"·data-group-id="5639117842-15">(</span><span·class="n">Compress</span><span·class="p"·data-group-id="5639117842-16">(</span><span·class="n">Ctx</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="5639117842-16">)</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·ca04c219072afa37222b3223a72d7fbd08d6f5873304a8b7c54b3f82a5ea5656·...·]-15">)</span><span·class="p">.</span><span·class="w">147 4&gt;·</span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">iolist_to_binary</span><span·class="p"·data-group-id="9233167641-15">(</span><span·class="n">Compress</span><span·class="p"·data-group-id="9233167641-16">(</span><span·class="n">Ctx</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="9233167641-16">)</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·65fa037f869c8900374a315c686c86f571db40326d31cd5174066eb653c29bf6·...·]-15">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p"·data-group-id="5639117842-17">&lt;&lt;</span><span·class="mi">40</span><span·class="p">,</span><span·class="mi">181</span><span·class="p">,</span><span·class="mi">47</span><span·class="p">,</span><span·class="mi">253</span><span·class="p">,</span><span·class="mi">0</span[·...·truncated·by·diffoscope;·len:·800,·SHA:·5e8ad8a2e3cd6b7f5fea1ac88c838cb88afa925544d2d2fca6f0915dadb55749·...·]-17">&gt;&gt;</span><span·class="gp·unselectable">148 </span><span·class="p"·data-group-id="9233167641-17">&lt;&lt;</span><span·class="mi">40</span><span·class="p">,</span><span·class="mi">181</span><span·class="p">,</span><span·class="mi">47</span><span·class="p">,</span><span·class="mi">253</span><span·class="p">,</span><span·class="mi">0</span[·...·truncated·by·diffoscope;·len:·800,·SHA:·9acb9ca66ec7f8650490efed7c3e77df21423a4bb71af56bbd720031d75427fe·...·]-17">&gt;&gt;</span><span·class="gp·unselectable">
149 5&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">decompress</span><span·class="p"·data-group-id="5639117842-18">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="5639117842-18">)</span><span·class="p">.</span><span·class="w">149 5&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">decompress</span><span·class="p"·data-group-id="9233167641-18">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="9233167641-18">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="p"·data-group-id="5639117842-19">[</span><span·class="s">~&quot;lorem·ipsum&quot;</span><span·class="p"·data-group-id="5639117842-19">]</span></code></pre><p>In·all·functions·errors·can·be·thrown,·where·<code·class="inline">Reason</code>·describes·the·error.</p><p>Typical·<code·class="inline">Reason</code>s:</p><ul><li><strong><code·class="inline">badarg</code></strong>·-·Bad·argument.</li><li><strong><code·class="inline">zstd_error</code></strong>·-·An·error·generated·by·the·Zstandard·library.</li><li><strong><code·class="inline">not_on_controlling_process</code></strong>·-·The·context·was·used·by·a·process·that150 </span><span·class="p"·data-group-id="9233167641-19">[</span><span·class="s">~&quot;lorem·ipsum&quot;</span><span·class="p"·data-group-id="9233167641-19">]</span></code></pre><p>In·all·functions·errors·can·be·thrown,·where·<code·class="inline">Reason</code>·describes·the·error.</p><p>Typical·<code·class="inline">Reason</code>s:</p><ul><li><strong><code·class="inline">badarg</code></strong>·-·Bad·argument.</li><li><strong><code·class="inline">zstd_error</code></strong>·-·An·error·generated·by·the·Zstandard·library.</li><li><strong><code·class="inline">not_on_controlling_process</code></strong>·-·The·context·was·used·by·a·process·that
151 did·not·create·it.</li></ul>151 did·not·create·it.</li></ul>
152 ····</section>152 ····</section>
  
153 </div>153 </div>
  
154 ··<section·id="summary"·class="details-list">154 ··<section·id="summary"·class="details-list">
155 ····<h1·class="section-heading">155 ····<h1·class="section-heading">
Offset 725, 16 lines modifiedOffset 725, 16 lines modified
725 ······<div·class="specs">725 ······<div·class="specs">
  
726 ··········<pre·translate="no"><span·class="attribute">-spec</span>·compress(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Options·::·<a·href="#t:compress_parameters/0">compress_parameters</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>();726 ··········<pre·translate="no"><span·class="attribute">-spec</span>·compress(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Options·::·<a·href="#t:compress_parameters/0">compress_parameters</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>();
727 ··············(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Ctx·::·<a·href="#t:context/0">context</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>727 ··············(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Ctx·::·<a·href="#t:context/0">context</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>
  
728 ······</div>728 ······</div>
  
729 <p>Compress·<code·class="inline">Data</code>·using·the·given·<a·href="#t:compress_parameters/0"><code·class="inline">compress_parameters/0</code></a>·or·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="9689624549-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="9689624549-1">)</span><span·class="p">.</span><span·class="gp·unselectable">729 <p>Compress·<code·class="inline">Data</code>·using·the·given·<a·href="#t:compress_parameters/0"><code·class="inline">compress_parameters/0</code></a>·or·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="5827748417-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="5827748417-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
730 2&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="9689624549-2">(</span><span·class="s">&quot;abc&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9689624549-3">#{</span><span·class="w">·</span><span·class="ss">compressionLevel</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·190,·SHA:·52d2c142d1f40579649f87786bb002902b56b6521e4f1738414bcb2d97e8c74f·...·]-2">)</span><span·class="p">.</span></code></pre>730 2&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="5827748417-2">(</span><span·class="s">&quot;abc&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5827748417-3">#{</span><span·class="w">·</span><span·class="ss">compressionLevel</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·190,·SHA:·0a02319e8f0ff2280e9f9627759acd550b3e95e237896b3773b26e9269283e04·...·]-2">)</span><span·class="p">.</span></code></pre>
731 ··</section>731 ··</section>
732 </section>732 </section>
733 <section·class="detail"·id="context/1">733 <section·class="detail"·id="context/1">
  
734 ··<div·class="detail-header">734 ··<div·class="detail-header">
735 ····<a·href="#context/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">735 ····<a·href="#context/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
736 ······<i·class="ri-link-m"·aria-hidden="true"></i>736 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 841, 17 lines modifiedOffset 841, 17 lines modified
841 ······<div·class="specs">841 ······<div·class="specs">
  
842 ··········<pre·translate="no"><span·class="attribute">-spec</span>·decompress(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Options·::·<a·href="#t:decompress_parameters/0">decompress_parameters</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>();842 ··········<pre·translate="no"><span·class="attribute">-spec</span>·decompress(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Options·::·<a·href="#t:decompress_parameters/0">decompress_parameters</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>();
843 ················(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Ctx·::·<a·href="#t:context/0">context</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>843 ················(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Ctx·::·<a·href="#t:context/0">context</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>
  
844 ······</div>844 ······</div>
  
845 <p>Decompress·<code·class="inline">Data</code>·using·the·given·<a·href="#t:compress_parameters/0"><code·class="inline">compress_parameters/0</code></a>·or·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="3268846981-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="3268846981-1">)</span><span·class="p">.</span><span·class="gp·unselectable">845 <p>Decompress·<code·class="inline">Data</code>·using·the·given·<a·href="#t:compress_parameters/0"><code·class="inline">compress_parameters/0</code></a>·or·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="9465810208-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="9465810208-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
846 2&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">decompress</span><span·class="p"·data-group-id="3268846981-2">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="3268846981-2">)</span><span·class="p">.</span><span·class="w">846 2&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">decompress</span><span·class="p"·data-group-id="9465810208-2">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="9465810208-2">)</span><span·class="p">.</span><span·class="w">
847 </span><span·class="p"·data-group-id="3268846981-3">[</span><span·class="s">~&quot;abc&quot;</span><span·class="p"·data-group-id="3268846981-3">]</span></code></pre>847 </span><span·class="p"·data-group-id="9465810208-3">[</span><span·class="s">~&quot;abc&quot;</span><span·class="p"·data-group-id="9465810208-3">]</span></code></pre>
848 ··</section>848 ··</section>
849 </section>849 </section>
850 <section·class="detail"·id="dict/2">850 <section·class="detail"·id="dict/2">
  
851 ··<div·class="detail-header">851 ··<div·class="detail-header">
852 ····<a·href="#dict/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">852 ····<a·href="#dict/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
853 ······<i·class="ri-link-m"·aria-hidden="true"></i>853 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 908, 20 lines modifiedOffset 908, 20 lines modified
908 a·dictionary·for·compression.·Dictionaries·allow·good·compression·ratios908 a·dictionary·for·compression.·Dictionaries·allow·good·compression·ratios
909 even·for·small·amounts·of·data.</p><p>A·decompression·dictionary·can·be·used·as·a·<a·href="#t:decompress_parameters/0"><code·class="inline">decompress_parameters/0</code></a>·to·use909 even·for·small·amounts·of·data.</p><p>A·decompression·dictionary·can·be·used·as·a·<a·href="#t:decompress_parameters/0"><code·class="inline">decompress_parameters/0</code></a>·to·use
910 a·dictionary·for·decompression.·The·same·dictionary·has·to·be·used·for910 a·dictionary·for·decompression.·The·same·dictionary·has·to·be·used·for
911 compression·as·decompression.·To·verify·that·the·same·dictionary·is·used911 compression·as·decompression.·To·verify·that·the·same·dictionary·is·used
912 you·can·use·<a·href="#get_dict_id/1"><code·class="inline">get_dict_id/1</code></a>·on·the·dictionary·and·compressed·data,·or·just912 you·can·use·<a·href="#get_dict_id/1"><code·class="inline">get_dict_id/1</code></a>·on·the·dictionary·and·compressed·data,·or·just
913 try·to·decompress·as·decompression·will·raise·and·exception·if·an·incorrect913 try·to·decompress·as·decompression·will·raise·and·exception·if·an·incorrect
914 dictionary·is·given.</p><p>The·<code·class="inline">compressionLevel</code>·set·on·a·dictionary·will·override·the·<code·class="inline">compressionLevel</code>914 dictionary·is·given.</p><p>The·<code·class="inline">compressionLevel</code>·set·on·a·dictionary·will·override·the·<code·class="inline">compressionLevel</code>
915 set·in·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="6884210358-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CDict</span><span·class="p"·data-group-id="6884210358-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·274,·SHA:·c9896824c32ee10ecb8000bae420036ba8969a3d6f888f7de08a637384c14c27·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">915 set·in·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="4290493473-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CDict</span><span·class="p"·data-group-id="4290493473-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·274,·SHA:·5771d20b4791734348aea3c2f206c2de2707a94d775c216f595ff7f99657e30a·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">
916 2&gt;·</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">duplicate</span><span·class="p"·data-group-id="6884210358-3">(</span><span·class="mi">100</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6884210358-3">)</span><span·class="p">.</span><span·class="w">916 2&gt;·</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">duplicate</span><span·class="p"·data-group-id="4290493473-3">(</span><span·class="mi">100</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="4290493473-3">)</span><span·class="p">.</span><span·class="w">
917 </span><span·class="p"·data-group-id="6884210358-4">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">|</span><span·class="w"[·...·truncated·by·diffoscope;·len:·74,·SHA:·f713e26c7871174532b29d25cc9b3cfa91c4c16c46c3fde596f60098ebe478f1·...·]-4">]</span><span·class="gp·unselectable">917 </span><span·class="p"·data-group-id="4290493473-4">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">|</span><span·class="w"[·...·truncated·by·diffoscope;·len:·74,·SHA:·ce24a13c6ddc1dfba437d01d5a5b028dfc94ad3806f2243c2d57d0cc79eeac91·...·]-4">]</span><span·class="gp·unselectable">
918 3&gt;·</span><span·class="nf">iolist_size</span><span·class="p"·data-group-id="6884210358-5">(</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="6884210358-6">(</span><span·class="n">Data</span><span·class="p"·data-group-id="6884210358-6">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·18fe432fd6d226664f35c819fb84d832b02d09787c81033ba279f7738c26931a·...·]-5">)</span><span·class="p">.</span><span·class="w">918 3&gt;·</span><span·class="nf">iolist_size</span><span·class="p"·data-group-id="4290493473-5">(</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="4290493473-6">(</span><span·class="n">Data</span><span·class="p"·data-group-id="4290493473-6">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·83d8624b2ab7b19ba26cb17595093c997ca10025028a0f85843b4050c3851d95·...·]-5">)</span><span·class="p">.</span><span·class="w">
919 </span><span·class="mi">17</span><span·class="gp·unselectable">919 </span><span·class="mi">17</span><span·class="gp·unselectable">
920 4&gt;·</span><span·class="nf">iolist_size</span><span·class="p"·data-group-id="6884210358-7">(</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="6884210358-8">(</span><span·class="n">Data</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·552,·SHA:·b3918707da01f3be205183caf799b1f93ff5d063e034b793c92762501cb182d2·...·]-7">)</span><span·class="p">.</span><span·class="w">920 4&gt;·</span><span·class="nf">iolist_size</span><span·class="p"·data-group-id="4290493473-7">(</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="4290493473-8">(</span><span·class="n">Data</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·552,·SHA:·4c32e73e5e55e8e903816a507b855a0b603e018f4d4b1370f2e39a71b2842e5c·...·]-7">)</span><span·class="p">.</span><span·class="w">
921 </span><span·class="mi">16</span></code></pre><p>As·loading·a·dictionary·can·be·a·heavy·operations,·it·is·possible·to·create921 </span><span·class="mi">16</span></code></pre><p>As·loading·a·dictionary·can·be·a·heavy·operations,·it·is·possible·to·create
922 only·a·single·<a·href="#t:dict/0"><code·class="inline">dict/0</code></a>·and·provide·it·to·multiple·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>There·is·no·API·exposed·in·<a·href="zstd.html"><code·class="inline">zstd</code></a>·to·create·a·dictionary,·instead·use·the922 only·a·single·<a·href="#t:dict/0"><code·class="inline">dict/0</code></a>·and·provide·it·to·multiple·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>There·is·no·API·exposed·in·<a·href="zstd.html"><code·class="inline">zstd</code></a>·to·create·a·dictionary,·instead·use·the
923 <code·class="inline">zstd</code>·command·line·tool.</p>923 <code·class="inline">zstd</code>·command·line·tool.</p>
924 ··</section>924 ··</section>
925 </section>925 </section>
926 <section·class="detail"·id="finish/2">926 <section·class="detail"·id="finish/2">
  
Offset 945, 19 lines modifiedOffset 945, 19 lines modified
945 ······<div·class="specs">945 ······<div·class="specs">
  
946 ··········<pre·translate="no"><span·class="attribute">-spec</span>·finish(Ctx·::·<a·href="#t:context/0">context</a>(),·Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>())·->·Result·when·Result·::·{done,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iovec/0">erlang:iovec</a>()}.</pre>946 ··········<pre·translate="no"><span·class="attribute">-spec</span>·finish(Ctx·::·<a·href="#t:context/0">context</a>(),·Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>())·->·Result·when·Result·::·{done,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iovec/0">erlang:iovec</a>()}.</pre>
  
947 ······</div>947 ······</div>
  
948 <p>Finish·compressing/decompressing·data.</p><p>This·flushes·all·output·buffers·and·resets·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>·so948 <p>Finish·compressing/decompressing·data.</p><p>This·flushes·all·output·buffers·and·resets·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>·so
949 that·it·can·be·used·for·compressing/decompressing·again.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="6707995349-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DCtx</span><span·class="p"·data-group-id="6707995349-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·203,·SHA:·490cffb62496999b509f28faccb66accd35e5d98d7b5ff1ddabbe62123c84305·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">949 that·it·can·be·used·for·compressing/decompressing·again.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="5530796986-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DCtx</span><span·class="p"·data-group-id="5530796986-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·203,·SHA:·5670189ba9866bd50c1a559b1051ee24e187f0be884b34bd0fbee53aebb9f76b·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">
950 2&gt;·</span><span·class="p"·data-group-id="6707995349-3">{</span><span·class="ss">continue</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D1</span><span·class="p"·data-group-id="6707995349-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·595,·SHA:·7541f952c862194dd8dae72ef7484c803a7d624b2089721f67be40669d9dde44·...·]-4">)</span><span·class="p">.</span><span·class="gp·unselectable">950 2&gt;·</span><span·class="p"·data-group-id="5530796986-3">{</span><span·class="ss">continue</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D1</span><span·class="p"·data-group-id="5530796986-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·595,·SHA:·ec7c72dec9b3273fa820083f355089b12be59a81856fae410a53571ea48792a6·...·]-4">)</span><span·class="p">.</span><span·class="gp·unselectable">
951 3&gt;·</span><span·class="p"·data-group-id="6707995349-6">{</span><span·class="ss">done</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D2</span><span·class="p"·data-group-id="6707995349-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·636,·SHA:·fdf05473048f5f5387bfbac3225ea67fa8585e0bc4a0799a3aa864b361a60c93·...·]-7">)</span><span·class="p">.</span><span·class="gp·unselectable">951 3&gt;·</span><span·class="p"·data-group-id="5530796986-6">{</span><span·class="ss">done</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D2</span><span·class="p"·data-group-id="5530796986-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·636,·SHA:·4dc49d7a11bd88259880f907af53890235f5321e296c4e4b97b9e41a7cff710f·...·]-7">)</span><span·class="p">.</span><span·class="gp·unselectable">
952 4&gt;·</span><span·class="nf">iolist_to_binary</span><span·class="p"·data-group-id="6707995349-9">(</span><span·class="p"·data-group-id="6707995349-10">[</span><span·class="n">D1</span><span·class="p">,</span><span·class="n">D2</span><span·class="p"·data-group-id="6707995349-10">]</span><span·class="p"·data-group-id="6707995349-9">)</span><span·class="p">.</span><span·class="w">952 4&gt;·</span><span·class="nf">iolist_to_binary</span><span·class="p"·data-group-id="5530796986-9">(</span><span·class="p"·data-group-id="5530796986-10">[</span><span·class="n">D1</span><span·class="p">,</span><span·class="n">D2</span><span·class="p"·data-group-id="5530796986-10">]</span><span·class="p"·data-group-id="5530796986-9">)</span><span·class="p">.</span><span·class="w">
953 </span><span·class="p"·data-group-id="6707995349-11">&lt;&lt;</span><span·class="s">&quot;ab&quot;</span><span·class="p"·data-group-id="6707995349-11">&gt;&gt;</span></code></pre>953 </span><span·class="p"·data-group-id="5530796986-11">&lt;&lt;</span><span·class="s">&quot;ab&quot;</span><span·class="p"·data-group-id="5530796986-11">&gt;&gt;</span></code></pre>
954 ··</section>954 ··</section>
955 </section>955 </section>
956 <section·class="detail"·id="get_dict_id/1">956 <section·class="detail"·id="get_dict_id/1">
  
957 ··<div·class="detail-header">957 ··<div·class="detail-header">
958 ····<a·href="#get_dict_id/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">958 ····<a·href="#get_dict_id/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
959 ······<i·class="ri-link-m"·aria-hidden="true"></i>959 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 977, 18 lines modifiedOffset 977, 18 lines modified
  
977 ······<div·class="specs">977 ······<div·class="specs">
  
978 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_dict_id(DictOrFrame·::·<a·href="#t:dict/0">dict</a>()·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>978 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_dict_id(DictOrFrame·::·<a·href="#t:dict/0">dict</a>()·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>
  
979 ······</div>979 ······</div>
  
980 <p>Get·the·dictionary·ID·of·a·dictionary·or·a·frame.</p><p>The·dictionary·ID·0·represents·no·dictionary.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="7101059351-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CDict</span><span·class="p"·data-group-id="7101059351-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·273,·SHA:·09ec1f0344ac2d16270debbabda6dfcaabfe5a102a77c0a675767dc5c3f087a1·...·]1-2">)</span><span·class="p">.</span><span·class="gp·unselectable">980 <p>Get·the·dictionary·ID·of·a·dictionary·or·a·frame.</p><p>The·dictionary·ID·0·represents·no·dictionary.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="2875115671-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CDict</span><span·class="p"·data-group-id="2875115671-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·273,·SHA:·be93b5987475add1ba39b4e29eed9ea6e7b98862da7bd1d4a42872f28efa3b17·...·]1-2">)</span><span·class="p">.</span><span·class="gp·unselectable">
981 2&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">get_dict_id</span><span·class="p"·data-group-id="7101059351-3">(</span><span·class="n">CDict</span><span·class="p"·data-group-id="7101059351-3">)</span><span·class="p">.</span><span·class="w">981 2&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">get_dict_id</span><span·class="p"·data-group-id="2875115671-3">(</span><span·class="n">CDict</span><span·class="p"·data-group-id="2875115671-3">)</span><span·class="p">.</span><span·class="w">
982 </span><span·class="mi">1850243626</span><span·class="gp·unselectable">982 </span><span·class="mi">1850243626</span><span·class="gp·unselectable">
983 3&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">get_dict_id</span><span·class="p"·data-group-id="7101059351-4">(</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="7101059351-5">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="7101059351-5">)</span><span·[·...·truncated·by·diffoscope;·len:·34,·SHA:·004483146614ee29452300e2438296a95e0c3da0c8682e813f77ca61087d5214·...·]1-4">)</span><span·class="p">.</span><span·class="w">983 3&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">get_dict_id</span><span·class="p"·data-group-id="2875115671-4">(</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="2875115671-5">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="2875115671-5">)</span><span·[·...·truncated·by·diffoscope;·len:·34,·SHA:·4e0e4c3c1d1a77dc10efbd227eee106045144507050069b22e2e35cec71f8537·...·]1-4">)</span><span·class="p">.</span><span·class="w">
984 </span><span·class="mi">0</span></code></pre>984 </span><span·class="mi">0</span></code></pre>
985 ··</section>985 ··</section>
986 </section>986 </section>
987 <section·class="detail"·id="get_frame_header/1">987 <section·class="detail"·id="get_frame_header/1">
  
988 ··<div·class="detail-header">988 ··<div·class="detail-header">
Max diff block lines reached; 33546/76111 bytes (44.08%) of diff not shown.
536 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/404.html
    
Offset 139, 15 lines modifiedOffset 139, 15 lines modified
139 ······<p·class="built-using">139 ······<p·class="built-using">
140 ········Built·using140 ········Built·using
141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
143 ······</p>143 ······</p>
144 <p>Copyright·©·1996-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-4.0/doc/html/api-reference.html
    
Offset 249, 15 lines modifiedOffset 249, 15 lines modified
249 ······<p·class="built-using">249 ······<p·class="built-using">
250 ········Built·using250 ········Built·using
251 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the251 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
252 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>252 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
253 ······</p>253 ······</p>
254 <p>Copyright·©·1996-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-4.0/doc/html/chapter.html
    
Offset 177, 15 lines modifiedOffset 177, 15 lines modified
177 ······<p·class="built-using">177 ······<p·class="built-using">
178 ········Built·using178 ········Built·using
179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
181 ······</p>181 ······</p>
182 <p>Copyright·©·1996-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.55 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/epp_dodger.html
    
Offset 853, 15 lines modifiedOffset 853, 15 lines modified
853 ······<p·class="built-using">853 ······<p·class="built-using">
854 ········Built·using854 ········Built·using
855 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the855 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
856 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>856 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
857 ······</p>857 ······</p>
858 <p>Copyright·©·1996-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-4.0/doc/html/erl_comment_scan.html
    
Offset 433, 15 lines modifiedOffset 433, 15 lines modified
433 ······<p·class="built-using">433 ······<p·class="built-using">
434 ········Built·using434 ········Built·using
435 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the435 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
436 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>436 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
437 ······</p>437 ······</p>
438 <p>Copyright·©·1996-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-4.0/doc/html/erl_prettypr.html
    
Offset 969, 15 lines modifiedOffset 969, 15 lines modified
969 ······<p·class="built-using">969 ······<p·class="built-using">
970 ········Built·using970 ········Built·using
971 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the971 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
972 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>972 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
973 ······</p>973 ······</p>
974 <p>Copyright·©·1996-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.51 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/erl_recomment.html
    
Offset 379, 15 lines modifiedOffset 379, 15 lines modified
379 ······<p·class="built-using">379 ······<p·class="built-using">
380 ········Built·using380 ········Built·using
381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
383 ······</p>383 ······</p>
384 <p>Copyright·©·1996-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.3 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/erl_syntax.html
    
Offset 6714, 18 lines modifiedOffset 6714, 18 lines modified
  
6714 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_postcomments(<a·href="#t:syntaxTree/0">syntaxTree</a>())·->·[<a·href="#t:syntaxTree/0">syntaxTree</a>()].</pre>6714 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_postcomments(<a·href="#t:syntaxTree/0">syntaxTree</a>())·->·[<a·href="#t:syntaxTree/0">syntaxTree</a>()].</pre>
  
6715 ······</div>6715 ······</div>
  
6716 <p>Returns·the·associated·post-comments·of·a·node.</p><p>This·is·a·possibly·empty·list·of·abstract·comments,·in·top-down6716 <p>Returns·the·associated·post-comments·of·a·node.</p><p>This·is·a·possibly·empty·list·of·abstract·comments,·in·top-down
6717 textual·order.·When·the·code·is·formatted,·post-comments·are·typically6717 textual·order.·When·the·code·is·formatted,·post-comments·are·typically
6718 displayed·to·the·right·of·and/or·below·the·node.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6038106534-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="6038106534-1">}</span><span·class="w">·····</span><span·class="c1">%·Post-comment·of·tuple</span></code></pre><p>If·possible,·the·comment·should·be·moved·past·any·following·separator·characters6718 displayed·to·the·right·of·and/or·below·the·node.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4667892692-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="4667892692-1">}</span><span·class="w">·····</span><span·class="c1">%·Post-comment·of·tuple</span></code></pre><p>If·possible,·the·comment·should·be·moved·past·any·following·separator·characters
6719 on·the·same·line,·rather·than·placing·the·separators·on·the·following·line.6719 on·the·same·line,·rather·than·placing·the·separators·on·the·following·line.
6720 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="0783127031-1">(</span><span·class="p"·data-group-id="0783127031-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="0783127031-2">]</span><span·c[·...·truncated·by·diffoscope;·len:·106,·SHA:·9a1166d1261ae358bc3717c2ce84219cc32753b8d5aca1a85a8ee622a101bdcf·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">6720 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="8373387580-1">(</span><span·class="p"·data-group-id="8373387580-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="8373387580-2">]</span><span·c[·...·truncated·by·diffoscope;·len:·106,·SHA:·abc8023a2337dd660580d2ab1302161a9d8429e3c6972d5e3362d637705d19c7·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
6721 ····</span><span·class="nf">foo</span><span·class="p"·data-group-id="0783127031-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="0783127031-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="0783127031-4">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·7c4697238d48b54affe3a36efe8d0fb77d97b9c729561d10dad1b7e9266c48b9·...·]-3">)</span><span·class="p">;</span><span·class="w">·····</span><span·class="c1">%·Post-comment·of·&#39;bar(X)&#39;·node</span><span·class="w">6721 ····</span><span·class="nf">foo</span><span·class="p"·data-group-id="8373387580-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="8373387580-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="8373387580-4">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·ce477356d8001cdb20b14fdca5e2eb97494647f6ac856250b01dc075030e2805·...·]-3">)</span><span·class="p">;</span><span·class="w">·····</span><span·class="c1">%·Post-comment·of·&#39;bar(X)&#39;·node</span><span·class="w">
6722 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>(where·the·comment·is·moved·past·the·rightmost·&quot;<code·class="inline">)</code>&quot;·and·the·&quot;<code·class="inline">;</code>&quot;).</p><p><em>See·also:·</em><a·href="#comment/2"><code·class="inline">comment/2</code></a>,·<a·href="#get_attrs/1"><code·class="inline">get_attrs/1</code></a>,·<a·href="#get_precomments/1"><code·class="inline">get_precomments/1</code></a>,6722 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>(where·the·comment·is·moved·past·the·rightmost·&quot;<code·class="inline">)</code>&quot;·and·the·&quot;<code·class="inline">;</code>&quot;).</p><p><em>See·also:·</em><a·href="#comment/2"><code·class="inline">comment/2</code></a>,·<a·href="#get_attrs/1"><code·class="inline">get_attrs/1</code></a>,·<a·href="#get_precomments/1"><code·class="inline">get_precomments/1</code></a>,
6723 <a·href="#set_postcomments/2"><code·class="inline">set_postcomments/2</code></a>.</p>6723 <a·href="#set_postcomments/2"><code·class="inline">set_postcomments/2</code></a>.</p>
6724 ··</section>6724 ··</section>
6725 </section>6725 </section>
6726 <section·class="detail"·id="get_precomments/1">6726 <section·class="detail"·id="get_precomments/1">
  
6727 ··<div·class="detail-header">6727 ··<div·class="detail-header">
Offset 6748, 18 lines modifiedOffset 6748, 18 lines modified
6748 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_precomments(<a·href="#t:syntaxTree/0">syntaxTree</a>())·->·[<a·href="#t:syntaxTree/0">syntaxTree</a>()].</pre>6748 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_precomments(<a·href="#t:syntaxTree/0">syntaxTree</a>())·->·[<a·href="#t:syntaxTree/0">syntaxTree</a>()].</pre>
  
6749 ······</div>6749 ······</div>
  
6750 <p>Returns·the·associated·pre-comments·of·a·node.</p><p>This·is·a·possibly·empty·list·of·abstract·comments,·in·top-down6750 <p>Returns·the·associated·pre-comments·of·a·node.</p><p>This·is·a·possibly·empty·list·of·abstract·comments,·in·top-down
6751 textual·order.·When·the·code·is·formatted,·pre-comments·are·typically6751 textual·order.·When·the·code·is·formatted,·pre-comments·are·typically
6752 displayed·directly·above·the·node.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·Pre-comment·of·function</span><span·class="w">6752 displayed·directly·above·the·node.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·Pre-comment·of·function</span><span·class="w">
6753 </span><span·class="nf">foo</span><span·class="p"·data-group-id="9647783070-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="9647783070-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9647783070-2">{</span><span·class="ss">bar</span><[·...·truncated·by·diffoscope;·len:·112,·SHA:·e02ac288e5c9d6aa2af61a9de90e246d05ddc50e93a4221ad0b283782f31f703·...·]-2">}</span><span·class="p">.</span></code></pre><p>If·possible,·the·comment·should·be·moved·before·any·preceding·separator6753 </span><span·class="nf">foo</span><span·class="p"·data-group-id="0305074015-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="0305074015-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0305074015-2">{</span><span·class="ss">bar</span><[·...·truncated·by·diffoscope;·len:·112,·SHA:·2ca238e111f722e558d44acb9bbff7d6eaf193c7ec6b5639dc734329dec47cbb·...·]-2">}</span><span·class="p">.</span></code></pre><p>If·possible,·the·comment·should·be·moved·before·any·preceding·separator
6754 characters·on·the·same·line.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="5299853454-1">(</span><span·class="p"·data-group-id="5299853454-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="5299853454-2">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·ac4c61a2ffa909a0c69441ff248e241a537201934d3a159f46a40e36330d0f1c·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">6754 characters·on·the·same·line.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="2203801608-1">(</span><span·class="p"·data-group-id="2203801608-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="2203801608-2">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·45ef5634e6f5aaa6a37b77b56812c600d99ab154904dd0db77fe5ee61f52db08·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
6755 ····</span><span·class="c1">%·Pre-comment·of·&#39;bar(X)&#39;·node</span><span·class="w">6755 ····</span><span·class="c1">%·Pre-comment·of·&#39;bar(X)&#39;·node</span><span·class="w">
6756 ····</span><span·class="p"·data-group-id="5299853454-3">[</span><span·class="nf">bar</span><span·class="p"·data-group-id="5299853454-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="5299853454-4">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·194,·SHA:·a035c8a8d144af7ee1dc3de5dc364eae6e17bb23a52aa2077e3f81a706fe6f8d·...·]-3">]</span><span·class="p">;</span><span·class="w">6756 ····</span><span·class="p"·data-group-id="2203801608-3">[</span><span·class="nf">bar</span><span·class="p"·data-group-id="2203801608-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="2203801608-4">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·194,·SHA:·1ad2cbf0b66391fe027514aaad215ad4053c360f39cd916619e4a2353972c8da·...·]-3">]</span><span·class="p">;</span><span·class="w">
6757 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>(where·the·comment·is·moved·before·the·&quot;<code·class="inline">[</code>&quot;).</p><p><em>See·also:·</em><a·href="#comment/2"><code·class="inline">comment/2</code></a>,·<a·href="#get_attrs/1"><code·class="inline">get_attrs/1</code></a>,·<a·href="#get_postcomments/1"><code·class="inline">get_postcomments/1</code></a>,6757 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>(where·the·comment·is·moved·before·the·&quot;<code·class="inline">[</code>&quot;).</p><p><em>See·also:·</em><a·href="#comment/2"><code·class="inline">comment/2</code></a>,·<a·href="#get_attrs/1"><code·class="inline">get_attrs/1</code></a>,·<a·href="#get_postcomments/1"><code·class="inline">get_postcomments/1</code></a>,
6758 <a·href="#set_precomments/2"><code·class="inline">set_precomments/2</code></a>.</p>6758 <a·href="#set_precomments/2"><code·class="inline">set_precomments/2</code></a>.</p>
6759 ··</section>6759 ··</section>
6760 </section>6760 </section>
6761 <section·class="detail"·id="has_comments/1">6761 <section·class="detail"·id="has_comments/1">
  
6762 ··<div·class="detail-header">6762 ··<div·class="detail-header">
Offset 11947, 15 lines modifiedOffset 11947, 15 lines modified
11947 ······<p·class="built-using">11947 ······<p·class="built-using">
11948 ········Built·using11948 ········Built·using
11949 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the11949 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
11950 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>11950 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
11951 ······</p>11951 ······</p>
11952 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>11952 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
11953 ····</footer>11953 ····</footer>
11954 ··</div>11954 ··</div>
11955 </main>11955 </main>
11956 </div>11956 </div>
11957 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>11957 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
11958 ··<script>11958 ··<script>
11959 ··let·initialized·=·false;11959 ··let·initialized·=·false;
711 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/erl_syntax_lib.html
    
Offset 2386, 15 lines modifiedOffset 2386, 15 lines modified
2386 ······<p·class="built-using">2386 ······<p·class="built-using">
2387 ········Built·using2387 ········Built·using
2388 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2388 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2389 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2389 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2390 ······</p>2390 ······</p>
2391 <p>Copyright·©·1996-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.4 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/merl.html
    
Offset 134, 38 lines modifiedOffset 134, 38 lines modified
134 Merl·itself,·see·the·documentation·of·<a·href="erl_syntax.html"><code·class="inline">erl_syntax</code></a>.</p><h3·id="module-quick-start"·class="section-heading">134 Merl·itself,·see·the·documentation·of·<a·href="erl_syntax.html"><code·class="inline">erl_syntax</code></a>.</p><h3·id="module-quick-start"·class="section-heading">
135 ··<a·href="#module-quick-start"·class="hover-link">135 ··<a·href="#module-quick-start"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Quick·start</span>138 ··<span·class="text">Quick·start</span>
139 </h3>139 </h3>
140 <p>To·enable·the·full·power·of·Merl,·your·module·needs·to·include·the·Merl·header140 <p>To·enable·the·full·power·of·Merl,·your·module·needs·to·include·the·Merl·header
141 file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="5981635753-1">(</span><span·class="s">&quot;syntax_tools/include/merl.hrl&quot;</span><span·class="p"·data-group-id="5981635753-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="2608427437-1">(</span><span·class="s">&quot;syntax_tools/include/merl.hrl&quot;</span><span·class="p"·data-group-id="2608427437-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="0460815974-1">(</span><span·class="s">&quot;{foo,·42}&quot;</span><span·class="p"·data-group-id="0460815974-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="5025396491-1">(</span><span·class="s">&quot;{foo,·42}&quot;</span><span·class="p"·data-group-id="5025396491-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="0460815974-2">(</span><span·class="s">&quot;{foo,·_@Number}&quot;</span><span·class="p"·data-group-id="0460815974-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="5025396491-2">(</span><span·class="s">&quot;{foo,·_@Number}&quot;</span><span·class="p"·data-group-id="5025396491-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="0460815974-3">(</span><span·class="s">&quot;foo:bar(_@Number)&quot;</span><span·class="p"·data-group-id="0460815974-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:·72ed91b8c318133bab7b80371d2eee62799c5026285af3e1b2736a463df7d23f·...·]-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="5025396491-3">(</span><span·class="s">&quot;foo:bar(_@Number)&quot;</span><span·class="p"·data-group-id="5025396491-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:·915248d580a691757eaeb8509271a4cd576ed25549f352c64a7e0d765ede1ed4·...·]-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="1857759404-1">(</span><span·class="s">&quot;{foo,·_@Foo}&quot;</span><span·class="p"·data-group-id="1857759404-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:·96155bf22a2301fc8eee571f38da16166122c1dd0fe8277642083a51085b0325·...·]-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="0249008637-1">(</span><span·class="s">&quot;{foo,·_@Foo}&quot;</span><span·class="p"·data-group-id="0249008637-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:·6661dd4c1a06c73cd395c5c2d0fa68682cfc01cb633492d28e142727a47e3c64·...·]-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="1857759404-3">(</span><span·class="s">&quot;{bar,·_@Bar}&quot;</span><span·class="p"·data-group-id="1857759404-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:·48f3d9e18137c22681e521e3cb53eb33852716d70e86c5f91903b4d019409341·...·]-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="0249008637-3">(</span><span·class="s">&quot;{bar,·_@Bar}&quot;</span><span·class="p"·data-group-id="0249008637-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:·bdb67acb4bfb16fd78ebebd95b6db625dc7143635c8f7803932a4c2d511c920b·...·]-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="1857759404-6">(</span><span·class="p"·data-group-id="1857759404-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="0249008637-6">(</span><span·class="p"·data-group-id="0249008637-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="6783271352-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="6783271352-2">[</span><span·class="p"·data-group-id="6783271352-3">{</span><span·class="ss">bar</span[·...·truncated·by·diffoscope;·len:·452,·SHA:·39a5698cb34cbae0042d1696880d049e345f3a6bf18b83fc7eaf10c672b7ff79·...·]2-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="7062306132-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="7062306132-2">[</span><span·class="p"·data-group-id="7062306132-3">{</span><span·class="ss">bar</span[·...·truncated·by·diffoscope;·len:·452,·SHA:·9eb5b90b2a4ee97b40a93784d4cd28e31373b80fa1aead0988a0d4e4c539b7b6·...·]2-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="4499978993-1">(</span><span·class="p"·data-group-id="4499978993-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="4056723322-1">(</span><span·class="p"·data-group-id="4056723322-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="4499978993-2">]</span><span·class="p"·data-group-id="4499978993-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="4056723322-2">]</span><span·class="p"·data-group-id="4056723322-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="9799602408-1">(</span><span·class="s">&quot;{foo,·_@Number}&quot;</span><span·class="p"·data-group-id="9799602408-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·c[·...·truncated·by·diffoscope;·len:·139,·SHA:·197f2e0e9ebab7a6bf4fd5363774e2cfdc7c6ba5b7a5a11af4c38383e49b6ce7·...·]-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="1805992923-1">(</span><span·class="s">&quot;{foo,·_@Number}&quot;</span><span·class="p"·data-group-id="1805992923-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·c[·...·truncated·by·diffoscope;·len:·139,·SHA:·92f3bdb95597e4144a5a11ec43c92cbb5ba118250116464a6c757ac929282183·...·]-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="1498067173-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="1498067173-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="8617413761-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="8617413761-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="1498067173-2">(</span><span·class="s">&quot;{foo,·_@Bar@}&quot;</span><span·class="p"·data-group-id="1498067173-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="8617413761-2">(</span><span·class="s">&quot;{foo,·_@Bar@}&quot;</span><span·class="p"·data-group-id="8617413761-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="0217580321-1">(</span><span·class="n">Bar</span><span·class="p"·data-group-id="0217580321-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="6439899335-1">(</span><span·class="n">Bar</span><span·class="p"·data-group-id="6439899335-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="0217580321-2">(</span><span·class="s">&quot;{foo,·_@TmpBar}&quot;</span><span·class="p"·data-group-id="0217580321-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="6439899335-2">(</span><span·class="s">&quot;{foo,·_@TmpBar}&quot;</span><span·class="p"·data-group-id="6439899335-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="3444422742-1">(</span><span·class="s">&quot;-export([f/90919]).&quot;</span><span·class="p"·data-group-id="3444422742-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="5493874781-1">(</span><span·class="s">&quot;-export([f/90919]).&quot;</span><span·class="p"·data-group-id="5493874781-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="3444422742-2">(</span><span·class="n">Q1</span><span·class="p"·data-group-id="3444422742-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="5493874781-2">(</span><span·class="n">Q1</span><span·class="p"·data-group-id="5493874781-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="3444422742-3">(</span><span·class="s">&quot;-export([f/909299]).&quot;</span><span·class="p"·data-group-id="3444422742-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="5493874781-3">(</span><span·class="s">&quot;-export([f/909299]).&quot;</span><span·class="p"·data-group-id="5493874781-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="9227445998-1">(</span><span·class="s">&quot;f(_@Arg)&quot;</span><span·class="p"·data-group-id="9227445998-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="0507112445-1">(</span><span·class="s">&quot;f(_@Arg)&quot;</span><span·class="p"·data-group-id="0507112445-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="9662391538-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="0442354673-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="8044646683-1">(</span><span·class="s">&quot;-file(\&quot;&#39;@File\&quot;,·9090).&quot;</span><span·class="p"·data-group-id="8044646683-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:·f3bacf5f58bd24d685fb792e5c6ca277f9789c100ec8f6435eed7962d0503278·...·]-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="6291583267-1">(</span><span·class="s">&quot;-file(\&quot;&#39;@File\&quot;,·9090).&quot;</span><span·class="p"·data-group-id="6291583267-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:·4304a54c2e03b854f7c174a9002c27d0111a91dc844b9678b9615fb902706ae5·...·]-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="9391080786-1">(</span><span·class="s">&quot;{_@@Elements}&quot;</span><span·class="p"·data-group-id="9391080786-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:·358,·SHA:·ae4f7f7a56d0ead72fe6e628c105fef2af49e459296573055765c0f731ea67f1·...·]-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="0229941890-1">(</span><span·class="s">&quot;{_@@Elements}&quot;</span><span·class="p"·data-group-id="0229941890-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:·358,·SHA:·b91d0faff5e65e8fa08589a54cc1932f6387ab47ecb699ec3a4bc4cb8d862762·...·]-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="0179586900-1">(</span><span·class="s">&quot;{a,·b,·_@@Elements}&quot;</span><span·class="p"·data-group-id="0179586900-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="0179586900-2">(</span><span·class="p"·data-group-id="0179586900-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="0179586900-3">}</span><span·class="p"·data-group-id="0179586900-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="7770810980-1">(</span><span·class="s">&quot;{_@@Elements,·c,·d}&quot;</span><span·class="p"·data-group-id="7770810980-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="7770810980-2">(</span><span·class="p"·data-group-id="7770810980-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="7770810980-3">}</span><span·class="p"·data-group-id="7770810980-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="9220158192-1">(</span><span·class="s">&quot;{_@First,·_@@Rest}&quot;</span><span·[·...·truncated·by·diffoscope;·len:·1421,·SHA:·0b31384ee9125a5803749ff1386db6a3f5d7e5008cf853c6773b833a2d432571·...·]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="6784928852-1">(</span><span·class="s">&quot;{a,·b,·_@@Elements}&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·1720,·SHA:·28a76af8dad59426fab4edd3cfb23ec39be1b2423f6b782bf3782ddd2377e6c4·...·]
 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="2642640929-1">(</span><span·class="s">&quot;{_@First,·_@@Rest}&quot;</span><span·class="p"·data-group-id="2642640929-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="2642640929-2">(</span><span·class="p"·data-group-id="2642640929-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="2642640929-3">}</span><span·class="p"·data-group-id="2642640929-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="3222057776-1">(</span><span·class="s">&quot;{_@@_,·_@Last}&quot;</span><span·class="p"·data-group-id="3222057776-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="3222057776-2">(</span><span·class="p"·data-group-id="3222057776-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="3222057776-3">}</span><span·class="p"·data-group-id="3222057776-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="6216886589-1">(</span><span·class="s">&quot;-export([_@@Name]).&quot;</span><span·class="p"·data-group-id="6216886589-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="2093275859-1">(</span><span·class="s">&quot;-export([_@@Name]).&quot;</span><span·class="p"·data-group-id="2093275859-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="2098493068-1">(</span><span·class="s">&quot;-export([&#39;@_@Name&#39;/0]).&quot;</span><span·class="p"·data-group-id="2098493068-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="1441268959-1">(</span><span·class="s">&quot;-export([&#39;@_@Name&#39;/0]).&quot;</span><span·class="p"·data-group-id="1441268959-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="7999166629-1">(</span><span·class="s">&quot;-export([&#39;@__Name&#39;/0]).&quot;</span><span·class="p"·data-group-id="7999166629-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="2433351338-1">(</span><span·class="s">&quot;-export([&#39;@__Name&#39;/0]).&quot;</span><span·class="p"·data-group-id="2433351338-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="9402228742-1">(</span><span·class="p"·data-group-id="9402228742-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="1778337826-1">(</span><span·class="p"·data-group-id="1778337826-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="5486883957-1">(</span><span·class="nc">merl</span><span·class="p">:</span><span·class="nf">quote</span><span·class="p"·data-group-id="5486883957-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:·2158a13c58b4babecda22c323a5d250104f9bb2b200265f77e4cae5ac84d020b·...·]-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="3813381163-1">(</span><span·class="nc">merl</span><span·class="p">:</span><span·class="nf">quote</span><span·class="p"·data-group-id="3813381163-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:·bcdae8f4ca0e998c4803a14ead0571e8a705a77be75a116513d18efeb69008d7·...·]-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-4.0/doc/html/merl_transform.html
    
Offset 152, 15 lines modifiedOffset 152, 15 lines modified
152 ······<p·class="built-using">152 ······<p·class="built-using">
153 ········Built·using153 ········Built·using
154 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the154 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
155 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>155 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
156 ······</p>156 ······</p>
157 <p>Copyright·©·1996-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
13.5 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/notes.html
    
Offset 139, 21 lines modifiedOffset 139, 21 lines modified
139 </h3>139 </h3>
140 <ul><li><p>A·few·minor·issues·were·corrected·in·<code·class="inline">m:syntax_tools</code>,·as·well·in·the·<a·href="../../../../lib/stdlib-7.0/doc/html/erl_anno.html"><code·class="inline">erl_anno</code></a>·module.</p><p>Own·Id:·OTP-19422·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9253"·title="">PR-9253</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>A·few·minor·issues·were·corrected·in·<code·class="inline">m:syntax_tools</code>,·as·well·in·the·<a·href="../../../../lib/stdlib-7.0/doc/html/erl_anno.html"><code·class="inline">erl_anno</code></a>·module.</p><p>Own·Id:·OTP-19422·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9253"·title="">PR-9253</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="3673233888-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="[·...·truncated·by·diffoscope;·len:·691,·SHA:·ce9d16673b9bb1ab3a1275b30029810906f23d30493ed06216437d6c53401626·...·]-1">]</span><span·class="p">.</span><span·class="w">146 <ul><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="5146761391-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="[·...·truncated·by·diffoscope;·len:·691,·SHA:·f12837cebf06e7c71029b97b7ddc14780af0495e8fb31a05f19a51f242d436f4·...·]-1">]</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p"·data-group-id="3673233888-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="3673233888-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the147 </span><span·class="p"·data-group-id="5146761391-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="5146761391-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the
148 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching148 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching
149 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="6998942942-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="6998942942-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="6998942942-2">}</span><span·class="o">=</span><span·class="n">T</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="6998942942-3">[</span><span·class="p"·data-group-id="6998942942-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6998942942-4">}</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6998942942-5">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6998942942-5">}</span><span·class="p"·data-group-id="6998942942-3">]</span><span·class="p"·data-group-id="6998942942-1">]</span><span·class="p">.</span><span·class="w"> 
150 </span><span·class="p"·data-group-id="6998942942-6">[</span><span·class="p"·data-group-id="6998942942-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6998942942-7">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·340,·SHA:·91a2e90cebaa899597b0e132b22ce5eb62c3f927e253d9c66884ba2e32aa3b9e·...·]149 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="2216071133-1">[</span><span·class="n">T</span><span·class[·...·truncated·by·diffoscope;·len:·1002,·SHA:·8577ec5f1733492f0e548713492dcc89be185d711969b131123a25219f07e562·...·]
 150 </span><span·class="p"·data-group-id="2216071133-6">[</span><span·class="p"·data-group-id="2216071133-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2216071133-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="2216071133-8">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="2216071133-8">}</span><span·class="p"·data-group-id="2216071133-6">]</span></code></pre><p>If·the·intention·is·that·all·lists·processed·by·a·list·comprehension·must·only
151 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures151 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures
152 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="2959960950-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="2959960950-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·ba56bb04575f5761b47493d1a8a7aa84fb7d272e404781be4a95cf96d2b0d0bc·...·]-1">]</span><span·class="p">.</span><span·class="w">152 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="3360234391-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="3360234391-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·b4a97c2e55dff09211dbc61eea23fe9ee5e08fe0b8a4c08ac3e2ac617367dfec·...·]-1">]</span><span·class="p">.</span><span·class="w">
153 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="syntax_tools-3-2-2"·class="section-heading">153 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="syntax_tools-3-2-2"·class="section-heading">
154 ··<a·href="#syntax_tools-3-2-2"·class="hover-link">154 ··<a·href="#syntax_tools-3-2-2"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Syntax_Tools·3.2.2</span>157 ··<span·class="text">Syntax_Tools·3.2.2</span>
158 </h2>158 </h2>
159 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">159 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">
Offset 943, 15 lines modifiedOffset 943, 15 lines modified
943 ······<p·class="built-using">943 ······<p·class="built-using">
944 ········Built·using944 ········Built·using
945 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the945 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
946 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>946 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
947 ······</p>947 ······</p>
948 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>948 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
949 ····</footer>949 ····</footer>
950 ··</div>950 ··</div>
951 </main>951 </main>
952 </div>952 </div>
953 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>953 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
954 ··<script>954 ··<script>
955 ··let·initialized·=·false;955 ··let·initialized·=·false;
649 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/prettypr.html
    
Offset 1122, 15 lines modifiedOffset 1122, 15 lines modified
1122 ······<p·class="built-using">1122 ······<p·class="built-using">
1123 ········Built·using1123 ········Built·using
1124 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1124 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1125 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1125 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1126 ······</p>1126 ······</p>
1127 <p>Copyright·©·1996-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-4.0/doc/html/search.html
    
Offset 137, 15 lines modifiedOffset 137, 15 lines modified
137 ······<p·class="built-using">137 ······<p·class="built-using">
138 ········Built·using138 ········Built·using
139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
141 ······</p>141 ······</p>
142 <p>Copyright·©·1996-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;
403 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.3/doc/html/api-reference.html
    
Offset 190, 15 lines modifiedOffset 190, 15 lines modified
190 ······<p·class="built-using">190 ······<p·class="built-using">
191 ········Built·using191 ········Built·using
192 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the192 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
193 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>193 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
194 ······</p>194 ······</p>
195 <p>Copyright·©·1996-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.3/doc/html/getting_started.html
    
Offset 124, 17 lines modifiedOffset 124, 17 lines modified
  
124 ····<span>Examples</span>124 ····<span>Examples</span>
125 ··</h1>125 ··</h1>
  
126 <p>The·<a·href="tftp.html#start/1">start/1</a>·function·starts·a·daemon·process·listening·for·UDP126 <p>The·<a·href="tftp.html#start/1">start/1</a>·function·starts·a·daemon·process·listening·for·UDP
127 packets·on·a·port.·When·it·receives·a·request·for·read·or·write,·it·spawns·a127 packets·on·a·port.·When·it·receives·a·request·for·read·or·write,·it·spawns·a
128 temporary·server·process·handling·the·transfer.</p><p>This·is·a·simple·example·of·starting·the·TFTP·server·and·reading·the·content·of128 temporary·server·process·handling·the·transfer.</p><p>This·is·a·simple·example·of·starting·the·TFTP·server·and·reading·the·content·of
129 a·sample·file·using·the·TFTP·client.</p><p><em>Step·1.</em>·Create·a·sample·file·to·be·used·for·the·transfer:</p><pre><code·class="text">······$·echo·&quot;Erlang/OTP·21&quot;·&gt;·file.txt</code></pre><p><em>Step·2.</em>·Start·the·TFTP·server:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5768183854-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="5768183854-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">tftp</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="5768183854-2">(</span><span·class="p"·data-group-id="5768183854-3">[</span><span·class="p"·data-group-id="5768183854-4">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">19999</span><span·class="p"·data-group-id="5768183854-4">}</span><span·class="p"·data-group-id="5768183854-3">]</span><span·class="p"·data-group-id="5768183854-2">)</span><span·class="p">.</span><span·class="w"> 
130 ······</span><span·class="p"·data-group-id="5768183854-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="5768183854-5">}</span></code></pre><p><em>Step·3.</em>·Start·the·TFTP·client·(in·another·shell):</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">tftp</span><span·class="p">:</span><span·class="nf">read_file</span><span·class="p"·data-group-id="7970226661-1">(</span><span·class="s">&quot;file.txt&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7970226661-2">[</span><span·class="p"·data-group-id="7970226661-3">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">19999</span><span·class="p"·data-group-id="7970226661-3">}</span><span·class="p"·data-group-id="7970226661-2">]</span><span·class="p"·data-group-id="7970226661-1">)</span><span·class="p">.</span><span·class="w"> 
131 ······</span><span·class="p"·data-group-id="7970226661-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7970226661-5">&lt;&lt;</span><span·class="s">&quot;Erlang/OTP·21\n&quot;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·95,·SHA:·a98fb0f08db3a05b24bb303abd750b2dc46145a1e4f035e8ab1929c5044ced61·...·]>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><co[·...·truncated·by·diffoscope;·len:·966,·SHA:·a938bd209024691523af725bcfc5b2c5cf270ce7fb2bbc5792d0302394af058e·...·]>
 130 ······</span><span·class="p"·data-group-id="7229776635-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="7229776635-5">}</span></code></pre><p><em>Step·3.</em>·Start·the·TFTP·client·(in·another·shell):</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">tftp</span><span·class="p">:</span><span·class="nf">read_file</span><span·class="p"·data-group-id="1419689214-1">(</span><span·class="s">&quot;file.txt&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1419689214-2">[</span><span·class="p"·data-group-id="1419689214-3">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">19999</span><span·class="p"·data-group-id="1419689214-3">}</span><span·class="p"·data-group-id="1419689214-2">]</span><span·class="p"·data-group-id="1419689214-1">)</span><span·class="p">.</span><span·class="w">
 131 ······</span><span·class="p"·data-group-id="1419689214-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1419689214-5">&lt;&lt;</span><span·class="s">&quot;Erlang/OTP·21\n&quot;</span><span·class="p"·data-group-id="1419689214-5">&gt;&gt;</span><span·class="p"·data-group-id="1419689214-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.3/doc/html/introduction.html
    
Offset 185, 15 lines modifiedOffset 185, 15 lines modified
185 ······<p·class="built-using">185 ······<p·class="built-using">
186 ········Built·using186 ········Built·using
187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
189 ······</p>189 ······</p>
190 <p>Copyright·©·1996-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.3/doc/html/notes.html
    
Offset 320, 15 lines modifiedOffset 320, 15 lines modified
320 ······<p·class="built-using">320 ······<p·class="built-using">
321 ········Built·using321 ········Built·using
322 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the322 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
323 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>323 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
324 ······</p>324 ······</p>
325 <p>Copyright·©·1996-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;
675 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/tftp-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;
461 B
html2text {}
Max HTML report size reached
91.4 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/tftp.epub
2.39 KB
zipinfo {}
Max HTML report size reached
78.2 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
3.1 KB
OEBPS/tftp.xhtml
Max HTML report size reached
5.97 KB
OEBPS/getting_started.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
Max HTML report size reached
4.55 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/tftp.html
    
Offset 130, 15 lines modifiedOffset 130, 15 lines modified
130 ····<section·id="moduledoc">130 ····<section·id="moduledoc">
131 <p>Trivial·FTP.</p><p>Interface·module·for·the·<code·class="inline">tftp</code>·application.</p><h2·id="module-overwiew"·class="section-heading">131 <p>Trivial·FTP.</p><p>Interface·module·for·the·<code·class="inline">tftp</code>·application.</p><h2·id="module-overwiew"·class="section-heading">
132 ··<a·href="#module-overwiew"·class="hover-link">132 ··<a·href="#module-overwiew"·class="hover-link">
133 ····<i·class="ri-link-m"·aria-hidden="true"></i>133 ····<i·class="ri-link-m"·aria-hidden="true"></i>
134 ··</a>134 ··</a>
135 ··<span·class="text">Overwiew</span>135 ··<span·class="text">Overwiew</span>
136 </h2>136 </h2>
137 <p>This·is·a·complete·implementation·of·the·following·IETF·standards:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">1350</span><span·class="p">,</span><span·class="w">·</span><span·class="n">The</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Protocol</span><span·class="w">·</span><span·class="p"·data-group-id="5214163957-1">(</span><span·class="ss">revision</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="5214163957-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="9842485564-1">(</span><span·class="ss">revision</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="9842485564-1">)</span><span·class="p">.</span><span·class="w">
138 </span><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">2347</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Option</span><span·class="w">·</span><span·class="n">Extension</span><span·class="p">.</span><span·class="w">138 </span><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">2347</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Option</span><span·class="w">·</span><span·class="n">Extension</span><span·class="p">.</span><span·class="w">
139 </span><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">2348</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Blocksize</span><span·class="w">·</span><span·class="n">Option</span><span·class="p">.</span><span·class="w">139 </span><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">2348</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Blocksize</span><span·class="w">·</span><span·class="n">Option</span><span·class="p">.</span><span·class="w">
140 </span><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">2349</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="w">·</span><span·class="n">Interval</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="n">Transfer</span><span·class="w">·</span><span·class="n">Size</span><span·class="w">·</span><span·class="n">Options</span><span·class="p">.</span></code></pre><p>The·only·feature·that·not·is·implemented·in·this·release·is140 </span><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">2349</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="w">·</span><span·class="n">Interval</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="n">Transfer</span><span·class="w">·</span><span·class="n">Size</span><span·class="w">·</span><span·class="n">Options</span><span·class="p">.</span></code></pre><p>The·only·feature·that·not·is·implemented·in·this·release·is
141 the·&quot;netascii&quot;·transfer·mode.</p><p>The·<a·href="#start/1">start</a>·function·starts·a·daemon·process·which,·listens141 the·&quot;netascii&quot;·transfer·mode.</p><p>The·<a·href="#start/1">start</a>·function·starts·a·daemon·process·which,·listens
142 for·UDP·packets·on·a·port.·When·it·receives·a·request·for·read·or142 for·UDP·packets·on·a·port.·When·it·receives·a·request·for·read·or
143 write·it·spawns·a·temporary·server·process·which·handles·the·actual143 write·it·spawns·a·temporary·server·process·which·handles·the·actual
144 transfer·of·the·file.·On·the·client·side·the144 transfer·of·the·file.·On·the·client·side·the
Offset 948, 15 lines modifiedOffset 948, 15 lines modified
948 ······<p·class="built-using">948 ······<p·class="built-using">
949 ········Built·using949 ········Built·using
950 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the950 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
951 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>951 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
952 ······</p>952 ······</p>
953 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>953 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
954 ····</footer>954 ····</footer>
955 ··</div>955 ··</div>
956 </main>956 </main>
957 </div>957 </div>
958 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>958 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
959 ··<script>959 ··<script>
960 ··let·initialized·=·false;960 ··let·initialized·=·false;
702 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/tftp_logger.html
    
Offset 301, 15 lines modifiedOffset 301, 15 lines modified
301 ······<p·class="built-using">301 ······<p·class="built-using">
302 ········Built·using302 ········Built·using
303 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the303 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
304 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>304 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
305 ······</p>305 ······</p>
306 <p>Copyright·©·1996-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.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.43 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/api-reference.html
    
Offset 256, 15 lines modifiedOffset 256, 15 lines modified
256 ······<p·class="built-using">256 ······<p·class="built-using">
257 ········Built·using257 ········Built·using
258 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the258 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
259 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>259 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
260 ······</p>260 ······</p>
261 <p>Copyright·©·1996-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.2/doc/html/cover.html
    
Offset 1507, 15 lines modifiedOffset 1507, 15 lines modified
1507 ······</div>1507 ······</div>
  
1508 <p>Analyzes·one·or·more·modules·as·specified·by·<code·class="inline">Arg</code>.</p><p>If·<code·class="inline">Arg</code>·is·one·of·the·values·in·<a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>,·this1508 <p>Analyzes·one·or·more·modules·as·specified·by·<code·class="inline">Arg</code>.</p><p>If·<code·class="inline">Arg</code>·is·one·of·the·values·in·<a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>,·this
1509 call·is·equivalent·to·<a·href="#analyse/3"><code·class="inline">analyse('_',·Arg,·function)</code></a>.</p><p>If·<code·class="inline">Arg</code>·is·one·of·the·values·in·<a·href="#t:level/0"><code·class="inline">level()</code></a>,·this1509 call·is·equivalent·to·<a·href="#analyse/3"><code·class="inline">analyse('_',·Arg,·function)</code></a>.</p><p>If·<code·class="inline">Arg</code>·is·one·of·the·values·in·<a·href="#t:level/0"><code·class="inline">level()</code></a>,·this
1510 call·is·equivalent·to·<a·href="#analyse/3"><code·class="inline">analyse('_',·coverage,·Arg)</code></a>.</p><p>Otherwise·<code·class="inline">Arg</code>·is·assumed·to·be·a·module·name,·and·this·call·is·equivalent1510 call·is·equivalent·to·<a·href="#analyse/3"><code·class="inline">analyse('_',·coverage,·Arg)</code></a>.</p><p>Otherwise·<code·class="inline">Arg</code>·is·assumed·to·be·a·module·name,·and·this·call·is·equivalent
1511 to·<a·href="#analyse/3"><code·class="inline">analyse(Arg,·coverage,·function)</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>To·analyze·a·module·whose·name·overlaps·with·one·the·values·in1511 to·<a·href="#analyse/3"><code·class="inline">analyse(Arg,·coverage,·function)</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>To·analyze·a·module·whose·name·overlaps·with·one·the·values·in
1512 <a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>·or·<a·href="#t:level/0"><code·class="inline">level()</code></a>,·the·module1512 <a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>·or·<a·href="#t:level/0"><code·class="inline">level()</code></a>,·the·module
1513 name·has·to·be·in·a·list.·For·example,·to·analyze·a·module·named·<code·class="inline">calls</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="4102262561-1">(</span><span·class="p"·data-group-id="4102262561-2">[</span><span·class="ss">calls</span><span·class="p"·data-group-id="4102262561-2">]</span><span·class="p"·data-group-id="4102262561-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="3421657868-1">(</span><span·class="p"·data-group-id="3421657868-2">[</span><span·class="ss">calls</span><span·class="p"·data-group-id="3421657868-2">]</span><span·class="p"·data-group-id="3421657868-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="7128411747-1">(</span><span·class="p"·data-group-id="7128411747-2">[</span><span·class="ss">calls</span><span·class="p"·data-group-id="7128411747-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">function</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·42c5b36d0fddea1f6f6a61a4a4d857e9f5d172d9e453db9e7e5d31c68faa384a·...·]7-1">)</span><span·class="p">.</span></code></pre></section>1554 list.·For·example,·to·analyze·a·module·named·<code·class="inline">calls</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="4541736477-1">(</span><span·class="p"·data-group-id="4541736477-2">[</span><span·class="ss">calls</span><span·class="p"·data-group-id="4541736477-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">function</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·3d22fa0c8f837955ebb848570c5de62d18513fd59f84e047820e56e66256f127·...·]7-1">)</span><span·class="p">.</span></code></pre></section>
1555 ··</section>1555 ··</section>
1556 </section>1556 </section>
1557 <section·class="detail"·id="analyse/3">1557 <section·class="detail"·id="analyse/3">
  
1558 ··<div·class="detail-header">1558 ··<div·class="detail-header">
1559 ····<a·href="#analyse/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1559 ····<a·href="#analyse/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1560 ······<i·class="ri-link-m"·aria-hidden="true"></i>1560 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1650, 15 lines modifiedOffset 1650, 15 lines modified
  
1650 ······</div>1650 ······</div>
  
1651 <p>If·<code·class="inline">Arg</code>·is·a·list·of·<a·href="#t:analyse_option/0"><code·class="inline">analyse_option()</code></a>1651 <p>If·<code·class="inline">Arg</code>·is·a·list·of·<a·href="#t:analyse_option/0"><code·class="inline">analyse_option()</code></a>
1652 options,·this·call·is·equivalent·to·<a·href="#analyse_to_file/2"><code·class="inline">analyse_to_file('_',·Arg)</code></a>.</p><p>Otherwise·<code·class="inline">Arg</code>·is·assumed·to·be·a·module,·and·this·call·is·equivalent·to1652 options,·this·call·is·equivalent·to·<a·href="#analyse_to_file/2"><code·class="inline">analyse_to_file('_',·Arg)</code></a>.</p><p>Otherwise·<code·class="inline">Arg</code>·is·assumed·to·be·a·module,·and·this·call·is·equivalent·to
1653 <a·href="#analyse_to_file/2"><code·class="inline">analyse_to_file(Arg,·[])</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>To·analyze·a·module·of·the·name·<code·class="inline">html</code>·(which·overlaps·with·an·option1653 <a·href="#analyse_to_file/2"><code·class="inline">analyse_to_file(Arg,·[])</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>To·analyze·a·module·of·the·name·<code·class="inline">html</code>·(which·overlaps·with·an·option
1654 in·<a·href="#t:analyse_option/0"><code·class="inline">analyse_option()</code></a>),·it·is·necessary·to1654 in·<a·href="#t:analyse_option/0"><code·class="inline">analyse_option()</code></a>),·it·is·necessary·to
1655 use·<a·href="#analyse_to_file/2"><code·class="inline">cover:analyse_to_file/2</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse_to_file</span><span·class="p"·data-group-id="0523215466-1">(</span><span·class="p"·data-group-id="0523215466-2">[</span><span·class="ss">html</span><span·class="p"·data-group-id="0523215466-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0523215466-3">[</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·35338e4679ae6d4e71f7ae9c180a060664acd0b1fdcd233a25a5d9ad6a61bd78·...·]-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="5496937920-1">(</span><span·class="p"·data-group-id="5496937920-2">[</span><span·class="ss">html</span><span·class="p"·data-group-id="5496937920-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5496937920-3">[</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·a1f024807b59a671236adc76fdeaaac2600cc53b230f5f76f3e27799a12b7ee5·...·]-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.2/doc/html/cover_chapter.html
Max HTML report size reached
4.94 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/cprof.html
    
Offset 574, 15 lines modifiedOffset 574, 15 lines modified
574 ······<div·class="specs">574 ······<div·class="specs">
  
575 ··········<pre·translate="no"><span·class="attribute">-spec</span>·analyse(Mod,·Limit)·->·ModAnalysis·::·<a·href="#t:mod_analysis/0">mod_analysis</a>()575 ··········<pre·translate="no"><span·class="attribute">-spec</span>·analyse(Mod,·Limit)·->·ModAnalysis·::·<a·href="#t:mod_analysis/0">mod_analysis</a>()
576 ·················when·Mod·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:module/0">module</a>(),·Limit·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>576 ·················when·Mod·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:module/0">module</a>(),·Limit·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>
  
577 ······</div>577 ······</div>
  
578 <p>Collects·and·analyses·all·call·counters·for·module·<code·class="inline">Module</code>.</p><p>This·function·returns:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0256703053-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="02567[·...·truncated·by·diffoscope;·len:·651,·SHA:·72594379ca94e0269060d1b62fef2b6f5e55eba1216ad034491fc0ac8fc7374a·...·]-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="8741597412-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="87415[·...·truncated·by·diffoscope;·len:·651,·SHA:·47bcef3886aba9db0da4accd0fea26b2e3fe2b12376d6079b0cef1e77d677856·...·]-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.2/doc/html/cprof_chapter.html
    
Offset 152, 130 lines modifiedOffset 152, 130 lines modified
152 no·trace·message·has·to·be·generated.·Some·measurements·indicates·performance152 no·trace·message·has·to·be·generated.·Some·measurements·indicates·performance
153 degradations·in·the·vicinity·of·10·percent.</p><p>The·following·sections·show·some·examples·of·profiling·with·<a·href="cprof.html"><code·class="inline">cprof</code></a>.</p><h2·id="example-background-work"·class="section-heading">153 degradations·in·the·vicinity·of·10·percent.</p><p>The·following·sections·show·some·examples·of·profiling·with·<a·href="cprof.html"><code·class="inline">cprof</code></a>.</p><h2·id="example-background-work"·class="section-heading">
154 ··<a·href="#example-background-work"·class="hover-link">154 ··<a·href="#example-background-work"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Example:·Background·work</span>157 ··<span·class="text">Example:·Background·work</span>
158 </h2>158 </h2>
159 <p>From·the·Erlang·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="5177067706-1">(</span><span·class="p"·data-group-id="5177067706-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="5177067706-2">(</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·474f1b6f0e2b2d3d960376d8d70c352539b3224483e14bdaf87ceac14ca96331·...·]-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="5911056313-1">(</span><span·class="p"·data-group-id="5911056313-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="5911056313-2">(</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·c6121a5252ba61bb26978ac7acf90bfa8e4d5e66101e83ec642b56a144fc4868·...·]-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="5177067706-3">(</span><span·class="p"·data-group-id="5177067706-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="5911056313-3">(</span><span·class="p"·data-group-id="5911056313-3">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="p"·data-group-id="5177067706-4">{</span><span·class="mi">539</span><span·class="p">,</span><span·class="w">162 </span><span·class="p"·data-group-id="5911056313-4">{</span><span·class="mi">539</span><span·class="p">,</span><span·class="w">
163 ·</span><span·class="p"·data-group-id="5177067706-5">[</span><span·class="p"·data-group-id="5177067706-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="5911056313-5">[</span><span·class="p"·data-group-id="5911056313-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="5177067706-7">[</span><span·class="p"·data-group-id="5177067706-8">{</span><span·class="p"·data-group-id="5177067706-9">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">prep_check</span><span·class="p">,</span><span·class="mi">1[·...·truncated·by·diffoscope;·len:·151,·SHA:·961c9fb2232c29cdd9d0c61c09052d2542506fceff031ea9c260ac0ef2890db6·...·]-8">}</span><span·class="p">,</span><span·class="w">164 ·········</span><span·class="p"·data-group-id="5911056313-7">[</span><span·class="p"·data-group-id="5911056313-8">{</span><span·class="p"·data-group-id="5911056313-9">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">prep_check</span><span·class="p">,</span><span·class="mi">1[·...·truncated·by·diffoscope;·len:·151,·SHA:·302d1aeb39738d14ca6999bb5ee56604bff849cf20f9dc81435beda8d4cd7a7a·...·]-8">}</span><span·class="p">,</span><span·class="w">
165 ··········</span><span·class="p"·data-group-id="5177067706-10">{</span><span·class="p"·data-group-id="5177067706-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="5177067706-[·...·truncated·by·diffoscope;·len:·103,·SHA:·d11b1ebf11a1f6a52a15224c4a3e3a600d4b3cff538e979de13067527a312d63·...·]-10">}</span><span·class="p">,</span><span·class="w">165 ··········</span><span·class="p"·data-group-id="5911056313-10">{</span><span·class="p"·data-group-id="5911056313-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="5911056313-[·...·truncated·by·diffoscope;·len:·103,·SHA:·6cda8561960b45b2d40a0f334f90a4bedbb619c015797213d4f19a3e8580d6c5·...·]-10">}</span><span·class="p">,</span><span·class="w">
166 ··········</span><span·class="p"·data-group-id="5177067706-12">{</span><span·class="p"·data-group-id="5177067706-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="5177067706-[·...·truncated·by·diffoscope;·len:·103,·SHA:·d1bdad33dac64b8347e581a3689c089a65266edb33d71de8aaa9b348476eeef7·...·]-12">}</span><span·class="p">,</span><span·class="w">166 ··········</span><span·class="p"·data-group-id="5911056313-12">{</span><span·class="p"·data-group-id="5911056313-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="5911056313-[·...·truncated·by·diffoscope;·len:·103,·SHA:·1796ecd04acfcb41af931aa822e437b89eed0656b3a0ec9c746714d8ada3d667·...·]-12">}</span><span·class="p">,</span><span·class="w">
167 ··········</span><span·class="p"·data-group-id="5177067706-14">{</span><span·class="p"·data-group-id="5177067706-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="5177067[·...·truncated·by·diffoscope;·len:·106,·SHA:·54a0c2188e2e779fca0793da7b0ecc1195ad8c780f8eb933401b8d0d5f10a42e·...·]-14">}</span><span·class="p">,</span><span·class="w">167 ··········</span><span·class="p"·data-group-id="5911056313-14">{</span><span·class="p"·data-group-id="5911056313-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="5911056[·...·truncated·by·diffoscope;·len:·106,·SHA:·63ece3ff1299ada3c1ad7fa7fe48cb0e5d1542cb8388b98bec0f9a3b99a892b3·...·]-14">}</span><span·class="p">,</span><span·class="w">
168 ··········</span><span·class="p"·data-group-id="5177067706-16">{</span><span·class="p"·data-group-id="5177067706-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="5177067706-1[·...·truncated·by·diffoscope;·len:·101,·SHA:·07fb68219c3115b6e24910446cb0d8b0d1bd67125f326f09fb50213c89879721·...·]-16">}</span><span·class="p">,</span><span·class="w">168 ··········</span><span·class="p"·data-group-id="5911056313-16">{</span><span·class="p"·data-group-id="5911056313-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="5911056313-1[·...·truncated·by·diffoscope;·len:·101,·SHA:·f309a87c54950a6584c481214287de2760a5ca891684f94d8a25d4d49cf53e47·...·]-16">}</span><span·class="p">,</span><span·class="w">
169 ··········</span><span·class="p"·data-group-id="5177067706-18">{</span><span·class="p"·data-group-id="5177067706-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="51770677[·...·truncated·by·diffoscope;·len:·105,·SHA:·d8fa0a4157f52160a6d3688ab82b442cfc6f79a733ab4fd5bfb0b13bcd9d1c73·...·]-18">}</span><span·class="p">,</span><span·class="w">169 ··········</span><span·class="p"·data-group-id="5911056313-18">{</span><span·class="p"·data-group-id="5911056313-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="59110563[·...·truncated·by·diffoscope;·len:·105,·SHA:·6d2a2eef5154cc94b4de8b0e8ee98242d0fd89d2bdd79fe55f1445227a81907f·...·]-18">}</span><span·class="p">,</span><span·class="w">
170 ··········</span><span·class="p"·data-group-id="5177067706-20">{</span><span·class="p"·data-group-id="5177067706-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="5177067706-21">}</[·...·truncated·by·diffoscope;·len:·95,·SHA:·91dc8421963f9663c98032082c6de822e9276b3791c7b498fe612bcff2a94774·...·]-20">}</span><span·class="p">,</span><span·class="w">170 ··········</span><span·class="p"·data-group-id="5911056313-20">{</span><span·class="p"·data-group-id="5911056313-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="5911056313-21">}</[·...·truncated·by·diffoscope;·len:·95,·SHA:·885c5be8f54ce8310b4bfa60c6c699bdf3fab62ee899adc907f1031489be7718·...·]-20">}</span><span·class="p">,</span><span·class="w">
171 ··········</span><span·class="p"·data-group-id="5177067706-22">{</span><span·class="p"·data-group-id="5177067706-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="5177067706-23">}</s[·...·truncated·by·diffoscope;·len:·94,·SHA:·e18a077c6accedcf29cf5b69b5bd8d8ef811cced9189cc0152885e45a959acc5·...·]-22">}</span><span·class="p">,</span><span·class="w">171 ··········</span><span·class="p"·data-group-id="5911056313-22">{</span><span·class="p"·data-group-id="5911056313-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="5911056313-23">}</s[·...·truncated·by·diffoscope;·len:·94,·SHA:·6c2b3e51575ff86ab9ac6579e34c7dd49517d064eefb2932544870b55ada860c·...·]-22">}</span><span·class="p">,</span><span·class="w">
172 ··········</span><span·class="p"·data-group-id="5177067706-24">{</span><span·class="p"·data-group-id="5177067706-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="517706770[·...·truncated·by·diffoscope;·len:·104,·SHA:·817f1db38f350f2d2ac1f2e371dcc5ff6a325ef3c3d15f4467bd3cdc4dfa65fb·...·]-24">}</span><span·class="p">,</span><span·class="w">172 ··········</span><span·class="p"·data-group-id="5911056313-24">{</span><span·class="p"·data-group-id="5911056313-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="591105631[·...·truncated·by·diffoscope;·len:·104,·SHA:·f4d270ff6dde8963be6ab18d69aa385faad1530b23eb47d36f1915844485d4cc·...·]-24">}</span><span·class="p">,</span><span·class="w">
173 ··········</span><span·class="p"·data-group-id="5177067706-26">{</span><span·class="p"·data-group-id="5177067706-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="5177067706[·...·truncated·by·diffoscope;·len:·103,·SHA:·53024cf12abe46d8b9c69184210b27a19aafb559875f1142c489fe7bfce53693·...·]-26">}</span><span·class="p">,</span><span·class="w">173 ··········</span><span·class="p"·data-group-id="5911056313-26">{</span><span·class="p"·data-group-id="5911056313-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="5911056313[·...·truncated·by·diffoscope;·len:·103,·SHA:·f2ac32763214db504ca82aa1178b870e9472ca3ad5e61cdade6d103f7e8960d8·...·]-26">}</span><span·class="p">,</span><span·class="w">
174 ··········</span><span·class="p"·data-group-id="5177067706-28">{</span><span·class="p"·data-group-id="5177067706-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="5177067706-29"[·...·truncated·by·diffoscope;·len:·99,·SHA:·eee1db1d152342c464d92c4bdd14cc9f751d2e7f90b93eaa2d88af0cd6302686·...·]-28">}</span><span·class="p">,</span><span·class="w">174 ··········</span><span·class="p"·data-group-id="5911056313-28">{</span><span·class="p"·data-group-id="5911056313-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="5911056313-29"[·...·truncated·by·diffoscope;·len:·99,·SHA:·10060c74bd39ed56396fa239c69c3d97b47e7c30846dabffe69f2ee8b2e4c179·...·]-28">}</span><span·class="p">,</span><span·class="w">
175 ··········</span><span·class="p"·data-group-id="5177067706-30">{</span><span·class="p"·data-group-id="5177067706-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-grou[·...·truncated·by·diffoscope;·len:·119,·SHA:·9601837cd360e127357bbf7c2b771a5b6fc34bd7c3bd1472fa14a52be6bf0967·...·]-30">}</span><span·class="p">,</span><span·class="w">175 ··········</span><span·class="p"·data-group-id="5911056313-30">{</span><span·class="p"·data-group-id="5911056313-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-grou[·...·truncated·by·diffoscope;·len:·119,·SHA:·908225b92d288e8f67686d319e3e84c8b01e2cb8a690cdc4e2c5e2edcbdbc397·...·]-30">}</span><span·class="p">,</span><span·class="w">
176 ··········</span><span·class="p"·data-group-id="5177067706-32">{</span><span·class="p"·data-group-id="5177067706-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-grou[·...·truncated·by·diffoscope;·len:·226,·SHA:·9baf33ee449b46e7ccddc77c0ae8ae5a23486bc3181c1651fca93fac3e7c8e9d·...·]-6">}</span><span·class="p">,</span><span·class="w">176 ··········</span><span·class="p"·data-group-id="5911056313-32">{</span><span·class="p"·data-group-id="5911056313-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-grou[·...·truncated·by·diffoscope;·len:·226,·SHA:·69d005c9b72d3f7eebcdeb7b27594477c6120019cc5b1ce4cf8798a6a027f353·...·]-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="5177067706-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="5177067706-35">[</span><span·class="p"·data-group-id="5177067706-36">{</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·437,·SHA:·275c34dd4828960c1691d88fc711b557939de815a8a0f6627bb3b6c302951f10·...·]-34">}</span><span·class="p">,</span><span·class="w">182 ··</span><span·class="p"·data-group-id="5911056313-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="5911056313-35">[</span><span·class="p"·data-group-id="5911056313-36">{</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·437,·SHA:·677bc830d5cb7930ad888bdc74a95a2427e52f6c797dbc58b97cb6b97ee42668·...·]-34">}</span><span·class="p">,</span><span·class="w">
183 ··</span><span·class="p"·data-group-id="5177067706-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="5177067706-39">[</span><span·class="p"·data-group-id="5177067706-40">{</span><span·class="p"·data-group-id="5177067706-41">{</span><span·class="ss">otp_internal</span><span·class="p">,</span><span·class="ss">obsolete</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="5177067706-41">}</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5177067706-40">}</span><span·class="p"·data-group-id="5177067706-39">]</span><span·class="p"·data-group-id="5177067706-38">}</span><span·class="p">,</span><span·class="w"> 
184 ··</span><span·class="p"·data-group-id="5177067706-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="5177067706-43">[</span><span·class="p"·data-group-id="5177067706-44">{</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·418,·SHA:·f7fa834f99c3eee03282eda6463b8731b9529d5a261f2f5dc31394846c8efbbb·...·]">}</span><span·class="p">,</span><span·class="w">183 ··</span><span·class="p"·data-group-id="5911056313-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="5911056313-39">[</span><span·class="p"·data-group-id="5911056313-40">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·433,·SHA:·5a31b29a49932e4ec7664a2d13e0994f43e887e5dbb843781f1c67637dc71793·...·]">}</span><span·class="p">,</span><span·class="w">
 184 ··</span><span·class="p"·data-group-id="5911056313-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="5911056313-43">[</span><span·class="p"·data-group-id="5911056313-44">{</span><span·class="p"·data-group-id="5911056313-45">{</span><span·class="ss">maps</span><span·class="p">,</span><span·class="ss">from_list</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5911056313-45">}</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5911056313-44">}</span><span·class="p"·data-group-id="5911056313-43">]</span><span·class="p"·data-group-id="5911056313-42">}</span><span·class="p">,</span><span·class="w">
185 ··</span><span·class="p"·data-group-id="5177067706-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="5177067706-47">[</span><span·class="p"·data-group-id="5177067706-48">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·532,·SHA:·6721db1384340dc7d22ebfe32121198c40e3179bac38cfedf153aa494c20bcb4·...·]-4">}</span><span·class="gp·unselectable">185 ··</span><span·class="p"·data-group-id="5911056313-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="5911056313-47">[</span><span·class="p"·data-group-id="5911056313-48">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·532,·SHA:·0f357b9d0940413d540f92aaad47947c971fcd3120f2393c1c91acc2be76ad6c·...·]-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="5177067706-50">(</span><span·class="ss">cprof</span><span·class="p"·data-group-id="5177067706-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="5911056313-50">(</span><span·class="ss">cprof</span><span·class="p"·data-group-id="5911056313-50">)</span><span·class="p">.</span><span·class="w">
187 </span><span·class="p"·data-group-id="5177067706-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="5177067706-52">[</span><span·class="p"·data-group-id="5177067706-53">{</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·830,·SHA:·ccb48406a0cd81a47bbcabf9de5958ce48ec7dd738489d6dba4ba03383d9fb5b·...·]-51">}</span><span·class="gp·unselectable">187 </span><span·class="p"·data-group-id="5911056313-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="5911056313-52">[</span><span·class="p"·data-group-id="5911056313-53">{</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·830,·SHA:·1f22c96dbe05d417d23f8ba64d2ebc412294dcce290397039e7161992b9680f0·...·]-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="5177067706-57">(</span><span·class="p"·data-group-id="5177067706-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="5911056313-57">(</span><span·class="p"·data-group-id="5911056313-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="5219025857-1">(</span><span·class="p"·data-group-id="5219025857-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:·2da1c79397fcd0e1f7a30474e305b29519758736e0c71ccbf3d4506feb7ec6f8·...·]-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="7690668168-1">(</span><span·class="p"·data-group-id="7690668168-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:·7d12bd8ef145d54f35b9543def58a3008188832ed7f64e1576c6108bf3a4a950·...·]-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="5219025857-4">(</span><span·class="ss">calendar</span><span·class="p"·data-group-id="5219025857-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="7690668168-4">(</span><span·class="ss">calendar</span><span·class="p"·data-group-id="7690668168-4">)</span><span·class="p">.</span><span·class="w">
201 </span><span·class="p"·data-group-id="5219025857-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="7690668168-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="5219025857-6">[</span><span·class="p"·data-group-id="5219025857-7">{</span><span·class="p"·data-group-id="5219025857-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:·2ccc92e50e11988199e5c61f2cd6746e269dc54c4e5b73892e8ce2a002ce9912·...·]-7">}</span><span·class="p">,</span><span·class="w">202 ··········</span><span·class="p"·data-group-id="7690668168-6">[</span><span·class="p"·data-group-id="7690668168-7">{</span><span·class="p"·data-group-id="7690668168-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:·3ca378e8d3764a2efe2c1b1389e17f0e9e8f20edc02b1821418a97f08b2a08f7·...·]-7">}</span><span·class="p">,</span><span·class="w">
203 ···········</span><span·class="p"·data-group-id="5219025857-9">{</span><span·class="p"·data-group-id="5219025857-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:·a40ded24629aedf650f8db21834350e15825e56f37d65b860558a6fc94746cd3·...·]-9">}</span><span·class="p">,</span><span·class="w">203 ···········</span><span·class="p"·data-group-id="7690668168-9">{</span><span·class="p"·data-group-id="7690668168-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:·5a233f3b50a5d6a7aa0381baea8231f5d438e7187f8e07ef0b58ebbbbfb62024·...·]-9">}</span><span·class="p">,</span><span·class="w">
204 ···········</span><span·class="p"·data-group-id="5219025857-11">{</span><span·class="p"·data-group-id="5219025857-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="521902[·...·truncated·by·diffoscope;·len:·107,·SHA:·c04ea2e18271257a76cdc592eed09d8ee895c52ff70a37a401ea6f244807f66f·...·]-11">}</span><span·class="p">,</span><span·class="w">204 ···········</span><span·class="p"·data-group-id="7690668168-11">{</span><span·class="p"·data-group-id="7690668168-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="769066[·...·truncated·by·diffoscope;·len:·107,·SHA:·42a218ad2c14862922f963dbf4f5f953f4bf7faf2b1e9330caf5fbe70972fe51·...·]-11">}</span><span·class="p">,</span><span·class="w">
205 ···········</span><span·class="p"·data-group-id="5219025857-13">{</span><span·class="p"·data-group-id="5219025857-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="5219025[·...·truncated·by·diffoscope;·len:·106,·SHA:·467ef49361724b2e49b3198409c03a022db100b89f2a0bec7359662c1273a4b2·...·]-13">}</span><span·class="p">,</span><span·class="w">205 ···········</span><span·class="p"·data-group-id="7690668168-13">{</span><span·class="p"·data-group-id="7690668168-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="7690668[·...·truncated·by·diffoscope;·len:·106,·SHA:·8449a185e216e27ee6f23926ad954bccdce66a5f885de83c296782e221efa428·...·]-13">}</span><span·class="p">,</span><span·class="w">
206 ···········</span><span·class="p"·data-group-id="5219025857-15">{</span><span·class="p"·data-group-id="5219025857-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="5219025857-16">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·8a64ef41550d67e4ca6171ab62780f361f09e9b13e81e1ef633774b5d59deafe·...·]-15">}</span><span·class="p">,</span><span·class="w">206 ···········</span><span·class="p"·data-group-id="7690668168-15">{</span><span·class="p"·data-group-id="7690668168-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="7690668168-16">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·83b11ba6ed14590c2e4e03393c41b00b94c947b25e2194768fa77c0b86130b74·...·]-15">}</span><span·class="p">,</span><span·class="w">
207 ···········</span><span·class="p"·data-group-id="5219025857-17">{</span><span·class="p"·data-group-id="5219025857-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="5219025857-18">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·8a64ef41550d67e4ca6171ab62780f361f09e9b13e81e1ef633774b5d59deafe·...·]-17">}</span><span·class="p">,</span><span·class="w">207 ···········</span><span·class="p"·data-group-id="7690668168-17">{</span><span·class="p"·data-group-id="7690668168-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="7690668168-18">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·83b11ba6ed14590c2e4e03393c41b00b94c947b25e2194768fa77c0b86130b74·...·]-17">}</span><span·class="p">,</span><span·class="w">
208 ···········</span><span·class="p"·data-group-id="5219025857-19">{</span><span·class="p"·data-group-id="5219025857-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="5219025857-20">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·8a64ef41550d67e4ca6171ab62780f361f09e9b13e81e1ef633774b5d59deafe·...·]-19">}</span><span·class="p">,</span><span·class="w">208 ···········</span><span·class="p"·data-group-id="7690668168-19">{</span><span·class="p"·data-group-id="7690668168-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="7690668168-20">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·83b11ba6ed14590c2e4e03393c41b00b94c947b25e2194768fa77c0b86130b74·...·]-19">}</span><span·class="p">,</span><span·class="w">
209 ···········</span><span·class="p"·data-group-id="5219025857-21">{</span><span·class="p"·data-group-id="5219025857-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="5219[·...·truncated·by·diffoscope;·len:·109,·SHA:·ed2c23eef307e2f123f309ddd46c5d6cdcf8a9bbc736d2e27cfced80be8a3e64·...·]-21">}</span><span·class="p">,</span><span·class="w">209 ···········</span><span·class="p"·data-group-id="7690668168-21">{</span><span·class="p"·data-group-id="7690668168-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="7690[·...·truncated·by·diffoscope;·len:·109,·SHA:·7665f2fc915333a0e5f14047a316f29cfc5c676c488e4361e973d66baf9a18ea·...·]-21">}</span><span·class="p">,</span><span·class="w">
210 ···········</span><span·class="p"·data-group-id="5219025857-23">{</span><span·class="p"·data-group-id="5219025857-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:·280ad804d47f28b478f81f988d65b8c39eb5b60e3932c41512655de99f3801a7·...·]-5">}</span><span·class="gp·unselectable">210 ···········</span><span·class="p"·data-group-id="7690668168-23">{</span><span·class="p"·data-group-id="7690668168-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:·ad8d41933f5446c9aedc747fb4e9a88d8e5c0c60f207f5209af1a355695a339d·...·]-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="5219025857-25">(</span><span·class="p"·data-group-id="5219025857-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="7690668168-25">(</span><span·class="p"·data-group-id="7690668168-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="6566895035-1">(</span><span·class="ss">sort</span><span·class="p"·data-group-id="6566895035-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="6566895035-2">(</span><span·class="p"·data-group-id="6566895035-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:·2a94a6ecc72051c5d75c8cadb6722cc4e3dd57caf5d4309b44c8466812fc48a2·...·]">)</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="6684577670-1">(</span><span·class="ss">sort</span><span·class="p"·data-group-id="6684577670-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="6684577670-2">(</span><span·class="p"·data-group-id="6684577670-3">[</span><span·class="ss">do</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="6684577670-3">]</span><span·class="p"·data-group-id="6684577670-2">)</span><span·class="p">.</span><span·class="w">
  
223 </span><span·class="nf">do</span><span·class="p"·data-group-id="6566895035-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="6566895035-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="6684577670-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="6684577670-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="6566895035-5">(</span><span·class="p"·data-group-id="6566895035-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="6684577670-5">(</span><span·class="p"·data-group-id="6684577670-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="6566895035-6">(</span><span·class="p"·data-group-id="6566895035-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="6684577670-6">(</span><span·class="p"·data-group-id="6684577670-6">)</span><span·class="p">,</span><span·class="w">
226 ····</span><span·class="nf">do</span><span·class="p"·data-group-id="6566895035-7">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6566895035-8">[</span><span·class="p"·data-group-id="6566895035-8">]</span><span·class="p"·data-group-id="6566895035-7">)</span><span·class="p">.</span><span·class="w">226 ····</span><span·class="nf">do</span><span·class="p"·data-group-id="6684577670-7">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6684577670-8">[</span><span·class="p"·data-group-id="6684577670-8">]</span><span·class="p"·data-group-id="6684577670-7">)</span><span·class="p">.</span><span·class="w">
  
227 </span><span·class="nf">do</span><span·class="p"·data-group-id="6566895035-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="6566895035-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="6684577670-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="6684577670-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="6566895035-10">(</span><span·class="n">L</span><span·class="p"·data-group-id="6566895035-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="6684577670-10">(</span><span·class="n">L</span><span·class="p"·data-group-id="6684577670-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="6566895035-11">(</span><span·class="p"·data-group-id="6566895035-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="6684577670-11">(</span><span·class="p"·data-group-id="6684577670-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="6566895035-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="6566895035-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="6684577670-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="6684577670-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="6566895035-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="6566895035-14">[</span><span·class="nc">rand</span><span·class="p">:</span><span·c[·...·truncated·by·diffoscope;·len:·716,·SHA:·233765f63c82c7b5b8d6d46a1487b1d74004d7d11009b8c31f254f7946216d6b·...·]-1">)</span><span·class="p">.</span><span·class="w">232 ····</span><span·class="nf">do</span><span·class="p"·data-group-id="6684577670-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="6684577670-14">[</span><span·class="nc">rand</span><span·class="p">:</span><span·c[·...·truncated·by·diffoscope;·len:·716,·SHA:·29effcf34f765c4dc8f95605b1fa96006cf19472b133b5fc9f5ab31b3be7ce96·...·]-1">)</span><span·class="p">.</span><span·class="w">
233 </span><span·class="p"·data-group-id="5296739292-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">sort</span><span·class="p"·data-group-id="5296739292-2">}</span><span·class="gp·unselectable">233 </span><span·class="p"·data-group-id="1450957400-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">sort</span><span·class="p"·data-group-id="1450957400-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="5296739292-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="5296739292-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="1450957400-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="1450957400-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="5296739292-4">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="5296739292-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="1450957400-4">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="1450957400-4">)</span><span·class="p">.</span><span·class="w">
237 </span><span·class="p"·data-group-id="5296739292-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:·3ebf17a410949b9a98b256d5b33f148fa322b477059928bc2d4168c07fef0100·...·]-5">]</span><span·class="gp·unselectable">237 </span><span·class="p"·data-group-id="1450957400-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:·181aa3a6f44f34aa83b4dbf8747aeb8f2a43415a7f79a73d77e37418c86ef014·...·]-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="5296739292-6">(</span><span·class="p"·data-group-id="5296739292-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="1450957400-6">(</span><span·class="p"·data-group-id="1450957400-6">)</span><span·class="p">.</span><span·class="w">
239 </span><span·class="p"·data-group-id="5296739292-7">{</span><span·class="mi">13180</span><span·class="p">,</span><span·class="w">239 </span><span·class="p"·data-group-id="1450957400-7">{</span><span·class="mi">13180</span><span·class="p">,</span><span·class="w">
240 ·</span><span·class="p"·data-group-id="5296739292-8">[</span><span·class="p"·data-group-id="5296739292-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="1450957400-8">[</span><span·class="p"·data-group-id="1450957400-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="5296739292-10">[</span><span·class="p"·data-group-id="5296739292-11">{</span><span·class="p"·data-group-id="5296739292-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:·ad8db24e87f8f9da912657de9b6bf68e76813b4f94bcae10d9aba73a1822cc85·...·]-11">}</span><span·class="p">,</span><span·class="w">241 ·········</span><span·class="p"·data-group-id="1450957400-10">[</span><span·class="p"·data-group-id="1450957400-11">{</span><span·class="p"·data-group-id="1450957400-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:·7392c60b50acd37a54c8c4a65061589d991c4ad4dda8fc9458b5d475a3e70938·...·]-11">}</span><span·class="p">,</span><span·class="w">
242 ··········</span><span·class="p"·data-group-id="5296739292-13">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-14[·...·truncated·by·diffoscope;·len:·102,·SHA:·f2fa73a814f662bbb9d4b0a9280ead602b921b93b6923ca89e5b1dc45bea1f6a·...·]-13">}</span><span·class="p">,</span><span·class="w">242 ··········</span><span·class="p"·data-group-id="1450957400-13">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-14[·...·truncated·by·diffoscope;·len:·102,·SHA:·688994b183f300a3024c5066fa878bbeaf18ce17d77bc5f6406f6fd91ce79347·...·]-13">}</span><span·class="p">,</span><span·class="w">
243 ··········</span><span·class="p"·data-group-id="5296739292-15">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-16">[·...·truncated·by·diffoscope;·len:·100,·SHA:·af3dfe32a349ecfb40e3851422deace8050c0fbee37939eb84068434028632b0·...·]-15">}</span><span·class="p">,</span><span·class="w">243 ··········</span><span·class="p"·data-group-id="1450957400-15">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-16">[·...·truncated·by·diffoscope;·len:·100,·SHA:·981ab91b2af05fdd34028d01911dc15e80c58b3e7eae865cafe513d2f010587e·...·]-15">}</span><span·class="p">,</span><span·class="w">
244 ··········</span><span·class="p"·data-group-id="5296739292-17">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-18"[·...·truncated·by·diffoscope;·len:·101,·SHA:·92c2f970bf9fcd10c22dc09aa26fd9523b4140043adcf5670488597dceda5787·...·]-17">}</span><span·class="p">,</span><span·class="w">244 ··········</span><span·class="p"·data-group-id="1450957400-17">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-18"[·...·truncated·by·diffoscope;·len:·101,·SHA:·a6f497c6bff7b57a03d8f69e4eaa83c70fefa41e3ec24f295b9ca2e347cc77c5·...·]-17">}</span><span·class="p">,</span><span·class="w">
245 ··········</span><span·class="p"·data-group-id="5296739292-19">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-20"[·...·truncated·by·diffoscope;·len:·101,·SHA:·63be6990726fac1071638c79db1408cce0599b4b9d7524b8e7ca0490139b337f·...·]-19">}</span><span·class="p">,</span><span·class="w">245 ··········</span><span·class="p"·data-group-id="1450957400-19">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-20"[·...·truncated·by·diffoscope;·len:·101,·SHA:·8d04c07531ee22745e6af49a582819e80115dc2f3e7d6bd71868e7a4e03c8945·...·]-19">}</span><span·class="p">,</span><span·class="w">
246 ··········</span><span·class="p"·data-group-id="5296739292-21">{</span><span·class="p"·data-group-id="5296739292-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="5296739292[·...·truncated·by·diffoscope;·len:·105,·SHA:·f32e308ef9ab8b837d65c3257395aee3384e561f8671d22884b1c849668bc5f9·...·]-21">}</span><span·class="p">,</span><span·class="w">246 ··········</span><span·class="p"·data-group-id="1450957400-21">{</span><span·class="p"·data-group-id="1450957400-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="1450957400[·...·truncated·by·diffoscope;·len:·105,·SHA:·7ec0478d92ae03cf7d7169c7e6cf053b4f8032f3e7d5b6b2ee7595225212bb6f·...·]-21">}</span><span·class="p">,</span><span·class="w">
247 ··········</span><span·class="p"·data-group-id="5296739292-23">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-24[·...·truncated·by·diffoscope;·len:·102,·SHA:·f35a38fc8502e13d26c5fbb96874b6f957599d5ef65d1b2b2425310800c40912·...·]-23">}</span><span·class="p">,</span><span·class="w">247 ··········</span><span·class="p"·data-group-id="1450957400-23">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-24[·...·truncated·by·diffoscope;·len:·102,·SHA:·0c7155f69f152cb759e7f7f77f64d6148451962c9192a63e2b89c6d711d8af0f·...·]-23">}</span><span·class="p">,</span><span·class="w">
248 ··········</span><span·class="p"·data-group-id="5296739292-25">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-[·...·truncated·by·diffoscope;·len:·104,·SHA:·3b998816c03c61ae68642a72f6e5735a0a56103f35cdb2a984aef065dbc4b34f·...·]-25">}</span><span·class="p">,</span><span·class="w">248 ··········</span><span·class="p"·data-group-id="1450957400-25">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-[·...·truncated·by·diffoscope;·len:·104,·SHA:·ee87783def7b53c783f1e580115be9d68067d09727125490c4a83bdfcba640a7·...·]-25">}</span><span·class="p">,</span><span·class="w">
249 ··········</span><span·class="p"·data-group-id="5296739292-27">{</span><span·class="p"·data-group-id="5296739292-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="5296739292[·...·truncated·by·diffoscope;·len:·105,·SHA:·367498298c0f07665af8d7303ce57117b910be81f060a4efb27ffe704e2a5ec2·...·]-27">}</span><span·class="p">,</span><span·class="w">249 ··········</span><span·class="p"·data-group-id="1450957400-27">{</span><span·class="p"·data-group-id="1450957400-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="1450957400[·...·truncated·by·diffoscope;·len:·105,·SHA:·5eac30c82150240ddb39ad511f37790883fc840d69fd7f6a05b240c32fcccc99·...·]-27">}</span><span·class="p">,</span><span·class="w">
250 ··········</span><span·class="p"·data-group-id="5296739292-29">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-[·...·truncated·by·diffoscope;·len:·104,·SHA:·08eff3964db6cb65ed7a8a92e994a24adc5c7692997736425eec6576e0e4d354·...·]-29">}</span><span·class="p">,</span><span·class="w">250 ··········</span><span·class="p"·data-group-id="1450957400-29">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-[·...·truncated·by·diffoscope;·len:·104,·SHA:·5e9ab9624e4f431a85e6091528f0050eb8b0038f007a4b121aac0c5512f1b2f3·...·]-29">}</span><span·class="p">,</span><span·class="w">
251 ··········</span><span·class="p"·data-group-id="5296739292-31">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-32"[·...·truncated·by·diffoscope;·len:·101,·SHA:·e3af81f81ef42a731379eb2a129452e1b9d41f701435d4614b60eb31483983a2·...·]-31">}</span><span·class="p">,</span><span·class="w">251 ··········</span><span·class="p"·data-group-id="1450957400-31">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-32"[·...·truncated·by·diffoscope;·len:·101,·SHA:·9aa22321cf49113e3db32b42ec64d18b528085b8529821d9cc0ef9b3a8661e50·...·]-31">}</span><span·class="p">,</span><span·class="w">
252 ··········</span><span·class="p"·data-group-id="5296739292-33">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-34"[·...·truncated·by·diffoscope;·len:·101,·SHA:·f4522440611dafe9a2f84d0ab9a87598ff31da416a004de5244ea94fce3ea6a1·...·]-33">}</span><span·class="p">,</span><span·class="w">252 ··········</span><span·class="p"·data-group-id="1450957400-33">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-34"[·...·truncated·by·diffoscope;·len:·101,·SHA:·44199427ebe607fa24cfa2b21ceb57738f8a1483329a21ac87654c119605e6f0·...·]-33">}</span><span·class="p">,</span><span·class="w">
253 ··········</span><span·class="p"·data-group-id="5296739292-35">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-36">[·...·truncated·by·diffoscope;·len:·100,·SHA:·30c1f512a73895fef8ee2c38af9962ee06cdb4983d4195b722d5f0e2a1f917d1·...·]-35">}</span><span·class="p">,</span><span·class="w">253 ··········</span><span·class="p"·data-group-id="1450957400-35">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-36">[·...·truncated·by·diffoscope;·len:·100,·SHA:·5ba209a3f7b6f4acda793a8f6699486b507d3ea9c78fc742f23481a3a6c44579·...·]-35">}</span><span·class="p">,</span><span·class="w">
254 ··········</span><span·class="p"·data-group-id="5296739292-37">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-38[·...·truncated·by·diffoscope;·len:·101,·SHA:·bb3cefb1bf240b2df37d736c66e47dd530547af290a4f4db3369b61533442c2a·...·]-37">}</span><span·class="p">,</span><span·class="w">254 ··········</span><span·class="p"·data-group-id="1450957400-37">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-38[·...·truncated·by·diffoscope;·len:·101,·SHA:·3c95b9d9805aeaae3e8ea2f6e1e3cb97e32f164f22e726aa360e4ff1108cca11·...·]-37">}</span><span·class="p">,</span><span·class="w">
255 ··········</span><span·class="p"·data-group-id="5296739292-39">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-40">[·...·truncated·by·diffoscope;·len:·99,·SHA:·58a7ea3ea4cf14a6c7456055be6536ae3a6184881278c01cd1672a0d90e19f47·...·]-39">}</span><span·class="p">,</span><span·class="w">255 ··········</span><span·class="p"·data-group-id="1450957400-39">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-40">[·...·truncated·by·diffoscope;·len:·99,·SHA:·934b38ab5034c33fef00501c299d2111b823813e26049dfc9a53cd8bc8bf8cc0·...·]-39">}</span><span·class="p">,</span><span·class="w">
256 ··········</span><span·class="p"·data-group-id="5296739292-41">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-42[·...·truncated·by·diffoscope;·len:·101,·SHA:·db3ab6d22abf21fe20c36bc6afe84e8b13d699502e95b4eebcf1f8f98f3bf8bb·...·]-41">}</span><span·class="p">,</span><span·class="w">256 ··········</span><span·class="p"·data-group-id="1450957400-41">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-42[·...·truncated·by·diffoscope;·len:·101,·SHA:·621430d989f1a504b2ab23975fb9d0f63bfaf59c9f8da3098c0c801c713c1bef·...·]-41">}</span><span·class="p">,</span><span·class="w">
257 ··········</span><span·class="p"·data-group-id="5296739292-43">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-44">}[·...·truncated·by·diffoscope;·len:·98,·SHA:·d610647b9dca2d3bc2c41bedc4b9c67172b77fa35fbb1571e30112e2b2e76006·...·]-43">}</span><span·class="p">,</span><span·class="w">257 ··········</span><span·class="p"·data-group-id="1450957400-43">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-44">}[·...·truncated·by·diffoscope;·len:·98,·SHA:·f7b08329ff14895516f461a01ad841ca55376422729617040d8f3a1c51744d78·...·]-43">}</span><span·class="p">,</span><span·class="w">
258 ··········</span><span·class="p"·data-group-id="5296739292-45">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-46">[·...·truncated·by·diffoscope;·len:·98,·SHA:·b0ddc03b88f87029ab7a3e1c388055c760f32f74c1ae863ec598daa1eb507759·...·]-45">}</span><span·class="p">,</span><span·class="w">258 ··········</span><span·class="p"·data-group-id="1450957400-45">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-46">[·...·truncated·by·diffoscope;·len:·98,·SHA:·eaef3435477a7d6b2a43687d538c6295b0961bfcad1c2c6d34ee987afdf249fb·...·]-45">}</span><span·class="p">,</span><span·class="w">
259 ··········</span><span·class="p"·data-group-id="5296739292-47">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-48">}</[·...·truncated·by·diffoscope;·len:·203,·SHA:·4caa0bb83631b8479cdd676017b059afc8025a48e67384a17fbc81ad14d683b6·...·]-9">}</span><span·class="p">,</span><span·class="w">259 ··········</span><span·class="p"·data-group-id="1450957400-47">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-48">}</[·...·truncated·by·diffoscope;·len:·203,·SHA:·a97d79a7f1e20abd77919585b95ea16043a96edb7e135359dfe0f53f9eb6e5d7·...·]-9">}</span><span·class="p">,</span><span·class="w">
260 ··</span><span·class="p"·data-group-id="5296739292-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="1450957400-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="5296739292-50">[</span><span·class="p"·data-group-id="5296739292-51">{</span><span·class="p"·data-group-id="5296739292-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:·617b2615c2334464a5ad9f184b3a710370482829d12501396434d58d4c114392·...·]-51">}</span><span·class="p">,</span><span·class="w">261 ········</span><span·class="p"·data-group-id="1450957400-50">[</span><span·class="p"·data-group-id="1450957400-51">{</span><span·class="p"·data-group-id="1450957400-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:·d5278452b4a0e042bf951e9b1ae8781b898e139d30381be301446a161b8cea84·...·]-51">}</span><span·class="p">,</span><span·class="w">
262 ·········</span><span·class="p"·data-group-id="5296739292-53">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-54">}[·...·truncated·by·diffoscope;·len:·100,·SHA:·edebd12b3eb3999794e77ba271b1b41060b090860edf855294b4f89ccb36f760·...·]-53">}</span><span·class="p">,</span><span·class="w">262 ·········</span><span·class="p"·data-group-id="1450957400-53">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-54">}[·...·truncated·by·diffoscope;·len:·100,·SHA:·01efcd91a28575b7c9c27c34bddeb9b871718841c4314092a531c34e26b3c4a0·...·]-53">}</span><span·class="p">,</span><span·class="w">
263 ·········</span><span·class="p"·data-group-id="5296739292-55">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-56">[·...·truncated·by·diffoscope;·len:·101,·SHA:·b56f44b584011fabce855ee5c4fc9e6fa4e71e2397a1f335e7536cd13cd5fd98·...·]-55">}</span><span·class="p">,</span><span·class="w">263 ·········</span><span·class="p"·data-group-id="1450957400-55">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-56">[·...·truncated·by·diffoscope;·len:·101,·SHA:·e34342f2e48318d9b8645e37f8246cd234eaf7fd20b852e958361201a54ab886·...·]-55">}</span><span·class="p">,</span><span·class="w">
264 ·········</span><span·class="p"·data-group-id="5296739292-57">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-58">[·...·truncated·by·diffoscope;·len:·101,·SHA:·b56f44b584011fabce855ee5c4fc9e6fa4e71e2397a1f335e7536cd13cd5fd98·...·]-57">}</span><span·class="p">,</span><span·class="w">264 ·········</span><span·class="p"·data-group-id="1450957400-57">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-58">[·...·truncated·by·diffoscope;·len:·101,·SHA:·e34342f2e48318d9b8645e37f8246cd234eaf7fd20b852e958361201a54ab886·...·]-57">}</span><span·class="p">,</span><span·class="w">
265 ·········</span><span·class="p"·data-group-id="5296739292-59">{</span><span·class="p"·data-group-id="5296739292-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="5296739292[·...·truncated·by·diffoscope;·len:·214,·SHA:·0af27724b1d7c2e473c1f45974032f25e06d265e1332d6f956bc918ebcf2576c·...·]-49">}</span><span·class="p">,</span><span·class="w">265 ·········</span><span·class="p"·data-group-id="1450957400-59">{</span><span·class="p"·data-group-id="1450957400-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="1450957400[·...·truncated·by·diffoscope;·len:·214,·SHA:·a96c1bf8f6f1e04ef023da72bb94a92b21c69fa7e2eb2095a336303278045ade·...·]-49">}</span><span·class="p">,</span><span·class="w">
266 ··</span><span·class="p"·data-group-id="5296739292-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="1450957400-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="5296739292-62">[</span><span·class="p"·data-group-id="5296739292-63">{</span><span·class="p"·data-group-id="5296739292-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:·cb4772183450121c6ee6b22fb4efeb8db03b7ba811dabac30f964093c83baf1c·...·]-63">}</span><span·class="p">,</span><span·class="w">267 ··········</span><span·class="p"·data-group-id="1450957400-62">[</span><span·class="p"·data-group-id="1450957400-63">{</span><span·class="p"·data-group-id="1450957400-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:·198cef7a6cf3a502724270f299a7f9d77324e01bc47efe0bb4e8914442cc987d·...·]-63">}</span><span·class="p">,</span><span·class="w">
268 ···········</span><span·class="p"·data-group-id="5296739292-65">{</span><span·class="p"·data-group-id="5296739292-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="52967392[·...·truncated·by·diffoscope;·len:·105,·SHA:·f0914c393e3c20238b91fa528a1ef17b2ce1a0783ee907df23b228eb030346d3·...·]-65">}</span><span·class="p">,</span><span·class="w">268 ···········</span><span·class="p"·data-group-id="1450957400-65">{</span><span·class="p"·data-group-id="1450957400-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="14509574[·...·truncated·by·diffoscope;·len:·105,·SHA:·5be9871171bf0fb99c25022a272850abd5a3af849c508466692b43252a766ee3·...·]-65">}</span><span·class="p">,</span><span·class="w">
269 ···········</span><span·class="p"·data-group-id="5296739292-67">{</span><span·class="p"·data-group-id="5296739292-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-grou[·...·truncated·by·diffoscope;·len:·227,·SHA:·61ec0aaaad4e57feb474cf722d31d67375d10743765f86bd2450b22eccf174a8·...·]-61">}</span><span·class="p">,</span><span·class="w">269 ···········</span><span·class="p"·data-group-id="1450957400-67">{</span><span·class="p"·data-group-id="1450957400-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-grou[·...·truncated·by·diffoscope;·len:·227,·SHA:·34b2820bc43880957e0fa8801d19481a10d875df269839b3253ab19c14226d73·...·]-61">}</span><span·class="p">,</span><span·class="w">
270 ··</span><span·class="p"·data-group-id="5296739292-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="5296739292-70">[</span><span·class="p"·data-group-id="5296739292-71">{</span><span·class="p"·data-group-id="5296739292-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="5296739292-72">}</span><span·class="p">,</span><span·class="mi">1001</span><span·class="p"·data-group-id="5296739292-71">}</span><span·class="p"·data-group-id="5296739292-70">]</span><span·class="p"·data-group-id="5296739292-69">}</span><span·class="p">,</span><span·class="w"> 
271 ··</span><span·class="p"·data-group-id="5296739292-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="5296739292-74">[</span><span·class="p"·data-group-id="5296739292-75">{</span><span·class="p"[·...·truncated·by·diffoscope;·len:·585,·SHA:·7c14a86760ce6ba6bcf0b2bf9cbbd888b8ab7d34658d7eb7169b0af202e68a7b·...·]">270 ··</span><span·class="p"·data-group-id="1450957400-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="1450957400-70">[</span><span·class="p"·data-group-id="1450957400-71">{</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·466,·SHA:·0a6f1d3501d5948579d21a7b87368eedfb223b7eb0c49a367aed0fbb95b7a264·...·]">
 271 ··</span><span·class="p"·data-group-id="1450957400-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="1450957400-74">[</span><span·class="p"·data-group-id="1450957400-75">{</span><span·class="p"·data-group-id="1450957400-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="1450957400-76">}</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1450957400-75">}</span><span·class="p"·data-group-id="1450957400-74">]</span><span·class="p"·data-group-id="1450957400-73">}</span><span·class="p"·data-group-id="1450957400-8">]</span><span·class="p"·data-group-id="1450957400-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="5296739292-77">(</span><span·class="p"·data-group-id="5296739292-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="1450957400-77">(</span><span·class="p"·data-group-id="1450957400-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-7.0/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-7.0/doc/html/lists.html#sort/1"><code·class="inline">lists:sort/1</code></a>·works.·It·used·6173
Max diff block lines reached; 857/85610 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.2/doc/html/eprof.html
    
Offset 971, 15 lines modifiedOffset 971, 15 lines modified
971 ······<p·class="built-using">971 ······<p·class="built-using">
972 ········Built·using972 ········Built·using
973 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the973 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
974 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>974 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
975 ······</p>975 ······</p>
976 <p>Copyright·©·1996-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.2/doc/html/erlang-el.html
    
Offset 207, 31 lines modifiedOffset 207, 31 lines modified
207 ····<i·class="ri-link-m"·aria-hidden="true"></i>207 ····<i·class="ri-link-m"·aria-hidden="true"></i>
208 ··</a>208 ··</a>
209 ··<span·class="text">Edit·-·Alignment</span>209 ··<span·class="text">Edit·-·Alignment</span>
210 </h2>210 </h2>
211 <ul><li>··<em><code·class="inline">C-c·C-a</code></em>·(<code·class="inline">align-current</code>)·-·aligns·comments,·arrows,·assignments,211 <ul><li>··<em><code·class="inline">C-c·C-a</code></em>·(<code·class="inline">align-current</code>)·-·aligns·comments,·arrows,·assignments,
212 and·type·annotations·around·the·cursor.</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Example</span><span·class="p">:</span><span·class="w">212 and·type·annotations·around·the·cursor.</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Example</span><span·class="p">:</span><span·class="w">
  
213 </span><span·class="nf">sum</span><span·class="p"·data-group-id="0475368251-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="0475368251-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="0475368251-2">(</span><s[·...·truncated·by·diffoscope;·len:·136,·SHA:·6eb03c9d556057703e75cb7276ec7621df85c559d54c7b22bccc2eebede8321d·...·]-2">)</span><span·class="p">.</span><span·class="w">213 </span><span·class="nf">sum</span><span·class="p"·data-group-id="0961462419-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="0961462419-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="0961462419-2">(</span><s[·...·truncated·by·diffoscope;·len:·136,·SHA:·18366f15d8606a43b34ef5052a8f2e61e9a5115f72947f9f346fd186f66f441b·...·]-2">)</span><span·class="p">.</span><span·class="w">
214 </span><span·class="nf">sum</span><span·class="p"·data-group-id="0475368251-3">(</span><span·class="p"·data-group-id="0475368251-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0475368251-4">]</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·461,·SHA:·ed1d9a50de4b819a2551fa401b2dcb6229f4c4bd260fb949fd1df8cff491f431·...·]-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="0961462419-3">(</span><span·class="p"·data-group-id="0961462419-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0961462419-4">]</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·461,·SHA:·9ea8ae9d3d9596eaa57d624b15213d27fae5ddbacce45125dfed4e45883bad86·...·]-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="0475368251-6">(</span><span·class="p"·data-group-id="0475368251-7">[</span><span·class="p"·data-group-id="0475368251-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="0475368251-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="0961462419-6">(</span><span·class="p"·data-group-id="0961462419-7">[</span><span·class="p"·data-group-id="0961462419-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="0961462419-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="0475368251-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="0475368251-9">(</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·1d9933ce7edf95275fc69f25eca7dcba62b233dab92da2f4ddd131b2294247db·...·]-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="0961462419-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="0961462419-9">(</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·4b74576dc4dd7fc120101cd9d4dda0c905b4ae51d6dc4bbf8e8f2986bf521ec3·...·]-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="0475368251-10">(</span><span·class="p"·data-group-id="0475368251-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="0961462419-10">(</span><span·class="p"·data-group-id="0961462419-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="0475368251-11">(</span><span·class="p"·data-group-id="0475368251-11">)</span><span·class="w">·</span><span·class="p"·data-group-id="0475368251-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="0961462419-11">(</span><span·class="p"·data-group-id="0961462419-11">)</span><span·class="w">·</span><span·class="p"·data-group-id="0961462419-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="0475368251-12">(</span><span·class="n">L</span><span·class="p"·data-group-id="0475368251-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="0475368251-13">(</span[·...·truncated·by·diffoscope;·len:·139,·SHA:·97c7e8e27acfb9b5105df6d11ca49fdca409235a0a064de2619f2ea6c7d2cb8c·...·]-13">)</span><span·class="p">.</span><span·class="w">221 </span><span·class="nf">sum</span><span·class="p"·data-group-id="0961462419-12">(</span><span·class="n">L</span><span·class="p"·data-group-id="0961462419-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="0961462419-13">(</span[·...·truncated·by·diffoscope;·len:·139,·SHA:·24f69a793f2861e452139f0346a45012cc1176f19b80c8d7c7916b56a8cf8073·...·]-13">)</span><span·class="p">.</span><span·class="w">
222 </span><span·class="nf">sum</span><span·class="p"·data-group-id="0475368251-14">(</span><span·class="p"·data-group-id="0475368251-15">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0475368251-15">]</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·466,·SHA:·2f064297a09b540621c02c9eea215b4dc0fc26c0f365579c1ed797eaef683494·...·]-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="0961462419-14">(</span><span·class="p"·data-group-id="0961462419-15">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0961462419-15">]</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·466,·SHA:·454348f72a5ce7caf18e7ff4e2d3418e84092884d46d68abc508cf6127c3679e·...·]-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="0475368251-17">(</span><span·class="p"·data-group-id="0475368251-18">[</span><span·class="p"·data-group-id="0475368251-18">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="0475368251-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="0961462419-17">(</span><span·class="p"·data-group-id="0961462419-18">[</span><span·class="p"·data-group-id="0961462419-18">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="0961462419-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="0475368251-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="0475368251-20">(</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·f45078668bfb24bb958014368dfd97b771ba388df53a77c9edf90ec6b235f901·...·]-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="0961462419-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="0961462419-20">(</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·cbec8edae9f1c4204897cb87045f1e3bc04a75e63ca439e3da0f3266e5baf885·...·]-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="0475368251-21">(</span><span·class="p"·data-group-id="0475368251-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="0961462419-21">(</span><span·class="p"·data-group-id="0961462419-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="0475368251-22">(</span><span·class="p"·data-group-id="0475368251-22">)</span><span·class="w">·</span><span·class="p"·data-group-id="0475368251-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="0961462419-22">(</span><span·class="p"·data-group-id="0961462419-22">)</span><span·class="w">·</span><span·class="p"·data-group-id="0961462419-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.2/doc/html/erlang_mode_chapter.html
    
Offset 327, 15 lines modifiedOffset 327, 15 lines modified
327 ······<p·class="built-using">327 ······<p·class="built-using">
328 ········Built·using328 ········Built·using
329 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the329 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
330 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>330 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
331 ······</p>331 ······</p>
332 <p>Copyright·©·1996-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.2/doc/html/fprof.html
    
Offset 171, 69 lines modifiedOffset 171, 69 lines modified
171 </h2>171 </h2>
172 <p>This·section·describes·the·output·format·of·the·<a·href="#analyse/1"><code·class="inline">analyse/1</code></a>·function.</p><p>The·format·is·parsable·with·the·standard·Erlang·parsing·tools172 <p>This·section·describes·the·output·format·of·the·<a·href="#analyse/1"><code·class="inline">analyse/1</code></a>·function.</p><p>The·format·is·parsable·with·the·standard·Erlang·parsing·tools
173 <a·href="../../../../lib/stdlib-7.0/doc/html/erl_scan.html"><code·class="inline">erl_scan</code></a>·and·<a·href="../../../../lib/stdlib-7.0/doc/html/erl_parse.html"><code·class="inline">erl_parse</code></a>,·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>,·or·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#read/2"><code·class="inline">io:read/2</code></a>.·The173 <a·href="../../../../lib/stdlib-7.0/doc/html/erl_scan.html"><code·class="inline">erl_scan</code></a>·and·<a·href="../../../../lib/stdlib-7.0/doc/html/erl_parse.html"><code·class="inline">erl_parse</code></a>,·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>,·or·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#read/2"><code·class="inline">io:read/2</code></a>.·The
174 parse·format·is·not·described·here··it·should·be·easy·enough·for·the174 parse·format·is·not·described·here··it·should·be·easy·enough·for·the
175 interested·reader·to·try·it·out.·Note·that·some·flags·to175 interested·reader·to·try·it·out.·Note·that·some·flags·to
176 <a·href="#analyse/1"><code·class="inline">analyse/1</code></a>·will·affect·the·format.</p><p>The·following·example·was·run·on·Erlang/OTP·R8·on·Solaris·8;·all·OTP176 <a·href="#analyse/1"><code·class="inline">analyse/1</code></a>·will·affect·the·format.</p><p>The·following·example·was·run·on·Erlang/OTP·R8·on·Solaris·8;·all·OTP
177 internals·in·this·example·are·version·dependent.</p><p>As·an·example,·we·will·use·the·following·function,·which·is·a177 internals·in·this·example·are·version·dependent.</p><p>As·an·example,·we·will·use·the·following·function,·which·is·a
178 slightly·modified·benchmark·function·from·module·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8170497254-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="8170497254-1">)</span><span·class="p">.</span><span·class="w">178 slightly·modified·benchmark·function·from·module·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0356506963-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="0356506963-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="8170497254-2">(</span><span·class="p"·data-group-id="8170497254-3">[</span><span·class="ss">create_file_slow</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="8170497254-3">]</span><span·class="p"·data-group-id="81704972[·...·truncated·by·diffoscope;·len:·2,·SHA:·2fca346db656187102ce806ac732e06a62df0dbb2829e511a770556d398e1a6e·...·]-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="0356506963-2">(</span><span·class="p"·data-group-id="0356506963-3">[</span><span·class="ss">create_file_slow</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="0356506963-3">]</span><span·class="p"·data-group-id="03565069[·...·truncated·by·diffoscope;·len:·2,·SHA:·da4ea2a5506f2693eae190d9360a1f31793c98a1adade51d93533a6f520ace1c·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
180 </span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="8170497254-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="8170497254-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·145,·SHA:·54353f0eec0b45d378212f36a4aaf2e0d5fc6bee6940ce152d3713f34af7a220·...·]-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="0356506963-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="0356506963-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·145,·SHA:·6a300af4ef7960ed7c2ea681374fa74d62d2152dabb533e8f829a31821a2906c·...·]-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="8170497254-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="8170497254-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">181 ····</span><span·class="p"·data-group-id="0356506963-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="0356506963-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="8170497254-7">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8170497254-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:·9a79b9f8c3d8846cbc36800e905d4e46ddccf39c646b60de2c534829d7169258·...·]-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="0356506963-7">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0356506963-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:·8584b238cf9578300602b05bacf353b6f890aaa7972064c509574070b352621b·...·]-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="8170497254-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="0356506963-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="8170497254-10">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="8170497254-11">(</span><span·class="n">X</span><span·class="p"·data-group-id="8170497254-11">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·258,·SHA:·bc0404799a79b7d55c8c3cb9652c6a1d6d3856cef673d8e456a90b0c1f394f51·...·]-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="0356506963-10">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="0356506963-11">(</span><span·class="n">X</span><span·class="p"·data-group-id="0356506963-11">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·258,·SHA:·77a1dc0ce5d5fb4fefed64430f31b0720b1ee9dc74f5ab3b26a5b141bad1a9a0·...·]-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="8170497254-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="8170497254-13">)</span><span·class="p"·data-group-id="8170497254-10">)</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·601e0c96d638dedc5905f41b3edc171a2f22038ebf1408095b3573161ad9377a·...·]-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="0356506963-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="0356506963-13">)</span><span·class="p"·data-group-id="0356506963-10">)</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·c99a62c547c019570750fa049436d1af83d8a7025235bd7652c80bb4622463af·...·]-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="8170497254-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="8170497254-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="0356506963-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="0356506963-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="8170497254-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="8170497254-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="0356506963-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="0356506963-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="8170497254-16">(</span><span·class="n">FD</span><span·class="p"·data-group-id="8170497254-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="0356506963-16">(</span><span·class="n">FD</span><span·class="p"·data-group-id="0356506963-16">)</span><span·class="p">.</span><span·class="w">
  
192 </span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="8170497254-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="8170497254-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="0356506963-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="0356506963-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="8170497254-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="8170497254-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="0356506963-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="0356506963-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="8170497254-19">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8170497254-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:·b9ab42b9f4cb87e2bfd41c2347101c4130324417c9f1a36467a8000facd3264c·...·]-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="0356506963-19">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0356506963-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:·ee4a04c4445ce5ebc68a8a0d29a78467cb2b779f65051a13496b36a7aa3cf2fb·...·]-19">)</span><span·class="p">,</span><span·class="w">
196 ····</span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="8170497254-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:·b3e4d43e901b801b51a64376504c4fe5b88659d87e7616701960674b79eb562e·...·]-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="0356506963-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:·07ec5571f3c8d0b0201a4f489700dabf8b684556fa88b694d9d26aa9fab26080·...·]-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="3506836631-3">(</span><span·class="p"·data-group-id="3506836631-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="9361867438-3">(</span><span·class="p"·data-group-id="9361867438-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="3506836631-4">(</span><span·class="p"·data-group-id="3506836631-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="9361867438-4">(</span><span·class="p"·data-group-id="9361867438-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="6168192577-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="6015755011-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="6168192577-2">[</span><span·class="p"·data-group-id="6168192577-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="6168192577-3">}</span><span·class="p">,</span><span·class="w">200 ·</span><span·class="p"·data-group-id="6015755011-2">[</span><span·class="p"·data-group-id="6015755011-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="6015755011-3">}</span><span·class="p">,</span><span·class="w">
201 ··</span><span·class="p"·data-group-id="6168192577-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="6168192577-4">}</span><span·class="p">,</span><span·class="w">201 ··</span><span·class="p"·data-group-id="6015755011-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="6015755011-4">}</span><span·class="p">,</span><span·class="w">
202 ··</span><span·class="p"·data-group-id="6168192577-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="6168192577-5">}</span><span·class="p">,</span><span·class="w">202 ··</span><span·class="p"·data-group-id="6015755011-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="6015755011-5">}</span><span·class="p">,</span><span·class="w">
203 ··</span><span·class="p"·data-group-id="6168192577-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="6168192577-6">}</span><span·class="p"·data-group-id="6168192577-2">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·62ea7c6ae62052ec04b640f272a327b15e39b71f30f23ce333bf9d6f148da492·...·]-1">}</span><span·class="p">.</span><span·class="w">203 ··</span><span·class="p"·data-group-id="6015755011-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="6015755011-6">}</span><span·class="p"·data-group-id="6015755011-2">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·32f3c416be192914dcde556ecd1f59aa871659004c75d3fa4d86f69cd79e7c5b·...·]-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="6168192577-7">[</span><span·class="p"·data-group-id="6168192577-8">{</span><span·class="w">·</span><span·class="ss">totals</span><span·class="p">,</span><span·class="w">·····························</span><span·class="mi">9627</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·230,·SHA:·779445df6330cdfd0f75ca2adce338de89e9851e9eab9685f5cb392fb197fd64·...·]-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="6015755011-7">[</span><span·class="p"·data-group-id="6015755011-8">{</span><span·class="w">·</span><span·class="ss">totals</span><span·class="p">,</span><span·class="w">·····························</span><span·class="mi">9627</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·230,·SHA:·7f3a2f3cb3eb9ea10ca0dc6ec5fdea09d9cd231e7430b66f7c855f5cc0fd32b0·...·]-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="1494547795-1">[</span><span·class="p"·data-group-id="1494547795-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:·cbb3f0f8577b3a515c6c24471fded062ddfe9359b166ef21d1746f8723b092b6·...·]-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="8398698621-1">[</span><span·class="p"·data-group-id="8398698621-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:·36fa7a8541835620557556cc543019f9fa9cf47f14c55925205e8447101e9cfe·...·]-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="4719223539-1">{</span><span·class="p"·data-group-id="4719223539-2">[</span><span·class="p"·data-group-id="4719223539-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:·c7526a7e8a00dfc5db6ebd5d23f5974dd91bcc5815d1bf3591c717a02e114a70·...·]-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="6901481228-1">{</span><span·class="p"·data-group-id="6901481228-2">[</span><span·class="p"·data-group-id="6901481228-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:·289565a4da015048998009a35a368ef67ac24b57abc0dd3bce56d11293079a0e·...·]-2">]</span><span·class="p">,</span><span·class="w">
218 ·</span><span·class="p"·data-group-id="4719223539-4">{</span><span·class="w">·</span><span·class="p"·data-group-id="4719223539-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:·b0a20b056cc48ce3c2d68b237691565fcc33124f86ff749cb904faa637f58381·...·]-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="6901481228-4">{</span><span·class="w">·</span><span·class="p"·data-group-id="6901481228-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:·58a3c13a4e09ccdaec4bf6c48e201ecdef4320536be14e894e913485ef50c1c6·...·]-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="4719223539-6">[</span><span·class="p"·data-group-id="4719223539-7">{</span><span·class="p"·data-group-id="4719223539-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:·d003743684cfaef8571705c0b735447b204ef06b9407bb6a7724b6389c7ba751·...·]-7">}</span><span·class="p">,</span><span·class="w">219 ·</span><span·class="p"·data-group-id="6901481228-6">[</span><span·class="p"·data-group-id="6901481228-7">{</span><span·class="p"·data-group-id="6901481228-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:·06a0c95fa9505f8919e83f8e78edbf4a499799b0369223f9232c914e9422d080·...·]-7">}</span><span·class="p">,</span><span·class="w">
220 ··</span><span·class="p"·data-group-id="4719223539-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:·bb6e820ef1316af05526c0432badb87d5a58397e0b616178308661ad5a16645e·...·]-1">}</span><span·class="p">.</span><span·class="w">220 ··</span><span·class="p"·data-group-id="6901481228-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:·a48d6363e509cf2f0c057c223edb517e41d41e40103d183e18e0639adcb15ad6·...·]-1">}</span><span·class="p">.</span><span·class="w">
  
221 </span><span·class="p"·data-group-id="4719223539-10">{</span><span·class="p"·data-group-id="4719223539-11">[</span><span·class="p"·data-group-id="4719223539-12">{</span><span·class="p"·data-group-id="4719223539-13">{</span><span·class="ss">fprof</span><span·class="p">,</span><span·class="ss">a[·...·truncated·by·diffoscope;·len:·464,·SHA:·08e3fe6ad90144709f66e77d7dfbcf90c7027b42d0f5330abb6a85f8fe7cfc1d·...·]-11">]</span><span·class="p">,</span><span·class="w">221 </span><span·class="p"·data-group-id="6901481228-10">{</span><span·class="p"·data-group-id="6901481228-11">[</span><span·class="p"·data-group-id="6901481228-12">{</span><span·class="p"·data-group-id="6901481228-13">{</span><span·class="ss">fprof</span><span·class="p">,</span><span·class="ss">a[·...·truncated·by·diffoscope;·len:·464,·SHA:·bb464013f874f377879e457b7ec99e0b2db2b63b960a485decc7b3d4adee50c2·...·]-11">]</span><span·class="p">,</span><span·class="w">
222 ·</span><span·class="p"·data-group-id="4719223539-14">{</span><span·class="w">·</span><span·class="p"·data-group-id="4719223539-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:·320c374f9623fc97d53f40c4b5849abf1f2e594b350f6e5f89ce0dda95679853·...·]-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="6901481228-14">{</span><span·class="w">·</span><span·class="p"·data-group-id="6901481228-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:·3373ee7492ae50dae672cc3652163763bf2bbf0312e36621facbed5ff66389cd·...·]-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="4719223539-16">[</span><span·class="p"·data-group-id="4719223539-17">{</span><span·class="p"·data-group-id="4719223539-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:·5fd01a6ff133ad94e572c0036a5afc43be22384bd2df602f6b04aa10dfcce8f4·...·]-17">}</span><span·class="p">,</span><span·class="w">223 ·</span><span·class="p"·data-group-id="6901481228-16">[</span><span·class="p"·data-group-id="6901481228-17">{</span><span·class="p"·data-group-id="6901481228-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:·91b4c700b4fdb7019b2164d65db3d3d78201f8c51eeaf28ce784adba94a25d19·...·]-17">}</span><span·class="p">,</span><span·class="w">
224 ··</span><span·class="p"·data-group-id="4719223539-19">{</span><span·class="p"·data-group-id="4719223539-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="47192235[·...·truncated·by·diffoscope;·len:·302,·SHA:·8e8d406a27a1ebf6abedd821cf8797a7ed759672eabbf967298cac03b50f55b0·...·]-19">}</span><span·class="p">,</span><span·class="w">224 ··</span><span·class="p"·data-group-id="6901481228-19">{</span><span·class="p"·data-group-id="6901481228-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="69014812[·...·truncated·by·diffoscope;·len:·302,·SHA:·eca6199a1baed70fb84243fd7cf0c85a655930781f822eb848dd7a8d6f27fc12·...·]-19">}</span><span·class="p">,</span><span·class="w">
225 ··</span><span·class="p"·data-group-id="4719223539-21">{</span><span·class="p"·data-group-id="4719223539-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="4719223539-22">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·69cf0b095e30ecb26c92063518fbf8698555f72ea02d833c162103007e7623bf·...·]-21">}</span><span·class="p">,</span><span·class="w">225 ··</span><span·class="p"·data-group-id="6901481228-21">{</span><span·class="p"·data-group-id="6901481228-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="6901481228-22">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·6ad83363802bccbfcc3c8889cce2dff2bdc280896763c516d2a5ae4aee225e70·...·]-21">}</span><span·class="p">,</span><span·class="w">
226 ··</span><span·class="p"·data-group-id="4719223539-23">{</span><span·class="p"·data-group-id="4719223539-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="4719223539-24">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·ffe529ba3d64896d22f4414b6da2f7592a93b5d37a24459d9871b7c29ec9f360·...·]-23">}</span><span·class="p">,</span><span·class="w">226 ··</span><span·class="p"·data-group-id="6901481228-23">{</span><span·class="p"·data-group-id="6901481228-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="6901481228-24">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·6400f479c5b6581e97634df79147b2573d995a285dd2b04fc1eec6ef208a283a·...·]-23">}</span><span·class="p">,</span><span·class="w">
227 ··</span><span·class="p"·data-group-id="4719223539-25">{</span><span·class="p"·data-group-id="4719223539-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="4719223539-26">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·1ccd56a12f1aaafb26ef09e4dd94f0d4f7e3d53a59a71e0c8512be935c1fb61d·...·]-25">}</span><span·class="p">,</span><span·class="w">227 ··</span><span·class="p"·data-group-id="6901481228-25">{</span><span·class="p"·data-group-id="6901481228-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="6901481228-26">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·e0684a465c4f4a24ed80dd8c96369002fed7c86d6783511e60a244671b0ddf2f·...·]-25">}</span><span·class="p">,</span><span·class="w">
228 ··</span><span·class="p"·data-group-id="4719223539-27">{</span><span·class="p"·data-group-id="4719223539-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="4719223539-28">}</[·...·truncated·by·diffoscope;·len:·410,·SHA:·8b5090a1a902e44ed92361a61f1f7f6a87b1b1ba2cf58080b78c41f237f2b3f2·...·]-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="6901481228-27">{</span><span·class="p"·data-group-id="6901481228-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="6901481228-28">}</[·...·truncated·by·diffoscope;·len:·410,·SHA:·214881551920f1e52fd11850444ae44c2825bb746ff3a904960c925f2abe4b37·...·]-10">}</span><span·class="p">.</span></code></pre><p>The·printout·consists·of·one·paragraph·per·called·function.·The·function
229 <em>marked</em>·with·<code·class="inline">%</code>·is·the·one·the·paragraph·concerns··<code·class="inline">foo:create_file_slow/2</code>.229 <em>marked</em>·with·<code·class="inline">%</code>·is·the·one·the·paragraph·concerns··<code·class="inline">foo:create_file_slow/2</code>.
230 Above·the·marked·function·are·the·<em>calling</em>·functions··those·that·has·called230 Above·the·marked·function·are·the·<em>calling</em>·functions··those·that·has·called
231 the·marked,·and·below·are·those·<em>called</em>·by·the·marked·function.</p><p>The·paragraphs·are·per·default·sorted·in·descending·order·of·the·<code·class="inline">ACC</code>·column·for231 the·marked,·and·below·are·those·<em>called</em>·by·the·marked·function.</p><p>The·paragraphs·are·per·default·sorted·in·descending·order·of·the·<code·class="inline">ACC</code>·column·for
232 the·marked·function.·The·calling·list·and·called·list·within·one·paragraph·are232 the·marked·function.·The·calling·list·and·called·list·within·one·paragraph·are
233 also·per·default·sorted·in·descending·order·of·their·<code·class="inline">ACC</code>·column.</p><p>The·columns·are:</p><ul><li><code·class="inline">CNT</code>·-·the·number·of·times·the·function·has·been·called</li><li><code·class="inline">ACC</code>·-·the·time·spent·in·the·function·including·called·functions</li><li><code·class="inline">OWN</code>·-·the·time·spent·in·the·function·not·including·called·functions</li></ul><p>The·rows·for·the·<em>calling</em>·functions·contain·statistics·for·the·<em>marked</em>233 also·per·default·sorted·in·descending·order·of·their·<code·class="inline">ACC</code>·column.</p><p>The·columns·are:</p><ul><li><code·class="inline">CNT</code>·-·the·number·of·times·the·function·has·been·called</li><li><code·class="inline">ACC</code>·-·the·time·spent·in·the·function·including·called·functions</li><li><code·class="inline">OWN</code>·-·the·time·spent·in·the·function·not·including·called·functions</li></ul><p>The·rows·for·the·<em>calling</em>·functions·contain·statistics·for·the·<em>marked</em>
234 function·with·the·constraint·that·only·the·occasions·when·a·call·was·made·from234 function·with·the·constraint·that·only·the·occasions·when·a·call·was·made·from
235 the·<em>row's</em>·function·to·the·<em>marked</em>·function·are·accounted·for.</p><p>The·row·for·the·<em>marked</em>·function·simply·contains·the·sum·of·all·<em>calling</em>·rows.</p><p>The·rows·for·the·<em>called</em>·functions·contains·statistics·for·the·<em>row's</em>·function235 the·<em>row's</em>·function·to·the·<em>marked</em>·function·are·accounted·for.</p><p>The·row·for·the·<em>marked</em>·function·simply·contains·the·sum·of·all·<em>calling</em>·rows.</p><p>The·rows·for·the·<em>called</em>·functions·contains·statistics·for·the·<em>row's</em>·function
Offset 242, 109 lines modifiedOffset 242, 109 lines modified
242 execution.·It·spent·most·of·its·time·in·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#close/1"><code·class="inline">file:close/1</code></a>.·The·function242 execution.·It·spent·most·of·its·time·in·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#close/1"><code·class="inline">file:close/1</code></a>.·The·function
243 <code·class="inline">foo:create_file_slow/3</code>·that·writes·3/4·of·the·file·contents·is·the·second243 <code·class="inline">foo:create_file_slow/3</code>·that·writes·3/4·of·the·file·contents·is·the·second
244 biggest·time·thief.</p><p>We·also·see·that·the·call·to·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>·that·writes·1/4·of·the·file·contents244 biggest·time·thief.</p><p>We·also·see·that·the·call·to·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>·that·writes·1/4·of·the·file·contents
245 takes·very·little·time·in·itself.·What·takes·time·is·to·build·the·data245 takes·very·little·time·in·itself.·What·takes·time·is·to·build·the·data
246 (<a·href="../../../../lib/stdlib-7.0/doc/html/lists.html#seq/2"><code·class="inline">lists:seq/2</code></a>·and·<a·href="../../../../lib/stdlib-7.0/doc/html/lists.html#map/2"><code·class="inline">lists:map/2</code></a>).</p><p>The·function·<code·class="inline">undefined</code>·that·has·called·<code·class="inline">fprof:apply_start_stop/4</code>·is·an246 (<a·href="../../../../lib/stdlib-7.0/doc/html/lists.html#seq/2"><code·class="inline">lists:seq/2</code></a>·and·<a·href="../../../../lib/stdlib-7.0/doc/html/lists.html#map/2"><code·class="inline">lists:map/2</code></a>).</p><p>The·function·<code·class="inline">undefined</code>·that·has·called·<code·class="inline">fprof:apply_start_stop/4</code>·is·an
247 unknown·function·because·that·call·was·not·recorded·in·the·trace.·It·was·only247 unknown·function·because·that·call·was·not·recorded·in·the·trace.·It·was·only
248 recorded·that·the·execution·returned·from·<code·class="inline">fprof:apply_start_stop/4</code>·to·some248 recorded·that·the·execution·returned·from·<code·class="inline">fprof:apply_start_stop/4</code>·to·some
249 other·function·above·in·the·call·stack,·or·that·the·process·exited·from·there.</p><p>Let·us·continue·down·the·printout·to·find:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5808441449-1">{</span><span·class="p"·data-group-id="5808441449-2">[</span><span·class="p"·data-group-id="5808441449-3">{</span><span·class="p"·data-group-id="5808441449-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_[·...·truncated·by·diffoscope;·len:·405,·SHA:·71c95fffecd328ca8054ec70a75f13013c66a13ff2f80c9e794aa1a0c0ef6c7c·...·]-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="9801087054-1">{</span><span·class="p"·data-group-id="9801087054-2">[</span><span·class="p"·data-group-id="9801087054-3">{</span><span·class="p"·data-group-id="9801087054-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_[·...·truncated·by·diffoscope;·len:·405,·SHA:·960ec4e553f6f20c0aca12782c5ab3e1b83d951c9d12da0da6bb8325e4dfc355·...·]-3">}</span><span·class="p">,</span><span·class="w">
250 ··</span><span·class="p"·data-group-id="5808441449-5">{</span><span·class="p"·data-group-id="5808441449-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="5808441449[·...·truncated·by·diffoscope;·len:·352,·SHA:·ebdc4ae22dd177a3350f20668c768ddc60d5c02c5963d68eeaf56edb9c5e6b80·...·]-2">]</span><span·class="p">,</span><span·class="w">250 ··</span><span·class="p"·data-group-id="9801087054-5">{</span><span·class="p"·data-group-id="9801087054-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="9801087054[·...·truncated·by·diffoscope;·len:·352,·SHA:·d10fe005c420c20069ebbc9f5ad22aeafecbf0c1997914e677d7d9d6beadba44·...·]-2">]</span><span·class="p">,</span><span·class="w">
251 ·</span><span·class="p"·data-group-id="5808441449-7">{</span><span·class="w">·</span><span·class="p"·data-group-id="5808441449-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:·084ea6e58c0d28a2ab6bc064e17af3b0368d839a59ce30ee980050cb5a1ee6a9·...·]-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="9801087054-7">{</span><span·class="w">·</span><span·class="p"·data-group-id="9801087054-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:·01f9d2f82faff75e1ee4b3f76942612be1b622233c5f661632baf8018280589f·...·]-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="5808441449-9">[</span><span·class="p"·data-group-id="5808441449-10">{</span><span·class="p"·data-group-id="5808441449-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:·c746e522bc9251b4263c58c23ff3b057e7b0b14fe8ba23a573a428d03268c946·...·]-10">}</span><span·class="p">,</span><span·class="w">252 ·</span><span·class="p"·data-group-id="9801087054-9">[</span><span·class="p"·data-group-id="9801087054-10">{</span><span·class="p"·data-group-id="9801087054-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:·aa531b739c22fa1c9460eabb87089961605e3b5341a906c021e1759e31564b82·...·]-10">}</span><span·class="p">,</span><span·class="w">
253 ··</span><span·class="p"·data-group-id="5808441449-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:·8fb034f96d0fd4bd353de13d7683956715bdc266938e4f42dade6f0feb99d647·...·]-12">}</span><span·class="p">,</span><span·class="w">253 ··</span><span·class="p"·data-group-id="9801087054-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:·0ec866599ea8bdecb12b5954c67c9bebe6609930a8382f7f8676385b1a0dab8f·...·]-12">}</span><span·class="p">,</span><span·class="w">
254 ··</span><span·class="p"·data-group-id="5808441449-13">{</span><span·class="p"·data-group-id="5808441449-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="58084414[·...·truncated·by·diffoscope;·len:·409,·SHA:·1ef5078b7d4fb07bde70adbd98dd6c65e10faea73a8f45cce95f24e043bdaf75·...·]-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="9801087054-13">{</span><span·class="p"·data-group-id="9801087054-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="98010870[·...·truncated·by·diffoscope;·len:·409,·SHA:·a430c38cc83493905027e81265d0698d6a85d03cbb84da902ddcf52aea54a333·...·]-1">}</span><span·class="p">.</span></code></pre><p>If·you·compare·with·the·code·you·will·see·there·also·that
255 <code·class="inline">foo:create_file_slow/3</code>·was·called·only·from·<code·class="inline">foo:create_file_slow/2</code>·and255 <code·class="inline">foo:create_file_slow/3</code>·was·called·only·from·<code·class="inline">foo:create_file_slow/2</code>·and
256 itself,·and·called·only·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>,·note·the·number·of·calls·to256 itself,·and·called·only·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>,·note·the·number·of·calls·to
257 <a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>.·But·here·we·see·that·<code·class="inline">suspend</code>·was·called·a·few·times.·This·is·a257 <a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>.·But·here·we·see·that·<code·class="inline">suspend</code>·was·called·a·few·times.·This·is·a
258 pseudo·function·that·indicates·that·the·process·was·suspended·while·executing·in258 pseudo·function·that·indicates·that·the·process·was·suspended·while·executing·in
259 <code·class="inline">foo:create_file_slow/3</code>,·and·since·there·is·no·<code·class="inline">receive</code>·or·<a·href="../../../../erts-16.0/doc/html/erlang.html#yield/0"><code·class="inline">erlang:yield/0</code></a>·in259 <code·class="inline">foo:create_file_slow/3</code>,·and·since·there·is·no·<code·class="inline">receive</code>·or·<a·href="../../../../erts-16.0/doc/html/erlang.html#yield/0"><code·class="inline">erlang:yield/0</code></a>·in
260 the·code,·it·must·be·Erlang·scheduling·suspensions,·or·the·trace·file·driver260 the·code,·it·must·be·Erlang·scheduling·suspensions,·or·the·trace·file·driver
261 compensating·for·large·file·write·operations·(these·are·regarded·as·a·schedule261 compensating·for·large·file·write·operations·(these·are·regarded·as·a·schedule
262 out·followed·by·a·schedule·in·to·the·same·process).</p><p>Let·us·find·the·<code·class="inline">suspend</code>·entry:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1777095266-1">{</span><span·class="p"·data-group-id="1777095266-2">[</span><span·class="p"·data-group-id="1777095266-3">{</span><span·class="p"·data-group-id="1777095266-4">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">write<[·...·truncated·by·diffoscope;·len:·405,·SHA:·3f59c4c3471552eb427604fb9f0c176dd03c28dea00f38aa612e88cdbfbdacbf·...·]-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="5923483404-1">{</span><span·class="p"·data-group-id="5923483404-2">[</span><span·class="p"·data-group-id="5923483404-3">{</span><span·class="p"·data-group-id="5923483404-4">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">write<[·...·truncated·by·diffoscope;·len:·405,·SHA:·d2f9da50504e30e127c8518a0b2ab90cdda49fcf86d9143fb6913d65aadd800f·...·]-3">}</span><span·class="p">,</span><span·class="w">
263 ··</span><span·class="p"·data-group-id="1777095266-5">{</span><span·class="p"·data-group-id="1777095266-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="1777095266[·...·truncated·by·diffoscope;·len:·299,·SHA:·9ed3d9054d25c44ac7c8f652cc42568526c61ba33c6b43fd4f67d171e80be8a0·...·]-5">}</span><span·class="p">,</span><span·class="w">263 ··</span><span·class="p"·data-group-id="5923483404-5">{</span><span·class="p"·data-group-id="5923483404-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="5923483404[·...·truncated·by·diffoscope;·len:·299,·SHA:·54fe6d66405e2e6f979caeeeea6890e707e6a7f08818b40c22c24a4ef9d52fc2·...·]-5">}</span><span·class="p">,</span><span·class="w">
264 ··</span><span·class="p"·data-group-id="1777095266-7">{</span><span·class="p"·data-group-id="1777095266-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="177709526[·...·truncated·by·diffoscope;·len:·299,·SHA:·b74c3edffa0c6db58bfc6cb7302d22329a2eb4c0f25c8d572d197479cb8b0ac2·...·]-7">}</span><span·class="p">,</span><span·class="w">264 ··</span><span·class="p"·data-group-id="5923483404-7">{</span><span·class="p"·data-group-id="5923483404-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="592348340[·...·truncated·by·diffoscope;·len:·299,·SHA:·975a212d61119cfc1f03617e2e39d481fa79781be70e3e1e0d3c438f7dff5d18·...·]-7">}</span><span·class="p">,</span><span·class="w">
265 ··</span><span·class="p"·data-group-id="1777095266-9">{</span><span·class="p"·data-group-id="1777095266-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="177[·...·truncated·by·diffoscope;·len:·301,·SHA:·265af9b86bd8b2bff4fa84cb747f64200f332a99f2e92e6f858453e34d6a36c1·...·]-9">}</span><span·class="p">,</span><span·class="w">265 ··</span><span·class="p"·data-group-id="5923483404-9">{</span><span·class="p"·data-group-id="5923483404-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="592[·...·truncated·by·diffoscope;·len:·301,·SHA:·d792e16959baec4eef14084796b27da49493ffafedbd50e0bd7c3452483fa15e·...·]-9">}</span><span·class="p">,</span><span·class="w">
266 ··</span><span·class="p"·data-group-id="1777095266-11">{</span><span·class="p"·data-group-id="1777095266-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="1777095266-12">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·856f8b1e2ef41c81c0ee90e6f0cb3d184e9cc8a1bbc3d41ae06b013cd6e0d54d·...·]-11">}</span><span·class="p">,</span><span·class="w">266 ··</span><span·class="p"·data-group-id="5923483404-11">{</span><span·class="p"·data-group-id="5923483404-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="5923483404-12">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·aee2da3a31ee408c4e4ba8dfb7399eeabc9c93fc1a8d121c3cb14f253d73cedc·...·]-11">}</span><span·class="p">,</span><span·class="w">
267 ··</span><span·class="p"·data-group-id="1777095266-13">{</span><span·class="p"·data-group-id="1777095266-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="1777095266-14[·...·truncated·by·diffoscope;·len:·302,·SHA:·19044e66d64da8f6902d171154f2f9322be995e63a65497dcde8ad4a31cd4b3b·...·]-13">}</span><span·class="p">,</span><span·class="w">267 ··</span><span·class="p"·data-group-id="5923483404-13">{</span><span·class="p"·data-group-id="5923483404-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="5923483404-14[·...·truncated·by·diffoscope;·len:·302,·SHA:·6f72c66b9153ff01185ba6628612f6377b97e455f6ac342b65e429c3c9f59396·...·]-13">}</span><span·class="p">,</span><span·class="w">
268 ··</span><span·class="p"·data-group-id="1777095266-15">{</span><span·class="p"·data-group-id="1777095266-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="177709526[·...·truncated·by·diffoscope;·len:·302,·SHA:·f36043389536fa28ea9f6bc777a8e22a6707daa065a22465068a8fca8e00b193·...·]-15">}</span><span·class="p">,</span><span·class="w">268 ··</span><span·class="p"·data-group-id="5923483404-15">{</span><span·class="p"·data-group-id="5923483404-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="592348340[·...·truncated·by·diffoscope;·len:·302,·SHA:·17d7b16de16ef70ab449b9c26ac5af44376985d186a8f2e7af9d3bf5f9ad268a·...·]-15">}</span><span·class="p">,</span><span·class="w">
269 ··</span><span·class="p"·data-group-id="1777095266-17">{</span><span·class="p"·data-group-id="1777095266-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="1777095[·...·truncated·by·diffoscope;·len:·302,·SHA:·d0793335dd57d2c93aae0f08e62686ebef533c67b0b32259045d92de67d602dc·...·]-17">}</span><span·class="p">,</span><span·class="w">269 ··</span><span·class="p"·data-group-id="5923483404-17">{</span><span·class="p"·data-group-id="5923483404-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="5923483[·...·truncated·by·diffoscope;·len:·302,·SHA:·5b6ff939f14b46d1d946caa7dabc6e84590fe78a69146631ecc1e9958c48b966·...·]-17">}</span><span·class="p">,</span><span·class="w">
270 ··</span><span·class="p"·data-group-id="1777095266-19">{</span><span·class="p"·data-group-id="1777095266-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:·7220fd0d17dfd3acb2b74ec1ef1bb26503e1a16b6c15709d443c617ab8b86cbd·...·]-19">}</span><span·class="p">,</span><span·class="w">270 ··</span><span·class="p"·data-group-id="5923483404-19">{</span><span·class="p"·data-group-id="5923483404-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:·bea7f9214a539563416ed8923f28049c83cb2031b23790ad89e97431beba4fa9·...·]-19">}</span><span·class="p">,</span><span·class="w">
271 ··</span><span·class="p"·data-group-id="1777095266-21">{</span><span·class="p"·data-group-id="1777095266-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:·c4b6587b871bf2ff2f313fec5f83e565dc4bdde7a33263418f52fbc4546d2f9a·...·]-21">}</span><span·class="p">,</span><span·class="w">271 ··</span><span·class="p"·data-group-id="5923483404-21">{</span><span·class="p"·data-group-id="5923483404-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:·f182d0458125370c9bb0ec34a50cbfc1c3e8ead75565a1c7fbd19ff711d5a28e·...·]-21">}</span><span·class="p">,</span><span·class="w">
272 ··</span><span·class="p"·data-group-id="1777095266-23">{</span><span·class="p"·data-group-id="1777095266-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="1777095266-24">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·eef60605c3b620cfc054ad1189758b1cb1abb4c40e3625be530502086f7e9a34·...·]-23">}</span><span·class="p">,</span><span·class="w">272 ··</span><span·class="p"·data-group-id="5923483404-23">{</span><span·class="p"·data-group-id="5923483404-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="5923483404-24">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·e3463cb5a8856e8b911410f673c4bc11a83d2238f8618a368dfb5f205891b6e7·...·]-23">}</span><span·class="p">,</span><span·class="w">
273 ··</span><span·class="p"·data-group-id="1777095266-25">{</span><span·class="p"·data-group-id="1777095266-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:·5554b2d4cdb00775c0be4035b1b5a7eb9d18e641baac88b22579ab6b6c9e6bb7·...·]-25">}</span><span·class="p">,</span><span·class="w">273 ··</span><span·class="p"·data-group-id="5923483404-25">{</span><span·class="p"·data-group-id="5923483404-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:·650b9e0f8cf7db3f6e068db64ebab634772d228b098dc7a4a1bfc874dbcefad7·...·]-25">}</span><span·class="p">,</span><span·class="w">
274 ··</span><span·class="p"·data-group-id="1777095266-27">{</span><span·class="p"·data-group-id="1777095266-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="177709[·...·truncated·by·diffoscope;·len:·302,·SHA:·e0ffd1df4ba081614a9a4e3c77d4e9352b9c2c0a46365aa1b8cb7a5c63cfa1dc·...·]-27">}</span><span·class="p">,</span><span·class="w">274 ··</span><span·class="p"·data-group-id="5923483404-27">{</span><span·class="p"·data-group-id="5923483404-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="592348[·...·truncated·by·diffoscope;·len:·302,·SHA:·246ea5a742d81e7e80b0accc6b3992e7fe14bff295d59c083aa753a2af882b7d·...·]-27">}</span><span·class="p">,</span><span·class="w">
275 ··</span><span·class="p"·data-group-id="1777095266-29">{</span><span·class="p"·data-group-id="1777095266-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="17[·...·truncated·by·diffoscope;·len:·302,·SHA:·3f12be1f94a496c814cf4a982c364d1088ece1b1e9b46e47d3152ffa69a1baed·...·]-29">}</span><span·class="p">,</span><span·class="w">275 ··</span><span·class="p"·data-group-id="5923483404-29">{</span><span·class="p"·data-group-id="5923483404-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="59[·...·truncated·by·diffoscope;·len:·302,·SHA:·82431808eefa701c5555462a0e740e566bda61166087faf567afbf96411c15e5·...·]-29">}</span><span·class="p">,</span><span·class="w">
276 ··</span><span·class="p"·data-group-id="1777095266-31">{</span><span·class="p"·data-group-id="1777095266-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="1777095266-32">[·...·truncated·by·diffoscope;·len:·302,·SHA:·8bcba464ac0a6d4919bb4e93426e3c0712e4c2b4d7995b8933f1c4393f7eeffe·...·]-31">}</span><span·class="p">,</span><span·class="w">276 ··</span><span·class="p"·data-group-id="5923483404-31">{</span><span·class="p"·data-group-id="5923483404-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="5923483404-32">[·...·truncated·by·diffoscope;·len:·302,·SHA:·5b89c3cb58b17236e8531e3cb31b06a6bdb0ff800e94e3bd5398930dd110b19f·...·]-31">}</span><span·class="p">,</span><span·class="w">
277 ··</span><span·class="p"·data-group-id="1777095266-33">{</span><span·class="p"·data-group-id="1777095266-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="177709[·...·truncated·by·diffoscope;·len:·356,·SHA:·72c74f36a4e38c988aa77b30dd4856411f2f1eb8d83116ca92a92d174969dbc5·...·]-2">]</span><span·class="p">,</span><span·class="w">277 ··</span><span·class="p"·data-group-id="5923483404-33">{</span><span·class="p"·data-group-id="5923483404-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="592348[·...·truncated·by·diffoscope;·len:·356,·SHA:·af92f8ef7c7d901711dcffd652afe4d273028b6601aa989105e8c052b5455cef·...·]-2">]</span><span·class="p">,</span><span·class="w">
278 ·</span><span·class="p"·data-group-id="1777095266-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:·761d1b82541eec5febb593455cbfd4b56c2d1761a0df87474139c326d59ed866·...·]-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="5923483404-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:·13f4517a7d84c5f5b0949c050af73867259b00f3fbdcae404fe025d607517888·...·]-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="1777095266-36">[</span><span·class="w">·</span><span·class="p"·data-group-id="1777095266-36">]</span><span·class="p"·data-group-id="1777095266-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="5923483404-36">[</span><span·class="w">·</span><span·class="p"·data-group-id="5923483404-36">]</span><span·class="p"·data-group-id="5923483404-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="9370780366-1">{</span><span·class="p"·data-group-id="9370780366-2">[</span><span·class="p"·data-group-id="9370780366-3">{</span><span·class="p"·data-group-id="9370780366-4">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">d[·...·truncated·by·diffoscope;·len:·405,·SHA:·ec3bdefc41a3e75ca8d2618492dca9e8f2ee966f567868c25486213d8eab4214·...·]-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="6419269657-1">{</span><span·class="p"·data-group-id="6419269657-2">[</span><span·class="p"·data-group-id="6419269657-3">{</span><span·class="p"·data-group-id="6419269657-4">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">d[·...·truncated·by·diffoscope;·len:·405,·SHA:·592ffdd80e97dd1466e4af8de9dabe4f6bb73b0885b3313016dff31c506c5b76·...·]-3">}</span><span·class="p">,</span><span·class="w">
286 ··</span><span·class="p"·data-group-id="9370780366-5">{</span><span·class="p"·data-group-id="9370780366-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="9370780366-6">}[·...·truncated·by·diffoscope;·len:·299,·SHA:·6f4524470f2f40579aa8100db2f6bc518a7f1009b9807a69554fc3aa667038ce·...·]-5">}</span><span·class="p">,</span><span·class="w">286 ··</span><span·class="p"·data-group-id="6419269657-5">{</span><span·class="p"·data-group-id="6419269657-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="6419269657-6">}[·...·truncated·by·diffoscope;·len:·299,·SHA:·c1b1a6206a0dbfc9c067b9de4611afab8a93823e569902c38813233dd9db89ad·...·]-5">}</span><span·class="p">,</span><span·class="w">
287 ··</span><span·class="p"·data-group-id="9370780366-7">{</span><span·class="p"·data-group-id="9370780366-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="9370780366-8">}</span[·...·truncated·by·diffoscope;·len:·352,·SHA:·ae9da881ef69b6aed46833585b9c6ae46dbfe21dd48573bac2f63c76b7f361bb·...·]-2">]</span><span·class="p">,</span><span·class="w">287 ··</span><span·class="p"·data-group-id="6419269657-7">{</span><span·class="p"·data-group-id="6419269657-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="6419269657-8">}</span[·...·truncated·by·diffoscope;·len:·352,·SHA:·415de988319a76a7550973ec70c74a7e7ad35fa0dedf8b8684b9b5147327a924·...·]-2">]</span><span·class="p">,</span><span·class="w">
288 ·</span><span·class="p"·data-group-id="9370780366-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:·4b186f973d2d0812b103e1364ee7dd8e52948a841c4eaa42220eae85ee111f01·...·]-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="6419269657-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:·dc8ea37f8f734b9f0988ea5fb7978c4e751f4e1f28329af8200a9cdf779db067·...·]-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="9370780366-10">[</span><span·class="w">·</span><span·class="p"·data-group-id="9370780366-10">]</span><span·class="p"·data-group-id="9370780366-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="6419269657-10">[</span><span·class="w">·</span><span·class="p"·data-group-id="6419269657-10">]</span><span·class="p"·data-group-id="6419269657-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="8322373066-1">{</span><span·class="p"·data-group-id="8322373066-2">[</span><span·class="p"·data-group-id="8322373066-3">{</span><span·class="p"·data-group-id="8322373066-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_[·...·truncated·by·diffoscope;·len:·405,·SHA:·cc75f76280cd408438d35363e6fd4b09dc44b249d7cdeb2b40b9a51d9a06f118·...·]-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="3117007368-1">{</span><span·class="p"·data-group-id="3117007368-2">[</span><span·class="p"·data-group-id="3117007368-3">{</span><span·class="p"·data-group-id="3117007368-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_[·...·truncated·by·diffoscope;·len:·405,·SHA:·1c345a3f46ee2ee099d72b535bb31bad139b22b55cd8e341ad8317f74dd4f6ce·...·]-3">}</span><span·class="p">,</span><span·class="w">
295 ··</span><span·class="p"·data-group-id="8322373066-5">{</span><span·class="p"·data-group-id="8322373066-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="8322373066[·...·truncated·by·diffoscope;·len:·352,·SHA:·ed68dee7cac5f261416d9ddc3035a6901aafc406b4c7b359538a6e7607fcf3a7·...·]-2">]</span><span·class="p">,</span><span·class="w">295 ··</span><span·class="p"·data-group-id="3117007368-5">{</span><span·class="p"·data-group-id="3117007368-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="3117007368[·...·truncated·by·diffoscope;·len:·352,·SHA:·2de6edc64e6898a726e9b34c8841f4a77b82cabb6bb362787e2cef7e78abf6df·...·]-2">]</span><span·class="p">,</span><span·class="w">
296 ·</span><span·class="p"·data-group-id="8322373066-7">{</span><span·class="w">·</span><span·class="p"·data-group-id="8322373066-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:·524b7e833de0aa2c33ca4e1f4c367adc01d3de6cad4cd8f9361606e412849912·...·]-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="3117007368-7">{</span><span·class="w">·</span><span·class="p"·data-group-id="3117007368-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:·4297ec3de4ea1328c88ae990f9ee1eb3c3aab7118372092f6cb191904a996383·...·]-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="8322373066-9">[</span><span·class="p"·data-group-id="8322373066-10">{</span><span·class="p"·data-group-id="8322373066-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:·bf3a7fa3b545fddf48dbe14dd264a568449a02e7cf6bce7d2260c959581a6a4f·...·]-10">}</span><span·class="p">,</span><span·class="w">297 ·</span><span·class="p"·data-group-id="3117007368-9">[</span><span·class="p"·data-group-id="3117007368-10">{</span><span·class="p"·data-group-id="3117007368-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:·ca3181d17ebc293cb922c509291583a043a396242276707f72a72587cbc59ff0·...·]-10">}</span><span·class="p">,</span><span·class="w">
298 ··</span><span·class="p"·data-group-id="8322373066-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:·dd7539a0c64206f19a6c40efe86d5168983b08a77c6ae9ce99b067886ea0236e·...·]-1">}</span><span·class="p">.</span></code></pre><p>Not·unexpectedly,·we·see·that·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>·was·called·from298 ··</span><span·class="p"·data-group-id="3117007368-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:·ff725ecfa4fe5f3653180d826dc49edaf0a90b2ade81f736f1dd37fca0277b67·...·]-1">}</span><span·class="p">.</span></code></pre><p>Not·unexpectedly,·we·see·that·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>·was·called·from
Max diff block lines reached; 46065/139397 bytes (33.05%) of diff not shown.
682 B
html2text {}
Max HTML report size reached
5.35 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/fprof_chapter.html
    
Offset 172, 18 lines modifiedOffset 172, 18 lines modified
172 ··<a·href="#immediate-profiling"·class="hover-link">172 ··<a·href="#immediate-profiling"·class="hover-link">
173 ····<i·class="ri-link-m"·aria-hidden="true"></i>173 ····<i·class="ri-link-m"·aria-hidden="true"></i>
174 ··</a>174 ··</a>
175 ··<span·class="text">Immediate·profiling</span>175 ··<span·class="text">Immediate·profiling</span>
176 </h2>176 </h2>
177 <p>It·is·also·possible·to·trace·immediately·into·the·profiling·process·that·creates177 <p>It·is·also·possible·to·trace·immediately·into·the·profiling·process·that·creates
178 the·raw·profile·data,·that·is·to·short·circuit·the·tracing·and·profiling·steps178 the·raw·profile·data,·that·is·to·short·circuit·the·tracing·and·profiling·steps
179 so·that·the·filesystem·is·not·used·for·tracing.</p><p>Do·something·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7699207005-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="7699207005-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·201,·SHA:·acd6e88f15e9a540674435711b6f90a36463058134e76e1413d98e76609d2bbe·...·]-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="8469973779-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="8469973779-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·201,·SHA:·efe6082c9110fd7773973cc92f3b3c7fa42bae5088a6b8e5200d505b73efffa3·...·]-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="7699207005-3">(</span><span·class="p"·data-group-id="7699207005-4">[</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7699207005-5">{</span><span·class="ss">tracer</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·203,·SHA:·30f7cf055b81d7cc7b17dfc1551148d8b1006e7cdf22cbe466d42ed70509bda5·...·]-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="8469973779-3">(</span><span·class="p"·data-group-id="8469973779-4">[</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8469973779-5">{</span><span·class="ss">tracer</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·203,·SHA:·59eb8939ac39cc4a516a06e72180916b2161e4c9fe4aa2c824143cddbe8d74b8·...·]-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="7699207005-6">(</span><span·class="ss">stop</span><span·class="p"·data-group-id="7699207005-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="8469973779-6">(</span><span·class="ss">stop</span><span·class="p"·data-group-id="8469973779-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.2/doc/html/lcnt.html
    
Offset 1777, 15 lines modifiedOffset 1777, 15 lines modified
1777 ······<p·class="built-using">1777 ······<p·class="built-using">
1778 ········Built·using1778 ········Built·using
1779 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1779 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1780 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1780 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1781 ······</p>1781 ······</p>
1782 <p>Copyright·©·1996-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.2/doc/html/lcnt_chapter.html
    
Offset 229, 28 lines modifiedOffset 229, 28 lines modified
229 ··&lt;nonode@nohost.104.0&gt;····5140··········0.7782········108229 ··&lt;nonode@nohost.104.0&gt;····5140··········0.7782········108
230 ok</code></pre><h2·id="example-with-mnesia-transaction-benchmark"·class="section-heading">230 ok</code></pre><h2·id="example-with-mnesia-transaction-benchmark"·class="section-heading">
231 ··<a·href="#example-with-mnesia-transaction-benchmark"·class="hover-link">231 ··<a·href="#example-with-mnesia-transaction-benchmark"·class="hover-link">
232 ····<i·class="ri-link-m"·aria-hidden="true"></i>232 ····<i·class="ri-link-m"·aria-hidden="true"></i>
233 ··</a>233 ··</a>
234 ··<span·class="text">Example·with·Mnesia·Transaction·Benchmark</span>234 ··<span·class="text">Example·with·Mnesia·Transaction·Benchmark</span>
235 </h2>235 </h2>
236 <p>From·the·Erlang·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">27</span><span·class="w">·</span><span·class="p"·data-group-id="5823424967-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">15.0</span><span·class="p"·data-group-id="5823424967-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="5823424967-2">[</span><span·class="mi">64</spa[·...·truncated·by·diffoscope;·len:·1287,·SHA:·66420b5d5973d6d5b2a1c6415b0794c299ecd4b3e801b84033a63c73f354d875·...·]-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="7073415006-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">15.0</span><span·class="p"·data-group-id="7073415006-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="7073415006-2">[</span><span·class="mi">64</spa[·...·truncated·by·diffoscope;·len:·1287,·SHA:·953bfa9d6e8eb1942a3af88e241ef0c0451b7ce831f13465febd270eed6c248f·...·]-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="5823424967-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:·7811f06171b4a0f31e74d94c7742c826b104c50edaa57ae0a8cae576b0c26218·...·]-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="7073415006-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:·f57fa797336347030743023fc5c19f17954e26f18f0bc0413150978edfa12af5·...·]-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="5823424967-10">[</span><span·class="p"·data-group-id="5823424967-11">{</span><span·class="ss">db_nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5823424967-12">[</span><span·class="nf">node</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1155,·SHA:·e1a9747476194956cb1ce1aa9cb75e008cfe90e9b17c80e0abc21fea5dbad311·...·]-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="7073415006-10">[</span><span·class="p"·data-group-id="7073415006-11">{</span><span·class="ss">db_nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7073415006-12">[</span><span·class="nf">node</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1155,·SHA:·513dcc9eac5711d9eab003360b2f5227c929f4826f33ef7cd8dd7db31292e27e·...·]-17">}</span><span·class="p">,</span><span·class="w">
239 ····</span><span·class="p"·data-group-id="5823424967-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="5823424967-20">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·465,·SHA:·6efce8d18b340dee447c46a051fc8562ac9bc3f39d2fa5c02b76781b7090bcb6·...·]-22">}</span><span·class="p">,</span><span·class="w">239 ····</span><span·class="p"·data-group-id="7073415006-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="7073415006-20">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·465,·SHA:·4ce763485c245c913d945480574d61b6dbc2f4cf43e99babb6dd64ec3b5747bb·...·]-22">}</span><span·class="p">,</span><span·class="w">
240 ····</span><span·class="p"·data-group-id="5823424967-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="5823424967-23">}</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·519,·SHA:·442058a2f28faaebd422be2379672e4d3d3e35a93542c63dfbef1c8b97f23224·...·]-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="7073415006-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="7073415006-23">}</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·519,·SHA:·39ffb7cea876375a18a5a03ee41bc9a274a464fe8c17a3b806730b43b4183eac·...·]-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="5823424967-26">(</span><span·class="p"·data-group-id="5823424967-27">[</span><span·class="p"·data-group-id="5823424967-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:·c20750aaca400e4e3d6ff947e953fffc2ebc2f5e37fe9af6e6ddaa78bc5ca2df·...·]-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="7073415006-26">(</span><span·class="p"·data-group-id="7073415006-27">[</span><span·class="p"·data-group-id="7073415006-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:·87e1c83c39fdb75a7170ce2c00785885636912d145394e3c287d3d3910d5a70b·...·]-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="9259426086-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9259426086-2">(</span><span·class="p"·data-group-id="9259426086-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·836,·SHA:·b37affd605c051937588cf42aa714ea1548b696aad10db9163f0c4c10f925f5d·...·]-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="7042023601-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7042023601-2">(</span><span·class="p"·data-group-id="7042023601-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·836,·SHA:·5bcd8c5fd55cf2f9ef1539c0ef0b4ae00c2eec5c8e40401418fe6d439c8b240c·...·]-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="9259426086-7">}</span><span·class="p">|</span><span·class="n">Conf</span><span·class="p"·data-group-id="9259426086-6">]</span><span·class="p"·data-group-id="9259426086-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tps</span><sp[·...·truncated·by·diffoscope;·len:·138,·SHA:·ea581c8ea0ff720c718bf734890a4d217c0c2f916b5726285b57cdf987e7347f·...·]-1">)</span><span·class="p">.</span><span·class="w">248 ····</span><span·class="ss">true</span><span·class="p"·data-group-id="7042023601-7">}</span><span·class="p">|</span><span·class="n">Conf</span><span·class="p"·data-group-id="7042023601-6">]</span><span·class="p"·data-group-id="7042023601-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tps</span><sp[·...·truncated·by·diffoscope;·len:·138,·SHA:·785e19f44dfbf9d9c2334252684de2c0035cdaab496811d21b5204ec98a0de8c·...·]-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="1489209818-1">(</span><span·class="ss">big</span><span·class="p"·data-group-id="1489209818-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="8566168996-1">(</span><span·class="ss">big</span><span·class="p"·data-group-id="8566168996-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="1489209818-2">(</span><span·class="p"·data-group-id="1489209818-3">[</span><span·class="ss">bang</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="1489209818-3">]</span><span·class="p"·data-group-id="1489209818-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="8566168996-2">(</span><span·class="p"·data-group-id="8566168996-3">[</span><span·class="ss">bang</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8566168996-3">]</span><span·class="p"·data-group-id="8566168996-2">)</span><span·class="p">.</span><span·class="w">
  
355 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="1489209818-4">(</span><span·class="p"·data-group-id="1489209818-5">[</span><span·class="p"·data-group-id="1489209818-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1489209818-6">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·143,·SHA:·845942459af78dcaa23c811b2ba9110d77e65f4f8685f0a93a5f39aeeefaecb2·...·]-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="8566168996-4">(</span><span·class="p"·data-group-id="8566168996-5">[</span><span·class="p"·data-group-id="8566168996-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8566168996-6">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·143,·SHA:·b38a19d4e26c7d04bbd8bde469203f16fa8acb02d4abb3d40c1b957cb7b7ebeb·...·]-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="1489209818-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="1489209818-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">357 »       </span><span·class="p"·data-group-id="8566168996-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="8566168996-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="1489209818-8">(</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1489209818-9">[</span><span·class="p"·data-group-id="1489209818-9">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·68,·SHA:·160cfff695be12c54ddc55c2eddab5f6c05ddcf633bbcdecc9761f84d5309c97·...·]-8">)</span><span·class="w">358 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="8566168996-8">(</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8566168996-9">[</span><span·class="p"·data-group-id="8566168996-9">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·68,·SHA:·6b019f08b569697adfec394a0523c5696a2a85640640b6ea8526983ce1c695bb·...·]-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="1489209818-10">(</span><span·class="p"·data-group-id="1489209818-11">[</span><span·class="p"·data-group-id="1489209818-11">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1489209818-12">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·149,·SHA:·5e3476973b5564cadba6490fe2fcba2045296afed5fbcf9d513df704295a7eb2·...·]-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="8566168996-10">(</span><span·class="p"·data-group-id="8566168996-11">[</span><span·class="p"·data-group-id="8566168996-11">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8566168996-12">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·149,·SHA:·d929255d6bc29dd502305c8d0ad2690a19f643454ba3fcbab4ab8484c5e24a4a·...·]-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="1489209818-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="1489209818-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·406,·SHA:·39d22da36303630b5045120502fa14f3c336b064dad86ba43583149239883ba8·...·]-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="8566168996-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="8566168996-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·406,·SHA:·3861b39ebcff336669d877925960d38e16943c0528f7811ba8fb69b59780e8e5·...·]-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="1489209818-16">(</span><span·class="p"·data-group-id="1489209818-17">[</span><span·class="p"·data-group-id="1489209818-17">]</span><span·class="p">,</span><span·class="p"·data-group-id="1489209818-18">[</span><span·class="p"·data-group-id="1489209818-18">][·...·truncated·by·diffoscope;·len:·101,·SHA:·5b319244e0b0eff399d4eefcd2e01951a051ff0cf525b4dd658b0a0ffb64cb1e·...·]-16">)</span><span·class="p">;</span><span·class="w">362 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="8566168996-16">(</span><span·class="p"·data-group-id="8566168996-17">[</span><span·class="p"·data-group-id="8566168996-17">]</span><span·class="p">,</span><span·class="p"·data-group-id="8566168996-18">[</span><span·class="p"·data-group-id="8566168996-18">][·...·truncated·by·diffoscope;·len:·101,·SHA:·7bf259acb9cbf604eee612305d8c306dc4fcfdbc99f4cd1d4419c976a6be818c·...·]-16">)</span><span·class="p">;</span><span·class="w">
363 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="1489209818-19">(</span><span·class="p"·data-group-id="1489209818-20">[</span><span·class="p"·data-group-id="1489209818-20">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1489209818-21">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·151,·SHA:·9ec13a3440db3f53d030e9391b6fd6974370c271ed20b45e452a28018cfa6391·...·]-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="8566168996-19">(</span><span·class="p"·data-group-id="8566168996-20">[</span><span·class="p"·data-group-id="8566168996-20">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8566168996-21">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·151,·SHA:·e30f8aa63959dcd8b1efc2b71151ff224c1c4626a98b0e790b251a6cc6982618·...·]-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="1489209818-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="1489209818-23">(</span><span·class="p"·data-group-id="1489209818-23">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·da577053f13b481bf1ee20eddb498647280a8aab5d28b910b7cc248288a57778·...·]-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="8566168996-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="8566168996-23">(</span><span·class="p"·data-group-id="8566168996-23">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·319306a54259190dfd8eb05b2c543adcf186e9f7f7a1b5bd30ae44a1c42f25d0·...·]-22">}</span><span·class="p">,</span><span·class="w">
365 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="1489209818-24">(</span><span·class="p"·data-group-id="1489209818-25">[</span><span·class="p"·data-group-id="1489209818-25">]</span><span·class="p">,</span><span·class="p"·data-group-id="1489209818-26">[</span><span·class="p"·data-group-id="1489209818-26">]</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="1489209818-24">)</span><span·class="p">;</span><span·class="w"> 
366 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="1489209818-27">(</span><span·class="p"·data-group-id="1489209818-28">[</span><span·class="p"·data-group-id="1489209818-28">]</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·453,·SHA:·f9e310f4f1af45cab2a316cc91120e2d4d746cd0d3c9016b2d14dee412c145d6·...·];</span><span·class="w">365 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="8566168996-24">(</span><span·class="p"·data-group-id="8566168996-25">[</span><span·class="p"·data-group-id="8566168996-25">]</span><span·class="p">,</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·202,·SHA:·4e7951227190887e8a4f6f819b3d9148be6a17c9ef43b768a863876c46859c8a·...·];</span><span·class="w">
 366 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="8566168996-27">(</span><span·class="p"·data-group-id="8566168996-28">[</span><span·class="p"·data-group-id="8566168996-28">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8566168996-29">[</span><span·class="n">Po</span><span·class="p">|</span><span·class="n">Pos</span><span·class="p"·data-group-id="8566168996-29">]</span><span·class="w">·</span><span·class="o">=</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="8566168996-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="1489209818-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="1489209818-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">368 »       </span><span·class="p"·data-group-id="8566168996-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="8566168996-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="1489209818-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="1489209818-32">(</span><span·class="p"·data-group-id="1489209818-32">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·da577053f13b481bf1ee20eddb498647280a8aab5d28b910b7cc248288a57778·...·]-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="8566168996-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="8566168996-32">(</span><span·class="p"·data-group-id="8566168996-32">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·319306a54259190dfd8eb05b2c543adcf186e9f7f7a1b5bd30ae44a1c42f25d0·...·]-31">}</span><span·class="p">,</span><span·class="w">
370 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="1489209818-33">(</span><span·class="p"·data-group-id="1489209818-34">[</span><span·class="p"·data-group-id="1489209818-34">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pongers</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ReportTo</span><span·class="p"·data-group-id="1489209818-33">)</span><span·class="p">;</span><span·class="w"> 
371 »       </span><span·class="p"·data-group-id="1489209818-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="1489209818-35">}</span><span·class="w">·</span><span·class="p">[·...·truncated·by·diffoscope;·len:·4,·SHA:·a12e3d05a0d1154352e53ac5689df7d784621a18b602fad08c64dad7c7402a1f·...·];</span><span·class="w">370 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="8566168996-33">(</span><span·class="p"·data-group-id="8566168996-34">[</span><span·class="p"·data-group-id="8566168996-34">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·174,·SHA:·e329ed08978c66c325c9fae5cf9f58587bb178d860e4791b9d07f7587bf06da5·...·];</span><span·class="w">
 371 »       </span><span·class="p"·data-group-id="8566168996-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="8566168996-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="1489209818-36">(</span><span·class="p"·data-group-id="1489209818-37">[</span><span·class="p"·data-group-id="1489209818-37">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·69,·SHA:·a80f3d903925254638eb1c9568051f4e8054c89d757f3e832ccfd1f40f796f19·...·]-36">)</span><span·class="w">372 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="8566168996-36">(</span><span·class="p"·data-group-id="8566168996-37">[</span><span·class="p"·data-group-id="8566168996-37">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·69,·SHA:·767daf11b9439ca00ef843bad37a378dfd36fa0c922ee424306387657fed8585·...·]-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="1489209818-38">(</span><span·class="p"·data-group-id="1489209818-39">[</span><span·class="n">Pi</span><span·class="p">|</span><span·class="n">Pis</span><span·class="p"·data-group-id="1489209818-39">]</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·148,·SHA:·644639112412afe56a3a869d83925cc5ea55a431bd3b82444963f72b56e6b719·...·]-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">374 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="8566168996-38">(</span><span·class="p"·data-group-id="8566168996-39">[</span><span·class="n">Pi</span><span·class="p">|</span><span·class="n">Pis</span><span·class="p"·data-group-id="8566168996-39">]</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·148,·SHA:·4544ee3bc2a9f2ac65cecb3da1f34d140bb3590dcc3661420c28652a23074454·...·]-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="1489209818-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="1489209818-40">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·406,·SHA:·665f70882d34418d38fd53ce60372feac01e28ffcb80f2eb82e0e5add2f8aa07·...·]-41">}</span><span·class="w">375 ····</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="8566168996-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="8566168996-40">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·406,·SHA:·2ba6d8e135437990d18f18fae386831ded97841ac0cbe4170d7e19641e169d42·...·]-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="1489209818-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="1489209818-44">(</span><span·class="p"·data-group-id="1489209818-44">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·da577053f13b481bf1ee20eddb498647280a8aab5d28b910b7cc248288a57778·...·]-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="8566168996-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="8566168996-44">(</span><span·class="p"·data-group-id="8566168996-44">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·319306a54259190dfd8eb05b2c543adcf186e9f7f7a1b5bd30ae44a1c42f25d0·...·]-43">}</span><span·class="p">,</span><span·class="w">
379 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="1489209818-45">(</span><span·class="n">Pis</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1489209818-46">[</span><span·class="n">Pi</span><span·class="p">|</span><span·class="n">Pongers</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·148,·SHA:·5a25d8884dd5c4a1a97d469e082a23471a8e0afabaa38744a46a1dccd83ac28f·...·]-45">)</span><span·class="p">.</span><span·class="w">379 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="8566168996-45">(</span><span·class="n">Pis</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8566168996-46">[</span><span·class="n">Pi</span><span·class="p">|</span><span·class="n">Pongers</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·148,·SHA:·ead789fe70f19d3bfc87c19869d30324561e6805f08b7a7f3f7eeb135fe0cbd9·...·]-45">)</span><span·class="p">.</span><span·class="w">
  
380 </span><span·class="nf">spawn_procs</span><span·class="p"·data-group-id="1489209818-47">(</span><span·class="n">N</span><span·class="p"·data-group-id="1489209818-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="8566168996-47">(</span><span·class="n">N</span><span·class="p"·data-group-id="8566168996-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="1489209818-48">[</span><span·class="p"·data-group-id="1489209818-48">]</span><span·class="p">;</span><span·class="w">381 ····</span><span·class="p"·data-group-id="8566168996-48">[</span><span·class="p"·data-group-id="8566168996-48">]</span><span·class="p">;</span><span·class="w">
382 </span><span·class="nf">spawn_procs</span><span·class="p"·data-group-id="1489209818-49">(</span><span·class="n">N</span><span·class="p"·data-group-id="1489209818-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="8566168996-49">(</span><span·class="n">N</span><span·class="p"·data-group-id="8566168996-49">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
383 ····</span><span·class="p"·data-group-id="1489209818-50">[</span><span·class="nf">spawn_link</span><span·class="p"·data-group-id="1489209818-51">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="1489209818-52">(</span><span·class="p"·data-group-id="148920981[·...·truncated·by·diffoscope;·len:·953,·SHA:·073754cf92eb4df68ee418222b233f82c8302d0a0ec9c8822b2424b7f07a444b·...·]-50">]</span><span·class="p">.</span><span·class="w">383 ····</span><span·class="p"·data-group-id="8566168996-50">[</span><span·class="nf">spawn_link</span><span·class="p"·data-group-id="8566168996-51">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="8566168996-52">(</span><span·class="p"·data-group-id="856616899[·...·truncated·by·diffoscope;·len:·953,·SHA:·555c83588df5f598bc55b1b9cbcb40ddf4d070dd4dd4ca6b48476af17817f2c3·...·]-50">]</span><span·class="p">.</span><span·class="w">
  
384 </span><span·class="nf">send_procs</span><span·class="p"·data-group-id="1489209818-57">(</span><span·class="p"·data-group-id="1489209818-58">[</span><span·class="p"·data-group-id="1489209818-58">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="1489209818-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="8566168996-57">(</span><span·class="p"·data-group-id="8566168996-58">[</span><span·class="p"·data-group-id="8566168996-58">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="8566168996-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="1489209818-59">(</span><span·class="p"·data-group-id="1489209818-60">[</span><span·class="n">P</span><span·class="p">|</span><span·class="n">Ps</span><span·class="p"·data-group-id="1489209818-60">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·63,·SHA:·60b2dace3a1edbd868460c832b6ec2db68634f669fae5b8be465b5d18d07848f·...·]-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="8566168996-59">(</span><span·class="p"·data-group-id="8566168996-60">[</span><span·class="n">P</span><span·class="p">|</span><span·class="n">Ps</span><span·class="p"·data-group-id="8566168996-60">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·63,·SHA:·dc582df326e46dcbc2e745a836c4c0ba5ff6e18b0cb9a7388c7a00cf89f20794·...·]-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="1489209818-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="1489209818-61">)</span><span·class="p">.</span><span·class="w">388 ····</span><span·class="nf">send_procs</span><span·class="p"·data-group-id="8566168996-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="8566168996-61">)</span><span·class="p">.</span><span·class="w">
  
389 </span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="1489209818-62">(</span><span·class="p"·data-group-id="1489209818-63">[</span><span·class="p"·data-group-id="1489209818-63">]</span><span·class="p"·data-group-id="1489209818-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="8566168996-62">(</span><span·class="p"·data-group-id="8566168996-63">[</span><span·class="p"·data-group-id="8566168996-63">]</span><span·class="p"·data-group-id="8566168996-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="1489209818-64">(</span><span·class="p"·data-group-id="1489209818-65">[</span><span·class="n">M</span><span·class="p">|</span><span·class="n">Ms</span><span·class="p"·data-group-id="1489209818-65">]</span><span·class="p"·data-group-id="1489209818-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="8566168996-64">(</span><span·class="p"·data-group-id="8566168996-65">[</span><span·class="n">M</span><span·class="p">|</span><span·class="n">Ms</span><span·class="p"·data-group-id="8566168996-65">]</span><span·class="p"·data-group-id="8566168996-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="1489209818-66">(</span><span·class="n">Ms</span><span·class="p"·data-group-id="1489209818-66">)</span><span·class="w">394 »       ····</span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="8566168996-66">(</span><span·class="n">Ms</span><span·class="p"·data-group-id="8566168996-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="1489209818-67">(</span><span·class="n">N</span><span·class="p"·data-group-id="1489209818-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="1489209818-68">(</[·...·truncated·by·diffoscope;·len:·70,·SHA:·b63cd19e293388bd5d9ebd832e733f23a7f1e815122fc81ae7d68c60c9fd5983·...·]-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="8566168996-67">(</span><span·class="n">N</span><span·class="p"·data-group-id="8566168996-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="8566168996-68">(</[·...·truncated·by·diffoscope;·len:·70,·SHA:·3f0162d88f334c8db1e3ebcbfab35df15fa2e9d16fb6c85e380fe767c6b84958·...·]-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="1489209818-69">(</span><span·class="n">N</span><span·class="p"·data-group-id="1489209818-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="8566168996-69">(</span><span·class="n">N</span><span·class="p"·data-group-id="8566168996-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="1489209818-70">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="1489209818-71">(</span><span·class="n">P</span><span·class="p"·data-group-id="1489209818-71">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·401,·SHA:·f0f2acdd33434fabd806925622bd84b166a06a4495b41c5069ecbae34debaf16·...·]-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="8566168996-70">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="8566168996-71">(</span><span·class="n">P</span><span·class="p"·data-group-id="8566168996-71">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·401,·SHA:·7a9e03396cab6833f3d71fa02a05d6759522af51079cb8d341878c78cc54b6b0·...·]-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="1489209818-73">(</span><span·class="p"·data-group-id="1489209818-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="8566168996-73">(</span><span·class="p"·data-group-id="8566168996-73">)</span><span·class="p">,</span><span·class="w">
400 ····</span><span·class="nf">send_procs</span><span·class="p"·data-group-id="1489209818-74">(</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1489209818-75">{</span><span·class="ss">procs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Procs</spa[·...·truncated·by·diffoscope;·len:·281,·SHA:·a7f0732e0749cd8176cd6a0f93fdfaf6de5262d1c3874f9781df91c947f3d0a1·...·]-74">)</span><span·class="p">,</span><span·class="w">400 ····</span><span·class="nf">send_procs</span><span·class="p"·data-group-id="8566168996-74">(</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8566168996-75">{</span><span·class="ss">procs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Procs</spa[·...·truncated·by·diffoscope;·len:·281,·SHA:·e4d364c4b222691245d95a798f57fa7083fea8f4bbf1efa70d22fb586bdf07c7·...·]-74">)</span><span·class="p">,</span><span·class="w">
401 ····</span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="1489209818-77">(</span><span·class="n">RMsgs</span><span·class="p"·data-group-id="1489209818-77">)</span><span·class="p">,</span><span·class="w">401 ····</span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="8566168996-77">(</span><span·class="n">RMsgs</span><span·class="p"·data-group-id="8566168996-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="1489209818-78">(</span><span·class="p"·data-group-id="1489209818-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="8566168996-78">(</span><span·class="p"·data-group-id="8566168996-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="1489209818-79">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="1489209818-80">(</span><span·class="n">P</span><span·class="p"·data-group-id="1489209818-80">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·431,·SHA:·f37cc97739233e9316791729518a271e75f315f33e782a3c0e3ffaa85c344f55·...·]-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="8566168996-79">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="8566168996-80">(</span><span·class="n">P</span><span·class="p"·data-group-id="8566168996-80">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·431,·SHA:·fcc26bed855e3d81e1eec4a934545aa288950447c489faf5e6bba15548c2fb05·...·]-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="1489209818-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="1489209818-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="8566168996-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="8566168996-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.33 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/make.html
    
Offset 138, 16 lines modifiedOffset 138, 16 lines modified
138 <p><a·href="#all/1"><code·class="inline">make:all/0,1</code></a>·and·<a·href="#files/2"><code·class="inline">make:files/1,2</code></a>·first·looks·for138 <p><a·href="#all/1"><code·class="inline">make:all/0,1</code></a>·and·<a·href="#files/2"><code·class="inline">make:files/1,2</code></a>·first·looks·for
139 <code·class="inline">{emake,·Emake}</code>·in·options,·then·in·the·current·working·directory·for·a·file139 <code·class="inline">{emake,·Emake}</code>·in·options,·then·in·the·current·working·directory·for·a·file
140 named·<code·class="inline">Emakefile</code>.·If·present·<code·class="inline">Emake</code>·should·contain·elements·like·this:</p><pre><code·class="text">Modules.140 named·<code·class="inline">Emakefile</code>.·If·present·<code·class="inline">Emake</code>·should·contain·elements·like·this:</p><pre><code·class="text">Modules.
141 {Modules,Options}.</code></pre><p><code·class="inline">Modules</code>·is·an·atom·or·a·list·of·atoms.·It·can·be</p><ul><li>a·module·name,·for·exmaple,··<code·class="inline">file1</code></li><li>a·module·name·in·another·directory,·for·exmaple,·<code·class="inline">'../foo/file3'</code></li><li>a·set·of·modules·specified·with·a·wildcards,·for·exmaple,·<code·class="inline">'file*'</code></li><li>a·wildcard·indicating·all·modules·in·current·directory,·that·is:·<code·class="inline">'*'</code></li><li>a·list·of·any·of·the·above,·for·exmaple,·<code·class="inline">['file*','../foo/file3','File4']</code></li></ul><p><code·class="inline">Options</code>·is·a·list·of·compiler·options.</p><p><code·class="inline">Emakefile</code>·is·read·from·top·to·bottom.·If·a·module·matches·more·than·one·entry,141 {Modules,Options}.</code></pre><p><code·class="inline">Modules</code>·is·an·atom·or·a·list·of·atoms.·It·can·be</p><ul><li>a·module·name,·for·exmaple,··<code·class="inline">file1</code></li><li>a·module·name·in·another·directory,·for·exmaple,·<code·class="inline">'../foo/file3'</code></li><li>a·set·of·modules·specified·with·a·wildcards,·for·exmaple,·<code·class="inline">'file*'</code></li><li>a·wildcard·indicating·all·modules·in·current·directory,·that·is:·<code·class="inline">'*'</code></li><li>a·list·of·any·of·the·above,·for·exmaple,·<code·class="inline">['file*','../foo/file3','File4']</code></li></ul><p><code·class="inline">Options</code>·is·a·list·of·compiler·options.</p><p><code·class="inline">Emakefile</code>·is·read·from·top·to·bottom.·If·a·module·matches·more·than·one·entry,
142 the·first·match·is·used.·For·example,·the·following·<code·class="inline">Emakefile</code>·means·that142 the·first·match·is·used.·For·example,·the·following·<code·class="inline">Emakefile</code>·means·that
143 <code·class="inline">file1</code>·should·be·compiled·with·the·options·<code·class="inline">[debug_info,{i,&quot;../foo&quot;}]</code>,·while143 <code·class="inline">file1</code>·should·be·compiled·with·the·options·<code·class="inline">[debug_info,{i,&quot;../foo&quot;}]</code>,·while
144 all·other·files·in·the·current·directory·should·be·compiled·with·only·the144 all·other·files·in·the·current·directory·should·be·compiled·with·only·the
145 <code·class="inline">debug_info</code>·flag.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9896239041-1">{</span><span·class="ss">&#39;file1&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="9896239041-2">[</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="p"·data-group-id="9896239041-3">{</span><span·c[·...·truncated·by·diffoscope;·len:·229,·SHA:·a9d8d21b9ef556aeb4096f6b8c9fd99fbb1a818cd956944a8a2d8701ddd198cc·...·]1-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="1730035561-1">{</span><span·class="ss">&#39;file1&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="1730035561-2">[</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="p"·data-group-id="1730035561-3">{</span><span·c[·...·truncated·by·diffoscope;·len:·229,·SHA:·1d048b6d1a4a5af4a3ad7fd0e8065d166e451fea077af96cd7def401b15b95e9·...·]1-1">}</span><span·class="p">.</span><span·class="w">
146 </span><span·class="p"·data-group-id="9896239041-4">{</span><span·class="ss">&#39;*&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="9896239041-5">[</span><span·class="ss">debug_info</span><span·class="p"·data-group-id="9896239041-5">]</span><span·class="p"·data-group-id="9896[·...·truncated·by·diffoscope;·len:·5,·SHA:·1c158ae00d0e15e0a82d44e2c15d37de1939a825dd602bb99c8ae8c00785dc10·...·]1-4">}</span><span·class="p">.</span></code></pre><h2·id="module-see-also"·class="section-heading">146 </span><span·class="p"·data-group-id="1730035561-4">{</span><span·class="ss">&#39;*&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="1730035561-5">[</span><span·class="ss">debug_info</span><span·class="p"·data-group-id="1730035561-5">]</span><span·class="p"·data-group-id="1730[·...·truncated·by·diffoscope;·len:·5,·SHA:·4d0d91a8ea1b316c0491fdee3944915ca79e27a6e3e2e67cf7be82024c6c70bf·...·]1-4">}</span><span·class="p">.</span></code></pre><h2·id="module-see-also"·class="section-heading">
147 ··<a·href="#module-see-also"·class="hover-link">147 ··<a·href="#module-see-also"·class="hover-link">
148 ····<i·class="ri-link-m"·aria-hidden="true"></i>148 ····<i·class="ri-link-m"·aria-hidden="true"></i>
149 ··</a>149 ··</a>
150 ··<span·class="text">See·Also</span>150 ··<span·class="text">See·Also</span>
151 </h2>151 </h2>
152 <p><a·href="../../../../lib/compiler-9.0/doc/html/compile.html">The·Compiler·Application</a></p>152 <p><a·href="../../../../lib/compiler-9.0/doc/html/compile.html">The·Compiler·Application</a></p>
153 ····</section>153 ····</section>
Offset 378, 15 lines modifiedOffset 378, 15 lines modified
378 ······<p·class="built-using">378 ······<p·class="built-using">
379 ········Built·using379 ········Built·using
380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
382 ······</p>382 ······</p>
383 <p>Copyright·©·1996-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.2/doc/html/notes.html
    
Offset 181, 51 lines modifiedOffset 181, 51 lines modified
181 </h2>181 </h2>
182 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">182 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">
183 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">183 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">
184 ····<i·class="ri-link-m"·aria-hidden="true"></i>184 ····<i·class="ri-link-m"·aria-hidden="true"></i>
185 ··</a>185 ··</a>
186 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>186 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
187 </h3>187 </h3>
188 <ul><li><p>Dialyzer·warnings·due·to·type·specs·added·in·<a·href="../../../../lib/runtime_tools-2.2/doc/html/dbg.html"><code·class="inline">dbg</code></a>·have·been·eliminated.</p><p>Own·Id:·OTP-18860</p></li><li><p>In·Erlang/OTP·26,·doing·a·<a·href="cover.html"><code·class="inline">cover</code></a>·analysis·on·the·<code·class="inline">line</code>·level·would·return·multiple·entries·for·lines·on·which·multiple·functions·were·defined.</p><p>For·example,·consider·this·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2674294556-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="2674294556-1">)</span><span·class="p">.</span><span·class="w">188 <ul><li><p>Dialyzer·warnings·due·to·type·specs·added·in·<a·href="../../../../lib/runtime_tools-2.2/doc/html/dbg.html"><code·class="inline">dbg</code></a>·have·been·eliminated.</p><p>Own·Id:·OTP-18860</p></li><li><p>In·Erlang/OTP·26,·doing·a·<a·href="cover.html"><code·class="inline">cover</code></a>·analysis·on·the·<code·class="inline">line</code>·level·would·return·multiple·entries·for·lines·on·which·multiple·functions·were·defined.</p><p>For·example,·consider·this·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5749622417-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="5749622417-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="2674294556-2">(</span><span·class="p"·data-group-id="2674294556-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:·1e4e909f7b219a4adb7e67eda9dcfcc5fc322daa6c177dfccf8d7c5afbf25e91·...·]-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="5749622417-2">(</span><span·class="p"·data-group-id="5749622417-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:·72d5a9f5be8c98acfd1bfc6dfb18b4ddf48f701343283a2aa9876b8b7cdc7645·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
190 </span><span·class="nf">bar</span><span·class="p"·data-group-id="2674294556-4">(</span><span·class="p"·data-group-id="2674294556-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:·909c40b6874add7166d12381416b4c85f8e418b5819982e90621e81f2a5c88cf·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">not_ok</span><span·class="p">.</span></code></pre><p>In·Erlang/OTP·26,·analysing·on·the·<code·class="inline">line</code>·level·would·return·two·entries190 </span><span·class="nf">bar</span><span·class="p"·data-group-id="5749622417-4">(</span><span·class="p"·data-group-id="5749622417-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:·5d6f3afe8721bcfd6bde850961e6b4c97ce8ecfe90a467f19516fa3b37f849de·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">not_ok</span><span·class="p">.</span></code></pre><p>In·Erlang/OTP·26,·analysing·on·the·<code·class="inline">line</code>·level·would·return·two·entries
191 for·line·4:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">compile_module</span><span·class="p"·data-group-id="0617315218-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="0617315218-1">)</span><span·class="p">.</span><span·class="w">191 for·line·4:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">compile_module</span><span·class="p"·data-group-id="8972181706-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="8972181706-1">)</span><span·class="p">.</span><span·class="w">
192 </span><span·class="p"·data-group-id="0617315218-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">foo</span><span·class="p"·data-group-id="0617315218-2">}</span><span·class="gp·unselectable">192 </span><span·class="p"·data-group-id="8972181706-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">foo</span><span·class="p"·data-group-id="8972181706-2">}</span><span·class="gp·unselectable">
193 2&gt;·</span><span·class="nc">foo</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="0617315218-3">(</span><span·class="p"·data-group-id="0617315218-3">)</span><span·class="p">.</span><span·class="w">193 2&gt;·</span><span·class="nc">foo</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="8972181706-3">(</span><span·class="p"·data-group-id="8972181706-3">)</span><span·class="p">.</span><span·class="w">
194 </span><span·class="ss">ok</span><span·class="gp·unselectable">194 </span><span·class="ss">ok</span><span·class="gp·unselectable">
195 3&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="0617315218-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="0617315218-4">)</span><span·class="p">.</span><span·class="w">195 3&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="8972181706-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="8972181706-4">)</span><span·class="p">.</span><span·class="w">
196 </span><span·class="p"·data-group-id="0617315218-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0617315218-6">[</span><span·class="p"·data-group-id="0617315218-7">{</span><span·class="p"·data-group-id="0617315218-8">{</span><span·class="ss">foo</spa[·...·truncated·by·diffoscope;·len:·977,·SHA:·7a99a6fe4fa855d541060587d5544ae14945548a88d8bfd4aa8cf7f55845cb31·...·]-5">}</span><span·class="gp·unselectable">196 </span><span·class="p"·data-group-id="8972181706-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8972181706-6">[</span><span·class="p"·data-group-id="8972181706-7">{</span><span·class="p"·data-group-id="8972181706-8">{</span><span·class="ss">foo</spa[·...·truncated·by·diffoscope;·len:·977,·SHA:·768db62c5580c3a062f95403a8b6e99a348277c1c8e51156ab799fc312caff4a·...·]-5">}</span><span·class="gp·unselectable">
197 4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="0617315218-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="0617315218-13">)</span><span·class="p">.</span><span·class="w">197 4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="8972181706-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="8972181706-13">)</span><span·class="p">.</span><span·class="w">
198 </span><span·class="p"·data-group-id="0617315218-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0617315218-15">[</span><span·class="p"·data-group-id="0617315218-16">{</span><span·class="p"·data-group-id="0617315218-17">{</span><span·class="ss">foo<[·...·truncated·by·diffoscope;·len:·1071,·SHA:·3422bc251f8e27fba1cc0bad122fd953e83566b723b25faf4ea798506f909e39·...·]-1">)</span><span·class="p">.</span><span·class="w">198 </span><span·class="p"·data-group-id="8972181706-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8972181706-15">[</span><span·class="p"·data-group-id="8972181706-16">{</span><span·class="p"·data-group-id="8972181706-17">{</span><span·class="ss">foo<[·...·truncated·by·diffoscope;·len:·1071,·SHA:·f2eb62468401c9edef91d95113673c184d0554405c603c3a80642d0f30c54131·...·]-1">)</span><span·class="p">.</span><span·class="w">
199 </span><span·class="p"·data-group-id="8529845175-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">foo</span><span·class="p"·data-group-id="8529845175-2">}</span><span·class="gp·unselectable">199 </span><span·class="p"·data-group-id="9357146879-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">foo</span><span·class="p"·data-group-id="9357146879-2">}</span><span·class="gp·unselectable">
200 2&gt;·</span><span·class="nc">foo</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="8529845175-3">(</span><span·class="p"·data-group-id="8529845175-3">)</span><span·class="p">.</span><span·class="w">200 2&gt;·</span><span·class="nc">foo</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="9357146879-3">(</span><span·class="p"·data-group-id="9357146879-3">)</span><span·class="p">.</span><span·class="w">
201 </span><span·class="ss">ok</span><span·class="gp·unselectable">201 </span><span·class="ss">ok</span><span·class="gp·unselectable">
202 3&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="8529845175-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="8529845175-4">)</span><span·class="p">.</span><span·class="w">202 3&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="9357146879-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="9357146879-4">)</span><span·class="p">.</span><span·class="w">
203 </span><span·class="p"·data-group-id="8529845175-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8529845175-6">[</span><span·class="p"·data-group-id="8529845175-7">{</span><span·class="p"·data-group-id="8529845175-8">{</span><span·class="ss">foo</spa[·...·truncated·by·diffoscope;·len:·455,·SHA:·e535938b62ca8064de84c8b4cd91d8f537f8c1fe8016d0ebeb3cbd037121b7a1·...·]-5">}</span><span·class="gp·unselectable">203 </span><span·class="p"·data-group-id="9357146879-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9357146879-6">[</span><span·class="p"·data-group-id="9357146879-7">{</span><span·class="p"·data-group-id="9357146879-8">{</span><span·class="ss">foo</spa[·...·truncated·by·diffoscope;·len:·455,·SHA:·bb77b32d88ca290dfd3c5a8190312f2772b5eae46452c42cca65fd3de53bee27·...·]-5">}</span><span·class="gp·unselectable">
204 4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="8529845175-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="8529845175-10">)</span><span·class="p">.</span><span·class="w">204 4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="9357146879-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="9357146879-10">)</span><span·class="p">.</span><span·class="w">
205 </span><span·class="p"·data-group-id="8529845175-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8529845175-12">[</span><span·class="p"·data-group-id="8529845175-13">{</span><span·class="p"·data-group-id="8529845175-14">{</span><span·class="ss">foo<[·...·truncated·by·diffoscope;·len:·307,·SHA:·79d0b2cbfc4e0bd803601d9c5161df8c8ee0c9f1586aa4691bf5b733c941199d·...·]-11">}</span></code></pre><p>Own·Id:·OTP-18998·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8159"·title="">GH-8159</a>,·<a·href="https://github.com/erlang/otp/pull/8182"·title="">PR-8182</a></p></li><li><p>Fixed·align·command·in·emacs·mode.</p><p>Own·Id:·OTP-19026·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8155"·title="">PR-8155</a></p></li></ul><h3·id="improvements-and-new-features-2"·class="section-heading">205 </span><span·class="p"·data-group-id="9357146879-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9357146879-12">[</span><span·class="p"·data-group-id="9357146879-13">{</span><span·class="p"·data-group-id="9357146879-14">{</span><span·class="ss">foo<[·...·truncated·by·diffoscope;·len:·307,·SHA:·607551190722af34c8195a9f1bdf194d9206daab4dc545562e06f64eba8ec2c9·...·]-11">}</span></code></pre><p>Own·Id:·OTP-18998·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8159"·title="">GH-8159</a>,·<a·href="https://github.com/erlang/otp/pull/8182"·title="">PR-8182</a></p></li><li><p>Fixed·align·command·in·emacs·mode.</p><p>Own·Id:·OTP-19026·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8155"·title="">PR-8155</a></p></li></ul><h3·id="improvements-and-new-features-2"·class="section-heading">
206 ··<a·href="#improvements-and-new-features-2"·class="hover-link">206 ··<a·href="#improvements-and-new-features-2"·class="hover-link">
207 ····<i·class="ri-link-m"·aria-hidden="true"></i>207 ····<i·class="ri-link-m"·aria-hidden="true"></i>
208 ··</a>208 ··</a>
209 ··<span·class="text">Improvements·and·New·Features</span>209 ··<span·class="text">Improvements·and·New·Features</span>
210 </h3>210 </h3>
211 <ul><li><p>Triple-Quoted·Strings·has·been·implemented·as·per·<a·href="https://www.erlang.org/eeps/eep-0064">EEP·64</a>.·See·<a·href="../../../../doc/system/data_types.html#string">String</a>·in·the·Reference·Manual.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="s">&quot;&quot;</span><span·class="s">&quot;211 <ul><li><p>Triple-Quoted·Strings·has·been·implemented·as·per·<a·href="https://www.erlang.org/eeps/eep-0064">EEP·64</a>.·See·<a·href="../../../../doc/system/data_types.html#string">String</a>·in·the·Reference·Manual.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="s">&quot;&quot;</span><span·class="s">&quot;
212 ···a212 ···a
213 ···b213 ···b
214 ···c214 ···c
215 ···&quot;</span><span·class="s">&quot;&quot;</span><span·class="p">.</span><span·class="w">215 ···&quot;</span><span·class="s">&quot;&quot;</span><span·class="p">.</span><span·class="w">
216 </span><span·class="s">&quot;a\nb\nc&quot;</span></code></pre><p>Adjacent·string·literals·without·intervening·white·space·is·now·a·syntax·error,·to·avoid·possible·confusion·with·triple-quoted·strings.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="s">&quot;abc&quot;</span><span·class="s">&quot;xyz&quot;</span><span·class="p">.</span><span·class="w">216 </span><span·class="s">&quot;a\nb\nc&quot;</span></code></pre><p>Adjacent·string·literals·without·intervening·white·space·is·now·a·syntax·error,·to·avoid·possible·confusion·with·triple-quoted·strings.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="s">&quot;abc&quot;</span><span·class="s">&quot;xyz&quot;</span><span·class="p">.</span><span·class="w">
217 </span><span·class="s">&quot;xyz&quot;</span><span·class="p">.</span><span·class="w">217 </span><span·class="s">&quot;xyz&quot;</span><span·class="p">.</span><span·class="w">
218 </span><span·class="gt">*·1:6:·adjacent·string·literals·without·intervening·white·space</span></code></pre><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18750·Aux·Id:·OTP-18746,·<a·href="https://github.com/erlang/otp/pull/7313"·title="">PR-7313</a>,·<a·href="https://github.com/erlang/otp/pull/7451"·title="">PR-7451</a></p></li><li><p>There·is·a·new·tool·<a·href="tprof.html"><code·class="inline">tprof</code></a>,·which·combines·the·functionality·of·<a·href="eprof.html"><code·class="inline">eprof</code></a>·and·<a·href="cprof.html"><code·class="inline">cprof</code></a>·under·one·interface·and·adds·heap·profiling.·It·also·has·functionality·to·help·with·profiling·process·hierarchies.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="7966872884-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="7966872884-2">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·458,·SHA:·0561ed3a128c55e4e7af48e3dcd3f95fa3483f57414b35b3edda865de2aaf55a·...·]-1">)</span><span·class="p">.</span><span·class="w">218 </span><span·class="gt">*·1:6:·adjacent·string·literals·without·intervening·white·space</span></code></pre><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18750·Aux·Id:·OTP-18746,·<a·href="https://github.com/erlang/otp/pull/7313"·title="">PR-7313</a>,·<a·href="https://github.com/erlang/otp/pull/7451"·title="">PR-7451</a></p></li><li><p>There·is·a·new·tool·<a·href="tprof.html"><code·class="inline">tprof</code></a>,·which·combines·the·functionality·of·<a·href="eprof.html"><code·class="inline">eprof</code></a>·and·<a·href="cprof.html"><code·class="inline">cprof</code></a>·under·one·interface·and·adds·heap·profiling.·It·also·has·functionality·to·help·with·profiling·process·hierarchies.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="2831242061-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="2831242061-2">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·458,·SHA:·7c07d02dee8dd1877703dc9d11359aed568ec37e9516276d3eedd985d38f68df·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
219 </span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="w">·</span><span·class="n">Process</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.92</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">··</span><span·class="o">--</span><span·class="w">··</span><span·class="mf">100.00</span><span·class="c1">%·of·total·***·</span><span·class="w">219 </span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="w">·</span><span·class="n">Process</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.92</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">··</span><span·class="o">--</span><span·class="w">··</span><span·class="mf">100.00</span><span·class="c1">%·of·total·***·</span><span·class="w">
220 </span><span·class="n">FUNCTION</span><span·class="w">··········</span><span·class="n">CALLS</span><span·class="w">··</span><span·class="n">WORDS</span><span·class="w">··</span><span·class="n">PER</span><span·class="w">·</span><span·class="n">CALL</span><span·class="w">··</span><span·class="p"·data-group-id="7966872884-4">[</span><span·class="w">·····</span><span·class="c1">%]</span><span·class="w">220 </span><span·class="n">FUNCTION</span><span·class="w">··········</span><span·class="n">CALLS</span><span·class="w">··</span><span·class="n">WORDS</span><span·class="w">··</span><span·class="n">PER</span><span·class="w">·</span><span·class="n">CALL</span><span·class="w">··</span><span·class="p"·data-group-id="2831242061-4">[</span><span·class="w">·····</span><span·class="c1">%]</span><span·class="w">
221 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="ss">seq_loop</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">······</span><span·class="mi">5</span><span·class="w">·····</span><span·class="mi">32</span><span·class="w">······</span><span·class="mf">6.40</span><span·class="w">··</span><span·class="p"·data-group-id="7966872884-5">[</span><span·class="mf">100.00</span><span·class="p"·data-group-id="7966872884-5">]</span><span·class="w">221 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="ss">seq_loop</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">······</span><span·class="mi">5</span><span·class="w">·····</span><span·class="mi">32</span><span·class="w">······</span><span·class="mf">6.40</span><span·class="w">··</span><span·class="p"·data-group-id="2831242061-5">[</span><span·class="mf">100.00</span><span·class="p"·data-group-id="2831242061-5">]</span><span·class="w">
222 ····························</span><span·class="mi">32</span><span·class="w">············</span><span·class="p"·data-group-id="7966872884-6">[</span><span·class="w">·</span><span·class="mf">100.0</span><span·class="p"·data-group-id="7966872884-6">]</span><span·class="w">222 ····························</span><span·class="mi">32</span><span·class="w">············</span><span·class="p"·data-group-id="2831242061-6">[</span><span·class="w">·</span><span·class="mf">100.0</span><span·class="p"·data-group-id="2831242061-6">]</span><span·class="w">
223 </span><span·class="ss">ok</span></code></pre><p>Own·Id:·OTP-18756·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/6639"·title="">PR-6639</a></p></li><li><p>Native·coverage·support·has·been·implemented·in·the·JIT.·It·will··automatically·be·used·by·the·<a·href="cover.html"><code·class="inline">cover</code></a>·tool·to·reduce·the·execution·overhead·when·running·cover-compiled·code.</p><p>There·are·also·new·APIs·to·support·native·coverage·without·using·the·<code·class="inline">cover</code>·tool.</p><p>To·instrument·code·for·native·coverage·it·must·be·compiled·with·the·<a·href="../../../../lib/compiler-9.0/doc/html/compile.html#line_coverage"><code·class="inline">line_coverage</code></a>·option.</p><p>To·enable·native·coverage·in·the·runtime·system,·start·it·like·so:</p><pre><code·class="text">$·erl·+JPcover·true</code></pre><p>There·are·also·the·following·new·functions·for·supporting·native·coverage:</p><ul><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/0"><code·class="inline">code:get_coverage_mode/0</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/1"><code·class="inline">code:get_coverage_mode/1</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#set_coverage_mode/1"><code·class="inline">code:set_coverage_mode/1</code></a></li></ul><p>Own·Id:·OTP-18856·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7856"·title="">PR-7856</a></p></li><li><p>The·documentation·has·been·migrated·to·use·Markdown·and·ExDoc.</p><p>Own·Id:·OTP-18955·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8026"·title="">PR-8026</a></p></li><li><p>Improved·the·align·command·in·emacs·mode.</p><p>Own·Id:·OTP-19080·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8288"·title="">PR-8288</a></p></li></ul><h2·id="tools-3-6"·class="section-heading">223 </span><span·class="ss">ok</span></code></pre><p>Own·Id:·OTP-18756·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/6639"·title="">PR-6639</a></p></li><li><p>Native·coverage·support·has·been·implemented·in·the·JIT.·It·will··automatically·be·used·by·the·<a·href="cover.html"><code·class="inline">cover</code></a>·tool·to·reduce·the·execution·overhead·when·running·cover-compiled·code.</p><p>There·are·also·new·APIs·to·support·native·coverage·without·using·the·<code·class="inline">cover</code>·tool.</p><p>To·instrument·code·for·native·coverage·it·must·be·compiled·with·the·<a·href="../../../../lib/compiler-9.0/doc/html/compile.html#line_coverage"><code·class="inline">line_coverage</code></a>·option.</p><p>To·enable·native·coverage·in·the·runtime·system,·start·it·like·so:</p><pre><code·class="text">$·erl·+JPcover·true</code></pre><p>There·are·also·the·following·new·functions·for·supporting·native·coverage:</p><ul><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/0"><code·class="inline">code:get_coverage_mode/0</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/1"><code·class="inline">code:get_coverage_mode/1</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#set_coverage_mode/1"><code·class="inline">code:set_coverage_mode/1</code></a></li></ul><p>Own·Id:·OTP-18856·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7856"·title="">PR-7856</a></p></li><li><p>The·documentation·has·been·migrated·to·use·Markdown·and·ExDoc.</p><p>Own·Id:·OTP-18955·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8026"·title="">PR-8026</a></p></li><li><p>Improved·the·align·command·in·emacs·mode.</p><p>Own·Id:·OTP-19080·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8288"·title="">PR-8288</a></p></li></ul><h2·id="tools-3-6"·class="section-heading">
224 ··<a·href="#tools-3-6"·class="hover-link">224 ··<a·href="#tools-3-6"·class="hover-link">
225 ····<i·class="ri-link-m"·aria-hidden="true"></i>225 ····<i·class="ri-link-m"·aria-hidden="true"></i>
226 ··</a>226 ··</a>
227 ··<span·class="text">Tools·3.6</span>227 ··<span·class="text">Tools·3.6</span>
228 </h2>228 </h2>
229 <h3·id="improvements-and-new-features-3"·class="section-heading">229 <h3·id="improvements-and-new-features-3"·class="section-heading">
Offset 1546, 15 lines modifiedOffset 1546, 15 lines modified
1546 ······<p·class="built-using">1546 ······<p·class="built-using">
1547 ········Built·using1547 ········Built·using
1548 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1548 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1549 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1549 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1550 ······</p>1550 ······</p>
1551 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1551 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1552 ····</footer>1552 ····</footer>
1553 ··</div>1553 ··</div>
1554 </main>1554 </main>
1555 </div>1555 </div>
1556 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1556 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1557 ··<script>1557 ··<script>
1558 ··let·initialized·=·false;1558 ··let·initialized·=·false;
730 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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.2/doc/html/tags.html
    
Offset 770, 15 lines modifiedOffset 770, 15 lines modified
770 ······<p·class="built-using">770 ······<p·class="built-using">
771 ········Built·using771 ········Built·using
772 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the772 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
773 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>773 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
774 ······</p>774 ······</p>
775 <p>Copyright·©·1996-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
877 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/tools.epub
4.44 KB
zipinfo {}
Max HTML report size reached
164 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
40.8 KB
OEBPS/xref_chapter.xhtml
Max HTML report size reached
156 KB
OEBPS/tprof.xhtml
Max HTML report size reached
28.7 KB
OEBPS/notes.xhtml
Max HTML report size reached
3.89 KB
OEBPS/make.xhtml
Max HTML report size reached
57.2 KB
OEBPS/lcnt_chapter.xhtml
Max HTML report size reached
3.72 KB
OEBPS/fprof_chapter.xhtml
Max HTML report size reached
135 KB
OEBPS/fprof.xhtml
Max HTML report size reached
14.6 KB
OEBPS/erlang-el.xhtml
Max HTML report size reached
82.9 KB
OEBPS/cprof_chapter.xhtml
Max HTML report size reached
3.48 KB
OEBPS/cprof.xhtml
Max HTML report size reached
173 KB
OEBPS/cover_chapter.xhtml
Max HTML report size reached
7.46 KB
OEBPS/cover.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
Max HTML report size reached
158 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/tprof.html
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/xref.html
    
Offset 3576, 15 lines modifiedOffset 3576, 15 lines modified
3576 ······<p·class="built-using">3576 ······<p·class="built-using">
3577 ········Built·using3577 ········Built·using
3578 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3578 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3579 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3579 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3580 ······</p>3580 ······</p>
3581 <p>Copyright·©·1996-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.2/doc/html/xref_chapter.html
    
Offset 136, 69 lines modifiedOffset 136, 69 lines modified
136 reading;·not·all·of·the·concepts·used·are·explained,·and·it·is·assumed·that·the136 reading;·not·all·of·the·concepts·used·are·explained,·and·it·is·assumed·that·the
137 <a·href="xref.html">reference·manual</a>·has·been·at·least·skimmed.</p><h2·id="module-check"·class="section-heading">137 <a·href="xref.html">reference·manual</a>·has·been·at·least·skimmed.</p><h2·id="module-check"·class="section-heading">
138 ··<a·href="#module-check"·class="hover-link">138 ··<a·href="#module-check"·class="hover-link">
139 ····<i·class="ri-link-m"·aria-hidden="true"></i>139 ····<i·class="ri-link-m"·aria-hidden="true"></i>
140 ··</a>140 ··</a>
141 ··<span·class="text">Module·Check</span>141 ··<span·class="text">Module·Check</span>
142 </h2>142 </h2>
143 <p>Assume·we·want·to·check·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3689150344-1">(</span><span·class="ss">my_module</span><span·class="p"·data-group-id="3689150344-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="5961242470-1">(</span><span·class="ss">my_module</span><span·class="p"·data-group-id="5961242470-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="3689150344-2">(</span><span·class="p"·data-group-id="3689150344-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="3689150344-3">]</span><span·class="p"·data-group-id="3689150344-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="5961242470-2">(</span><span·class="p"·data-group-id="5961242470-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="5961242470-3">]</span><span·class="p"·data-group-id="5961242470-2">)</span><span·class="p">.</span><span·class="w">
  
146 </span><span·class="nf">t</span><span·class="p"·data-group-id="3689150344-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="3689150344-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="5961242470-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="5961242470-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="3689150344-5">(</span><span·class="n">A</span><span·class="p"·data-group-id="3689150344-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="5961242470-5">(</span><span·class="n">A</span><span·class="p"·data-group-id="5961242470-5">)</span><span·class="p">.</span><span·class="w">
  
148 </span><span·class="nf">t2</span><span·class="p"·data-group-id="3689150344-6">(</span><span·class="p">_</span><span·class="p"·data-group-id="3689150344-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="5961242470-6">(</span><span·class="p">_</span><span·class="p"·data-group-id="5961242470-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="4460444779-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="4460444779-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="2049958209-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="2049958209-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="4460444779-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="4460444779-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="2049958209-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="2049958209-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="1335863718-1">(</span><span·class="ss">my_module</span><span·class="p"·data-group-id="1335863718-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="8143244450-1">(</span><span·class="ss">my_module</span><span·class="p"·data-group-id="8143244450-1">)</span><span·class="w">
157 </span><span·class="p"·data-group-id="1335863718-2">[</span><span·class="p"·data-group-id="1335863718-3">{</span><span·class="ss">deprecated</span><span·class="p">,</span><span·class="p"·data-group-id="1335863718-4">[</span><span·class="p"·data-group-id="1335863718-4">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·9e413acbe0ae91d7554298134c62e79b7c0273a543b1fd8c4851e927d91c9665·...·]-3">}</span><span·class="p">,</span><span·class="w">157 </span><span·class="p"·data-group-id="8143244450-2">[</span><span·class="p"·data-group-id="8143244450-3">{</span><span·class="ss">deprecated</span><span·class="p">,</span><span·class="p"·data-group-id="8143244450-4">[</span><span·class="p"·data-group-id="8143244450-4">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·a1aa332542f5be756a884bce622a1b48eab7e1bc0b4c6fb6d1ec9ca4cd395bb7·...·]-3">}</span><span·class="p">,</span><span·class="w">
158 ·</span><span·class="p"·data-group-id="1335863718-5">{</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="p"·data-group-id="1335863718-6">[</span><span·class="p"·data-group-id="1335863718-7">{</span><span·class="p"·data-group-id="1335863718-8">{</span><span·class="ss">m[·...·truncated·by·diffoscope;·len:·575,·SHA:·596d8fb7dffdaf1e47bab8f50a276d564fcb38fd17a665aeb42d7c32c09a5c45·...·]-5">}</span><span·class="p">,</span><span·class="w">158 ·</span><span·class="p"·data-group-id="8143244450-5">{</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="p"·data-group-id="8143244450-6">[</span><span·class="p"·data-group-id="8143244450-7">{</span><span·class="p"·data-group-id="8143244450-8">{</span><span·class="ss">m[·...·truncated·by·diffoscope;·len:·575,·SHA:·ee7bbfc7255e532c5fe497592f0c2e257f3d46c04480cc8e7cbd92be13caee1f·...·]-5">}</span><span·class="p">,</span><span·class="w">
159 ·</span><span·class="p"·data-group-id="1335863718-10">{</span><span·class="ss">unused</span><span·class="p">,</span><span·class="p"·data-group-id="1335863718-11">[</span><span·class="p"·data-group-id="1335863718-12">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="s[·...·truncated·by·diffoscope;·len:·264,·SHA:·fb0448111b178d3b880b872c850c72fa5f7afabea52e321f8fdf0b69a1474f1f·...·]-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="8143244450-10">{</span><span·class="ss">unused</span><span·class="p">,</span><span·class="p"·data-group-id="8143244450-11">[</span><span·class="p"·data-group-id="8143244450-12">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="s[·...·truncated·by·diffoscope;·len:·264,·SHA:·398d23888598ef30d9ade4cd7128f1922b7c7a04978496f4c625a950125c4b8c·...·]-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="2346132706-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="2346132706-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="3935169769-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="3935169769-1">)</span><span·class="p">.</span><span·class="w">
175 </span><span·class="p"·data-group-id="2346132706-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="2346132706-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="3935169769-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="3935169769-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="4364341989-1">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4364341989-2">[</span><span·class="p"·data-group-id="4364341989-3">{</span><span·class="ss">verbose</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·415,·SHA:·4558ab36769d73d3d635dfea1ae0c7a95bd436f5767aa70d65ae5220f77f6207·...·]-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="5772645480-1">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5772645480-2">[</span><span·class="p"·data-group-id="5772645480-3">{</span><span·class="ss">verbose</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·415,·SHA:·73c2d80b0acc4306e756bbb2063c4802dbaa085f1f76b0f52797deb603e2ef6f·...·]-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="4364341989-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="4364341989-6">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·326,·SHA:·cf5e1e1d97bf756a57db3e44fccb0008756ac69c7ecd43d7df65c26ec2f928dc·...·]-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="5772645480-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="5772645480-6">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·326,·SHA:·4ba14333d5d5f9b3c00e803486e0a49d3d47e286dae0a4dd5824fa54232a36a2·...·]-5">)</span><span·class="p">.</span><span·class="w">
184 </span><span·class="p"·data-group-id="4364341989-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">otp</span><span·class="p"·data-group-id="4364341989-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="5772645480-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">otp</span><span·class="p"·data-group-id="5772645480-8">}</span></code></pre><p><code·class="inline">add_release/3</code>·assumes·that·all·subdirectories·of·the·library·directory
185 returned·by·<a·href="../../../../lib/kernel-10.3/doc/html/code.html#lib_dir/0"><code·class="inline">code:lib_dir()</code></a>·contain·applications;185 returned·by·<a·href="../../../../lib/kernel-10.3/doc/html/code.html#lib_dir/0"><code·class="inline">code:lib_dir()</code></a>·contain·applications;
186 the·effect·is·that·of·reading·all·BEAM·files·for·the·application.</p><p>It·is·now·easy·to·check·the·release·for·calls·to·undefined·functions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">analyze</span><span·class="p"·data-group-id="2659149789-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="2659149789-1">)</span><span·class="p">.</span><span·class="w">186 the·effect·is·that·of·reading·all·BEAM·files·for·the·application.</p><p>It·is·now·easy·to·check·the·release·for·calls·to·undefined·functions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">analyze</span><span·class="p"·data-group-id="4886324303-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="4886324303-1">)</span><span·class="p">.</span><span·class="w">
187 </span><span·class="p"·data-group-id="2659149789-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2659149789-3">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="2659[·...·truncated·by·diffoscope;·len:·457,·SHA:·fe3e4e0ed6a4db45918bd53927e7cecf34b13c29046a3274b283ea986be0e1e9·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·check·for·calls·to·undefined·functions·is·an·example·of·a·predefined187 </span><span·class="p"·data-group-id="4886324303-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4886324303-3">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4886[·...·truncated·by·diffoscope;·len:·457,·SHA:·69d5a00cce6607cadf1f180f9f29c79263d7932d6f84db09bcc1d82882c03716·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·check·for·calls·to·undefined·functions·is·an·example·of·a·predefined
188 analysis,·probably·the·most·useful·one.·Other·examples·are·the·analyses·that188 analysis,·probably·the·most·useful·one.·Other·examples·are·the·analyses·that
189 find·unused·local·functions,·or·functions·that·call·some·given·functions.·See189 find·unused·local·functions,·or·functions·that·call·some·given·functions.·See
190 the·<a·href="xref.html#analyze/3">analyze/2,3</a>·functions·for·a·complete·list·of·predefined190 the·<a·href="xref.html#analyze/3">analyze/2,3</a>·functions·for·a·complete·list·of·predefined
191 analyses.</p><p>Each·predefined·analysis·is·a·shorthand·for·a·<a·href="xref.html#query">query</a>,·a191 analyses.</p><p>Each·predefined·analysis·is·a·shorthand·for·a·<a·href="xref.html#query">query</a>,·a
192 sentence·of·a·tiny·language·providing·cross·reference·data·as·values·of192 sentence·of·a·tiny·language·providing·cross·reference·data·as·values·of
193 <a·href="xref.html#predefined_variable">predefined·variables</a>.·The·check·for·calls·to193 <a·href="xref.html#predefined_variable">predefined·variables</a>.·The·check·for·calls·to
194 undefined·functions·can·thus·be·stated·as·a·query:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">q</span><span·class="p"·data-group-id="1049393235-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="1049393235-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="0888758578-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="0888758578-1">)</span><span·class="p">.</span><span·class="w">
195 </span><span·class="p"·data-group-id="1049393235-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1049393235-3">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1049393235-3">]</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·ec1962be4972b3eecdb60f8cf718af55d558872d68a8459f3de77220887a623a·...·]-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="0888758578-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0888758578-3">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0888758578-3">]</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·ace84c54c36a9609f6eb411513e00f04a6c9a97429197c7de3ef10fb722c6f4f·...·]-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="3896959787-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="3896959787-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="1857582681-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="1857582681-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="3896959787-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="3896959787-3">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·1efd51e47416ff82352b50082e56f671148c94f9fab98932be6c8873d9a0a0bb·...·]-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="1857582681-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="1857582681-3">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·e6fe179da52a3a2d0ceb37f31c44b9342dc9495d4652d1e69d3949adc737a046·...·]-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="0125294922-1">(</span><span·class="n">S</span><span·class="p"·data-group-id="0125294922-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="4575714439-1">(</span><span·class="n">S</span><span·class="p"·data-group-id="4575714439-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
272 ··</span><span·class="p"·data-group-id="0125294922-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="0125294922-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·285,·SHA:·4683a76515616bc9a53815e6ca3372e647f008225ef2c34237ff29116c94cdf6·...·]-3">)</span><span·class="p">,</span><span·class="w">272 ··</span><span·class="p"·data-group-id="4575714439-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="4575714439-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·285,·SHA:·56529de14fe2af322faf504fe3429122183a9cd92ba4ce4648061cc9474378ad·...·]-3">)</span><span·class="p">,</span><span·class="w">
273 ··</span><span·class="p"·data-group-id="0125294922-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="0125294922-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·270,·SHA:·167d79aafa92f585d9b743d465d2a019903e276d58dace411105f0c21327567d·...·]-5">)</span><span·class="p">,</span><span·class="w">273 ··</span><span·class="p"·data-group-id="4575714439-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="4575714439-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·270,·SHA:·3d2dce56b10b7f3b44067190fdbed951bfef10d7d7fd4c6850d3f33fb38d077e·...·]-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="0125294922-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="0125294922-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="4575714439-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="4575714439-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="0125294922-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="0125294922-8">[</span><span·class="n">M</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·d49dcf8678bd4be0dc0fa2bd02c15563ad8ab25e30d4c932f39fef53ca49168a·...·]-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="4575714439-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="4575714439-8">[</span><span·class="n">M</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·9808b5a324b4a142ae9de479660186647ddf43779f01d5083a2d33e849ae076f·...·]-7">)</span><span·class="p">,</span><span·class="w">
276 ······</span><span·class="p"·data-group-id="0125294922-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="0125294922-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·450,·SHA:·2b8d3a40eb8e3f194c2c0b295ca3f233ba23272fd1ae19f0e2ce0d73c674e082·...·]-10">)</span><span·class="p">,</span><span·class="w">276 ······</span><span·class="p"·data-group-id="4575714439-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="4575714439-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·450,·SHA:·a4ba9cb53c05a833fca66d71eb25d7c2b9dc228086138fb7ddcac4676e58b099·...·]-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="0125294922-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="0125294922-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="4575714439-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="4575714439-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="0125294922-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="0125294922-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="4575714439-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="4575714439-13">)</span><span·class="p">,</span><span·class="w">
281 ··</span><span·class="p"·data-group-id="0125294922-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="0125294922-14">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·291,·SHA:·f0bde40c2b0ee38e6fdb23303f4a21b2782b053215343a0043eb5c5d9e51ef18·...·]-15">)</span><span·class="p">,</span><span·class="w">281 ··</span><span·class="p"·data-group-id="4575714439-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="4575714439-14">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·291,·SHA:·7be74d35e41dc2bf989e2b1be3a6cc132d4fda28ddc69dd5ba17a7beadd85f2b·...·]-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="0125294922-16">(</span><span·class="p"·data-group-id="0125294922-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="0125294922-17">)</span><[·...·truncated·by·diffoscope;·len:·138,·SHA:·2c79c99e67652dd216743d09a6b6b36418d424d86666d120ff61ddbf05000170·...·]-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="4575714439-16">(</span><span·class="p"·data-group-id="4575714439-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="4575714439-17">)</span><[·...·truncated·by·diffoscope;·len:·138,·SHA:·a81166c2591d47a714bc1b7d57aa2171df4d26bd37ff248e30436f7e216f8d87·...·]-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>
360 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>360 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
Max diff block lines reached; 28/42413 bytes (0.07%) of diff not shown.
775 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-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.5/doc/html/api-reference.html
    
Offset 2414, 15 lines modifiedOffset 2414, 15 lines modified
2414 ······<p·class="built-using">2414 ······<p·class="built-using">
2415 ········Built·using2415 ········Built·using
2416 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2416 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2417 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2417 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2418 ······</p>2418 ······</p>
2419 <p>Copyright·©·1996-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.1 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/chapter.html
    
Offset 157, 21 lines modifiedOffset 157, 21 lines modified
157 that·object.·Type·checking·is·done·so·that·a·module·only·operates·on·it's157 that·object.·Type·checking·is·done·so·that·a·module·only·operates·on·it's
158 objects·or·inherited·classes.</p><p>An·object·is·created·with·<em>new</em>·and·destroyed·with·<em>destroy</em>.·Most·functions·in158 objects·or·inherited·classes.</p><p>An·object·is·created·with·<em>new</em>·and·destroyed·with·<em>destroy</em>.·Most·functions·in
159 the·classes·are·named·the·same·as·their·C++·counterpart,·except·that·for159 the·classes·are·named·the·same·as·their·C++·counterpart,·except·that·for
160 convenience,·in·erlang·they·start·with·a·lowercase·letter·and·the·first·argument160 convenience,·in·erlang·they·start·with·a·lowercase·letter·and·the·first·argument
161 is·the·object·reference.·Optional·arguments·are·last·and·expressed·as·tagged161 is·the·object·reference.·Optional·arguments·are·last·and·expressed·as·tagged
162 tuples·in·any·order.</p><p>For·example·the·<em>wxWindow</em>·C++·class·is·implemented·in·the·<em>wxWindow</em>·erlang162 tuples·in·any·order.</p><p>For·example·the·<em>wxWindow</em>·C++·class·is·implemented·in·the·<em>wxWindow</em>·erlang
163 module·and·the·member·<em>wxWindow::CenterOnParent</em>·is·thus163 module·and·the·member·<em>wxWindow::CenterOnParent</em>·is·thus
164 <em>wxWindow:centerOnParent</em>.·The·following·C++·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="ss">wxWindow</span><span·class="w">·</span><span·class="n">MyWin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">new</span><span·class="w">·</span><span·class="nf">wxWindow</span><span·class="p"·data-group-id="4630977248-1">(</span><span·class="p"·data-group-id="4630977248-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="9664319021-1">(</span><span·class="p"·data-group-id="9664319021-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="4630977248-2">(</span><span·class="ss">wxVERTICAL</span><span·class="p"·data-group-id="4630977248-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="9664319021-2">(</span><span·class="ss">wxVERTICAL</span><span·class="p"·data-group-id="9664319021-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="9232898271-1">(</span><span·class="p"·data-group-id="9232898271-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="7334869224-1">(</span><span·class="p"·data-group-id="7334869224-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="9232898271-2">(</span><span·class="n">MyWin</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9232898271-3">[</span><span·class="p"·data-group-id="9232898271-4">{</span><span·class="ss">dir</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·204,·SHA:·d2c6b5dd2f69f060c8e514969b2959014450678e9bef86be5e962b18649fab1d·...·]-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="7334869224-2">(</span><span·class="n">MyWin</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7334869224-3">[</span><span·class="p"·data-group-id="7334869224-4">{</span><span·class="ss">dir</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·204,·SHA:·bdac022c885f46a6859d9c4ecc5468ba6fd1cada54d9001c2f73df9d463833b6·...·]-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="9232898271-5">(</span><span·class="n">MyWin</span><span·class="p"·data-group-id="9232898271-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="7334869224-5">(</span><span·class="n">MyWin</span><span·class="p"·data-group-id="7334869224-5">)</span><span·class="p">,</span></code></pre><p>When·you·are·reading·wxWidgets·documentation·or·the·examples,·you·will·notice
171 that·some·of·the·most·basic·classes·are·missing·in·<em>wx</em>,·they·are·directly171 that·some·of·the·most·basic·classes·are·missing·in·<em>wx</em>,·they·are·directly
172 mapped·to·corresponding·erlang·terms:</p><ul><li><p><strong><em>wxPoint</em>·is·represented·by·{Xcoord,Ycoord}</strong></p></li><li><p><strong><em>wxSize</em>·is·represented·by·{Width,Height}</strong></p></li><li><p><strong><em>wxRect</em>·is·represented·by·{Xcoord,Ycoord,Width,Height}</strong></p></li><li><p><strong><em>wxColour</em>·is·represented·by·{Red,Green,Blue[,Alpha]}</strong></p></li><li><p><strong><em>wxString</em>·is·represented·by172 mapped·to·corresponding·erlang·terms:</p><ul><li><p><strong><em>wxPoint</em>·is·represented·by·{Xcoord,Ycoord}</strong></p></li><li><p><strong><em>wxSize</em>·is·represented·by·{Width,Height}</strong></p></li><li><p><strong><em>wxRect</em>·is·represented·by·{Xcoord,Ycoord,Width,Height}</strong></p></li><li><p><strong><em>wxColour</em>·is·represented·by·{Red,Green,Blue[,Alpha]}</strong></p></li><li><p><strong><em>wxString</em>·is·represented·by
173 <a·href="../../../../lib/stdlib-7.0/doc/html/unicode.html#t:charlist/0">unicode:charlist()</a></strong></p></li><li><p><strong><em>wxGBPosition</em>·is·represented·by·{Row,Column}</strong></p></li><li><p><strong><em>wxGBSpan</em>·is·represented·by·{RowSpan,ColumnSPan}</strong></p></li><li><p><strong><em>wxGridCellCoords</em>·is·represented·by·{Row,Column}</strong></p></li></ul><p>In·the·places·where·the·erlang·API·differs·from·the·original·one·it·should·be173 <a·href="../../../../lib/stdlib-7.0/doc/html/unicode.html#t:charlist/0">unicode:charlist()</a></strong></p></li><li><p><strong><em>wxGBPosition</em>·is·represented·by·{Row,Column}</strong></p></li><li><p><strong><em>wxGBSpan</em>·is·represented·by·{RowSpan,ColumnSPan}</strong></p></li><li><p><strong><em>wxGridCellCoords</em>·is·represented·by·{Row,Column}</strong></p></li></ul><p>In·the·places·where·the·erlang·API·differs·from·the·original·one·it·should·be
174 obvious·from·the·erlang·documentation·which·representation·has·been·used.·E.g.174 obvious·from·the·erlang·documentation·which·representation·has·been·used.·E.g.
175 the·C++·arrays·and/or·lists·are·sometimes·represented·as·erlang·lists·and175 the·C++·arrays·and/or·lists·are·sometimes·represented·as·erlang·lists·and
176 sometimes·as·tuples.</p><p>Colours·are·represented·with·{Red,Green,Blue[,Alpha]},·the·Alpha·value·is176 sometimes·as·tuples.</p><p>Colours·are·represented·with·{Red,Green,Blue[,Alpha]},·the·Alpha·value·is
177 optional·when·used·as·an·argument·to·functions,·but·it·will·always·be·returned177 optional·when·used·as·an·argument·to·functions,·but·it·will·always·be·returned
Offset 191, 22 lines modifiedOffset 191, 22 lines modified
191 ··<span·class="text">Multiple·processes·and·memory·handling</span>191 ··<span·class="text">Multiple·processes·and·memory·handling</span>
192 </h2>192 </h2>
193 <p>The·intention·is·that·each·erlang·application·calls·wx:new()·once·to·setup·it's193 <p>The·intention·is·that·each·erlang·application·calls·wx:new()·once·to·setup·it's
194 GUI·which·creates·an·environment·and·a·memory·mapping.·To·be·able·to·use·<em>wx</em>194 GUI·which·creates·an·environment·and·a·memory·mapping.·To·be·able·to·use·<em>wx</em>
195 from·several·processes·in·your·application,·you·must·share·the·environment.·You195 from·several·processes·in·your·application,·you·must·share·the·environment.·You
196 can·get·the·active·environment·with·<a·href="wx.html#get_env/0"><code·class="inline">wx:get_env/0</code></a>·and·set·it·in·the·new196 can·get·the·active·environment·with·<a·href="wx.html#get_env/0"><code·class="inline">wx:get_env/0</code></a>·and·set·it·in·the·new
197 processes·with·<a·href="wx.html#set_env/1"><code·class="inline">wx:set_env/1</code></a>.·Two·processes·or·applications·which·have·both197 processes·with·<a·href="wx.html#set_env/1"><code·class="inline">wx:set_env/1</code></a>.·Two·processes·or·applications·which·have·both
198 called·wx:new()·will·not·be·able·use·each·others·objects.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="4505888283-1">(</span><span·class="p"·data-group-id="4505888283-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="9664075788-1">(</span><span·class="p"·data-group-id="9664075788-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="4505888283-2">(</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">null</span><span·class="p"·data-group-id="4505888283-3">(</span><span·class="p"·data-group-id="4505888283-3">)</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·309,·SHA:·355a04ee32320dc759ca888454061108724c1316710f418b68b628d737920b20·...·]-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="9664075788-2">(</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">null</span><span·class="p"·data-group-id="9664075788-3">(</span><span·class="p"·data-group-id="9664075788-3">)</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·309,·SHA:·bfa103313e1b268ff44189ae9ab6bdbe3c64bafaab08a516b2dc142931d55ff7·...·]-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="4505888283-5">(</span><span·class="p"·data-group-id="4505888283-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="9664075788-5">(</span><span·class="p"·data-group-id="9664075788-5">)</span><span·class="p">,</span><span·class="w">
201 ··</span><span·class="nf">spawn</span><span·class="p"·data-group-id="4505888283-6">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4505888283-7">(</span><span·class="p"·data-group-id="4505888283-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="9664075788-6">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9664075788-7">(</span><span·class="p"·data-group-id="9664075788-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="4505888283-8">(</span><span·class="n">Env</span><span·class="p"·data-group-id="4505888283-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="9664075788-8">(</span><span·class="n">Env</span><span·class="p"·data-group-id="9664075788-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="4505888283-6">)</span><span·class="p">,</span><span·class="w">205 ········</span><span·class="k">end</span><span·class="p"·data-group-id="9664075788-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.5/doc/html/gl.html
    
Offset 39147, 15 lines modifiedOffset 39147, 15 lines modified
39147 ······<p·class="built-using">39147 ······<p·class="built-using">
39148 ········Built·using39148 ········Built·using
39149 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the39149 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
39150 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>39150 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
39151 ······</p>39151 ······</p>
39152 <p>Copyright·©·1996-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.5/doc/html/glu.html
    
Offset 1745, 15 lines modifiedOffset 1745, 15 lines modified
1745 ······<p·class="built-using">1745 ······<p·class="built-using">
1746 ········Built·using1746 ········Built·using
1747 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1747 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1748 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1748 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1749 ······</p>1749 ······</p>
1750 <p>Copyright·©·1996-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.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/notes.html
    
Offset 1090, 15 lines modifiedOffset 1090, 15 lines modified
1090 ······<p·class="built-using">1090 ······<p·class="built-using">
1091 ········Built·using1091 ········Built·using
1092 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1092 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1093 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1093 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1094 ······</p>1094 ······</p>
1095 <p>Copyright·©·1996-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;
744 B
html2text {}
Max HTML report size reached
1.25 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-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;
457 B
html2text {}
Max HTML report size reached
1.55 MB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wx.epub
39.3 KB
zipinfo {}
Max HTML report size reached
1.47 MB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
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.5/doc/html/wx.html
    
Offset 1409, 15 lines modifiedOffset 1409, 15 lines modified
1409 ······<p·class="built-using">1409 ······<p·class="built-using">
1410 ········Built·using1410 ········Built·using
1411 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1411 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1412 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1412 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1413 ······</p>1413 ······</p>
1414 <p>Copyright·©·1996-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.5/doc/html/wxAcceleratorEntry.html
    
Offset 538, 15 lines modifiedOffset 538, 15 lines modified
538 ······<p·class="built-using">538 ······<p·class="built-using">
539 ········Built·using539 ········Built·using
540 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the540 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
541 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>541 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
542 ······</p>542 ······</p>
543 <p>Copyright·©·1996-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.5/doc/html/wxAcceleratorTable.html
    
Offset 417, 15 lines modifiedOffset 417, 15 lines modified
417 ······<p·class="built-using">417 ······<p·class="built-using">
418 ········Built·using418 ········Built·using
419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
421 ······</p>421 ······</p>
422 <p>Copyright·©·1996-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.5/doc/html/wxActivateEvent.html
    
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-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.5/doc/html/wxArtProvider.html
    
Offset 406, 15 lines modifiedOffset 406, 15 lines modified
406 ······<p·class="built-using">406 ······<p·class="built-using">
407 ········Built·using407 ········Built·using
408 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the408 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
409 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>409 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
410 ······</p>410 ······</p>
411 <p>Copyright·©·1996-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.5/doc/html/wxAuiDockArt.html
    
Offset 455, 15 lines modifiedOffset 455, 15 lines modified
455 ······<p·class="built-using">455 ······<p·class="built-using">
456 ········Built·using456 ········Built·using
457 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the457 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
458 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>458 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
459 ······</p>459 ······</p>
460 <p>Copyright·©·1996-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.65 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAuiManager.html
    
Offset 1409, 15 lines modifiedOffset 1409, 15 lines modified
1409 ······<p·class="built-using">1409 ······<p·class="built-using">
1410 ········Built·using1410 ········Built·using
1411 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1411 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1412 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1412 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1413 ······</p>1413 ······</p>
1414 <p>Copyright·©·1996-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.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAuiManagerEvent.html
    
Offset 784, 15 lines modifiedOffset 784, 15 lines modified
784 ······<p·class="built-using">784 ······<p·class="built-using">
785 ········Built·using785 ········Built·using
786 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the786 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
787 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>787 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
788 ······</p>788 ······</p>
789 <p>Copyright·©·1996-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.5/doc/html/wxAuiNotebook.html
    
Offset 1365, 15 lines modifiedOffset 1365, 15 lines modified
1365 ······<p·class="built-using">1365 ······<p·class="built-using">
1366 ········Built·using1366 ········Built·using
1367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1369 ······</p>1369 ······</p>
1370 <p>Copyright·©·1996-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.5/doc/html/wxAuiNotebookEvent.html
    
Offset 537, 15 lines modifiedOffset 537, 15 lines modified
537 ······<p·class="built-using">537 ······<p·class="built-using">
538 ········Built·using538 ········Built·using
539 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the539 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
540 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>540 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
541 ······</p>541 ······</p>
542 <p>Copyright·©·1996-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.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAuiPaneInfo.html
    
Offset 3891, 15 lines modifiedOffset 3891, 15 lines modified
3891 ······<p·class="built-using">3891 ······<p·class="built-using">
3892 ········Built·using3892 ········Built·using
3893 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3893 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3894 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3894 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3895 ······</p>3895 ······</p>
3896 <p>Copyright·©·1996-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.5/doc/html/wxAuiSimpleTabArt.html
    
Offset 306, 15 lines modifiedOffset 306, 15 lines modified
306 ······<p·class="built-using">306 ······<p·class="built-using">
307 ········Built·using307 ········Built·using
308 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the308 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
309 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>309 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
310 ······</p>310 ······</p>
311 <p>Copyright·©·1996-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.5/doc/html/wxAuiTabArt.html
    
Offset 451, 15 lines modifiedOffset 451, 15 lines modified
451 ······<p·class="built-using">451 ······<p·class="built-using">
452 ········Built·using452 ········Built·using
453 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the453 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
454 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>454 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
455 ······</p>455 ······</p>
456 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxBitmap.html
    
Offset 1317, 15 lines modifiedOffset 1317, 15 lines modified
1317 ······<p·class="built-using">1317 ······<p·class="built-using">
1318 ········Built·using1318 ········Built·using
1319 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1319 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1320 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1320 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1321 ······</p>1321 ······</p>
1322 <p>Copyright·©·1996-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.5/doc/html/wxBitmapButton.html
    
Offset 531, 15 lines modifiedOffset 531, 15 lines modified
531 ······<p·class="built-using">531 ······<p·class="built-using">
532 ········Built·using532 ········Built·using
533 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the533 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
534 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>534 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
535 ······</p>535 ······</p>
536 <p>Copyright·©·1996-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.5/doc/html/wxBitmapDataObject.html
    
Offset 418, 15 lines modifiedOffset 418, 15 lines modified
418 ······<p·class="built-using">418 ······<p·class="built-using">
419 ········Built·using419 ········Built·using
420 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the420 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
421 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>421 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
422 ······</p>422 ······</p>
423 <p>Copyright·©·1996-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.5/doc/html/wxBookCtrlBase.html
    
Offset 916, 15 lines modifiedOffset 916, 15 lines modified
916 ······<p·class="built-using">916 ······<p·class="built-using">
917 ········Built·using917 ········Built·using
918 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the918 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
919 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>919 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
920 ······</p>920 ······</p>
921 <p>Copyright·©·1996-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.5/doc/html/wxBookCtrlEvent.html
    
Offset 459, 15 lines modifiedOffset 459, 15 lines modified
459 ······<p·class="built-using">459 ······<p·class="built-using">
460 ········Built·using460 ········Built·using
461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
463 ······</p>463 ······</p>
464 <p>Copyright·©·1996-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.5/doc/html/wxBoxSizer.html
    
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-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.5/doc/html/wxBrush.html
    
Offset 716, 15 lines modifiedOffset 716, 15 lines modified
716 ······<p·class="built-using">716 ······<p·class="built-using">
717 ········Built·using717 ········Built·using
718 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the718 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
719 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>719 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
720 ······</p>720 ······</p>
721 <p>Copyright·©·1996-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.5/doc/html/wxBufferedDC.html
    
Offset 549, 15 lines modifiedOffset 549, 15 lines modified
549 ······<p·class="built-using">549 ······<p·class="built-using">
550 ········Built·using550 ········Built·using
551 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the551 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
552 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>552 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
553 ······</p>553 ······</p>
554 <p>Copyright·©·1996-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.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxBufferedPaintDC.html
    
Offset 394, 15 lines modifiedOffset 394, 15 lines modified
394 ······<p·class="built-using">394 ······<p·class="built-using">
395 ········Built·using395 ········Built·using
396 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the396 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
397 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>397 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
398 ······</p>398 ······</p>
399 <p>Copyright·©·1996-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.5/doc/html/wxButton.html
    
Offset 891, 15 lines modifiedOffset 891, 15 lines modified
891 ······<p·class="built-using">891 ······<p·class="built-using">
892 ········Built·using892 ········Built·using
893 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the893 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
894 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>894 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
895 ······</p>895 ······</p>
896 <p>Copyright·©·1996-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.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxCalendarCtrl.html
    
Offset 1340, 15 lines modifiedOffset 1340, 15 lines modified
1340 ······<p·class="built-using">1340 ······<p·class="built-using">
1341 ········Built·using1341 ········Built·using
1342 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1342 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1343 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1343 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1344 ······</p>1344 ······</p>
1345 <p>Copyright·©·1996-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.5/doc/html/wxCalendarDateAttr.html
    
Offset 998, 15 lines modifiedOffset 998, 15 lines modified
998 ······<p·class="built-using">998 ······<p·class="built-using">
999 ········Built·using999 ········Built·using
1000 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1000 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1001 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1001 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1002 ······</p>1002 ······</p>
1003 <p>Copyright·©·1996-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.5/doc/html/wxCalendarEvent.html
    
Offset 379, 15 lines modifiedOffset 379, 15 lines modified
379 ······<p·class="built-using">379 ······<p·class="built-using">
380 ········Built·using380 ········Built·using
381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
383 ······</p>383 ······</p>
384 <p>Copyright·©·1996-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.5/doc/html/wxCaret.html
    
Offset 942, 15 lines modifiedOffset 942, 15 lines modified
942 ······<p·class="built-using">942 ······<p·class="built-using">
943 ········Built·using943 ········Built·using
944 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the944 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
945 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>945 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
946 ······</p>946 ······</p>
947 <p>Copyright·©·1996-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.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxCheckBox.html
    
Offset 745, 15 lines modifiedOffset 745, 15 lines modified
745 ······<p·class="built-using">745 ······<p·class="built-using">
746 ········Built·using746 ········Built·using
747 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the747 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
748 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>748 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
749 ······</p>749 ······</p>
750 <p>Copyright·©·1996-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.5/doc/html/wxCheckListBox.html
    
Offset 502, 15 lines modifiedOffset 502, 15 lines modified
502 ······<p·class="built-using">502 ······<p·class="built-using">
503 ········Built·using503 ········Built·using
504 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the504 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
505 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>505 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
506 ······</p>506 ······</p>
507 <p>Copyright·©·1996-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.5/doc/html/wxChildFocusEvent.html
    
Offset 347, 15 lines modifiedOffset 347, 15 lines modified
347 ······<p·class="built-using">347 ······<p·class="built-using">
348 ········Built·using348 ········Built·using
349 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the349 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
350 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>350 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
351 ······</p>351 ······</p>
352 <p>Copyright·©·1996-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.43 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxChoice.html
    
Offset 636, 15 lines modifiedOffset 636, 15 lines modified
636 ······<p·class="built-using">636 ······<p·class="built-using">
637 ········Built·using637 ········Built·using
638 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the638 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
639 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>639 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
640 ······</p>640 ······</p>
641 <p>Copyright·©·1996-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.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxChoicebook.html
    
Offset 1308, 15 lines modifiedOffset 1308, 15 lines modified
1308 ······<p·class="built-using">1308 ······<p·class="built-using">
1309 ········Built·using1309 ········Built·using
1310 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1310 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1311 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1311 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1312 ······</p>1312 ······</p>
1313 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxClientDC.html
    
Offset 313, 15 lines modifiedOffset 313, 15 lines modified
313 ······<p·class="built-using">313 ······<p·class="built-using">
314 ········Built·using314 ········Built·using
315 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the315 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
316 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>316 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
317 ······</p>317 ······</p>
318 <p>Copyright·©·1996-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.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxClipboard.html
    
Offset 767, 15 lines modifiedOffset 767, 15 lines modified
767 ······<p·class="built-using">767 ······<p·class="built-using">
768 ········Built·using768 ········Built·using
769 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the769 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
770 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>770 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
771 ······</p>771 ······</p>
772 <p>Copyright·©·1996-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.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxClipboardTextEvent.html
    
Offset 296, 15 lines modifiedOffset 296, 15 lines modified
296 ······<p·class="built-using">296 ······<p·class="built-using">
297 ········Built·using297 ········Built·using
298 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the298 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
299 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>299 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
300 ······</p>300 ······</p>
301 <p>Copyright·©·1996-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.5/doc/html/wxCloseEvent.html
    
Offset 540, 15 lines modifiedOffset 540, 15 lines modified
540 ······<p·class="built-using">540 ······<p·class="built-using">
541 ········Built·using541 ········Built·using
542 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the542 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
543 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>543 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
544 ······</p>544 ······</p>
545 <p>Copyright·©·1996-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.5/doc/html/wxColourData.html
    
Offset 526, 15 lines modifiedOffset 526, 15 lines modified
526 ······<p·class="built-using">526 ······<p·class="built-using">
527 ········Built·using527 ········Built·using
528 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the528 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
529 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>529 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
530 ······</p>530 ······</p>
531 <p>Copyright·©·1996-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.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxColourDialog.html
    
Offset 497, 15 lines modifiedOffset 497, 15 lines modified
497 ······<p·class="built-using">497 ······<p·class="built-using">
498 ········Built·using498 ········Built·using
499 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the499 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
500 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>500 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
501 ······</p>501 ······</p>
502 <p>Copyright·©·1996-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.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxColourPickerCtrl.html
    
Offset 561, 15 lines modifiedOffset 561, 15 lines modified
561 ······<p·class="built-using">561 ······<p·class="built-using">
562 ········Built·using562 ········Built·using
563 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the563 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
564 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>564 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
565 ······</p>565 ······</p>
566 <p>Copyright·©·1996-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.5/doc/html/wxColourPickerEvent.html
    
Offset 344, 15 lines modifiedOffset 344, 15 lines modified
344 ······<p·class="built-using">344 ······<p·class="built-using">
345 ········Built·using345 ········Built·using
346 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the346 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
347 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>347 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
348 ······</p>348 ······</p>
349 <p>Copyright·©·1996-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.5/doc/html/wxComboBox.html
    
Offset 1244, 15 lines modifiedOffset 1244, 15 lines modified
1244 ······<p·class="built-using">1244 ······<p·class="built-using">
1245 ········Built·using1245 ········Built·using
1246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1248 ······</p>1248 ······</p>
1249 <p>Copyright·©·1996-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.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxCommandEvent.html
    
Offset 664, 15 lines modifiedOffset 664, 15 lines modified
664 ······<p·class="built-using">664 ······<p·class="built-using">
665 ········Built·using665 ········Built·using
666 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the666 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
667 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>667 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
668 ······</p>668 ······</p>
669 <p>Copyright·©·1996-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.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxContextMenuEvent.html
    
Offset 391, 15 lines modifiedOffset 391, 15 lines modified
391 ······<p·class="built-using">391 ······<p·class="built-using">
392 ········Built·using392 ········Built·using
393 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the393 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
394 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>394 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
395 ······</p>395 ······</p>
396 <p>Copyright·©·1996-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.5/doc/html/wxControl.html
    
Offset 318, 15 lines modifiedOffset 318, 15 lines modified
318 ······<p·class="built-using">318 ······<p·class="built-using">
319 ········Built·using319 ········Built·using
320 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the320 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
321 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>321 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
322 ······</p>322 ······</p>
323 <p>Copyright·©·1996-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.5/doc/html/wxControlWithItems.html
    
Offset 1121, 15 lines modifiedOffset 1121, 15 lines modified
1121 ······<p·class="built-using">1121 ······<p·class="built-using">
1122 ········Built·using1122 ········Built·using
1123 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1123 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1124 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1124 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1125 ······</p>1125 ······</p>
1126 <p>Copyright·©·1996-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.5/doc/html/wxCursor.html
    
Offset 463, 15 lines modifiedOffset 463, 15 lines modified
463 ······<p·class="built-using">463 ······<p·class="built-using">
464 ········Built·using464 ········Built·using
465 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the465 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
466 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>466 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
467 ······</p>467 ······</p>
468 <p>Copyright·©·1996-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.5/doc/html/wxDC.html
    
Offset 3866, 15 lines modifiedOffset 3866, 15 lines modified
3866 ······<p·class="built-using">3866 ······<p·class="built-using">
3867 ········Built·using3867 ········Built·using
3868 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3868 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3869 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3869 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3870 ······</p>3870 ······</p>
3871 <p>Copyright·©·1996-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.5/doc/html/wxDCOverlay.html
    
Offset 385, 15 lines modifiedOffset 385, 15 lines modified
385 ······<p·class="built-using">385 ······<p·class="built-using">
386 ········Built·using386 ········Built·using
387 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the387 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
388 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>388 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
389 ······</p>389 ······</p>
390 <p>Copyright·©·1996-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.43 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDataObject.html
    
Offset 252, 15 lines modifiedOffset 252, 15 lines modified
252 ······<p·class="built-using">252 ······<p·class="built-using">
253 ········Built·using253 ········Built·using
254 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the254 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
255 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>255 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
256 ······</p>256 ······</p>
257 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDateEvent.html
    
Offset 336, 15 lines modifiedOffset 336, 15 lines modified
336 ······<p·class="built-using">336 ······<p·class="built-using">
337 ········Built·using337 ········Built·using
338 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the338 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
339 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>339 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
340 ······</p>340 ······</p>
341 <p>Copyright·©·1996-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.5/doc/html/wxDatePickerCtrl.html
    
Offset 570, 15 lines modifiedOffset 570, 15 lines modified
570 ······<p·class="built-using">570 ······<p·class="built-using">
571 ········Built·using571 ········Built·using
572 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the572 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
573 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>573 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
574 ······</p>574 ······</p>
575 <p>Copyright·©·1996-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.5/doc/html/wxDialog.html
    
Offset 921, 15 lines modifiedOffset 921, 15 lines modified
921 ······<p·class="built-using">921 ······<p·class="built-using">
922 ········Built·using922 ········Built·using
923 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the923 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
924 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>924 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
925 ······</p>925 ······</p>
926 <p>Copyright·©·1996-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.5/doc/html/wxDirDialog.html
    
Offset 515, 15 lines modifiedOffset 515, 15 lines modified
515 ······<p·class="built-using">515 ······<p·class="built-using">
516 ········Built·using516 ········Built·using
517 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the517 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
518 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>518 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
519 ······</p>519 ······</p>
520 <p>Copyright·©·1996-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.5/doc/html/wxDirPickerCtrl.html
    
Offset 569, 15 lines modifiedOffset 569, 15 lines modified
569 ······<p·class="built-using">569 ······<p·class="built-using">
570 ········Built·using570 ········Built·using
571 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the571 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
572 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>572 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
573 ······</p>573 ······</p>
574 <p>Copyright·©·1996-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.5/doc/html/wxDisplay.html
    
Offset 675, 15 lines modifiedOffset 675, 15 lines modified
675 ······<p·class="built-using">675 ······<p·class="built-using">
676 ········Built·using676 ········Built·using
677 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the677 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
678 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>678 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
679 ······</p>679 ······</p>
680 <p>Copyright·©·1996-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.5/doc/html/wxDisplayChangedEvent.html
    
Offset 289, 15 lines modifiedOffset 289, 15 lines modified
289 ······<p·class="built-using">289 ······<p·class="built-using">
290 ········Built·using290 ········Built·using
291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
293 ······</p>293 ······</p>
294 <p>Copyright·©·1996-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.5/doc/html/wxDropFilesEvent.html
    
Offset 420, 15 lines modifiedOffset 420, 15 lines modified
420 ······<p·class="built-using">420 ······<p·class="built-using">
421 ········Built·using421 ········Built·using
422 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the422 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
423 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>423 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
424 ······</p>424 ······</p>
425 <p>Copyright·©·1996-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.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxEraseEvent.html
    
Offset 346, 15 lines modifiedOffset 346, 15 lines modified
346 ······<p·class="built-using">346 ······<p·class="built-using">
347 ········Built·using347 ········Built·using
348 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the348 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
349 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>349 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
350 ······</p>350 ······</p>
351 <p>Copyright·©·1996-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.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxEvent.html
    
Offset 575, 15 lines modifiedOffset 575, 15 lines modified
575 ······<p·class="built-using">575 ······<p·class="built-using">
576 ········Built·using576 ········Built·using
577 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the577 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
578 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>578 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
579 ······</p>579 ······</p>
580 <p>Copyright·©·1996-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.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxEvtHandler.html
    
Offset 644, 15 lines modifiedOffset 644, 15 lines modified
644 ······<p·class="built-using">644 ······<p·class="built-using">
645 ········Built·using645 ········Built·using
646 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the646 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
647 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>647 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
648 ······</p>648 ······</p>
649 <p>Copyright·©·1996-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.35 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFileDataObject.html
    
Offset 379, 15 lines modifiedOffset 379, 15 lines modified
379 ······<p·class="built-using">379 ······<p·class="built-using">
380 ········Built·using380 ········Built·using
381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
383 ······</p>383 ······</p>
384 <p>Copyright·©·1996-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.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFileDialog.html
    
Offset 902, 15 lines modifiedOffset 902, 15 lines modified
902 ······<p·class="built-using">902 ······<p·class="built-using">
903 ········Built·using903 ········Built·using
904 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the904 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
905 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>905 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
906 ······</p>906 ······</p>
907 <p>Copyright·©·1996-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.5/doc/html/wxFileDirPickerEvent.html
    
Offset 344, 15 lines modifiedOffset 344, 15 lines modified
344 ······<p·class="built-using">344 ······<p·class="built-using">
345 ········Built·using345 ········Built·using
346 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the346 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
347 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>347 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
348 ······</p>348 ······</p>
349 <p>Copyright·©·1996-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.5/doc/html/wxFilePickerCtrl.html
    
Offset 572, 15 lines modifiedOffset 572, 15 lines modified
572 ······<p·class="built-using">572 ······<p·class="built-using">
573 ········Built·using573 ········Built·using
574 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the574 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
575 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>575 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
576 ······</p>576 ······</p>
577 <p>Copyright·©·1996-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.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFindReplaceData.html
    
Offset 560, 15 lines modifiedOffset 560, 15 lines modified
560 ······<p·class="built-using">560 ······<p·class="built-using">
561 ········Built·using561 ········Built·using
562 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the562 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
563 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>563 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
564 ······</p>564 ······</p>
565 <p>Copyright·©·1996-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.5/doc/html/wxFindReplaceDialog.html
    
Offset 508, 15 lines modifiedOffset 508, 15 lines modified
508 ······<p·class="built-using">508 ······<p·class="built-using">
509 ········Built·using509 ········Built·using
510 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the510 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
511 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>511 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
512 ······</p>512 ······</p>
513 <p>Copyright·©·1996-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.5/doc/html/wxFlexGridSizer.html
    
Offset 815, 15 lines modifiedOffset 815, 15 lines modified
815 ······<p·class="built-using">815 ······<p·class="built-using">
816 ········Built·using816 ········Built·using
817 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the817 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
818 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>818 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
819 ······</p>819 ······</p>
820 <p>Copyright·©·1996-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.5/doc/html/wxFocusEvent.html
    
Offset 352, 15 lines modifiedOffset 352, 15 lines modified
352 ······<p·class="built-using">352 ······<p·class="built-using">
353 ········Built·using353 ········Built·using
354 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the354 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
355 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>355 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
356 ······</p>356 ······</p>
357 <p>Copyright·©·1996-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.5/doc/html/wxFont.html
    
Offset 1157, 15 lines modifiedOffset 1157, 15 lines modified
1157 ······<p·class="built-using">1157 ······<p·class="built-using">
1158 ········Built·using1158 ········Built·using
1159 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1159 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1160 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1160 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1161 ······</p>1161 ······</p>
1162 <p>Copyright·©·1996-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.41 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFontData.html
    
Offset 811, 15 lines modifiedOffset 811, 15 lines modified
811 ······<p·class="built-using">811 ······<p·class="built-using">
812 ········Built·using812 ········Built·using
813 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the813 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
814 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>814 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
815 ······</p>815 ······</p>
816 <p>Copyright·©·1996-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.5/doc/html/wxFontDialog.html
    
Offset 420, 15 lines modifiedOffset 420, 15 lines modified
420 ······<p·class="built-using">420 ······<p·class="built-using">
421 ········Built·using421 ········Built·using
422 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the422 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
423 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>423 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
424 ······</p>424 ······</p>
425 <p>Copyright·©·1996-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.5/doc/html/wxFontPickerCtrl.html
    
Offset 637, 15 lines modifiedOffset 637, 15 lines modified
637 ······<p·class="built-using">637 ······<p·class="built-using">
638 ········Built·using638 ········Built·using
639 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the639 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
640 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>640 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
641 ······</p>641 ······</p>
642 <p>Copyright·©·1996-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.5/doc/html/wxFontPickerEvent.html
    
Offset 343, 15 lines modifiedOffset 343, 15 lines modified
343 ······<p·class="built-using">343 ······<p·class="built-using">
344 ········Built·using344 ········Built·using
345 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the345 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
346 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>346 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
347 ······</p>347 ······</p>
348 <p>Copyright·©·1996-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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFrame.html
    
Offset 1234, 15 lines modifiedOffset 1234, 15 lines modified
1234 ······<p·class="built-using">1234 ······<p·class="built-using">
1235 ········Built·using1235 ········Built·using
1236 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1236 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1237 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1237 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1238 ······</p>1238 ······</p>
1239 <p>Copyright·©·1996-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.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGBSizerItem.html
    
Offset 218, 15 lines modifiedOffset 218, 15 lines modified
218 ······<p·class="built-using">218 ······<p·class="built-using">
219 ········Built·using219 ········Built·using
220 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the220 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
221 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>221 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
222 ······</p>222 ······</p>
223 <p>Copyright·©·1996-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.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGCDC.html
    
Offset 428, 15 lines modifiedOffset 428, 15 lines modified
428 ······<p·class="built-using">428 ······<p·class="built-using">
429 ········Built·using429 ········Built·using
430 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the430 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
431 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>431 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
432 ······</p>432 ······</p>
433 <p>Copyright·©·1996-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.5/doc/html/wxGLCanvas.html
    
Offset 524, 15 lines modifiedOffset 524, 15 lines modified
524 ······<p·class="built-using">524 ······<p·class="built-using">
525 ········Built·using525 ········Built·using
526 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the526 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
527 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>527 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
528 ······</p>528 ······</p>
529 <p>Copyright·©·1996-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.5/doc/html/wxGLContext.html
    
Offset 441, 15 lines modifiedOffset 441, 15 lines modified
441 ······<p·class="built-using">441 ······<p·class="built-using">
442 ········Built·using442 ········Built·using
443 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the443 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
444 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>444 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
445 ······</p>445 ······</p>
446 <p>Copyright·©·1996-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.4 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGauge.html
    
Offset 708, 15 lines modifiedOffset 708, 15 lines modified
708 ······<p·class="built-using">708 ······<p·class="built-using">
709 ········Built·using709 ········Built·using
710 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the710 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
711 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>711 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
712 ······</p>712 ······</p>
713 <p>Copyright·©·1996-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.5/doc/html/wxGenericDirCtrl.html
    
Offset 1062, 15 lines modifiedOffset 1062, 15 lines modified
1062 ······<p·class="built-using">1062 ······<p·class="built-using">
1063 ········Built·using1063 ········Built·using
1064 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1064 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1065 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1065 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1066 ······</p>1066 ······</p>
1067 <p>Copyright·©·1996-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.5/doc/html/wxGraphicsBrush.html
    
Offset 216, 15 lines modifiedOffset 216, 15 lines modified
216 ······<p·class="built-using">216 ······<p·class="built-using">
217 ········Built·using217 ········Built·using
218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
220 ······</p>220 ······</p>
221 <p>Copyright·©·1996-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.5/doc/html/wxGraphicsContext.html
    
Offset 2119, 15 lines modifiedOffset 2119, 15 lines modified
2119 ······<p·class="built-using">2119 ······<p·class="built-using">
2120 ········Built·using2120 ········Built·using
2121 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2121 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2122 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2122 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2123 ······</p>2123 ······</p>
2124 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsFont.html
    
Offset 216, 15 lines modifiedOffset 216, 15 lines modified
216 ······<p·class="built-using">216 ······<p·class="built-using">
217 ········Built·using217 ········Built·using
218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
220 ······</p>220 ······</p>
221 <p>Copyright·©·1996-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.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsGradientStops.html
    
Offset 598, 15 lines modifiedOffset 598, 15 lines modified
598 ······<p·class="built-using">598 ······<p·class="built-using">
599 ········Built·using599 ········Built·using
600 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the600 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
601 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>601 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
602 ······</p>602 ······</p>
603 <p>Copyright·©·1996-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.5/doc/html/wxGraphicsMatrix.html
    
Offset 686, 15 lines modifiedOffset 686, 15 lines modified
686 ······<p·class="built-using">686 ······<p·class="built-using">
687 ········Built·using687 ········Built·using
688 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the688 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
689 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>689 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
690 ······</p>690 ······</p>
691 <p>Copyright·©·1996-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.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsObject.html
    
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-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.5/doc/html/wxGraphicsPath.html
    
Offset 1124, 15 lines modifiedOffset 1124, 15 lines modified
1124 ······<p·class="built-using">1124 ······<p·class="built-using">
1125 ········Built·using1125 ········Built·using
1126 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1126 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1127 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1127 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1128 ······</p>1128 ······</p>
1129 <p>Copyright·©·1996-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.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsPen.html
    
Offset 216, 15 lines modifiedOffset 216, 15 lines modified
216 ······<p·class="built-using">216 ······<p·class="built-using">
217 ········Built·using217 ········Built·using
218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
220 ······</p>220 ······</p>
221 <p>Copyright·©·1996-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.5/doc/html/wxGraphicsRenderer.html
    
Offset 681, 15 lines modifiedOffset 681, 15 lines modified
681 ······<p·class="built-using">681 ······<p·class="built-using">
682 ········Built·using682 ········Built·using
683 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the683 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
684 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>684 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
685 ······</p>685 ······</p>
686 <p>Copyright·©·1996-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.5/doc/html/wxGrid.html
    
Offset 8031, 15 lines modifiedOffset 8031, 15 lines modified
8031 ······<p·class="built-using">8031 ······<p·class="built-using">
8032 ········Built·using8032 ········Built·using
8033 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the8033 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
8034 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>8034 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
8035 ······</p>8035 ······</p>
8036 <p>Copyright·©·1996-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.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridBagSizer.html
    
Offset 1114, 15 lines modifiedOffset 1114, 15 lines modified
1114 ······<p·class="built-using">1114 ······<p·class="built-using">
1115 ········Built·using1115 ········Built·using
1116 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1116 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1117 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1117 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1118 ······</p>1118 ······</p>
1119 <p>Copyright·©·1996-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.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellAttr.html
    
Offset 1045, 15 lines modifiedOffset 1045, 15 lines modified
1045 ······<p·class="built-using">1045 ······<p·class="built-using">
1046 ········Built·using1046 ········Built·using
1047 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1047 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1048 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1048 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1049 ······</p>1049 ······</p>
1050 <p>Copyright·©·1996-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.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellBoolEditor.html
    
Offset 420, 15 lines modifiedOffset 420, 15 lines modified
420 ······<p·class="built-using">420 ······<p·class="built-using">
421 ········Built·using421 ········Built·using
422 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the422 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
423 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>423 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
424 ······</p>424 ······</p>
425 <p>Copyright·©·1996-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.5/doc/html/wxGridCellBoolRenderer.html
    
Offset 304, 15 lines modifiedOffset 304, 15 lines modified
304 ······<p·class="built-using">304 ······<p·class="built-using">
305 ········Built·using305 ········Built·using
306 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the306 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
307 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>307 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
308 ······</p>308 ······</p>
309 <p>Copyright·©·1996-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.5/doc/html/wxGridCellChoiceEditor.html
    
Offset 379, 15 lines modifiedOffset 379, 15 lines modified
379 ······<p·class="built-using">379 ······<p·class="built-using">
380 ········Built·using380 ········Built·using
381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
383 ······</p>383 ······</p>
384 <p>Copyright·©·1996-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.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellEditor.html
    
Offset 579, 15 lines modifiedOffset 579, 15 lines modified
579 ······<p·class="built-using">579 ······<p·class="built-using">
580 ········Built·using580 ········Built·using
581 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the581 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
582 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>582 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
583 ······</p>583 ······</p>
584 <p>Copyright·©·1996-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.5/doc/html/wxGridCellFloatEditor.html
    
Offset 380, 15 lines modifiedOffset 380, 15 lines modified
380 ······<p·class="built-using">380 ······<p·class="built-using">
381 ········Built·using381 ········Built·using
382 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the382 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
383 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>383 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
384 ······</p>384 ······</p>
385 <p>Copyright·©·1996-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.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellFloatRenderer.html
    
Offset 524, 15 lines modifiedOffset 524, 15 lines modified
524 ······<p·class="built-using">524 ······<p·class="built-using">
525 ········Built·using525 ········Built·using
526 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the526 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
527 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>527 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
528 ······</p>528 ······</p>
529 <p>Copyright·©·1996-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.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellNumberEditor.html
    
Offset 414, 15 lines modifiedOffset 414, 15 lines modified
414 ······<p·class="built-using">414 ······<p·class="built-using">
415 ········Built·using415 ········Built·using
416 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the416 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
417 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>417 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
418 ······</p>418 ······</p>
419 <p>Copyright·©·1996-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.5/doc/html/wxGridCellNumberRenderer.html
    
Offset 304, 15 lines modifiedOffset 304, 15 lines modified
304 ······<p·class="built-using">304 ······<p·class="built-using">
305 ········Built·using305 ········Built·using
306 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the306 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
307 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>307 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
308 ······</p>308 ······</p>
309 <p>Copyright·©·1996-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.5/doc/html/wxGridCellRenderer.html
    
Offset 329, 15 lines modifiedOffset 329, 15 lines modified
329 ······<p·class="built-using">329 ······<p·class="built-using">
330 ········Built·using330 ········Built·using
331 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the331 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
332 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>332 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
333 ······</p>333 ······</p>
334 <p>Copyright·©·1996-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.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellStringRenderer.html
    
Offset 305, 15 lines modifiedOffset 305, 15 lines modified
305 ······<p·class="built-using">305 ······<p·class="built-using">
306 ········Built·using306 ········Built·using
307 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the307 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
308 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>308 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
309 ······</p>309 ······</p>
310 <p>Copyright·©·1996-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.5/doc/html/wxGridCellTextEditor.html
    
Offset 377, 15 lines modifiedOffset 377, 15 lines modified
377 ······<p·class="built-using">377 ······<p·class="built-using">
378 ········Built·using378 ········Built·using
379 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the379 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
380 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>380 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
381 ······</p>381 ······</p>
382 <p>Copyright·©·1996-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.5/doc/html/wxGridEvent.html
    
Offset 617, 15 lines modifiedOffset 617, 15 lines modified
617 ······<p·class="built-using">617 ······<p·class="built-using">
618 ········Built·using618 ········Built·using
619 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the619 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
620 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>620 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
621 ······</p>621 ······</p>
622 <p>Copyright·©·1996-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.5/doc/html/wxGridSizer.html
    
Offset 711, 15 lines modifiedOffset 711, 15 lines modified
711 ······<p·class="built-using">711 ······<p·class="built-using">
712 ········Built·using712 ········Built·using
713 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the713 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
714 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>714 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
715 ······</p>715 ······</p>
716 <p>Copyright·©·1996-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.5/doc/html/wxHelpEvent.html
    
Offset 459, 15 lines modifiedOffset 459, 15 lines modified
459 ······<p·class="built-using">459 ······<p·class="built-using">
460 ········Built·using460 ········Built·using
461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
463 ······</p>463 ······</p>
464 <p>Copyright·©·1996-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.5/doc/html/wxHtmlEasyPrinting.html
    
Offset 918, 15 lines modifiedOffset 918, 15 lines modified
918 ······<p·class="built-using">918 ······<p·class="built-using">
919 ········Built·using919 ········Built·using
920 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the920 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
921 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>921 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
922 ······</p>922 ······</p>
923 <p>Copyright·©·1996-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.5/doc/html/wxHtmlLinkEvent.html
    
Offset 345, 15 lines modifiedOffset 345, 15 lines modified
345 ······<p·class="built-using">345 ······<p·class="built-using">
346 ········Built·using346 ········Built·using
347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
349 ······</p>349 ······</p>
350 <p>Copyright·©·1996-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.5/doc/html/wxHtmlWindow.html
    
Offset 1299, 15 lines modifiedOffset 1299, 15 lines modified
1299 ······<p·class="built-using">1299 ······<p·class="built-using">
1300 ········Built·using1300 ········Built·using
1301 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1301 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1302 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1302 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1303 ······</p>1303 ······</p>
1304 <p>Copyright·©·1996-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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxIcon.html
    
Offset 430, 15 lines modifiedOffset 430, 15 lines modified
430 ······<p·class="built-using">430 ······<p·class="built-using">
431 ········Built·using431 ········Built·using
432 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the432 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
433 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>433 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
434 ······</p>434 ······</p>
435 <p>Copyright·©·1996-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.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxIconBundle.html
    
Offset 576, 15 lines modifiedOffset 576, 15 lines modified
576 ······<p·class="built-using">576 ······<p·class="built-using">
577 ········Built·using577 ········Built·using
578 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the578 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
579 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>579 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
580 ······</p>580 ······</p>
581 <p>Copyright·©·1996-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.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxIconizeEvent.html
    
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-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.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxIdleEvent.html
    
Offset 521, 15 lines modifiedOffset 521, 15 lines modified
521 ······<p·class="built-using">521 ······<p·class="built-using">
522 ········Built·using522 ········Built·using
523 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the523 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
524 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>524 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
525 ······</p>525 ······</p>
526 <p>Copyright·©·1996-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.5/doc/html/wxImage.html
    
Offset 3681, 15 lines modifiedOffset 3681, 15 lines modified
3681 ······<p·class="built-using">3681 ······<p·class="built-using">
3682 ········Built·using3682 ········Built·using
3683 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3683 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3684 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3684 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3685 ······</p>3685 ······</p>
3686 <p>Copyright·©·1996-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.5/doc/html/wxImageList.html
    
Offset 931, 15 lines modifiedOffset 931, 15 lines modified
931 ······<p·class="built-using">931 ······<p·class="built-using">
932 ········Built·using932 ········Built·using
933 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the933 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
934 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>934 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
935 ······</p>935 ······</p>
936 <p>Copyright·©·1996-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.5/doc/html/wxInitDialogEvent.html
    
Offset 288, 15 lines modifiedOffset 288, 15 lines modified
288 ······<p·class="built-using">288 ······<p·class="built-using">
289 ········Built·using289 ········Built·using
290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
292 ······</p>292 ······</p>
293 <p>Copyright·©·1996-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.5/doc/html/wxJoystickEvent.html
    
Offset 823, 15 lines modifiedOffset 823, 15 lines modified
823 ······<p·class="built-using">823 ······<p·class="built-using">
824 ········Built·using824 ········Built·using
825 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the825 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
826 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>826 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
827 ······</p>827 ······</p>
828 <p>Copyright·©·1996-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.5/doc/html/wxKeyEvent.html
    
Offset 905, 15 lines modifiedOffset 905, 15 lines modified
905 ······<p·class="built-using">905 ······<p·class="built-using">
906 ········Built·using906 ········Built·using
907 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the907 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
908 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>908 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
909 ······</p>909 ······</p>
910 <p>Copyright·©·1996-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.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxLayoutAlgorithm.html
    
Offset 577, 15 lines modifiedOffset 577, 15 lines modified
577 ······<p·class="built-using">577 ······<p·class="built-using">
578 ········Built·using578 ········Built·using
579 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the579 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
580 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>580 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
581 ······</p>581 ······</p>
582 <p>Copyright·©·1996-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.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxListBox.html
    
Offset 793, 15 lines modifiedOffset 793, 15 lines modified
793 ······<p·class="built-using">793 ······<p·class="built-using">
794 ········Built·using794 ········Built·using
795 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the795 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
796 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>796 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
797 ······</p>797 ······</p>
798 <p>Copyright·©·1996-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.5/doc/html/wxListCtrl.html
    
Offset 3108, 15 lines modifiedOffset 3108, 15 lines modified
3108 ······<p·class="built-using">3108 ······<p·class="built-using">
3109 ········Built·using3109 ········Built·using
3110 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3110 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3111 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3111 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3112 ······</p>3112 ······</p>
3113 <p>Copyright·©·1996-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.5/doc/html/wxListEvent.html
    
Offset 801, 15 lines modifiedOffset 801, 15 lines modified
801 ······<p·class="built-using">801 ······<p·class="built-using">
802 ········Built·using802 ········Built·using
803 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the803 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
804 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>804 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
805 ······</p>805 ······</p>
806 <p>Copyright·©·1996-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.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxListItem.html
    
Offset 1212, 15 lines modifiedOffset 1212, 15 lines modified
1212 ······<p·class="built-using">1212 ······<p·class="built-using">
1213 ········Built·using1213 ········Built·using
1214 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1214 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1215 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1215 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1216 ······</p>1216 ······</p>
1217 <p>Copyright·©·1996-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.5/doc/html/wxListItemAttr.html
    
Offset 665, 15 lines modifiedOffset 665, 15 lines modified
665 ······<p·class="built-using">665 ······<p·class="built-using">
666 ········Built·using666 ········Built·using
667 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the667 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
668 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>668 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
669 ······</p>669 ······</p>
670 <p>Copyright·©·1996-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.5/doc/html/wxListView.html
    
Offset 565, 15 lines modifiedOffset 565, 15 lines modified
565 ······<p·class="built-using">565 ······<p·class="built-using">
566 ········Built·using566 ········Built·using
567 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the567 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
568 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>568 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
569 ······</p>569 ······</p>
570 <p>Copyright·©·1996-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.5/doc/html/wxListbook.html
    
Offset 1307, 15 lines modifiedOffset 1307, 15 lines modified
1307 ······<p·class="built-using">1307 ······<p·class="built-using">
1308 ········Built·using1308 ········Built·using
1309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1311 ······</p>1311 ······</p>
1312 <p>Copyright·©·1996-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.5/doc/html/wxLocale.html
    
Offset 1309, 15 lines modifiedOffset 1309, 15 lines modified
1309 ······<p·class="built-using">1309 ······<p·class="built-using">
1310 ········Built·using1310 ········Built·using
1311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1313 ······</p>1313 ······</p>
1314 <p>Copyright·©·1996-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.5/doc/html/wxLogNull.html
    
Offset 307, 15 lines modifiedOffset 307, 15 lines modified
307 ······<p·class="built-using">307 ······<p·class="built-using">
308 ········Built·using308 ········Built·using
309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
311 ······</p>311 ······</p>
312 <p>Copyright·©·1996-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.5/doc/html/wxMDIChildFrame.html
    
Offset 634, 15 lines modifiedOffset 634, 15 lines modified
634 ······<p·class="built-using">634 ······<p·class="built-using">
635 ········Built·using635 ········Built·using
636 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the636 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
637 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>637 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
638 ······</p>638 ······</p>
639 <p>Copyright·©·1996-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.5/doc/html/wxMDIClientWindow.html
    
Offset 391, 15 lines modifiedOffset 391, 15 lines modified
391 ······<p·class="built-using">391 ······<p·class="built-using">
392 ········Built·using392 ········Built·using
393 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the393 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
394 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>394 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
395 ······</p>395 ······</p>
396 <p>Copyright·©·1996-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.5/doc/html/wxMDIParentFrame.html
    
Offset 794, 15 lines modifiedOffset 794, 15 lines modified
794 ······<p·class="built-using">794 ······<p·class="built-using">
795 ········Built·using795 ········Built·using
796 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the796 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
797 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>797 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
798 ······</p>798 ······</p>
799 <p>Copyright·©·1996-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.5/doc/html/wxMask.html
    
Offset 456, 15 lines modifiedOffset 456, 15 lines modified
456 ······<p·class="built-using">456 ······<p·class="built-using">
457 ········Built·using457 ········Built·using
458 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the458 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
459 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>459 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
460 ······</p>460 ······</p>
461 <p>Copyright·©·1996-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.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMaximizeEvent.html
    
Offset 291, 15 lines modifiedOffset 291, 15 lines modified
291 ······<p·class="built-using">291 ······<p·class="built-using">
292 ········Built·using292 ········Built·using
293 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the293 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
294 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>294 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
295 ······</p>295 ······</p>
296 <p>Copyright·©·1996-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.5/doc/html/wxMemoryDC.html
    
Offset 431, 15 lines modifiedOffset 431, 15 lines modified
431 ······<p·class="built-using">431 ······<p·class="built-using">
432 ········Built·using432 ········Built·using
433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
435 ······</p>435 ······</p>
436 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMenu.html
    
Offset 2140, 15 lines modifiedOffset 2140, 15 lines modified
2140 ······<p·class="built-using">2140 ······<p·class="built-using">
2141 ········Built·using2141 ········Built·using
2142 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2142 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2143 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2143 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2144 ······</p>2144 ······</p>
2145 <p>Copyright·©·1996-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.5/doc/html/wxMenuBar.html
    
Offset 1390, 15 lines modifiedOffset 1390, 15 lines modified
1390 ······<p·class="built-using">1390 ······<p·class="built-using">
1391 ········Built·using1391 ········Built·using
1392 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1392 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1393 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1393 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1394 ······</p>1394 ······</p>
1395 <p>Copyright·©·1996-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.5/doc/html/wxMenuEvent.html
    
Offset 428, 15 lines modifiedOffset 428, 15 lines modified
428 ······<p·class="built-using">428 ······<p·class="built-using">
429 ········Built·using429 ········Built·using
430 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the430 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
431 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>431 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
432 ······</p>432 ······</p>
433 <p>Copyright·©·1996-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.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMenuItem.html
    
Offset 1365, 15 lines modifiedOffset 1365, 15 lines modified
1365 ······<p·class="built-using">1365 ······<p·class="built-using">
1366 ········Built·using1366 ········Built·using
1367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1369 ······</p>1369 ······</p>
1370 <p>Copyright·©·1996-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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMessageDialog.html
    
Offset 385, 15 lines modifiedOffset 385, 15 lines modified
385 ······<p·class="built-using">385 ······<p·class="built-using">
386 ········Built·using386 ········Built·using
387 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the387 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
388 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>388 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
389 ······</p>389 ······</p>
390 <p>Copyright·©·1996-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.5/doc/html/wxMiniFrame.html
    
Offset 480, 15 lines modifiedOffset 480, 15 lines modified
480 ······<p·class="built-using">480 ······<p·class="built-using">
481 ········Built·using481 ········Built·using
482 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the482 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
483 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>483 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
484 ······</p>484 ······</p>
485 <p>Copyright·©·1996-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.5/doc/html/wxMirrorDC.html
    
Offset 307, 15 lines modifiedOffset 307, 15 lines modified
307 ······<p·class="built-using">307 ······<p·class="built-using">
308 ········Built·using308 ········Built·using
309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
311 ······</p>311 ······</p>
312 <p>Copyright·©·1996-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.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMouseCaptureChangedEvent.html
    
Offset 345, 15 lines modifiedOffset 345, 15 lines modified
345 ······<p·class="built-using">345 ······<p·class="built-using">
346 ········Built·using346 ········Built·using
347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
349 ······</p>349 ······</p>
350 <p>Copyright·©·1996-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.5/doc/html/wxMouseCaptureLostEvent.html
    
Offset 293, 15 lines modifiedOffset 293, 15 lines modified
293 ······<p·class="built-using">293 ······<p·class="built-using">
294 ········Built·using294 ········Built·using
295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
297 ······</p>297 ······</p>
298 <p>Copyright·©·1996-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.5/doc/html/wxMouseEvent.html
    
Offset 1982, 15 lines modifiedOffset 1982, 15 lines modified
1982 ······<p·class="built-using">1982 ······<p·class="built-using">
1983 ········Built·using1983 ········Built·using
1984 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1984 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1985 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1985 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1986 ······</p>1986 ······</p>
1987 <p>Copyright·©·1996-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.5/doc/html/wxMoveEvent.html
    
Offset 383, 15 lines modifiedOffset 383, 15 lines modified
383 ······<p·class="built-using">383 ······<p·class="built-using">
384 ········Built·using384 ········Built·using
385 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the385 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
386 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>386 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
387 ······</p>387 ······</p>
388 <p>Copyright·©·1996-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.5/doc/html/wxMultiChoiceDialog.html
    
Offset 431, 15 lines modifiedOffset 431, 15 lines modified
431 ······<p·class="built-using">431 ······<p·class="built-using">
432 ········Built·using432 ········Built·using
433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
435 ······</p>435 ······</p>
436 <p>Copyright·©·1996-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.5/doc/html/wxNavigationKeyEvent.html
    
Offset 604, 15 lines modifiedOffset 604, 15 lines modified
604 ······<p·class="built-using">604 ······<p·class="built-using">
605 ········Built·using605 ········Built·using
606 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the606 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
607 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>607 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
608 ······</p>608 ······</p>
609 <p>Copyright·©·1996-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.5/doc/html/wxNotebook.html
    
Offset 819, 15 lines modifiedOffset 819, 15 lines modified
819 ······<p·class="built-using">819 ······<p·class="built-using">
820 ········Built·using820 ········Built·using
821 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the821 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
822 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>822 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
823 ······</p>823 ······</p>
824 <p>Copyright·©·1996-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.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxNotificationMessage.html
    
Offset 897, 15 lines modifiedOffset 897, 15 lines modified
897 ······<p·class="built-using">897 ······<p·class="built-using">
898 ········Built·using898 ········Built·using
899 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the899 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
900 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>900 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
901 ······</p>901 ······</p>
902 <p>Copyright·©·1996-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.5/doc/html/wxNotifyEvent.html
    
Offset 348, 15 lines modifiedOffset 348, 15 lines modified
348 ······<p·class="built-using">348 ······<p·class="built-using">
349 ········Built·using349 ········Built·using
350 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the350 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
351 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>351 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
352 ······</p>352 ······</p>
353 <p>Copyright·©·1996-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.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxOverlay.html
    
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-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.5/doc/html/wxPageSetupDialog.html
    
Offset 423, 15 lines modifiedOffset 423, 15 lines modified
423 ······<p·class="built-using">423 ······<p·class="built-using">
424 ········Built·using424 ········Built·using
425 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the425 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
426 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>426 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
427 ······</p>427 ······</p>
428 <p>Copyright·©·1996-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.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPageSetupDialogData.html
    
Offset 1409, 15 lines modifiedOffset 1409, 15 lines modified
1409 ······<p·class="built-using">1409 ······<p·class="built-using">
1410 ········Built·using1410 ········Built·using
1411 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1411 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1412 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1412 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1413 ······</p>1413 ······</p>
1414 <p>Copyright·©·1996-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.5/doc/html/wxPaintDC.html
    
Offset 310, 15 lines modifiedOffset 310, 15 lines modified
310 ······<p·class="built-using">310 ······<p·class="built-using">
311 ········Built·using311 ········Built·using
312 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the312 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
313 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>313 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
314 ······</p>314 ······</p>
315 <p>Copyright·©·1996-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.5/doc/html/wxPaintEvent.html
    
Offset 297, 15 lines modifiedOffset 297, 15 lines modified
297 ······<p·class="built-using">297 ······<p·class="built-using">
298 ········Built·using298 ········Built·using
299 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the299 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
300 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>300 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
301 ······</p>301 ······</p>
302 <p>Copyright·©·1996-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.39 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPalette.html
    
Offset 605, 15 lines modifiedOffset 605, 15 lines modified
605 ······<p·class="built-using">605 ······<p·class="built-using">
606 ········Built·using606 ········Built·using
607 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the607 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
608 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>608 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
609 ······</p>609 ······</p>
610 <p>Copyright·©·1996-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.65 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPaletteChangedEvent.html
    
Offset 372, 15 lines modifiedOffset 372, 15 lines modified
372 ······<p·class="built-using">372 ······<p·class="built-using">
373 ········Built·using373 ········Built·using
374 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the374 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
375 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>375 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
376 ······</p>376 ······</p>
377 <p>Copyright·©·1996-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.5/doc/html/wxPanel.html
    
Offset 469, 15 lines modifiedOffset 469, 15 lines modified
469 ······<p·class="built-using">469 ······<p·class="built-using">
470 ········Built·using470 ········Built·using
471 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the471 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
472 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>472 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
473 ······</p>473 ······</p>
474 <p>Copyright·©·1996-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.5/doc/html/wxPasswordEntryDialog.html
    
Offset 349, 15 lines modifiedOffset 349, 15 lines modified
349 ······<p·class="built-using">349 ······<p·class="built-using">
350 ········Built·using350 ········Built·using
351 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the351 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
352 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>352 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
353 ······</p>353 ······</p>
354 <p>Copyright·©·1996-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.5/doc/html/wxPen.html
    
Offset 824, 15 lines modifiedOffset 824, 15 lines modified
824 ······<p·class="built-using">824 ······<p·class="built-using">
825 ········Built·using825 ········Built·using
826 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the826 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
827 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>827 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
828 ······</p>828 ······</p>
829 <p>Copyright·©·1996-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.5/doc/html/wxPickerBase.html
    
Offset 754, 15 lines modifiedOffset 754, 15 lines modified
754 ······<p·class="built-using">754 ······<p·class="built-using">
755 ········Built·using755 ········Built·using
756 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the756 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
757 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>757 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
758 ······</p>758 ······</p>
759 <p>Copyright·©·1996-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.5/doc/html/wxPopupTransientWindow.html
    
Offset 489, 15 lines modifiedOffset 489, 15 lines modified
489 ······<p·class="built-using">489 ······<p·class="built-using">
490 ········Built·using490 ········Built·using
491 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the491 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
492 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>492 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
493 ······</p>493 ······</p>
494 <p>Copyright·©·1996-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.5/doc/html/wxPopupWindow.html
    
Offset 504, 15 lines modifiedOffset 504, 15 lines modified
504 ······<p·class="built-using">504 ······<p·class="built-using">
505 ········Built·using505 ········Built·using
506 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the506 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
507 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>507 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
508 ······</p>508 ······</p>
509 <p>Copyright·©·1996-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.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPostScriptDC.html
    
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-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.5/doc/html/wxPreviewCanvas.html
    
Offset 215, 15 lines modifiedOffset 215, 15 lines modified
215 ······<p·class="built-using">215 ······<p·class="built-using">
216 ········Built·using216 ········Built·using
217 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the217 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
218 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>218 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
219 ······</p>219 ······</p>
220 <p>Copyright·©·1996-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.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPreviewControlBar.html
    
Offset 499, 15 lines modifiedOffset 499, 15 lines modified
499 ······<p·class="built-using">499 ······<p·class="built-using">
500 ········Built·using500 ········Built·using
501 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the501 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
502 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>502 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
503 ······</p>503 ······</p>
504 <p>Copyright·©·1996-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.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPreviewFrame.html
    
Offset 500, 15 lines modifiedOffset 500, 15 lines modified
500 ······<p·class="built-using">500 ······<p·class="built-using">
501 ········Built·using501 ········Built·using
502 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the502 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
503 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>503 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
504 ······</p>504 ······</p>
505 <p>Copyright·©·1996-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.4 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPrintData.html
    
Offset 1035, 15 lines modifiedOffset 1035, 15 lines modified
1035 ······<p·class="built-using">1035 ······<p·class="built-using">
1036 ········Built·using1036 ········Built·using
1037 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1037 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1038 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1038 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1039 ······</p>1039 ······</p>
1040 <p>Copyright·©·1996-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.61 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPrintDialog.html
    
Offset 417, 15 lines modifiedOffset 417, 15 lines modified
417 ······<p·class="built-using">417 ······<p·class="built-using">
418 ········Built·using418 ········Built·using
419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
421 ······</p>421 ······</p>
422 <p>Copyright·©·1996-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.5/doc/html/wxPrintDialogData.html
    
Offset 1210, 15 lines modifiedOffset 1210, 15 lines modified
1210 ······<p·class="built-using">1210 ······<p·class="built-using">
1211 ········Built·using1211 ········Built·using
1212 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1212 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1213 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1213 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1214 ······</p>1214 ······</p>
1215 <p>Copyright·©·1996-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.5/doc/html/wxPrintPreview.html
    
Offset 987, 15 lines modifiedOffset 987, 15 lines modified
987 ······<p·class="built-using">987 ······<p·class="built-using">
988 ········Built·using988 ········Built·using
989 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the989 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
990 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>990 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
991 ······</p>991 ······</p>
992 <p>Copyright·©·1996-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.5/doc/html/wxPrinter.html
    
Offset 690, 15 lines modifiedOffset 690, 15 lines modified
690 ······<p·class="built-using">690 ······<p·class="built-using">
691 ········Built·using691 ········Built·using
692 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the692 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
693 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>693 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
694 ······</p>694 ······</p>
695 <p>Copyright·©·1996-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.5/doc/html/wxPrintout.html
    
Offset 1181, 15 lines modifiedOffset 1181, 15 lines modified
1181 ······<p·class="built-using">1181 ······<p·class="built-using">
1182 ········Built·using1182 ········Built·using
1183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1185 ······</p>1185 ······</p>
1186 <p>Copyright·©·1996-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.5/doc/html/wxProgressDialog.html
    
Offset 475, 15 lines modifiedOffset 475, 15 lines modified
475 ······<p·class="built-using">475 ······<p·class="built-using">
476 ········Built·using476 ········Built·using
477 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the477 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
478 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>478 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
479 ······</p>479 ······</p>
480 <p>Copyright·©·1996-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.5/doc/html/wxQueryNewPaletteEvent.html
    
Offset 374, 15 lines modifiedOffset 374, 15 lines modified
374 ······<p·class="built-using">374 ······<p·class="built-using">
375 ········Built·using375 ········Built·using
376 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the376 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
377 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>377 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
378 ······</p>378 ······</p>
379 <p>Copyright·©·1996-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.38 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxRadioBox.html
    
Offset 1083, 15 lines modifiedOffset 1083, 15 lines modified
1083 ······<p·class="built-using">1083 ······<p·class="built-using">
1084 ········Built·using1084 ········Built·using
1085 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1085 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1086 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1086 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1087 ······</p>1087 ······</p>
1088 <p>Copyright·©·1996-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.5/doc/html/wxRadioButton.html
    
Offset 568, 15 lines modifiedOffset 568, 15 lines modified
568 ······<p·class="built-using">568 ······<p·class="built-using">
569 ········Built·using569 ········Built·using
570 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the570 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
571 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>571 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
572 ······</p>572 ······</p>
573 <p>Copyright·©·1996-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.5/doc/html/wxRegion.html
    
Offset 1153, 15 lines modifiedOffset 1153, 15 lines modified
1153 ······<p·class="built-using">1153 ······<p·class="built-using">
1154 ········Built·using1154 ········Built·using
1155 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1155 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1156 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1156 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1157 ······</p>1157 ······</p>
1158 <p>Copyright·©·1996-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.5/doc/html/wxSashEvent.html
    
Offset 431, 15 lines modifiedOffset 431, 15 lines modified
431 ······<p·class="built-using">431 ······<p·class="built-using">
432 ········Built·using432 ········Built·using
433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
435 ······</p>435 ······</p>
436 <p>Copyright·©·1996-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.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSashLayoutWindow.html
    
Offset 660, 15 lines modifiedOffset 660, 15 lines modified
660 ······<p·class="built-using">660 ······<p·class="built-using">
661 ········Built·using661 ········Built·using
662 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the662 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
663 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>663 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
664 ······</p>664 ······</p>
665 <p>Copyright·©·1996-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.5/doc/html/wxSashWindow.html
    
Offset 759, 15 lines modifiedOffset 759, 15 lines modified
759 ······<p·class="built-using">759 ······<p·class="built-using">
760 ········Built·using760 ········Built·using
761 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the761 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
762 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>762 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
763 ······</p>763 ······</p>
764 <p>Copyright·©·1996-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.5/doc/html/wxScreenDC.html
    
Offset 307, 15 lines modifiedOffset 307, 15 lines modified
307 ······<p·class="built-using">307 ······<p·class="built-using">
308 ········Built·using308 ········Built·using
309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
311 ······</p>311 ······</p>
312 <p>Copyright·©·1996-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.5/doc/html/wxScrollBar.html
    
Offset 773, 15 lines modifiedOffset 773, 15 lines modified
773 ······<p·class="built-using">773 ······<p·class="built-using">
774 ········Built·using774 ········Built·using
775 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the775 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
776 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>776 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
777 ······</p>777 ······</p>
778 <p>Copyright·©·1996-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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxScrollEvent.html
    
Offset 394, 15 lines modifiedOffset 394, 15 lines modified
394 ······<p·class="built-using">394 ······<p·class="built-using">
395 ········Built·using395 ········Built·using
396 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the396 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
397 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>397 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
398 ······</p>398 ······</p>
399 <p>Copyright·©·1996-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.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxScrollWinEvent.html
    
Offset 385, 15 lines modifiedOffset 385, 15 lines modified
385 ······<p·class="built-using">385 ······<p·class="built-using">
386 ········Built·using386 ········Built·using
387 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the387 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
388 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>388 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
389 ······</p>389 ······</p>
390 <p>Copyright·©·1996-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.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxScrolledWindow.html
    
Offset 1035, 15 lines modifiedOffset 1035, 15 lines modified
1035 ······<p·class="built-using">1035 ······<p·class="built-using">
1036 ········Built·using1036 ········Built·using
1037 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1037 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1038 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1038 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1039 ······</p>1039 ······</p>
1040 <p>Copyright·©·1996-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.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSetCursorEvent.html
    
Offset 494, 15 lines modifiedOffset 494, 15 lines modified
494 ······<p·class="built-using">494 ······<p·class="built-using">
495 ········Built·using495 ········Built·using
496 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the496 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
497 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>497 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
498 ······</p>498 ······</p>
499 <p>Copyright·©·1996-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.5/doc/html/wxShowEvent.html
    
Offset 381, 15 lines modifiedOffset 381, 15 lines modified
381 ······<p·class="built-using">381 ······<p·class="built-using">
382 ········Built·using382 ········Built·using
383 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the383 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
384 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>384 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
385 ······</p>385 ······</p>
386 <p>Copyright·©·1996-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.5/doc/html/wxSingleChoiceDialog.html
    
Offset 468, 15 lines modifiedOffset 468, 15 lines modified
468 ······<p·class="built-using">468 ······<p·class="built-using">
469 ········Built·using469 ········Built·using
470 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the470 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
471 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>471 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
472 ······</p>472 ······</p>
473 <p>Copyright·©·1996-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.5/doc/html/wxSizeEvent.html
    
Offset 390, 15 lines modifiedOffset 390, 15 lines modified
390 ······<p·class="built-using">390 ······<p·class="built-using">
391 ········Built·using391 ········Built·using
392 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the392 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
393 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>393 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
394 ······</p>394 ······</p>
395 <p>Copyright·©·1996-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.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSizer.html
    
Offset 2242, 15 lines modifiedOffset 2242, 15 lines modified
2242 ······<p·class="built-using">2242 ······<p·class="built-using">
2243 ········Built·using2243 ········Built·using
2244 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2244 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2245 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2245 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2246 ······</p>2246 ······</p>
2247 <p>Copyright·©·1996-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.5/doc/html/wxSizerFlags.html
    
Offset 713, 15 lines modifiedOffset 713, 15 lines modified
713 ······<p·class="built-using">713 ······<p·class="built-using">
714 ········Built·using714 ········Built·using
715 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the715 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
716 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>716 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
717 ······</p>717 ······</p>
718 <p>Copyright·©·1996-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.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSizerItem.html
    
Offset 1611, 15 lines modifiedOffset 1611, 15 lines modified
1611 ······<p·class="built-using">1611 ······<p·class="built-using">
1612 ········Built·using1612 ········Built·using
1613 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1613 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1614 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1614 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1615 ······</p>1615 ······</p>
1616 <p>Copyright·©·1996-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.5/doc/html/wxSlider.html
    
Offset 910, 15 lines modifiedOffset 910, 15 lines modified
910 ······<p·class="built-using">910 ······<p·class="built-using">
911 ········Built·using911 ········Built·using
912 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the912 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
913 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>913 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
914 ······</p>914 ······</p>
915 <p>Copyright·©·1996-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.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSpinButton.html
    
Offset 665, 15 lines modifiedOffset 665, 15 lines modified
665 ······<p·class="built-using">665 ······<p·class="built-using">
666 ········Built·using666 ········Built·using
667 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the667 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
668 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>668 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
669 ······</p>669 ······</p>
670 <p>Copyright·©·1996-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.5/doc/html/wxSpinCtrl.html
    
Offset 715, 15 lines modifiedOffset 715, 15 lines modified
715 ······<p·class="built-using">715 ······<p·class="built-using">
716 ········Built·using716 ········Built·using
717 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the717 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
718 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>718 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
719 ······</p>719 ······</p>
720 <p>Copyright·©·1996-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.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSpinEvent.html
    
Offset 378, 15 lines modifiedOffset 378, 15 lines modified
378 ······<p·class="built-using">378 ······<p·class="built-using">
379 ········Built·using379 ········Built·using
380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
382 ······</p>382 ······</p>
383 <p>Copyright·©·1996-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.5/doc/html/wxSplashScreen.html
    
Offset 431, 15 lines modifiedOffset 431, 15 lines modified
431 ······<p·class="built-using">431 ······<p·class="built-using">
432 ········Built·using432 ········Built·using
433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
435 ······</p>435 ······</p>
436 <p>Copyright·©·1996-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.5/doc/html/wxSplitterEvent.html
    
Offset 496, 15 lines modifiedOffset 496, 15 lines modified
496 ······<p·class="built-using">496 ······<p·class="built-using">
497 ········Built·using497 ········Built·using
498 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the498 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
499 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>499 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
500 ······</p>500 ······</p>
501 <p>Copyright·©·1996-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.5/doc/html/wxSplitterWindow.html
    
Offset 1295, 15 lines modifiedOffset 1295, 15 lines modified
1295 ······<p·class="built-using">1295 ······<p·class="built-using">
1296 ········Built·using1296 ········Built·using
1297 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1297 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1298 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1298 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1299 ······</p>1299 ······</p>
1300 <p>Copyright·©·1996-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.5/doc/html/wxStaticBitmap.html
    
Offset 550, 15 lines modifiedOffset 550, 15 lines modified
550 ······<p·class="built-using">550 ······<p·class="built-using">
551 ········Built·using551 ········Built·using
552 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the552 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
553 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>553 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
554 ······</p>554 ······</p>
555 <p>Copyright·©·1996-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.5/doc/html/wxStaticBox.html
    
Offset 477, 15 lines modifiedOffset 477, 15 lines modified
477 ······<p·class="built-using">477 ······<p·class="built-using">
478 ········Built·using478 ········Built·using
479 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the479 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
480 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>480 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
481 ······</p>481 ······</p>
482 <p>Copyright·©·1996-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.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxStaticBoxSizer.html
    
Offset 386, 15 lines modifiedOffset 386, 15 lines modified
386 ······<p·class="built-using">386 ······<p·class="built-using">
387 ········Built·using387 ········Built·using
388 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the388 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
389 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>389 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
390 ······</p>390 ······</p>
391 <p>Copyright·©·1996-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.5/doc/html/wxStaticLine.html
    
Offset 546, 15 lines modifiedOffset 546, 15 lines modified
546 ······<p·class="built-using">546 ······<p·class="built-using">
547 ········Built·using547 ········Built·using
548 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the548 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
549 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>549 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
550 ······</p>550 ······</p>
551 <p>Copyright·©·1996-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.5/doc/html/wxStaticText.html
    
Offset 607, 15 lines modifiedOffset 607, 15 lines modified
607 ······<p·class="built-using">607 ······<p·class="built-using">
608 ········Built·using608 ········Built·using
609 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the609 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
610 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>610 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
611 ······</p>611 ······</p>
612 <p>Copyright·©·1996-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.5/doc/html/wxStatusBar.html
    
Offset 1049, 15 lines modifiedOffset 1049, 15 lines modified
1049 ······<p·class="built-using">1049 ······<p·class="built-using">
1050 ········Built·using1050 ········Built·using
1051 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1051 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1052 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1052 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1053 ······</p>1053 ······</p>
1054 <p>Copyright·©·1996-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.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxStdDialogButtonSizer.html
    
Offset 497, 15 lines modifiedOffset 497, 15 lines modified
497 ······<p·class="built-using">497 ······<p·class="built-using">
498 ········Built·using498 ········Built·using
499 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the499 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
500 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>500 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
501 ······</p>501 ······</p>
502 <p>Copyright·©·1996-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.5/doc/html/wxStyledTextCtrl.html
    
Offset 16754, 15 lines modifiedOffset 16754, 15 lines modified
16754 ······<p·class="built-using">16754 ······<p·class="built-using">
16755 ········Built·using16755 ········Built·using
16756 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the16756 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
16757 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>16757 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
16758 ······</p>16758 ······</p>
16759 <p>Copyright·©·1996-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.5/doc/html/wxStyledTextEvent.html
    
Offset 1172, 15 lines modifiedOffset 1172, 15 lines modified
1172 ······<p·class="built-using">1172 ······<p·class="built-using">
1173 ········Built·using1173 ········Built·using
1174 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1174 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1175 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1175 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1176 ······</p>1176 ······</p>
1177 <p>Copyright·©·1996-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.5/doc/html/wxSysColourChangedEvent.html
    
Offset 293, 15 lines modifiedOffset 293, 15 lines modified
293 ······<p·class="built-using">293 ······<p·class="built-using">
294 ········Built·using294 ········Built·using
295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
297 ······</p>297 ······</p>
298 <p>Copyright·©·1996-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.42 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSystemOptions.html
    
Offset 463, 15 lines modifiedOffset 463, 15 lines modified
463 ······<p·class="built-using">463 ······<p·class="built-using">
464 ········Built·using464 ········Built·using
465 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the465 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
466 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>466 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
467 ······</p>467 ······</p>
468 <p>Copyright·©·1996-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.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSystemSettings.html
    
Offset 422, 15 lines modifiedOffset 422, 15 lines modified
422 ······<p·class="built-using">422 ······<p·class="built-using">
423 ········Built·using423 ········Built·using
424 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the424 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
425 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>425 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
426 ······</p>426 ······</p>
427 <p>Copyright·©·1996-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.5/doc/html/wxTaskBarIcon.html
    
Offset 501, 15 lines modifiedOffset 501, 15 lines modified
501 ······<p·class="built-using">501 ······<p·class="built-using">
502 ········Built·using502 ········Built·using
503 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the503 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
504 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>504 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
505 ······</p>505 ······</p>
506 <p>Copyright·©·1996-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.5/doc/html/wxTaskBarIconEvent.html
    
Offset 285, 15 lines modifiedOffset 285, 15 lines modified
285 ······<p·class="built-using">285 ······<p·class="built-using">
286 ········Built·using286 ········Built·using
287 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the287 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
288 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>288 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
289 ······</p>289 ······</p>
290 <p>Copyright·©·1996-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.5/doc/html/wxTextAttr.html
    
Offset 1762, 15 lines modifiedOffset 1762, 15 lines modified
1762 ······<p·class="built-using">1762 ······<p·class="built-using">
1763 ········Built·using1763 ········Built·using
1764 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1764 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1765 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1765 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1766 ······</p>1766 ······</p>
1767 <p>Copyright·©·1996-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.5/doc/html/wxTextCtrl.html
    
Offset 2410, 15 lines modifiedOffset 2410, 15 lines modified
2410 ······<p·class="built-using">2410 ······<p·class="built-using">
2411 ········Built·using2411 ········Built·using
2412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2414 ······</p>2414 ······</p>
2415 <p>Copyright·©·1996-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.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTextDataObject.html
    
Offset 463, 15 lines modifiedOffset 463, 15 lines modified
463 ······<p·class="built-using">463 ······<p·class="built-using">
464 ········Built·using464 ········Built·using
465 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the465 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
466 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>466 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
467 ······</p>467 ······</p>
468 <p>Copyright·©·1996-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.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTextEntryDialog.html
    
Offset 459, 15 lines modifiedOffset 459, 15 lines modified
459 ······<p·class="built-using">459 ······<p·class="built-using">
460 ········Built·using460 ········Built·using
461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
463 ······</p>463 ······</p>
464 <p>Copyright·©·1996-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.5/doc/html/wxToggleButton.html
    
Offset 551, 15 lines modifiedOffset 551, 15 lines modified
551 ······<p·class="built-using">551 ······<p·class="built-using">
552 ········Built·using552 ········Built·using
553 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the553 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
554 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>554 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
555 ······</p>555 ······</p>
556 <p>Copyright·©·1996-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.5/doc/html/wxToolBar.html
    
Offset 1980, 15 lines modifiedOffset 1980, 15 lines modified
1980 ······<p·class="built-using">1980 ······<p·class="built-using">
1981 ········Built·using1981 ········Built·using
1982 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1982 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1983 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1983 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1984 ······</p>1984 ······</p>
1985 <p>Copyright·©·1996-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.5/doc/html/wxToolTip.html
    
Offset 485, 15 lines modifiedOffset 485, 15 lines modified
485 ······<p·class="built-using">485 ······<p·class="built-using">
486 ········Built·using486 ········Built·using
487 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the487 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
488 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>488 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
489 ······</p>489 ······</p>
490 <p>Copyright·©·1996-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.5/doc/html/wxToolbook.html
    
Offset 1309, 15 lines modifiedOffset 1309, 15 lines modified
1309 ······<p·class="built-using">1309 ······<p·class="built-using">
1310 ········Built·using1310 ········Built·using
1311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1313 ······</p>1313 ······</p>
1314 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTopLevelWindow.html
    
Offset 1095, 15 lines modifiedOffset 1095, 15 lines modified
1095 ······<p·class="built-using">1095 ······<p·class="built-using">
1096 ········Built·using1096 ········Built·using
1097 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1097 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1098 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1098 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1099 ······</p>1099 ······</p>
1100 <p>Copyright·©·1996-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.5/doc/html/wxTreeCtrl.html
    
Offset 3491, 15 lines modifiedOffset 3491, 15 lines modified
3491 ······<p·class="built-using">3491 ······<p·class="built-using">
3492 ········Built·using3492 ········Built·using
3493 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3493 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3494 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3494 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3495 ······</p>3495 ······</p>
3496 <p>Copyright·©·1996-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.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTreeEvent.html
    
Offset 610, 15 lines modifiedOffset 610, 15 lines modified
610 ······<p·class="built-using">610 ······<p·class="built-using">
611 ········Built·using611 ········Built·using
612 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the612 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
613 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>613 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
614 ······</p>614 ······</p>
615 <p>Copyright·©·1996-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.5/doc/html/wxTreebook.html
    
Offset 1491, 15 lines modifiedOffset 1491, 15 lines modified
1491 ······<p·class="built-using">1491 ······<p·class="built-using">
1492 ········Built·using1492 ········Built·using
1493 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1493 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1494 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1494 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1495 ······</p>1495 ······</p>
1496 <p>Copyright·©·1996-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.5/doc/html/wxUpdateUIEvent.html
    
Offset 986, 15 lines modifiedOffset 986, 15 lines modified
986 ······<p·class="built-using">986 ······<p·class="built-using">
987 ········Built·using987 ········Built·using
988 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the988 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
989 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>989 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
990 ······</p>990 ······</p>
991 <p>Copyright·©·1996-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.5/doc/html/wxWebView.html
    
Offset 2229, 15 lines modifiedOffset 2229, 15 lines modified
2229 ······<p·class="built-using">2229 ······<p·class="built-using">
2230 ········Built·using2230 ········Built·using
2231 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2231 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2232 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2232 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2233 ······</p>2233 ······</p>
2234 <p>Copyright·©·1996-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.5/doc/html/wxWebViewEvent.html
    
Offset 466, 15 lines modifiedOffset 466, 15 lines modified
466 ······<p·class="built-using">466 ······<p·class="built-using">
467 ········Built·using467 ········Built·using
468 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the468 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
469 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>469 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
470 ······</p>470 ······</p>
471 <p>Copyright·©·1996-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.5/doc/html/wxWindow.html
    
Offset 7835, 15 lines modifiedOffset 7835, 15 lines modified
7835 ······<p·class="built-using">7835 ······<p·class="built-using">
7836 ········Built·using7836 ········Built·using
7837 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the7837 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
7838 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>7838 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
7839 ······</p>7839 ······</p>
7840 <p>Copyright·©·1996-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.5/doc/html/wxWindowCreateEvent.html
    
Offset 289, 15 lines modifiedOffset 289, 15 lines modified
289 ······<p·class="built-using">289 ······<p·class="built-using">
290 ········Built·using290 ········Built·using
291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
293 ······</p>293 ······</p>
294 <p>Copyright·©·1996-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.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxWindowDC.html
    
Offset 308, 15 lines modifiedOffset 308, 15 lines modified
308 ······<p·class="built-using">308 ······<p·class="built-using">
309 ········Built·using309 ········Built·using
310 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the310 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
311 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>311 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
312 ······</p>312 ······</p>
313 <p>Copyright·©·1996-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.5/doc/html/wxWindowDestroyEvent.html
    
Offset 290, 15 lines modifiedOffset 290, 15 lines modified
290 ······<p·class="built-using">290 ······<p·class="built-using">
291 ········Built·using291 ········Built·using
292 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the292 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
293 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>293 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
294 ······</p>294 ······</p>
295 <p>Copyright·©·1996-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.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxXmlResource.html
    
Offset 1417, 15 lines modifiedOffset 1417, 15 lines modified
1417 ······<p·class="built-using">1417 ······<p·class="built-using">
1418 ········Built·using1418 ········Built·using
1419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1421 ······</p>1421 ······</p>
1422 <p>Copyright·©·1996-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.5/doc/html/wx_misc.html
    
Offset 1302, 15 lines modifiedOffset 1302, 15 lines modified
1302 ······<p·class="built-using">1302 ······<p·class="built-using">
1303 ········Built·using1303 ········Built·using
1304 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1304 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1305 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1305 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1306 ······</p>1306 ······</p>
1307 <p>Copyright·©·1996-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.5/doc/html/wx_object.html
    
Offset 132, 44 lines modifiedOffset 132, 44 lines modified
132 works·like·a·regular·gen_server·module·and·creates·a·server·per·object.</p><p>NOTE:·Currently·no·form·of·inheritance·is·implemented.</p><p>The·user·module·should·export:</p><p>init(Args)·should·return<br/>{wxWindow,·State}·|·{wxWindow,·State,·Timeout}·|·ignore·|·{stop,·Reason}</p><p>Asynchronous·window·event·handling:<br/>handle_event(#wx{},·State)·should·return<br/>{noreply,·State}·|·{noreply,·State,·Timeout}·|·{stop,·Reason,·State}</p><p>The·user·module·can·export·the·following·callback·functions:</p><p>handle_call(Msg,·{From,·Tag},·State)·should·return<br/>{reply,·Reply,·State}·|·{reply,·Reply,·State,·Timeout}·|·{noreply,·State}132 works·like·a·regular·gen_server·module·and·creates·a·server·per·object.</p><p>NOTE:·Currently·no·form·of·inheritance·is·implemented.</p><p>The·user·module·should·export:</p><p>init(Args)·should·return<br/>{wxWindow,·State}·|·{wxWindow,·State,·Timeout}·|·ignore·|·{stop,·Reason}</p><p>Asynchronous·window·event·handling:<br/>handle_event(#wx{},·State)·should·return<br/>{noreply,·State}·|·{noreply,·State,·Timeout}·|·{stop,·Reason,·State}</p><p>The·user·module·can·export·the·following·callback·functions:</p><p>handle_call(Msg,·{From,·Tag},·State)·should·return<br/>{reply,·Reply,·State}·|·{reply,·Reply,·State,·Timeout}·|·{noreply,·State}
133 |·{noreply,·State,·Timeout}·|·{stop,·Reason,·Reply,·State}</p><p>handle_cast(Msg,·State)·should·return<br/>{noreply,·State}·|·{noreply,·State,·Timeout}·|·{stop,·Reason,·State}</p><p>If·the·above·are·not·exported·but·called,·the·wx_object·process·will·crash.·The133 |·{noreply,·State,·Timeout}·|·{stop,·Reason,·Reply,·State}</p><p>handle_cast(Msg,·State)·should·return<br/>{noreply,·State}·|·{noreply,·State,·Timeout}·|·{stop,·Reason,·State}</p><p>If·the·above·are·not·exported·but·called,·the·wx_object·process·will·crash.·The
134 user·module·can·also·export:</p><p>Info·is·message·e.g.·{'EXIT',·P,·R},·{nodedown,·N},·...<br/>handle_info(Info,·State)·should·return·,·...<br/>{noreply,·State}·|·{noreply,·State,·Timeout}·|·{stop,·Reason,·State}</p><p>If·a·message·is·sent·to·the·wx_object·process·when·handle_info·is·not·exported,134 user·module·can·also·export:</p><p>Info·is·message·e.g.·{'EXIT',·P,·R},·{nodedown,·N},·...<br/>handle_info(Info,·State)·should·return·,·...<br/>{noreply,·State}·|·{noreply,·State,·Timeout}·|·{stop,·Reason,·State}</p><p>If·a·message·is·sent·to·the·wx_object·process·when·handle_info·is·not·exported,
135 the·message·will·be·dropped·and·ignored.</p><p>When·stop·is·returned·in·one·of·the·functions·above·with·Reason·=·normal·|135 the·message·will·be·dropped·and·ignored.</p><p>When·stop·is·returned·in·one·of·the·functions·above·with·Reason·=·normal·|
136 shutdown·|·Term,·terminate(State)·is·called.·It·lets·the·user·module·clean·up,136 shutdown·|·Term,·terminate(State)·is·called.·It·lets·the·user·module·clean·up,
137 it·is·always·called·when·server·terminates·or·when·wx_object()·in·the·driver·is137 it·is·always·called·when·server·terminates·or·when·wx_object()·in·the·driver·is
138 deleted.·If·the·Parent·process·terminates·the·Module:terminate/2·function·is138 deleted.·If·the·Parent·process·terminates·the·Module:terminate/2·function·is
139 called.<br/>terminate(Reason,·State)</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4427278461-1">(</span><span·class="ss">myDialog</span><span·class="p"·data-group-id="4427278461-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="6414774222-1">(</span><span·class="ss">myDialog</span><span·class="p"·data-group-id="6414774222-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="4427278461-2">(</span><span·class="p"·data-group-id="4427278461-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:·fd15236fa363239c23da8ac02623f04096c023203af0d3951457bdc43359bcba·...·]-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="6414774222-2">(</span><span·class="p"·data-group-id="6414774222-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:·2e82df59e6fe7b648175997d369a39eaa1e2ed8604d68a9a9ef813ec6e422f8b·...·]-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="4427278461-4">(</span><span·class="p"·data-group-id="4427278461-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="6414774222-4">(</span><span·class="p"·data-group-id="6414774222-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="4427278461-5">]</span><span·class="p"·data-group-id="4427278461-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="6414774222-5">]</span><span·class="p"·data-group-id="6414774222-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="4427278461-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="4427278461-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="6414774222-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="6414774222-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="4427278461-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="4427278461-8">[</span><span·class="n">Parent</span><span·class="p">,</span><span·class="n">Id</span><s[·...·truncated·by·diffoscope;·len:·246,·SHA:·70861eb1784a7ee7d1550c2cb54d3d2924d0f6844f995a304749863f7eef52ae·...·]-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="6414774222-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="6414774222-8">[</span><span·class="n">Parent</span><span·class="p">,</span><span·class="n">Id</span><s[·...·truncated·by·diffoscope;·len:·246,·SHA:·c990474066675cb674fa2ef37c50565195b3db4e44f7a8fcaa7db8736bab90ad·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
147 ··</span><span·class="nf">show</span><span·class="p"·data-group-id="4427278461-10">(</span><span·class="n">Dialog</span><span·class="p"·data-group-id="4427278461-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="6414774222-10">(</span><span·class="n">Dialog</span><span·class="p"·data-group-id="6414774222-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="4427278461-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="4427278461-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="6414774222-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="6414774222-11">)</span><span·class="p">.</span><span·class="w">
  
149 ··</span><span·class="nf">destroy</span><span·class="p"·data-group-id="4427278461-12">(</span><span·class="n">Dialog</span><span·class="p"·data-group-id="4427278461-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="6414774222-12">(</span><span·class="n">Dialog</span><span·class="p"·data-group-id="6414774222-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="4427278461-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="4427278461-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="6414774222-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="6414774222-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="4427278461-14">(</span><span·class="p"·data-group-id="4427278461-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="4427278461-15">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·286ea261bc78e5e44e1f0fb509966f0ba1a9a4a457b9912d9ffb72e1dc277398·...·]-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="6414774222-14">(</span><span·class="p"·data-group-id="6414774222-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="6414774222-15">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·221eb6e5ab8199c5be859180f25fe027a400fb0fb78d44d20ec27c140c463696·...·]-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="4427278461-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:·e3e31116a3151866444cf5c47d8fb0decd2c0b8c340522245c7f4970cd2637fd·...·]-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="6414774222-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:·dc822d7cff652f75d3f7cae2ff6062103f4dac960226b01345fa21663a532c1e·...·]-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="4427278461-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="4427278461-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="6414774222-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="6414774222-18">)</span><span·class="p">,</span><span·class="w">
156 ·····</span><span·class="p"·data-group-id="4427278461-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="4427278461-19">}</span><span·class="p">.</span><span·class="w">156 ·····</span><span·class="p"·data-group-id="6414774222-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="6414774222-19">}</span><span·class="p">.</span><span·class="w">
  
157 ··</span><span·class="nf">handle_call</span><span·class="p"·data-group-id="4427278461-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:·7212bdde04427501c136a529833fe4ff4a4136bd5440a5fd700c7e5fcd7ff2a8·...·]-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="6414774222-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:·f4cea8ae038d242e01591159bd9fae57c0c6c19927e62e3fb236c398023b9bea·...·]-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="4427278461-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="4427278461-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="6414774222-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="6414774222-21">)</span><span·class="p">,</span><span·class="w">
159 ·····</span><span·class="p"·data-group-id="4427278461-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="4427278461-22">}</span><span·class="p">;</span><span·class="w">159 ·····</span><span·class="p"·data-group-id="6414774222-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="6414774222-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="4427278461-23">(</span><span·class="o">#</span><span·class="ss">wx</span><span·class="p"·data-group-id="4427278461-24">{</span><span·class="p"·data-group-id="4427278461-24">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·bace47c611b78d43343a11f39fa0dcb7f269ef3d61a91e1073411ac11a572528·...·]-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="6414774222-23">(</span><span·class="o">#</span><span·class="ss">wx</span><span·class="p"·data-group-id="6414774222-24">{</span><span·class="p"·data-group-id="6414774222-24">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·91c21e334a9e57a036f0b25bd391b40ac62b33f900238dcf4ba7b6706d57dfad·...·]-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="4427278461-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="4427278461-26">[</span><span·class="p"·data-group-id="4427278461-26">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·b892148d5bb5464d2ad1f7a97a7f6239c1762ebef4a8094cae49e180e2140f54·...·]-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="6414774222-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="6414774222-26">[</span><span·class="p"·data-group-id="6414774222-26">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·a22a0c075089f04f175db1b1729ce0bf249192a445f649436f885eea3036fb15·...·]-25">)</span><span·class="p">,</span><span·class="w">
163 ·····</span><span·class="p"·data-group-id="4427278461-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="4427278461-27">}</span><span·class="p">;</span><span·class="w">163 ·····</span><span·class="p"·data-group-id="6414774222-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="6414774222-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
1.4 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/404.html
    
Offset 139, 15 lines modifiedOffset 139, 15 lines modified
139 ······<p·class="built-using">139 ······<p·class="built-using">
140 ········Built·using140 ········Built·using
141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
143 ······</p>143 ······</p>
144 <p>Copyright·©·1996-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.4/doc/html/api-reference.html
    
Offset 231, 15 lines modifiedOffset 231, 15 lines modified
231 ······<p·class="built-using">231 ······<p·class="built-using">
232 ········Built·using232 ········Built·using
233 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the233 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
234 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>234 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
235 ······</p>235 ······</p>
236 <p>Copyright·©·1996-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.4/doc/html/notes.html
    
Offset 1413, 15 lines modifiedOffset 1413, 15 lines modified
1413 ······<p·class="built-using">1413 ······<p·class="built-using">
1414 ········Built·using1414 ········Built·using
1415 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1415 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1416 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1416 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1417 ······</p>1417 ······</p>
1418 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1418 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1419 ····</footer>1419 ····</footer>
1420 ··</div>1420 ··</div>
1421 </main>1421 </main>
1422 </div>1422 </div>
1423 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1423 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1424 ··<script>1424 ··<script>
1425 ··let·initialized·=·false;1425 ··let·initialized·=·false;
564 B
html2text {}
Max HTML report size reached
1.2 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/search.html
    
Offset 137, 15 lines modifiedOffset 137, 15 lines modified
137 ······<p·class="built-using">137 ······<p·class="built-using">
138 ········Built·using138 ········Built·using
139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
141 ······</p>141 ······</p>
142 <p>Copyright·©·1996-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.4/doc/html/xmerl.html
    
Offset 1094, 15 lines modifiedOffset 1094, 15 lines modified
1094 ······<p·class="built-using">1094 ······<p·class="built-using">
1095 ········Built·using1095 ········Built·using
1096 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1096 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1097 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1097 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1098 ······</p>1098 ······</p>
1099 <p>Copyright·©·1996-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;
713 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl_eventp.html
    
Offset 538, 15 lines modifiedOffset 538, 15 lines modified
538 ······<p·class="built-using">538 ······<p·class="built-using">
539 ········Built·using539 ········Built·using
540 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the540 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
541 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>541 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
542 ······</p>542 ······</p>
543 <p>Copyright·©·1996-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.4/doc/html/xmerl_examples.html
    
Offset 142, 100 lines modifiedOffset 142, 100 lines modified
142 forms·are·<code·class="inline">{Tag, Fun}</code>,·or·<code·class="inline">{Tag, Fun, LocalState}</code>.·The·second·form·can·be·used142 forms·are·<code·class="inline">{Tag, Fun}</code>,·or·<code·class="inline">{Tag, Fun, LocalState}</code>.·The·second·form·can·be·used
143 to·initialize·the·state·variable·in·question.</p><h4>1.1·User·State</h4><p>All·customization·functions·are·free·to·access·a·&quot;User·state&quot;·variable.·Care143 to·initialize·the·state·variable·in·question.</p><h4>1.1·User·State</h4><p>All·customization·functions·are·free·to·access·a·&quot;User·state&quot;·variable.·Care
144 must·of·course·be·taken·to·coordinate·the·use·of·this·state.·It·is·recommended144 must·of·course·be·taken·to·coordinate·the·use·of·this·state.·It·is·recommended
145 that·functions,·which·do·not·really·have·anything·to·contribute·to·the·&quot;global&quot;145 that·functions,·which·do·not·really·have·anything·to·contribute·to·the·&quot;global&quot;
146 user·state,·use·their·own·state·variable·instead.·Another·option·(used·in·e.g.146 user·state,·use·their·own·state·variable·instead.·Another·option·(used·in·e.g.
147 <code·class="inline">xmerl_eventp.erl</code>)·is·for·customization·functions·to·share·one·of·the·local147 <code·class="inline">xmerl_eventp.erl</code>)·is·for·customization·functions·to·share·one·of·the·local
148 states·(in·<code·class="inline">xmerl_eventp.erl</code>,·the·continuation·function·and·the·fetch·function148 states·(in·<code·class="inline">xmerl_eventp.erl</code>,·the·continuation·function·and·the·fetch·function
149 both·access·the·cont_state.)</p><p>Functions·to·access·user·state:</p><ul><li>··<code·class="inline">xmerl_scan:user_state(GlobalState)</code></li><li>··<code·class="inline">xmerl_scan:user_state(UserState,·GlobalState)</code></li></ul><h4>1.2·Event·Function</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5927975535-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="5927975535-2">(</span><span·class="p"·data-group-id="5927975535-2">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·493,·SHA:·eed6d2f3705b1da85b016e54f5011cd82f0a3534c78f83a8aa37a38391b233dc·...·]-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="5039204800-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="5039204800-2">(</span><span·class="p"·data-group-id="5039204800-2">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·493,·SHA:·5a6448835dd59be78f8253175cebf4b68c11835f997490846255f629cdfbf8b1·...·]-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="9748396088-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="9748396088-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="3522950313-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="3522950313-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="9748396088-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="9748396088-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="3522950313-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="3522950313-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="9748396088-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="9748396088-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="3522950313-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="3522950313-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="9748396088-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="9748396088-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="3522950313-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="3522950313-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="2776152908-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="2776152908-2">(</span><span·class="p"·data-group-id="2776152908-2">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·491,·SHA:·5e95816634810cc418c3ace9d99d1a5573cdc468e5b035309e022e04aee0fa87·...·]-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="8819522059-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="8819522059-2">(</span><span·class="p"·data-group-id="8819522059-2">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·491,·SHA:·758aef4cb6bfa4e7007cf8f239ea4082ea6ef6bc15af111d1466daf6b59a920f·...·]-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="4327637254-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="4327637254-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="5018141562-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="5018141562-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="4327637254-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="4327637254-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="5018141562-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="5018141562-2">)</span><span·class="p">,</span><span·class="w">
157 ···</span><span·class="p"·data-group-id="4327637254-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="4327637254-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class=[·...·truncated·by·diffoscope;·len:·242,·SHA:·43650ca19810da8816170450c45e40aca8e46b515a41adf01bfc195cf80d11ec·...·]-4">)</span><span·class="p">,</span><span·class="w">157 ···</span><span·class="p"·data-group-id="5018141562-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="5018141562-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class=[·...·truncated·by·diffoscope;·len:·242,·SHA:·19b50170f92a1a24c2a50a36310614b15cb28bdb85126f9ae32dcfb7d93c760d·...·]-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="4327637254-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="4327637254-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="5018141562-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="5018141562-5">)</span><span·class="p">,</span><span·class="w">
159 ···</span><span·class="p"·data-group-id="4327637254-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="4327637254-6">}</span><span·class="w">159 ···</span><span·class="p"·data-group-id="5018141562-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="5018141562-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="6894370422-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="6894370422-2">(</span><span·class="p"·data-group-id="6894370422-2">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·494,·SHA:·42a99cf2cb11a8263b39434eafd91256d669ef2be7d22fc44b65dc0fbc4f2e6b·...·]-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="1603399295-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="1603399295-2">(</span><span·class="p"·data-group-id="1603399295-2">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·494,·SHA:·0e2eb3042204b6c9cc9f3bcb6a922d28136df6fe6f404718637cc9d4c7fdc379·...·]-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="1338067428-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1338067428-2">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Filename</span>[·...·truncated·by·diffoscope;·len:·178,·SHA:·73878b12c13ad6b5d27cb3bcbfcb6c9948e7a4d67bf87bcca4d576bf53703e12·...·]8-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">165 ···</span><span·class="p"·data-group-id="2250998848-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2250998848-2">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Filename</span>[·...·truncated·by·diffoscope;·len:·178,·SHA:·78deac4e6494e90efc2fc8186eca59b99399da7676207edb8e78232d72440160·...·]8-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
166 ···</span><span·class="p"·data-group-id="1338067428-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1338067428-4">{</span><span·class="ss">string</span><span·class="p">,</span><span·class="w">·</span><span·class="n">String</span>[·...·truncated·by·diffoscope;·len:·178,·SHA:·c199e13a96186d083b8e73836f1625ce4100ac24aaecf8728e65e6570179e912·...·]8-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">166 ···</span><span·class="p"·data-group-id="2250998848-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2250998848-4">{</span><span·class="ss">string</span><span·class="p">,</span><span·class="w">·</span><span·class="n">String</span>[·...·truncated·by·diffoscope;·len:·178,·SHA:·c68869df06710dea83fbe322d6859990cd743b15c50061e240a05303222ea554·...·]8-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
167 ···</span><span·class="p"·data-group-id="1338067428-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="133806742[·...·truncated·by·diffoscope;·len:·331,·SHA:·9e05c9e1ee92d4e6b7ac4949490bce04345a6574088208371166213575b610f0·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">167 ···</span><span·class="p"·data-group-id="2250998848-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="225099884[·...·truncated·by·diffoscope;·len:·331,·SHA:·9b5f7479cd3536a958e42fcc0ff802d1fb0383c15223b4d514a297a431524d4e·...·]-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="1731364598-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="1731364598-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="6896512686-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="6896512686-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="1731364598-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="1731364598-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="8261352494-1">{</span><span·class="ss">continuation_fun</span><span·class[·...·truncated·by·diffoscope;·len:·803,·SHA:·b5026f5d62d6feb4dea2ff427d6f3f2609c240f69e577c31d9926d39f42b8ab9·...·]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="6896512686-3">(</span><span·class="n">URI</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·215,·SHA:·039a2ac1a49ac7bf907088e2ced986dc01bce876e91a33d3153de8ac5a9d2f9f·...·]
 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="4274666230-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="4274666230-2">(</span><span·class="p"·data-group-id="4274666230-2">)</span><span·class="p"·data-group-id="4274666230-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4274666230-3">{</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="4274666230-4">(</span><span·class="p"·data-group-id="4274666230-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ContinuationState</span><span·class="p"·data-group-id="4274666230-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="6411987445-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="6411987445-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="8123480992-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="8123480992-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="6411987445-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="6411987445-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="8123480992-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="8123480992-2">)</span><span·class="p">,</span><span·class="w">
173 ···</span><span·class="p"·data-group-id="6411987445-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="6411987445-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·165,·SHA:·cbc3ebe4e5efde41b41896fc55a353acbb45093de430c3dbe0df3670851b36ed·...·]-4">)</span><span·class="p">,</span><span·class="w">173 ···</span><span·class="p"·data-group-id="8123480992-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="8123480992-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·165,·SHA:·c1a1a39049d7f8eb88aa7304da2d98226591cbca5e53440a8c839580d3c10b38·...·]-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="6411987445-5">[</span><span·class="p"·data-group-id="6411987445-5">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 ······</span><span·class="p"·data-group-id="8123480992-5">[</span><span·class="p"·data-group-id="8123480992-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="6411987445-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="6411987445-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="8123480992-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="8123480992-6">)</span><span·class="p">,</span><span·class="w">
177 ·········</span><span·class="n">Exception</span><span·class="p"·data-group-id="6411987445-7">(</span><span·class="n">GlobalState2</span><span·class="p"·data-group-id="6411987445-7">)</span><span·class="p">;</span><span·class="w">177 ·········</span><span·class="n">Exception</span><span·class="p"·data-group-id="8123480992-7">(</span><span·class="n">GlobalState2</span><span·class="p"·data-group-id="8123480992-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="6411987445-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="6411987445-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·171,·SHA:·cabf6be3024a4ee21171b4891c9dae903356505c563fa8ae886952364dec0426·...·]-9">)</span><span·class="p">,</span><span·class="w">179 ·········</span><span·class="p"·data-group-id="8123480992-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="8123480992-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·171,·SHA:·bc07539988203123141980b4d487437f8c2349ee495d5e2f47359d252136fa0d·...·]-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="6411987445-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="6411987445-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="8123480992-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="8123480992-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="6411987445-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="6411987445-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="8123480992-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="8123480992-11">)</span><span·class="p">,</span><span·class="w">
182 ·········</span><span·class="n">Continue</span><span·class="p"·data-group-id="6411987445-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="6411987445-12">)</span><span·class="w">182 ·········</span><span·class="n">Continue</span><span·class="p"·data-group-id="8123480992-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="8123480992-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="2363976136-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="2363976136-2">(</span><span·class="p"·data-group-id="2363976136-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="2363976136-3">(</span><span·class="p"·data-group-id="2363976136-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RulesState</span><span·class="p"·data-group-id="2363976136-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w"> 
185 </span><span·class="p"·data-group-id="2363976136-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:·3215fe50764a7582c83b0d2d9b7235b2c6f20995b38868ca7b9a2952e842ab80·...·]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="6073189037-1">{</span><span·class="ss">rules</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·717,·SHA:·9fb4ee52f6010b6601a140ed2a758784fe8ed3bad5b11f8402bdcb643e0a647b·...·]
 185 </span><span·class="p"·data-group-id="6073189037-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="6073189037-5">(</span><span·class="p"·data-group-id="6073189037-5">)</span><span·class="p"·data-group-id="6073189037-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="7517209438-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:·2af97d4c4804cdea04bed56fb19b4c9effa0d97c54e660bff5d1926989f05509·...·]-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="2585531429-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:·fddcd1b9e371b1c1143fec42d6d249a6ef32fdf20a2504b6d06ab5df9a703351·...·]-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="7517209438-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="7517209438-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="2585531429-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="2585531429-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="6865994250-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="6865994250-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="5703105089-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="5703105089-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="6865994250-2">[</span><span·class="n">Elem</span><span·class="p"·data-group-id="6865994250-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="5703105089-2">[</span><span·class="n">Elem</span><span·class="p"·data-group-id="5703105089-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="6865994250-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="6865994250-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="5703105089-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="5703105089-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="4212582086-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="4212582086-2">(</span><span·class="p"·data-group-id="4212582086-2">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·c2595aa484a1adc8f591404a89f6184b9b0306003655d9d17a4f7263c990c265·...·]-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="3661064429-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="3661064429-2">(</span><span·class="p"·data-group-id="3661064429-2">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·56164b656388ba381206eb806b8d23e56572cbb54f18ae039421b74591532834·...·]-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="9153387231-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="9153387231-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="2577972059-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="2577972059-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ···</span><span·class="p"·data-group-id="9153387231-2">{</span><span·class="p"·data-group-id="9153387231-3">[</span><span·class="n">ParsedEntity</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="9153387231-3">]</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·80,·SHA:·35cd521fe89bbc42f38cf0e6f71e39995aec07cfab9f1a035e5b350a0b49012f·...·]-2">}</span><span·class="p">.</span><span·class="w">206 ···</span><span·class="p"·data-group-id="2577972059-2">{</span><span·class="p"·data-group-id="2577972059-3">[</span><span·class="n">ParsedEntity</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="2577972059-3">]</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·80,·SHA:·6288ad366cf0f047d0564f110be1f51d2e00c44212d138473a84c55fa53dd7fe·...·]-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="9153387231-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="9153387231-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="2577972059-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="2577972059-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ···</span><span·class="p"·data-group-id="9153387231-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="9153387231-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="2577972059-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="2577972059-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="1411842822-1">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="1411842822-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="3282641446-1">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="3282641446-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="4721479338-1">(</span><span·class="ss">tmp</span><span·class="p"·data-group-id="4721479338-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="2896397225-1">(</span><span·class="ss">tmp</span><span·class="p"·data-group-id="2896397225-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="4721479338-2">(</span><span·class="s">&quot;xmerl.hrl&quot;</span><span·class="p"·data-group-id="4721479338-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="2896397225-2">(</span><span·class="s">&quot;xmerl.hrl&quot;</span><span·class="p"·data-group-id="2896397225-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="4721479338-3">(</span><span·class="p"·data-group-id="4721479338-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:·bf95653b2a28a533051cfce22fdaf8f462dd1c7995eef15f276fa93e0d903a0d·...·]-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="2896397225-3">(</span><span·class="p"·data-group-id="2896397225-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:·3021a98fd58b5f2681e82fcffd411d3b2a88847fbe7528c6ff9c66e20955cdc7·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
226 </span><span·class="nf">file1</span><span·class="p"·data-group-id="4721479338-5">(</span><span·class="n">F</span><span·class="p"·data-group-id="4721479338-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:·234b627e98f39c0aaeb46669391a0a497ffd27bc44d4a2c994c1f1d633c70c0c·...·]-6">)</span><span·class="p">.</span><span·class="w">226 </span><span·class="nf">file1</span><span·class="p"·data-group-id="2896397225-5">(</span><span·class="n">F</span><span·class="p"·data-group-id="2896397225-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:·93199efd52ed81dfc9b86987e14a72c1a6228d15dc4f6ab30668866c9299d6ad·...·]-6">)</span><span·class="p">.</span><span·class="w">
  
227 </span><span·class="nf">file2</span><span·class="p"·data-group-id="4721479338-7">(</span><span·class="n">F</span><span·class="p"·data-group-id="4721479338-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:·72b430b1aace4a7f578cbbcaad74a979382243734c2974e6e916f1758b975abe·...·]-8">)</span><span·class="p">.</span><span·class="w">227 </span><span·class="nf">file2</span><span·class="p"·data-group-id="2896397225-7">(</span><span·class="n">F</span><span·class="p"·data-group-id="2896397225-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:·697aaac414d5b93817326e2497527ea38bcb46a8da742177f2aa4e36ee0f474d·...·]-8">)</span><span·class="p">.</span><span·class="w">
  
228 </span><span·class="nf">file3</span><span·class="p"·data-group-id="4721479338-11">(</span><span·class="n">F</span><span·class="p"·data-group-id="4721479338-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:·33ac3744055d028c16e75c6782a00c212f8add5e0c2f57d6ab182beeb76c0461·...·]-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="2896397225-11">(</span><span·class="n">F</span><span·class="p"·data-group-id="2896397225-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:·44e66f119491674548dcb0ce367d64f3a4f94ddbb3603f1a41168768bbf7bdf7·...·]-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="4721479338-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="2896397225-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="4721479338-15">[</span><span·class="p"·data-group-id="4721479338-16">{</span><span·class="ss">space</span><span·class="p">,</span><span·class="ss">normalize</span><span·class="p"·data-group-id="4721479338-16">}</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·263,·SHA:·d46fa79853a143559961f1b03c1b08e1740147e401755548da933092789d96d3·...·]-15">]</span><span·class="p">)</span><span·class="p">.</span></code></pre>230 </span><span·class="p"·data-group-id="2896397225-15">[</span><span·class="p"·data-group-id="2896397225-16">{</span><span·class="ss">space</span><span·class="p">,</span><span·class="ss">normalize</span><span·class="p"·data-group-id="2896397225-16">}</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·263,·SHA:·10500c2533072858275f53d0ceb96d1953a757447ac6de70ba90d822f568dcda·...·]-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.4/doc/html/xmerl_sax_parser.html
    
Offset 771, 15 lines modifiedOffset 771, 15 lines modified
771 ······<p·class="built-using">771 ······<p·class="built-using">
772 ········Built·using772 ········Built·using
773 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the773 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
774 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>774 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
775 ······</p>775 ······</p>
776 <p>Copyright·©·1996-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.4/doc/html/xmerl_scan.html
    
Offset 1099, 15 lines modifiedOffset 1099, 15 lines modified
1099 ······<p·class="built-using">1099 ······<p·class="built-using">
1100 ········Built·using1100 ········Built·using
1101 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1101 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1102 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1102 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1103 ······</p>1103 ······</p>
1104 <p>Copyright·©·1996-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.4/doc/html/xmerl_ug.html
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl_xpath.html
    
Offset 490, 15 lines modifiedOffset 490, 15 lines modified
490 ······<p·class="built-using">490 ······<p·class="built-using">
491 ········Built·using491 ········Built·using
492 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the492 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
493 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>493 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
494 ······</p>494 ······</p>
495 <p>Copyright·©·1996-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.4/doc/html/xmerl_xs.html
    
Offset 367, 15 lines modifiedOffset 367, 15 lines modified
367 ······<p·class="built-using">367 ······<p·class="built-using">
368 ········Built·using368 ········Built·using
369 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the369 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
370 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>370 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
371 ······</p>371 ······</p>
372 <p>Copyright·©·1996-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.4/doc/html/xmerl_xs_examples.html
    
Offset 131, 21 lines modifiedOffset 131, 21 lines modified
131 ··</a>131 ··</a>
132 ··<span·class="text">Examples</span>132 ··<span·class="text">Examples</span>
133 </h3>133 </h3>
134 <hr·class="thin"/><h4>Example·1·Using·xslapply</h4><p>original·XSLT:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="w">·</span><span·class="ss">match</span><span·class="o">=</span><span·class="s">&quot;doc/title&quot;</span><span·class="o">&gt;</span><span·class="w">134 <hr·class="thin"/><h4>Example·1·Using·xslapply</h4><p>original·XSLT:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="w">·</span><span·class="ss">match</span><span·class="o">=</span><span·class="s">&quot;doc/title&quot;</span><span·class="o">&gt;</span><span·class="w">
135 ····</span><span·class="o">&lt;</span><span·class="ss">h1</span><span·class="o">&gt;</span><span·class="w">135 ····</span><span·class="o">&lt;</span><span·class="ss">h1</span><span·class="o">&gt;</span><span·class="w">
136 ······</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="nb">apply</span><span·class="o">-</span><span·class="ss">templates</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="w">136 ······</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="nb">apply</span><span·class="o">-</span><span·class="ss">templates</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="w">
137 ····</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="ss">h1</span><span·class="o">&gt;</span><span·class="w">137 ····</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="ss">h1</span><span·class="o">&gt;</span><span·class="w">
138 </span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="o">&gt;</span></code></pre><p>becomes·in·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">template</span><span·class="p"·data-group-id="4121235309-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="4121235309-2">{</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·629,·SHA:·b72bb9edff759603148f754bffbfad8a181007119827ce87cfcdef9f66b382c5·...·]-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="4402010376-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="4402010376-2">{</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·629,·SHA:·3261cbad1e2905408ab8ba5562394529152aff8297021415bd2d65f3b1a8e7c0·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
139 ····</span><span·class="p"·data-group-id="4121235309-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="4402010376-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="4121235309-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="4[·...·truncated·by·diffoscope;·len:·9,·SHA:·3ad69a7dbb02b0aa74a6ce941297f610116b6d33543db2374a293f164850b45e·...·]-6">)</span><span·class="p">,</span><span·class="w">140 ·········</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4402010376-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="4[·...·truncated·by·diffoscope;·len:·9,·SHA:·8e48f7c255931380ff73b594883450d66de782be930b861ba6d1d5f7bb890ee8·...·]-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="4121235309-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="4402010376-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="6788344872-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="6788344872-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·158,·SHA:·d3d3a400b0b352bc989b279e714b45973806c54d1a50760d0141c627865512b0·...·]-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="8926474668-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="8926474668-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·158,·SHA:·7d68be485ebea807f33c6fcbe9e0c7ee9c2dcf710f5fa81ddc310d3040c1e79b·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
144 ····</span><span·class="p"·data-group-id="6788344872-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="6788344872-4">(</span><span·class="nf">s[·...·truncated·by·diffoscope;·len:·426,·SHA:·e62ec49a976ebf9a72573541fdc4143fdae334296c0529065f77db7b9418844b·...·]-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="8926474668-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="8926474668-4">(</span><span·class="nf">s[·...·truncated·by·diffoscope;·len:·426,·SHA:·f017ed4de81337ce65a8e4d628be0030ebf32582e735003d5c7a23dc291c05d3·...·]-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="5071410508-1">(</span><span·class="s">&quot;xmerl.hrl&quot;</span><span·class="p"·data-group-id="5071410508-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="0266557284-1">(</span><span·class="s">&quot;xmerl.hrl&quot;</span><span·class="p"·data-group-id="0266557284-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="5071410508-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="0266557284-2">(</span><span·class="ss">xmerl_xs</span><span·class="p">,</span><span·class="w">
206 ····</span><span·class="p"·data-group-id="5071410508-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:·e657b1bdfe3a25646f89c61abb2ac8fe5d1baffa0d477d29335fe4839541f265·...·]-2">)</span><span·class="p">.</span><span·class="w">206 ····</span><span·class="p"·data-group-id="0266557284-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:·176fd8aca1a953b289f1a4e7a0d8fe9c0e42a98e787af53e7d7a148ef3fea56f·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
207 </span><span·class="nf">doctype</span><span·class="p"·data-group-id="5071410508-4">(</span><span·class="p"·data-group-id="5071410508-4">)</span><span·class="p">-&gt;</span><span·class="w">207 </span><span·class="nf">doctype</span><span·class="p"·data-group-id="0266557284-4">(</span><span·class="p"·data-group-id="0266557284-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="5071410508-5">(</span><span·class="n">Doc</span><span·class="p"·data-group-id="5071410508-5">)</span><span·class="p">-&gt;</span><span·class="w">210 </span><span·class="nf">process_xml</span><span·class="p"·data-group-id="0266557284-5">(</span><span·class="n">Doc</span><span·class="p"·data-group-id="0266557284-5">)</span><span·class="p">-&gt;</span><span·class="w">
211 ····</span><span·class="nf">template</span><span·class="p"·data-group-id="5071410508-6">(</span><span·class="n">Doc</span><span·class="p"·data-group-id="5071410508-6">)</span><span·class="p">.</span><span·class="w">211 ····</span><span·class="nf">template</span><span·class="p"·data-group-id="0266557284-6">(</span><span·class="n">Doc</span><span·class="p"·data-group-id="0266557284-6">)</span><span·class="p">.</span><span·class="w">
  
212 </span><span·class="nf">template</span><span·class="p"·data-group-id="5071410508-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="5071410508-8">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·156,·SHA:·af60b938d323627ccc3593937d05734e593276fa82db7a4c1b60dc0f7910bfaf·...·]-7">)</span><span·class="p">-&gt;</span><span·class="w">212 </span><span·class="nf">template</span><span·class="p"·data-group-id="0266557284-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="0266557284-8">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·156,·SHA:·a1442c4fa4467e1fa9c626b7539125a3955ed7102d7a6aa8451b7a4b5ca3e13b·...·]-7">)</span><span·class="p">-&gt;</span><span·class="w">
213 ····</span><span·class="p"·data-group-id="5071410508-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="0266557284-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="5071410508-10">(</span><span·class="p"·data-group-id="5071410508-10">)</span><span·class="p">,</span><span·class="w">214 ······</span><span·class="nf">doctype</span><span·class="p"·data-group-id="0266557284-10">(</span><span·class="p"·data-group-id="0266557284-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="5071410508-11">(</span><span·class="nf">select</span><span·class="p"·data-group-id="5071410508-12">(</span><span·class="s">&quot;title&quot;</span><span·class="p">,</span><span·class="n">E</span><span·class="p"·data-group-id="5071410508-12">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·9946f89982b023b62086369135eda59f96dd5c70cfbab269b6f8be20fb5c1765·...·]-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="0266557284-11">(</span><span·class="nf">select</span><span·class="p"·data-group-id="0266557284-12">(</span><span·class="s">&quot;title&quot;</span><span·class="p">,</span><span·class="n">E</span><span·class="p"·data-group-id="0266557284-12">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·cd59d42150b9d8c49e7c8a2a48a488c63aaf7d372da17e5c58d7ec3b030185a9·...·]-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="5071410508-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:·561305bd275030d4313e3a856c8eaedb7c70b1ef9bff91710b47eb667609f528·...·]-13">)</span><span·class="p">,</span><span·class="w">220 ······</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="0266557284-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:·50421003a61b7dabc84fbddd92fbfe6809272501965b6150209e400cd2502543·...·]-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="5071410508-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="0266557284-9">]</span><span·class="p">;</span><span·class="w">
  
  
223 </span><span·class="nf">template</span><span·class="p"·data-group-id="5071410508-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="5071410508-15">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·637,·SHA:·125a89b2835fa7bfd7e04338fd3c683b913759b8ecfcabab3102551eb66e81c1·...·]-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="0266557284-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="0266557284-15">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·637,·SHA:·35915463043c76d6fe9c098ed2347cd3e1ba99fb3a72b010b4aec69db6d74212·...·]-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
224 ····</span><span·class="p"·data-group-id="5071410508-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="0266557284-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="5071410508-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:·561305bd275030d4313e3a856c8eaedb7c70b1ef9bff91710b47eb667609f528·...·]-19">)</span><span·class="p">,</span><span·class="w">225 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="0266557284-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:·50421003a61b7dabc84fbddd92fbfe6809272501965b6150209e400cd2502543·...·]-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="5071410508-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="0266557284-18">]</span><span·class="p">;</span><span·class="w">
  
227 </span><span·class="nf">template</span><span·class="p"·data-group-id="5071410508-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="5071410508-21">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·641,·SHA:·69f655ea55cdbfc88f834b08bb84a036ea7c6e15aace511abe98c87ab34d0317·...·]-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="0266557284-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="0266557284-21">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·641,·SHA:·60a10e16c7b9f1fe83c052dbf9694f858a5e9bec60149377e259b85719453d6f·...·]-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
228 ····</span><span·class="p"·data-group-id="5071410508-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="0266557284-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="5071410508-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:·561305bd275030d4313e3a856c8eaedb7c70b1ef9bff91710b47eb667609f528·...·]-25">)</span><span·class="p">,</span><span·class="w">229 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="0266557284-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:·50421003a61b7dabc84fbddd92fbfe6809272501965b6150209e400cd2502543·...·]-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="5071410508-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="0266557284-24">]</span><span·class="p">;</span><span·class="w">
  
231 </span><span·class="nf">template</span><span·class="p"·data-group-id="5071410508-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="5071410508-27">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·641,·SHA:·b7467309fc40cc01ffa3bc2f901f5890486188b00935300f725fad793a2a6f21·...·]-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="0266557284-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="0266557284-27">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·641,·SHA:·27ab2670041196ced828b6bcfa3184cc6107498cac66eec84fa7dc900479c0e3·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="p"·data-group-id="5071410508-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="0266557284-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="5071410508-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:·561305bd275030d4313e3a856c8eaedb7c70b1ef9bff91710b47eb667609f528·...·]-31">)</span><span·class="p">,</span><span·class="w">233 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="0266557284-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:·50421003a61b7dabc84fbddd92fbfe6809272501965b6150209e400cd2502543·...·]-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="5071410508-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="0266557284-30">]</span><span·class="p">;</span><span·class="w">
  
235 </span><span·class="nf">template</span><span·class="p"·data-group-id="5071410508-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="5071410508-33">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·799df415d7b032c76ceb5578118ba90b5800b77b28d170dd41e3d338802aaf5e·...·]-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="0266557284-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="0266557284-33">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·04d05d6e7a700633c4a340b4b7f807c67576411cb94616ed5eda923326b28654·...·]-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
236 ····</span><span·class="p"·data-group-id="5071410508-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="5071410508-35">(</span><span·class="w">·</span><span·class="k">fun</span><span[·...·truncated·by·diffoscope;·len:·360,·SHA:·addd7d0c606d848a9c89d795163827c688586c969604ec7d39fdcf433a804616·...·]-34">]</span><span·class="p">;</span><span·class="w">236 ····</span><span·class="p"·data-group-id="0266557284-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="0266557284-35">(</span><span·class="w">·</span><span·class="k">fun</span><span[·...·truncated·by·diffoscope;·len:·360,·SHA:·46f1f21b12e1076ed0cb69a53f51be237dc0bd076a257c5e7429d92c1b4fe840·...·]-34">]</span><span·class="p">;</span><span·class="w">
  
237 </span><span·class="nf">template</span><span·class="p"·data-group-id="5071410508-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="5071410508-37">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·c0194e8fec0578371515b29e53652d2af36a45141e40feede4bfda2487c3ca02·...·]-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="0266557284-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="0266557284-37">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·04acfc31fdfb01d9df23d2ac57881db6954196ef6e0df2f113cfea1a3bc60864·...·]-36">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
238 ····</span><span·class="p"·data-group-id="5071410508-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="0266557284-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="5071410508-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:·561305bd275030d4313e3a856c8eaedb7c70b1ef9bff91710b47eb667609f528·...·]-39">)</span><span·class="p">,</span><span·class="w">240 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="0266557284-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:·50421003a61b7dabc84fbddd92fbfe6809272501965b6150209e400cd2502543·...·]-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="5071410508-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="0266557284-38">]</span><span·class="p">;</span><span·class="w">
  
242 </span><span·class="nf">template</span><span·class="p"·data-group-id="5071410508-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="5071410508-41">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·d6a34dee20f4653e42f2628d51394b932799e66aa6c9e870d6a34372fcd5fc60·...·]-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="0266557284-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="0266557284-41">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·8e17452d9ed3ab394ae31690f98a5d187e4fa9184a4b136b9a0d01c2450d7ac2·...·]-40">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
243 ····</span><span·class="p"·data-group-id="5071410508-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="5071410508-43">(</span><span·class="w">·</span><span·class="k">fun</span><spa[·...·truncated·by·diffoscope;·len:·362,·SHA:·bcc22991386852c95734f3ac90b974084531c4d9d86bb5b89f333f6b44d40f30·...·]-42">]</span><span·class="p">;</span><span·class="w">243 ····</span><span·class="p"·data-group-id="0266557284-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="0266557284-43">(</span><span·class="w">·</span><span·class="k">fun</span><spa[·...·truncated·by·diffoscope;·len:·362,·SHA:·9930a195be806b8d29b90d7f8a21088d2e8905f2a7102f8db3f9775ad4f294f8·...·]-42">]</span><span·class="p">;</span><span·class="w">
  
244 </span><span·class="nf">template</span><span·class="p"·data-group-id="5071410508-44">(</span><span·class="n">E</span><span·class="p"·data-group-id="5071410508-44">)</span><span·class="p">-&gt;</span><span·class="w">244 </span><span·class="nf">template</span><span·class="p"·data-group-id="0266557284-44">(</span><span·class="n">E</span><span·class="p"·data-group-id="0266557284-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="5071410508-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:·561305bd275030d4313e3a856c8eaedb7c70b1ef9bff91710b47eb667609f528·...·]-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="0266557284-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:·50421003a61b7dabc84fbddd92fbfe6809272501965b6150209e400cd2502543·...·]-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="7562059975-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="7562059975-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·159,·SHA:·4ffe90637922dcd0acb2a9bae02949be311578a5d7e2cb2192a8292dcf1106f1·...·]-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="1708819500-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="1708819500-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·159,·SHA:·035bbd9dc449c00730727d726d234dab3b6630404964f3e1e113086b1d8577bb·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
277 ····</span><span·class="p"·data-group-id="7562059975-3">{</span><span·class="n">Lines</span><span·class="p">,</span><span·class="n">LineNo</span><span·class="p"·data-group-id="7562059975-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:·bf510629b0b19f636d5c36379031261961ba56a4ccdb380ecaa35d044c542da0·...·]-4">)</span><span·class="p">,</span><span·class="w">277 ····</span><span·class="p"·data-group-id="1708819500-3">{</span><span·class="n">Lines</span><span·class="p">,</span><span·class="n">LineNo</span><span·class="p"·data-group-id="1708819500-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:·d7dcf957fd74c17d9918b7df322352f5f9cc0f2fe6426175f21f1cd2ffdb1c0a·...·]-4">)</span><span·class="p">,</span><span·class="w">
278 ····</span><span·class="p"·data-group-id="7562059975-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:·dd5183719f0d102310ebbe119ffed8bc666cfb08275f5c369635f9fa09fee71b·...·]-6">]</span><span·class="p">.</span><span·class="w">278 ····</span><span·class="p"·data-group-id="1708819500-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:·bd61db78ff375e553f163732de1a7babaf800f55462f91e266f95ea669de3382·...·]-6">]</span><span·class="p">.</span><span·class="w">
  
279 </span><span·class="nf">template_pos</span><span·class="p"·data-group-id="7562059975-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="7562059975-8">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·229,·SHA:·32a30d8b05f6ac4dc73f916fdec51a313e6f9213603193a888037a3ebfb7d2d8·...·]-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="1708819500-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="1708819500-8">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·229,·SHA:·728117016d6a69a76ceff8891323b062606f4c29e3ac72c75c05fd910d7e1dfc·...·]-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
280 ····</span><span·class="p"·data-group-id="7562059975-9">{</span><span·class="p"·data-group-id="7562059975-10">[</span><span·class="nf">indent_line</span><span·class="p"·data-group-id="7562059975-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:·76abe4825ac896b46dd2384530e306b829fde732f259697ebc088e552d103bcc·...·]-9">}</span><span·class="p">.</span><span·class="w">280 ····</span><span·class="p"·data-group-id="1708819500-9">{</span><span·class="p"·data-group-id="1708819500-10">[</span><span·class="nf">indent_line</span><span·class="p"·data-group-id="1708819500-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:·1862ee42773a42a4d10724feb5ebe2279e1d8be19e7e811f5398b1d7a17f8604·...·]-9">}</span><span·class="p">.</span><span·class="w">
  
281 </span><span·class="nf">indent_line</span><span·class="p"·data-group-id="7562059975-13">(</span><span·class="mi">0</span><span·class="p"·data-group-id="7562059975-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="1708819500-13">(</span><span·class="mi">0</span><span·class="p"·data-group-id="1708819500-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="7562059975-14">(</span><span·class="p">_</span><span·class="p"·data-group-id="7562059975-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="1708819500-14">(</span><span·class="p">_</span><span·class="p"·data-group-id="1708819500-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="9447575903-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="9447575903-2">{</span><span·class="ss">name</span>[·...·truncated·by·diffoscope;·len:·256,·SHA:·f65772a2a3dce3e0fbcb8848fe01719b7125ff29fdce63f1fc486c287da57d52·...·]-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="9232583719-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="9232583719-2">{</span><span·class="ss">name</span>[·...·truncated·by·diffoscope;·len:·256,·SHA:·837c403395163a5d3649b525b0953e93c505cca1301b55247df2ec72380d10c4·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
286 ····</span><span·class="p"·data-group-id="9447575903-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="9447575903-4">(</span><span·class="nf">select</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·235,·SHA:·8a0118e381dd7df35262938ac4f29aa011468fd122b94707955f93a26b397512·...·]-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="9232583719-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="9232583719-4">(</span><span·class="nf">select</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·235,·SHA:·8409ab2d89f0221ffcbdfb76cc49c0460a7912e0445c8ff5e7793fe3514ea567·...·]-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="9447575903-6">(</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9447575903-7">(</span><span·class="n">A</span><span·class="p"·data-group-id="9447575903-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><s[·...·truncated·by·diffoscope;·len:·422,·SHA:·c19aaa70ba2372cc0b0b90f79b0242ab5662e8b4e2d798cdd35ca68e53b93ba5·...·]-6">)</span><span·class="p">,</span><span·class="w">287 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="9232583719-6">(</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9232583719-7">(</span><span·class="n">A</span><span·class="p"·data-group-id="9232583719-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><s[·...·truncated·by·diffoscope;·len:·422,·SHA:·b1d8fe68cde87e760de2e877b761d52d03287b3192ba5ce72fd1d287625adb3a·...·]-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="9447575903-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="9232583719-3">]</span><span·class="p">;</span></code></pre><hr·class="thin"/>
289 </div>289 </div>
  
290 <div·class="bottom-actions"·id="bottom-actions">290 <div·class="bottom-actions"·id="bottom-actions">
291 ··<div·class="bottom-actions-item">291 ··<div·class="bottom-actions-item">
  
292 ······<a·href="xmerl_examples.html"·class="bottom-actions-button"·rel="prev">292 ······<a·href="xmerl_examples.html"·class="bottom-actions-button"·rel="prev">
293 ········<span·class="subheader">293 ········<span·class="subheader">
Offset 322, 15 lines modifiedOffset 322, 15 lines modified
322 ······<p·class="built-using">322 ······<p·class="built-using">
323 ········Built·using323 ········Built·using
324 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the324 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
325 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>325 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
Max diff block lines reached; 341/61074 bytes (0.56%) of diff not shown.
625 B
html2text {}
Max HTML report size reached
6.1 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl_xsd.html
    
Offset 772, 17 lines modifiedOffset 772, 17 lines modified
772 parsed·XML·<a·href="xmerl.html#t:xmlElement/0"><code·class="inline">Element :: #xmlElement{}</code></a>772 parsed·XML·<a·href="xmerl.html#t:xmlElement/0"><code·class="inline">Element :: #xmlElement{}</code></a>
773 and·a·State,·<a·href="#t:global_state/0"><code·class="inline">global_state/0</code></a>,·which·holds·necessary·information773 and·a·State,·<a·href="#t:global_state/0"><code·class="inline">global_state/0</code></a>,·which·holds·necessary·information
774 from·an·already·processed·schema.··Thus·validate·enables·reuse774 from·an·already·processed·schema.··Thus·validate·enables·reuse
775 of·the·schema·information·and·therefore·if·one·shall·validate775 of·the·schema·information·and·therefore·if·one·shall·validate
776 several·times·towards·the·same·schema·it·reduces·time·consumption.</p><p>The·result,·<code·class="inline">ValidElement</code>,·is·the·valid·element·that·conforms·to·the776 several·times·towards·the·same·schema·it·reduces·time·consumption.</p><p>The·result,·<code·class="inline">ValidElement</code>,·is·the·valid·element·that·conforms·to·the
777 post-schema-validation·infoset.·When·the·validator·finds·an·error·it·tries·to777 post-schema-validation·infoset.·When·the·validator·finds·an·error·it·tries·to
778 continue·and·reports·a·list·of·all·errors·found.·In·those·cases·an·unexpected778 continue·and·reports·a·list·of·all·errors·found.·In·those·cases·an·unexpected
779 error·is·found·it·may·cause·a·single·error·reason.</p><p>Usage·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="mi">1</span><span·class="o">&gt;</span><span·class="p"·data-group-id="9285012448-1">{</span><span·class="n">E</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="9285012448-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:·5f19acd91012e479e22e667107a5017dece85dfd04f6b7a2c26e6618672837ed·...·]-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="7397153423-1">{</span><span·class="n">E</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="7397153423-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:·f1c0eff8ff8c8a945d16b4a41d583c39abb0048abb4f8bc904796348f95c5e10·...·]-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="9285012448-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="9285012448-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:·59a80b96350b5e8d9f225ba3071a313df92b9db0023d7c357426e8a4bc6c57fc·...·]-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="7397153423-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="7397153423-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:·15129a7b3d1c2c3a997913e12f4e57b39743dd80904974c63390a6080eff8545·...·]-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="9285012448-5">{</span><span·class="n">E2</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="9285012448-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:·ab0cc32ce7cee67e04a693888ce2ed3d92d10ca3204c97d30592c3ff3389f687·...·]-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="7397153423-5">{</span><span·class="n">E2</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="7397153423-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:·dfbb6cef0d0486cf333d9ffd29a3be2b9fe866ff1a54ca235a14c21b8d0cdbba·...·]-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
194 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/dist/search_data-280DC1A3.js vs.
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/dist/search_data-309AD241.js
Files 97% similar despite different names
194 KB
js-beautify {}
Max HTML report size reached
120 KB
erlang-jinterface_28.0+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-21·08:22:24.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary
2 -rw-r--r--···0········0········0······836·2025-05-21·08:22:24.000000·control.tar.xz2 -rw-r--r--···0········0········0······836·2025-05-21·08:22:24.000000·control.tar.xz
3 -rw-r--r--···0········0········0···112564·2025-05-21·08:22:24.000000·data.tar.xz3 -rw-r--r--···0········0········0···112576·2025-05-21·08:22:24.000000·data.tar.xz
98.0 B
control.tar.xz
70.0 B
control.tar
48.0 B
./md5sums
30.0 B
./md5sums
Files differ
120 KB
data.tar.xz
120 KB
data.tar
120 KB
./usr/lib/erlang/lib/jinterface-1.15/priv/OtpErlang.jar
13.4 KB
zipinfo {}
Max HTML report size reached
106 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
1.95 MB
erlang-public-key_28.0+dfsg-1_arm64.deb
367 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary
2 -rw-r--r--···0········0········0·····1904·2025-05-21·08:22:24.000000·control.tar.xz2 -rw-r--r--···0········0········0·····1904·2025-05-21·08:22:24.000000·control.tar.xz
3 -rw-r--r--···0········0········0··1213084·2025-05-21·08:22:24.000000·data.tar.xz3 -rw-r--r--···0········0········0··1212764·2025-05-21·08:22:24.000000·data.tar.xz
98.0 B
control.tar.xz
70.0 B
control.tar
48.0 B
./md5sums
30.0 B
./md5sums
Files differ
1.95 MB
data.tar.xz
1.95 MB
data.tar
4.67 KB
file list
    
Offset 4, 15 lines modifiedOffset 4, 15 lines modified
4 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/4 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/
5 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/5 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/
6 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/6 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/
7 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/7 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/
8 -rw-r--r--···0·root·········(0)·root·········(0)·····8340·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/AlgorithmInformation-2009.beam8 -rw-r--r--···0·root·········(0)·root·········(0)·····8340·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/AlgorithmInformation-2009.beam
9 -rw-r--r--···0·root·········(0)·root·········(0)····37780·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/AttributeCertificateVersion1-2009.beam9 -rw-r--r--···0·root·········(0)·root·········(0)····37780·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/AttributeCertificateVersion1-2009.beam
10 -rw-r--r--···0·root·········(0)·root·········(0)····21916·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/CMSAesRsaesOaep-2009.beam10 -rw-r--r--···0·root·········(0)·root·········(0)····21916·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/CMSAesRsaesOaep-2009.beam
11 -rw-r--r--···0·root·········(0)·root·········(0)···169624·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/CryptographicMessageSyntax-2009.beam11 -rw-r--r--···0·root·········(0)·root·········(0)···169600·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/CryptographicMessageSyntax-2009.beam
12 -rw-r--r--···0·root·········(0)·root·········(0)····56272·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/CryptographicMessageSyntaxAlgorithms-2009.beam12 -rw-r--r--···0·root·········(0)·root·········(0)····56272·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/CryptographicMessageSyntaxAlgorithms-2009.beam
13 -rw-r--r--···0·root·········(0)·root·········(0)····10136·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/DSS.beam13 -rw-r--r--···0·root·········(0)·root·········(0)····10136·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/DSS.beam
14 -rw-r--r--···0·root·········(0)·root·········(0)····18312·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/ECPrivateKey.beam14 -rw-r--r--···0·root·········(0)·root·········(0)····18312·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/ECPrivateKey.beam
15 -rw-r--r--···0·root·········(0)·root·········(0)····98352·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/OCSP-2024-08.beam15 -rw-r--r--···0·root·········(0)·root·········(0)····98352·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/OCSP-2024-08.beam
16 -rw-r--r--···0·root·········(0)·root·········(0)···135076·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/OTP-PKIX.beam16 -rw-r--r--···0·root·········(0)·root·········(0)···135076·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/OTP-PKIX.beam
17 -rw-r--r--···0·root·········(0)·root·········(0)····84368·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKCS-1.beam17 -rw-r--r--···0·root·········(0)·root·········(0)····84368·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKCS-1.beam
18 -rw-r--r--···0·root·········(0)·root·········(0)····31504·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKCS-10.beam18 -rw-r--r--···0·root·········(0)·root·········(0)····31504·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKCS-10.beam
Offset 23, 15 lines modifiedOffset 23, 15 lines modified
23 -rw-r--r--···0·root·········(0)·root·········(0)····56400·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1-PSS-OAEP-Algorithms-2009.beam23 -rw-r--r--···0·root·········(0)·root·········(0)····56400·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1-PSS-OAEP-Algorithms-2009.beam
24 -rw-r--r--···0·root·········(0)·root·········(0)···182464·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1Explicit-2009.beam24 -rw-r--r--···0·root·········(0)·root·········(0)···182464·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1Explicit-2009.beam
25 -rw-r--r--···0·root·········(0)·root·········(0)···119556·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1Implicit-2009.beam25 -rw-r--r--···0·root·········(0)·root·········(0)···119556·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1Implicit-2009.beam
26 -rw-r--r--···0·root·········(0)·root·········(0)····59492·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIXAlgs-2009.beam26 -rw-r--r--···0·root·········(0)·root·········(0)····59492·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIXAlgs-2009.beam
27 -rw-r--r--···0·root·········(0)·root·········(0)···115048·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIXAttributeCertificate-2009.beam27 -rw-r--r--···0·root·········(0)·root·········(0)···115048·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIXAttributeCertificate-2009.beam
28 -rw-r--r--···0·root·········(0)·root·········(0)·····5152·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/RFC5639.beam28 -rw-r--r--···0·root·········(0)·root·········(0)·····5152·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/RFC5639.beam
29 -rw-r--r--···0·root·········(0)·root·········(0)····26264·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/Safecurves-pkix-18.beam29 -rw-r--r--···0·root·········(0)·root·········(0)····26264·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/Safecurves-pkix-18.beam
30 -rw-r--r--···0·root·········(0)·root·········(0)····66504·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/SecureMimeMessageV3dot1-2009.beam30 -rw-r--r--···0·root·········(0)·root·········(0)····65944·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/SecureMimeMessageV3dot1-2009.beam
31 -rw-r--r--···0·root·········(0)·root·········(0)····86140·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_cert.beam31 -rw-r--r--···0·root·········(0)·root·········(0)····86140·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_cert.beam
32 -rw-r--r--···0·root·········(0)·root·········(0)····28648·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_cert_records.beam32 -rw-r--r--···0·root·········(0)·root·········(0)····28648·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_cert_records.beam
33 -rw-r--r--···0·root·········(0)·root·········(0)····34216·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_crl.beam33 -rw-r--r--···0·root·········(0)·root·········(0)····34216·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_crl.beam
34 -rw-r--r--···0·root·········(0)·root·········(0)····19432·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_ocsp.beam34 -rw-r--r--···0·root·········(0)·root·········(0)····19432·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_ocsp.beam
35 -rw-r--r--···0·root·········(0)·root·········(0)····19736·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_os_cacerts.beam35 -rw-r--r--···0·root·········(0)·root·········(0)····19736·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_os_cacerts.beam
36 -rw-r--r--···0·root·········(0)·root·········(0)····18868·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_pbe.beam36 -rw-r--r--···0·root·········(0)·root·········(0)····18868·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_pbe.beam
37 -rw-r--r--···0·root·········(0)·root·········(0)····14756·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_pem.beam37 -rw-r--r--···0·root·········(0)·root·········(0)····14756·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_pem.beam
909 KB
./usr/lib/erlang/lib/public_key-1.18/ebin/CryptographicMessageSyntax-2009.beam
Max HTML report size reached
538 KB
./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1Implicit-2009.beam
Max HTML report size reached
545 KB
./usr/lib/erlang/lib/public_key-1.18/ebin/SecureMimeMessageV3dot1-2009.beam
    
Offset 1, 9 lines modifiedOffset 1, 9 lines modified
00000000:·464f·5231·0001·03c0·4245·414d·4174·5538··FOR1....BEAMAtU800000000:·464f·5231·0001·0190·4245·414d·4174·5538··FOR1....BEAMAtU8
00000010:·0000·208c·ffff·feef·081c·5365·6375·7265··..·.......Secure00000010:·0000·200c·ffff·fef3·081c·5365·6375·7265··..·.......Secure
00000020:·4d69·6d65·4d65·7373·6167·6556·3364·6f74··MimeMessageV3dot00000020:·4d69·6d65·4d65·7373·6167·6556·3364·6f74··MimeMessageV3dot
00000030:·312d·3230·3039·d065·6e63·6f64·696e·675f··1-2009.encoding_00000030:·312d·3230·3039·d065·6e63·6f64·696e·675f··1-2009.encoding_
00000040:·7275·6c65·3062·6572·406d·6170·7350·6661··rule0ber@mapsPfa00000040:·7275·6c65·3062·6572·406d·6170·7350·6661··rule0ber@mapsPfa
00000050:·6c73·6508·1162·6974·5f73·7472·696e·675f··lse..bit_string_00000050:·6c73·6508·1162·6974·5f73·7472·696e·675f··lse..bit_string_
00000060:·666f·726d·6174·9062·6974·7374·7269·6e67··format.bitstring00000060:·666f·726d·6174·9062·6974·7374·7269·6e67··format.bitstring
00000070:·0813·6c65·6761·6379·5f65·726c·616e·675f··..legacy_erlang_00000070:·0813·6c65·6761·6379·5f65·726c·616e·675f··..legacy_erlang_
00000080:·7479·7065·7360·656e·636f·6465·6065·726c··types`encode`erl00000080:·7479·7065·7360·656e·636f·6465·6065·726c··types`encode`erl
Offset 90, 4068 lines modifiedOffset 90, 4033 lines modified
00000590:·6579·5072·6566·0814·6465·635f·6161·2d65··eyPref..dec_aa-e00000590:·6579·5072·6566·0814·6465·635f·6161·2d65··eyPref..dec_aa-e
000005a0:·6e63·7279·704b·6579·5072·6566·081a·656e··ncrypKeyPref..en000005a0:·6e63·7279·704b·6579·5072·6566·081a·656e··ncrypKeyPref..en
000005b0:·635f·6361·702d·7072·6566·6572·4269·6e61··c_cap-preferBina000005b0:·635f·6361·702d·7072·6566·6572·4269·6e61··c_cap-preferBina
000005c0:·7279·496e·7369·6465·081a·6465·635f·6361··ryInside..dec_ca000005c0:·7279·496e·7369·6465·081a·6465·635f·6361··ryInside..dec_ca
000005d0:·702d·7072·6566·6572·4269·6e61·7279·496e··p-preferBinaryIn000005d0:·702d·7072·6566·6572·4269·6e61·7279·496e··p-preferBinaryIn
000005e0:·7369·6465·e065·6e63·5f63·6170·2d52·4332··side.enc_cap-RC2000005e0:·7369·6465·e065·6e63·5f63·6170·2d52·4332··side.enc_cap-RC2
000005f0:·4342·43e0·6465·635f·6361·702d·5243·3243··CBC.dec_cap-RC2C000005f0:·4342·43e0·6465·635f·6361·702d·5243·3243··CBC.dec_cap-RC2C
00000600:·4243·081a·656e·635f·534d·696d·6543·6170··BC..enc_SMimeCap 
00000610:·7353·6574·5f73·6d69·6d65·4361·7073·081a··sSet_smimeCaps.. 
00000620:·6465·635f·534d·696d·6543·6170·7353·6574··dec_SMimeCapsSet 
00000630:·5f73·6d69·6d65·4361·7073·0822·656e·635f··_smimeCaps."enc_ 
00000640:·6161·2d73·6d69·6d65·4361·7061·6269·6c69··aa-smimeCapabili 
00000650:·7469·6573·5f73·6d69·6d65·4361·7073·0822··ties_smimeCaps." 
00000660:·6465·635f·6161·2d73·6d69·6d65·4361·7061··dec_aa-smimeCapa 
00000670:·6269·6c69·7469·6573·5f73·6d69·6d65·4361··bilities_smimeCa 
00000680:·7073·0818·6765·7465·6e63·5f53·4d69·6d65··ps..getenc_SMime00000600:·4243·0818·6765·7465·6e63·5f53·4d69·6d65··BC..getenc_SMime
00000690:·4174·7472·6962·7574·6553·6574·0818·6765··AttributeSet..ge00000610:·4174·7472·6962·7574·6553·6574·0818·6765··AttributeSet..ge
000006a0:·7464·6563·5f53·4d69·6d65·4174·7472·6962··tdec_SMimeAttrib00000620:·7464·6563·5f53·4d69·6d65·4174·7472·6962··tdec_SMimeAttrib
000006b0:·7574·6553·6574·0813·6765·7465·6e63·5f53··uteSet..getenc_S00000630:·7574·6553·6574·0813·6765·7465·6e63·5f53··uteSet..getenc_S
000006c0:·4d69·6d65·4361·7073·5365·7408·1367·6574··MimeCapsSet..get00000640:·4d69·6d65·4361·7073·5365·7408·1367·6574··MimeCapsSet..get
000006d0:·6465·635f·534d·696d·6543·6170·7353·6574··dec_SMimeCapsSet00000650:·6465·635f·534d·696d·6543·6170·7353·6574··dec_SMimeCapsSet
000006e0:·0825·6765·7465·6e63·5f69·6e74·6572·6e61··.%getenc_interna00000660:·0825·6765·7465·6e63·5f69·6e74·6572·6e61··.%getenc_interna
000006f0:·6c5f·6f62·6a65·6374·5f73·6574·5f61·7267··l_object_set_arg00000670:·6c5f·6f62·6a65·6374·5f73·6574·5f61·7267··l_object_set_arg
00000700:·756d·656e·745f·3108·2567·6574·6465·635f··ument_1.%getdec_00000680:·756d·656e·745f·3108·2567·6574·6465·635f··ument_1.%getdec_
00000710:·696e·7465·726e·616c·5f6f·626a·6563·745f··internal_object_ 
00000720:·7365·745f·6172·6775·6d65·6e74·5f31·0815··set_argument_1.. 
00000730:·6469·616c·797a·6572·2d73·7570·7072·6573··dialyzer-suppres 
00000740:·7369·6f6e·73e0·6265·725f·6465·636f·6465··sions.ber_decode 
00000750:·5f6e·6966·a061·736e·3172·745f·6e69·66e0··_nif.asn1rt_nif. 
00000760:·6465·636f·6465·5f62·6572·5f74·6c76·a062··decode_ber_tlv.b 
00000770:·6572·5f65·6e63·6f64·65e0·656e·636f·6465··er_encode.encode 
00000780:·5f62·6572·5f74·6c76·d063·6f6c·6c65·6374··_ber_tlv.collect 
00000790:·5f70·6172·7473·f065·6e73·7572·655f·6174··_parts.ensure_at 
000007a0:·5f6c·6561·7374·7069·6e74·6567·6572·8067··_leastpinteger.g 
000007b0:·6574·5f74·6169·6ce0·6c69·7374·5f74·6f5f··et_tail.list_to_ 
000007c0:·6269·6e61·7279·0811·636f·6c6c·6563·745f··binary..collect_ 
000007d0:·7061·7274·735f·6269·7408·1264·6563·5f73··parts_bit..dec_s 
000007e0:·7562·6964·656e·7469·6669·6572·73e0·656e··ubidentifiers.en 
000007f0:·7375·7265·5f65·7861·6374·6c79·3062·736c··sure_exactly0bsl 
00000800:·e064·6563·6f64·655f·696e·7465·6765·7290··.decode_integer. 
00000810:·6279·7465·5f73·697a·6570·6e6f·5f66·6169··byte_sizepno_fai 
00000820:·6c08·1864·6563·6f64·655f·6f62·6a65·6374··l..decode_object 
00000830:·5f69·6465·6e74·6966·6965·7210·2dd0·6c69··_identifier.-.li 
00000840:·7374·5f74·6f5f·7475·706c·6508·1364·6563··st_to_tuple..dec 
00000850:·6f64·655f·6f63·7465·745f·7374·7269·6e67··ode_octet_string 
00000860:·6062·696e·6172·7940·636f·7079·0810·6465··`binary@copy..de 
00000870:·636f·6465·5f6f·7065·6e5f·7479·7065·0813··code_open_type.. 
00000880:·655f·6f62·6a65·6374·5f69·6465·6e74·6966··e_object_identif 
00000890:·6965·7208·114f·424a·4543·5420·4944·454e··ier..OBJECT·IDEN 
000008a0:·5449·4649·4552·d074·7570·6c65·5f74·6f5f··TIFIER.tuple_to_ 
000008b0:·6c69·7374·102a·806d·6170·666f·6c64·6cf0··list.*.mapfoldl. 
000008c0:·656e·635f·6f62·6a5f·6964·5f74·6169·6ce0··enc_obj_id_tail. 
000008d0:·656e·636f·6465·5f69·6e74·6567·6572·606c··encode_integer`l 
000008e0:·656e·6774·6808·1265·6e63·6f64·655f·696e··ength..encode_in 
000008f0:·7465·6765·725f·6e65·6730·6273·7240·6261··teger_neg0bsr@ba 
00000900:·6e64·0812·656e·636f·6465·5f69·6e74·6567··nd..encode_integ 
00000910:·6572·5f70·6f73·d065·6e63·6f64·655f·6c65··er_pos.encode_le 
00000920:·6e67·7468·3062·6f72·0813·746f·6f5f·6c6f··ngth0bor..too_lo 
00000930:·6e67·5f6c·656e·6774·685f·6f63·7408·1865··ng_length_oct..e 
00000940:·6e63·6f64·655f·6f62·6a65·6374·5f69·6465··ncode_object_ide 
00000950:·6e74·6966·6965·7208·1065·6e63·6f64·655f··ntifier..encode_ 
00000960:·6f70·656e·5f74·7970·6508·1865·6e63·6f64··open_type..encod 
00000970:·655f·7265·7374·7269·6374·6564·5f73·7472··e_restricted_str 
00000980:·696e·67b0·656e·636f·6465·5f74·6167·7308··ing.encode_tags. 
00000990:·116d·6174·6368·5f61·6e64·5f63·6f6c·6c65··.match_and_colle 
000009a0:·6374·a06d·6174·6368·5f74·6167·7380·6578··ct.match_tags.ex 
000009b0:·7065·6374·6564·3067·6f74·9077·726f·6e67··pected0got.wrong 
000009c0:·5f74·6167·e06d·696e·696d·756d·5f6f·6374··_tag.minimum_oct 
000009d0:·6574·73d0·6d6b·5f6f·626a·6563·745f·7661··ets.mk_object_va 
000009e0:·6cf0·6765·745f·6d6f·6475·6c65·5f69·6e66··l.get_module_inf 
000009f0:·6f08·302d·6765·7464·6563·5f69·6e74·6572··o.0-getdec_inter 
00000a00:·6e61·6c5f·6f62·6a65·6374·5f73·6574·5f61··nal_object_set_a 
00000a10:·7267·756d·656e·745f·312f·312d·6675·6e2d··rgument_1/1-fun- 
00000a20:·3230·2dd0·6173·6e31·5f4f·5045·4e54·5950··20-.asn1_OPENTYP 
00000a30:·4508·302d·6765·7464·6563·5f69·6e74·6572··E.0-getdec_inter 
00000a40:·6e61·6c5f·6f62·6a65·6374·5f73·6574·5f61··nal_object_set_a 
00000a50:·7267·756d·656e·745f·312f·312d·6675·6e2d··rgument_1/1-fun- 
00000a60:·3137·2d08·302d·6765·7464·6563·5f69·6e74··17-.0-getdec_int 
00000a70:·6572·6e61·6c5f·6f62·6a65·6374·5f73·6574··ernal_object_set 
00000a80:·5f61·7267·756d·656e·745f·312f·312d·6675··_argument_1/1-fu 
00000a90:·6e2d·3138·2d08·302d·6765·7464·6563·5f69··n-18-.0-getdec_i 
00000aa0:·6e74·6572·6e61·6c5f·6f62·6a65·6374·5f73··nternal_object_s 
00000ab0:·6574·5f61·7267·756d·656e·745f·312f·312d··et_argument_1/1- 
00000ac0:·6675·6e2d·3139·2d08·2f2d·6765·7464·6563··fun-19-./-getdec 
00000ad0:·5f69·6e74·6572·6e61·6c5f·6f62·6a65·6374··_internal_object 
00000ae0:·5f73·6574·5f61·7267·756d·656e·745f·312f··_set_argument_1/ 
00000af0:·312d·6675·6e2d·322d·082f·2d67·6574·6465··1-fun-2-./-getde 
00000b00:·635f·696e·7465·726e·616c·5f6f·626a·6563··c_internal_objec 
00000b10:·745f·7365·745f·6172·6775·6d65·6e74·5f31··t_set_argument_1 
00000b20:·2f31·2d66·756e·2d33·2d08·2f2d·6765·7464··/1-fun-3-./-getd 
00000b30:·6563·5f69·6e74·6572·6e61·6c5f·6f62·6a65··ec_internal_obje 
00000b40:·6374·5f73·6574·5f61·7267·756d·656e·745f··ct_set_argument_ 
00000b50:·312f·312d·6675·6e2d·342d·082f·2d67·6574··1/1-fun-4-./-get 
00000b60:·6465·635f·696e·7465·726e·616c·5f6f·626a··dec_internal_obj 
00000b70:·6563·745f·7365·745f·6172·6775·6d65·6e74··ect_set_argument 
00000b80:·5f31·2f31·2d66·756e·2d35·2d08·2f2d·6765··_1/1-fun-5-./-ge 
00000b90:·7464·6563·5f69·6e74·6572·6e61·6c5f·6f62··tdec_internal_ob 
00000ba0:·6a65·6374·5f73·6574·5f61·7267·756d·656e··ject_set_argumen 
00000bb0:·745f·312f·312d·6675·6e2d·362d·082f·2d67··t_1/1-fun-6-./-g 
00000bc0:·6574·6465·635f·696e·7465·726e·616c·5f6f··etdec_internal_o 
00000bd0:·626a·6563·745f·7365·745f·6172·6775·6d65··bject_set_argume 
00000be0:·6e74·5f31·2f31·2d66·756e·2d37·2d08·2f2d··nt_1/1-fun-7-./- 
00000bf0:·6765·7464·6563·5f69·6e74·6572·6e61·6c5f··getdec_internal_ 
00000c00:·6f62·6a65·6374·5f73·6574·5f61·7267·756d··object_set_argum 
00000c10:·656e·745f·312f·312d·6675·6e2d·382d·082f··ent_1/1-fun-8-./ 
00000c20:·2d67·6574·6465·635f·696e·7465·726e·616c··-getdec_internal 
00000c30:·5f6f·626a·6563·745f·7365·745f·6172·6775··_object_set_argu 
00000c40:·6d65·6e74·5f31·2f31·2d66·756e·2d39·2d08··ment_1/1-fun-9-. 
00000c50:·302d·6765·7464·6563·5f69·6e74·6572·6e61··0-getdec_interna 
00000c60:·6c5f·6f62·6a65·6374·5f73·6574·5f61·7267··l_object_set_arg 
00000c70:·756d·656e·745f·312f·312d·6675·6e2d·3130··ument_1/1-fun-10 
00000c80:·2d08·302d·6765·7464·6563·5f69·6e74·6572··-.0-getdec_inter 
00000c90:·6e61·6c5f·6f62·6a65·6374·5f73·6574·5f61··nal_object_set_a 
00000ca0:·7267·756d·656e·745f·312f·312d·6675·6e2d··rgument_1/1-fun- 
00000cb0:·3131·2d08·1e50·4b49·5831·2d50·5353·2d4f··11-..PKIX1-PSS-O 
00000cc0:·4145·502d·416c·676f·7269·7468·6d73·2d32··AEP-Algorithms-2 
00000cd0:·3030·3908·1564·6563·5f52·5341·4553·2d4f··009..dec_RSAES-O 
Max diff block lines reached; 510860/558441 bytes (91.48%) of diff not shown.
58.8 KB
erlang-src_28.0+dfsg-1_all.deb
452 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary
2 -rw-r--r--···0········0········0····39840·2025-05-21·08:22:24.000000·control.tar.xz2 -rw-r--r--···0········0········0····39844·2025-05-21·08:22:24.000000·control.tar.xz
3 -rw-r--r--···0········0········0··6158772·2025-05-21·08:22:24.000000·data.tar.xz3 -rw-r--r--···0········0········0··6158888·2025-05-21·08:22:24.000000·data.tar.xz
98.0 B
control.tar.xz
70.0 B
control.tar
48.0 B
./md5sums
30.0 B
./md5sums
Files differ
58.2 KB
data.tar.xz
58.2 KB
data.tar
2.38 KB
file list
    
Offset 999, 15 lines modifiedOffset 999, 15 lines modified
999 -rw-r--r--···0·root·········(0)·root·········(0)····50062·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIX1-PSS-OAEP-Algorithms-2009.erl999 -rw-r--r--···0·root·········(0)·root·········(0)····50062·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIX1-PSS-OAEP-Algorithms-2009.erl
1000 -rw-r--r--···0·root·········(0)·root·········(0)···167448·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIX1Explicit-2009.erl1000 -rw-r--r--···0·root·········(0)·root·········(0)···167448·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIX1Explicit-2009.erl
1001 -rw-r--r--···0·root·········(0)·root·········(0)···113585·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIX1Implicit-2009.erl1001 -rw-r--r--···0·root·········(0)·root·········(0)···113585·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIX1Implicit-2009.erl
1002 -rw-r--r--···0·root·········(0)·root·········(0)····55374·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIXAlgs-2009.erl1002 -rw-r--r--···0·root·········(0)·root·········(0)····55374·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIXAlgs-2009.erl
1003 -rw-r--r--···0·root·········(0)·root·········(0)···120828·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIXAttributeCertificate-2009.erl1003 -rw-r--r--···0·root·········(0)·root·········(0)···120828·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIXAttributeCertificate-2009.erl
1004 -rw-r--r--···0·root·········(0)·root·········(0)·····2440·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/RFC5639.erl1004 -rw-r--r--···0·root·········(0)·root·········(0)·····2440·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/RFC5639.erl
1005 -rw-r--r--···0·root·········(0)·root·········(0)····21251·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/Safecurves-pkix-18.erl1005 -rw-r--r--···0·root·········(0)·root·········(0)····21251·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/Safecurves-pkix-18.erl
1006 -rw-r--r--···0·root·········(0)·root·········(0)····58013·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/SecureMimeMessageV3dot1-2009.erl1006 -rw-r--r--···0·root·········(0)·root·········(0)····57373·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/SecureMimeMessageV3dot1-2009.erl
1007 -rw-r--r--···0·root·········(0)·root·········(0)····89306·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_cert.erl1007 -rw-r--r--···0·root·········(0)·root·········(0)····89306·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_cert.erl
1008 -rw-r--r--···0·root·········(0)·root·········(0)····19684·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_cert_records.erl1008 -rw-r--r--···0·root·········(0)·root·········(0)····19684·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_cert_records.erl
1009 -rw-r--r--···0·root·········(0)·root·········(0)····24282·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_crl.erl1009 -rw-r--r--···0·root·········(0)·root·········(0)····24282·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_crl.erl
1010 -rw-r--r--···0·root·········(0)·root·········(0)···708356·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_moduli.hrl1010 -rw-r--r--···0·root·········(0)·root·········(0)···708356·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_moduli.hrl
1011 -rw-r--r--···0·root·········(0)·root·········(0)····12580·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_ocsp.erl1011 -rw-r--r--···0·root·········(0)·root·········(0)····12580·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_ocsp.erl
1012 -rw-r--r--···0·root·········(0)·root·········(0)····10294·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_os_cacerts.erl1012 -rw-r--r--···0·root·········(0)·root·········(0)····10294·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_os_cacerts.erl
1013 -rw-r--r--···0·root·········(0)·root·········(0)····15088·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_pbe.erl1013 -rw-r--r--···0·root·········(0)·root·········(0)····15088·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_pbe.erl
44.1 KB
./usr/lib/erlang/lib/public_key-1.18/src/CryptographicMessageSyntax-2009.erl
    
Offset 189, 33 lines modifiedOffset 189, 33 lines modified
189 getenc_SignatureAlgorithmSet/1,189 getenc_SignatureAlgorithmSet/1,
190 getenc_KeyEncryptionAlgorithmSet/1,190 getenc_KeyEncryptionAlgorithmSet/1,
191 getenc_ContentEncryptionAlgorithmSet/1,191 getenc_ContentEncryptionAlgorithmSet/1,
192 getenc_MessageAuthenticationCodeAlgorithmSet/1,192 getenc_MessageAuthenticationCodeAlgorithmSet/1,
193 getenc_SupportedOtherRevokInfo/1,193 getenc_SupportedOtherRevokInfo/1,
194 getenc_SupportedCertFormats/1,194 getenc_SupportedCertFormats/1,
195 getenc_SupportedKeyAttributes/1,195 getenc_SupportedKeyAttributes/1,
 196 getenc_internal_object_set_argument_57/1,
 197 getenc_internal_object_set_argument_56/1,
 198 getenc_internal_object_set_argument_54/1,
 199 getenc_internal_object_set_argument_53/1,
 200 getenc_internal_object_set_argument_52/1,
196 getenc_internal_object_set_argument_51/1,201 getenc_internal_object_set_argument_51/1,
197 getenc_internal_object_set_argument_50/1,202 getenc_internal_object_set_argument_50/1,
198 getenc_internal_object_set_argument_2/1,203 getenc_internal_object_set_argument_2/1,
199 getenc_internal_object_set_argument_38/1,204 getenc_internal_object_set_argument_38/1,
 205 getenc_internal_object_set_argument_37/1,
200 getenc_internal_object_set_argument_36/1,206 getenc_internal_object_set_argument_36/1,
201 getenc_internal_object_set_argument_34/1,207 getenc_internal_object_set_argument_35/1,
202 getenc_internal_object_set_argument_32/1, 
203 getenc_internal_object_set_argument_31/1, 
204 getenc_internal_object_set_argument_30/1, 
205 getenc_internal_object_set_argument_48/1,208 getenc_internal_object_set_argument_48/1,
206 getenc_internal_object_set_argument_47/1, 
207 getenc_internal_object_set_argument_46/1,209 getenc_internal_object_set_argument_46/1,
208 getenc_internal_object_set_argument_45/1, 
209 getenc_internal_object_set_argument_44/1,210 getenc_internal_object_set_argument_44/1,
210 getenc_internal_object_set_argument_42/1,211 getenc_internal_object_set_argument_42/1,
211 getenc_internal_object_set_argument_40/1,212 getenc_internal_object_set_argument_40/1,
212 getenc_internal_object_set_argument_13/1,213 getenc_internal_object_set_argument_13/1,
213 getenc_internal_object_set_argument_11/1,214 getenc_internal_object_set_argument_11/1
214 getenc_internal_object_set_argument_29/1 
215 ]).215 ]).
  
216 -export([216 -export([
217 getdec_ContentSet/1,217 getdec_ContentSet/1,
218 getdec_SignedAttributesSet/1,218 getdec_SignedAttributesSet/1,
219 getdec_UnsignedAttributes/1,219 getdec_UnsignedAttributes/1,
220 getdec_UnprotectedAttributes/1,220 getdec_UnprotectedAttributes/1,
Offset 229, 33 lines modifiedOffset 229, 33 lines modified
229 getdec_SignatureAlgorithmSet/1,229 getdec_SignatureAlgorithmSet/1,
230 getdec_KeyEncryptionAlgorithmSet/1,230 getdec_KeyEncryptionAlgorithmSet/1,
231 getdec_ContentEncryptionAlgorithmSet/1,231 getdec_ContentEncryptionAlgorithmSet/1,
232 getdec_MessageAuthenticationCodeAlgorithmSet/1,232 getdec_MessageAuthenticationCodeAlgorithmSet/1,
233 getdec_SupportedOtherRevokInfo/1,233 getdec_SupportedOtherRevokInfo/1,
234 getdec_SupportedCertFormats/1,234 getdec_SupportedCertFormats/1,
235 getdec_SupportedKeyAttributes/1,235 getdec_SupportedKeyAttributes/1,
 236 getdec_internal_object_set_argument_57/1,
 237 getdec_internal_object_set_argument_56/1,
 238 getdec_internal_object_set_argument_54/1,
 239 getdec_internal_object_set_argument_53/1,
 240 getdec_internal_object_set_argument_52/1,
236 getdec_internal_object_set_argument_51/1,241 getdec_internal_object_set_argument_51/1,
237 getdec_internal_object_set_argument_50/1,242 getdec_internal_object_set_argument_50/1,
238 getdec_internal_object_set_argument_2/1,243 getdec_internal_object_set_argument_2/1,
239 getdec_internal_object_set_argument_38/1,244 getdec_internal_object_set_argument_38/1,
 245 getdec_internal_object_set_argument_37/1,
240 getdec_internal_object_set_argument_36/1,246 getdec_internal_object_set_argument_36/1,
241 getdec_internal_object_set_argument_34/1,247 getdec_internal_object_set_argument_35/1,
242 getdec_internal_object_set_argument_32/1, 
243 getdec_internal_object_set_argument_31/1, 
244 getdec_internal_object_set_argument_30/1, 
245 getdec_internal_object_set_argument_48/1,248 getdec_internal_object_set_argument_48/1,
246 getdec_internal_object_set_argument_47/1, 
247 getdec_internal_object_set_argument_46/1,249 getdec_internal_object_set_argument_46/1,
248 getdec_internal_object_set_argument_45/1, 
249 getdec_internal_object_set_argument_44/1,250 getdec_internal_object_set_argument_44/1,
250 getdec_internal_object_set_argument_42/1,251 getdec_internal_object_set_argument_42/1,
251 getdec_internal_object_set_argument_40/1,252 getdec_internal_object_set_argument_40/1,
252 getdec_internal_object_set_argument_13/1,253 getdec_internal_object_set_argument_13/1,
253 getdec_internal_object_set_argument_11/1,254 getdec_internal_object_set_argument_11/1
254 getdec_internal_object_set_argument_29/1 
255 ]).255 ]).
  
256 -export([256 -export([
257 'id-ct-contentInfo'/0,257 'id-ct-contentInfo'/0,
258 'id-data'/0,258 'id-data'/0,
259 'id-signedData'/0,259 'id-signedData'/0,
260 'id-envelopedData'/0,260 'id-envelopedData'/0,
Offset 844, 15 lines modifiedOffset 844, 15 lines modified
  
844 %%================================844 %%================================
845 %%··SignerInfo_unsignedAttrs_Attribute845 %%··SignerInfo_unsignedAttrs_Attribute
846 %%================================846 %%================================
847 enc_SignerInfo_unsignedAttrs_Attribute(Val,·TagIn)·->847 enc_SignerInfo_unsignedAttrs_Attribute(Val,·TagIn)·->
848 ···{_,Cindex1,Cindex2}·=·Val,848 ···{_,Cindex1,Cindex2}·=·Val,
849 ObjattrType·=·849 ObjattrType·=·
850 ···'CryptographicMessageSyntax-2009':'getenc_internal_object_set_argument_32'(···································Cindex1),850 ···'CryptographicMessageSyntax-2009':'getenc_internal_object_set_argument_38'(···································Cindex1),
  
851 %%-------------------------------------------------851 %%-------------------------------------------------
852 %%·attribute·attrType(1)·with·type·OBJECT·IDENTIFIER852 %%·attribute·attrType(1)·with·type·OBJECT·IDENTIFIER
853 %%-------------------------------------------------853 %%-------------------------------------------------
854 ···{EncBytes1,EncLen1}·=·encode_object_identifier(Cindex1,·[<<6>>]),854 ···{EncBytes1,EncLen1}·=·encode_object_identifier(Cindex1,·[<<6>>]),
  
855 %%-------------------------------------------------855 %%-------------------------------------------------
Offset 967, 15 lines modifiedOffset 967, 15 lines modified
967 Tlv1·=·match_tags(Tlv,·TagIn),967 Tlv1·=·match_tags(Tlv,·TagIn),
  
968 %%-------------------------------------------------968 %%-------------------------------------------------
969 %%·attribute·attrType(1)·with·type·OBJECT·IDENTIFIER969 %%·attribute·attrType(1)·with·type·OBJECT·IDENTIFIER
970 %%-------------------------------------------------970 %%-------------------------------------------------
971 [V1|Tlv2]·=·Tlv1,·971 [V1|Tlv2]·=·Tlv1,·
972 Term1·=·decode_object_identifier(V1,·[6]),972 Term1·=·decode_object_identifier(V1,·[6]),
973 ObjFun·=·'CryptographicMessageSyntax-2009':'getdec_internal_object_set_argument_32'(Term1),973 ObjFun·=·'CryptographicMessageSyntax-2009':'getdec_internal_object_set_argument_38'(Term1),
  
974 %%-------------------------------------------------974 %%-------------------------------------------------
975 %%·attribute·attrValues(2)·with·type·SET·OF975 %%·attribute·attrValues(2)·with·type·SET·OF
976 %%-------------------------------------------------976 %%-------------------------------------------------
977 [V2|Tlv3]·=·Tlv2,·977 [V2|Tlv3]·=·Tlv2,·
978 Term2·=·'dec_SignerInfo_unsignedAttrs_Attribute_attrValues'(V2,·[17],·ObjFun),978 Term2·=·'dec_SignerInfo_unsignedAttrs_Attribute_attrValues'(V2,·[17],·ObjFun),
  
Offset 1026, 15 lines modifiedOffset 1026, 15 lines modified
  
1026 %%================================1026 %%================================
1027 %%··SignedAttributes_Attribute1027 %%··SignedAttributes_Attribute
1028 %%================================1028 %%================================
1029 enc_SignedAttributes_Attribute(Val,·TagIn)·->1029 enc_SignedAttributes_Attribute(Val,·TagIn)·->
1030 ···{_,Cindex1,Cindex2}·=·Val,1030 ···{_,Cindex1,Cindex2}·=·Val,
1031 ObjattrType·=·1031 ObjattrType·=·
1032 ···'CryptographicMessageSyntax-2009':'getenc_internal_object_set_argument_30'(···································Cindex1),1032 ···'CryptographicMessageSyntax-2009':'getenc_internal_object_set_argument_36'(···································Cindex1),
  
1033 %%-------------------------------------------------1033 %%-------------------------------------------------
1034 %%·attribute·attrType(1)·with·type·OBJECT·IDENTIFIER1034 %%·attribute·attrType(1)·with·type·OBJECT·IDENTIFIER
1035 %%-------------------------------------------------1035 %%-------------------------------------------------
1036 ···{EncBytes1,EncLen1}·=·encode_object_identifier(Cindex1,·[<<6>>]),1036 ···{EncBytes1,EncLen1}·=·encode_object_identifier(Cindex1,·[<<6>>]),
  
1037 %%-------------------------------------------------1037 %%-------------------------------------------------
Max diff block lines reached; 39608/45000 bytes (88.02%) of diff not shown.
9.94 KB
./usr/lib/erlang/lib/public_key-1.18/src/PKIX1Implicit-2009.erl
    
Offset 161, 23 lines modifiedOffset 161, 23 lines modified
161 ]).161 ]).
  
162 -export([162 -export([
163 getenc_CertExtensions/1,163 getenc_CertExtensions/1,
164 getenc_CrlExtensions/1,164 getenc_CrlExtensions/1,
165 getenc_CrlEntryExtensions/1,165 getenc_CrlEntryExtensions/1,
166 getenc_PolicyQualifierId/1,166 getenc_PolicyQualifierId/1,
167 getenc_internal_object_set_argument_2/1167 getenc_internal_object_set_argument_1/1
168 ]).168 ]).
  
169 -export([169 -export([
170 getdec_CertExtensions/1,170 getdec_CertExtensions/1,
171 getdec_CrlExtensions/1,171 getdec_CrlExtensions/1,
172 getdec_CrlEntryExtensions/1,172 getdec_CrlEntryExtensions/1,
173 getdec_PolicyQualifierId/1,173 getdec_PolicyQualifierId/1,
174 getdec_internal_object_set_argument_2/1174 getdec_internal_object_set_argument_1/1
175 ]).175 ]).
  
176 -export([176 -export([
177 'id-ce'/0,177 'id-ce'/0,
178 'id-ce-authorityKeyIdentifier'/0,178 'id-ce-authorityKeyIdentifier'/0,
179 'id-ce-subjectKeyIdentifier'/0,179 'id-ce-subjectKeyIdentifier'/0,
180 'id-ce-keyUsage'/0,180 'id-ce-keyUsage'/0,
Offset 1472, 15 lines modifiedOffset 1472, 15 lines modified
  
1472 %%================================1472 %%================================
1473 %%··SubjectDirectoryAttributes_AttributeSet1473 %%··SubjectDirectoryAttributes_AttributeSet
1474 %%================================1474 %%================================
1475 enc_SubjectDirectoryAttributes_AttributeSet(Val,·TagIn)·->1475 enc_SubjectDirectoryAttributes_AttributeSet(Val,·TagIn)·->
1476 ···{_,Cindex1,Cindex2}·=·Val,1476 ···{_,Cindex1,Cindex2}·=·Val,
1477 Objtype·=·1477 Objtype·=·
1478 ···'PKIX1Implicit-2009':'getenc_internal_object_set_argument_2'(···································Cindex1),1478 ···'PKIX1Implicit-2009':'getenc_internal_object_set_argument_1'(···································Cindex1),
  
1479 %%-------------------------------------------------1479 %%-------------------------------------------------
1480 %%·attribute·type(1)·with·type·OBJECT·IDENTIFIER1480 %%·attribute·type(1)·with·type·OBJECT·IDENTIFIER
1481 %%-------------------------------------------------1481 %%-------------------------------------------------
1482 ···{EncBytes1,EncLen1}·=·encode_object_identifier(Cindex1,·[<<6>>]),1482 ···{EncBytes1,EncLen1}·=·encode_object_identifier(Cindex1,·[<<6>>]),
  
1483 %%-------------------------------------------------1483 %%-------------------------------------------------
Offset 1530, 15 lines modifiedOffset 1530, 15 lines modified
1530 Tlv1·=·match_tags(Tlv,·TagIn),1530 Tlv1·=·match_tags(Tlv,·TagIn),
  
1531 %%-------------------------------------------------1531 %%-------------------------------------------------
1532 %%·attribute·type(1)·with·type·OBJECT·IDENTIFIER1532 %%·attribute·type(1)·with·type·OBJECT·IDENTIFIER
1533 %%-------------------------------------------------1533 %%-------------------------------------------------
1534 [V1|Tlv2]·=·Tlv1,·1534 [V1|Tlv2]·=·Tlv1,·
1535 Term1·=·decode_object_identifier(V1,·[6]),1535 Term1·=·decode_object_identifier(V1,·[6]),
1536 ObjFun·=·'PKIX1Implicit-2009':'getdec_internal_object_set_argument_2'(Term1),1536 ObjFun·=·'PKIX1Implicit-2009':'getdec_internal_object_set_argument_1'(Term1),
  
1537 %%-------------------------------------------------1537 %%-------------------------------------------------
1538 %%·attribute·values(2)·with·type·SET·OF1538 %%·attribute·values(2)·with·type·SET·OF
1539 %%-------------------------------------------------1539 %%-------------------------------------------------
1540 [V2|Tlv3]·=·Tlv2,·1540 [V2|Tlv3]·=·Tlv2,·
1541 Term2·=·'dec_SubjectDirectoryAttributes_AttributeSet_values'(V2,·[17],·ObjFun),1541 Term2·=·'dec_SubjectDirectoryAttributes_AttributeSet_values'(V2,·[17],·ObjFun),
  
Offset 3301, 93 lines modifiedOffset 3301, 93 lines modified
3301 ··end.3301 ··end.
  
  
  
  
  
3302 %%================================3302 %%================================
3303 %%··internal_object_set_argument_23303 %%··internal_object_set_argument_1
3304 %%================================3304 %%================================
3305 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,3}·->3305 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,3}·->
3306 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520CommonName'(T,V,O)·end;3306 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520CommonName'(T,V,O)·end;
3307 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,4}·->3307 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,4}·->
3308 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-surname'(T,V,O)·end;3308 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-surname'(T,V,O)·end;
3309 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,5}·->3309 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,5}·->
3310 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520SerialNumber'(T,V,O)·end;3310 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520SerialNumber'(T,V,O)·end;
3311 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,6}·->3311 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,6}·->
3312 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520countryName'(T,V,O)·end;3312 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520countryName'(T,V,O)·end;
3313 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,7}·->3313 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,7}·->
3314 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520LocalityName'(T,V,O)·end;3314 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520LocalityName'(T,V,O)·end;
3315 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,8}·->3315 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,8}·->
3316 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520StateOrProvinceName'(T,V,O)·end;3316 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520StateOrProvinceName'(T,V,O)·end;
3317 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,10}·->3317 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,10}·->
3318 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520OrganizationName'(T,V,O)·end;3318 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520OrganizationName'(T,V,O)·end;
3319 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,11}·->3319 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,11}·->
3320 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520OrganizationalUnitName'(T,V,O)·end;3320 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520OrganizationalUnitName'(T,V,O)·end;
3321 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,12}·->3321 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,12}·->
3322 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520Title'(T,V,O)·end;3322 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520Title'(T,V,O)·end;
3323 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,41}·->3323 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,41}·->
3324 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-name'(T,V,O)·end;3324 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-name'(T,V,O)·end;
3325 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,42}·->3325 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,42}·->
3326 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-givenName'(T,V,O)·end;3326 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-givenName'(T,V,O)·end;
3327 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,43}·->3327 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,43}·->
3328 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-initials'(T,V,O)·end;3328 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-initials'(T,V,O)·end;
3329 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,44}·->3329 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,44}·->
3330 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-generationQualifier'(T,V,O)·end;3330 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-generationQualifier'(T,V,O)·end;
3331 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,46}·->3331 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,46}·->
3332 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520dnQualifier'(T,V,O)·end;3332 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520dnQualifier'(T,V,O)·end;
3333 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,65}·->3333 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,65}·->
3334 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520Pseudonym'(T,V,O)·end;3334 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-x520Pseudonym'(T,V,O)·end;
3335 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{0,9,2342,19200300,100,1,25}·->3335 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{0,9,2342,19200300,100,1,25}·->
3336 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-domainComponent'(T,V,O)·end;3336 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-domainComponent'(T,V,O)·end;
3337 getenc_internal_object_set_argument_2(Id)·when·Id·=:=·{1,2,840,113549,1,9,1}·->3337 getenc_internal_object_set_argument_1(Id)·when·Id·=:=·{1,2,840,113549,1,9,1}·->
3338 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-emailAddress'(T,V,O)·end;3338 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'enc_at-emailAddress'(T,V,O)·end;
3339 getenc_internal_object_set_argument_2(_)·->3339 getenc_internal_object_set_argument_1(_)·->
3340 ··fun(_,·Val,·_RestPrimFieldName)·->3340 ··fun(_,·Val,·_RestPrimFieldName)·->
3341 ····case·Val·of3341 ····case·Val·of
3342 ······{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->3342 ······{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->
3343 ········{Bin,byte_size(Bin)}3343 ········{Bin,byte_size(Bin)}
3344 ····end3344 ····end
3345 ··end.3345 ··end.
  
3346 getdec_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,3}·->3346 getdec_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,3}·->
3347 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520CommonName'(T,V,O)·end;3347 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520CommonName'(T,V,O)·end;
3348 getdec_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,4}·->3348 getdec_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,4}·->
3349 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-surname'(T,V,O)·end;3349 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-surname'(T,V,O)·end;
3350 getdec_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,5}·->3350 getdec_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,5}·->
3351 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520SerialNumber'(T,V,O)·end;3351 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520SerialNumber'(T,V,O)·end;
3352 getdec_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,6}·->3352 getdec_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,6}·->
3353 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520countryName'(T,V,O)·end;3353 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520countryName'(T,V,O)·end;
3354 getdec_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,7}·->3354 getdec_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,7}·->
3355 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520LocalityName'(T,V,O)·end;3355 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520LocalityName'(T,V,O)·end;
3356 getdec_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,8}·->3356 getdec_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,8}·->
3357 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520StateOrProvinceName'(T,V,O)·end;3357 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520StateOrProvinceName'(T,V,O)·end;
3358 getdec_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,10}·->3358 getdec_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,10}·->
3359 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520OrganizationName'(T,V,O)·end;3359 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520OrganizationName'(T,V,O)·end;
3360 getdec_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,11}·->3360 getdec_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,11}·->
3361 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520OrganizationalUnitName'(T,V,O)·end;3361 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520OrganizationalUnitName'(T,V,O)·end;
3362 getdec_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,12}·->3362 getdec_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,12}·->
3363 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520Title'(T,V,O)·end;3363 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-x520Title'(T,V,O)·end;
3364 getdec_internal_object_set_argument_2(Id)·when·Id·=:=·{2,5,4,41}·->3364 getdec_internal_object_set_argument_1(Id)·when·Id·=:=·{2,5,4,41}·->
3365 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-name'(T,V,O)·end;3365 ···fun(T,V,O)·->·'PKIX1Explicit-2009':'dec_at-name'(T,V,O)·end;
Max diff block lines reached; 1613/10049 bytes (16.05%) of diff not shown.
1.75 KB
./usr/lib/erlang/lib/public_key-1.18/src/SecureMimeMessageV3dot1-2009.erl
    
Offset 32, 26 lines modifiedOffset 32, 22 lines modified
32 'dec_aa-smimeCapabilities_SMIMECapabilities'/232 'dec_aa-smimeCapabilities_SMIMECapabilities'/2
33 ]).33 ]).
  
34 -export([34 -export([
35 'enc_aa-smimeCapabilities'/3,35 'enc_aa-smimeCapabilities'/3,
36 'enc_aa-encrypKeyPref'/3,36 'enc_aa-encrypKeyPref'/3,
37 'enc_cap-preferBinaryInside'/3,37 'enc_cap-preferBinaryInside'/3,
38 'enc_cap-RC2CBC'/3,38 'enc_cap-RC2CBC'/3
39 enc_SMimeCapsSet_smimeCaps/3, 
40 'enc_aa-smimeCapabilities_smimeCaps'/3 
41 ]).39 ]).
  
42 -export([40 -export([
43 'dec_aa-smimeCapabilities'/3,41 'dec_aa-smimeCapabilities'/3,
44 'dec_aa-encrypKeyPref'/3,42 'dec_aa-encrypKeyPref'/3,
45 'dec_cap-preferBinaryInside'/3,43 'dec_cap-preferBinaryInside'/3,
46 'dec_cap-RC2CBC'/3,44 'dec_cap-RC2CBC'/3
47 dec_SMimeCapsSet_smimeCaps/3, 
48 'dec_aa-smimeCapabilities_smimeCaps'/3 
49 ]).45 ]).
  
50 -export([46 -export([
51 getenc_SMimeAttributeSet/1,47 getenc_SMimeAttributeSet/1,
52 getenc_SMimeCapsSet/1,48 getenc_SMimeCapsSet/1,
53 getenc_internal_object_set_argument_2/1,49 getenc_internal_object_set_argument_2/1,
54 getenc_internal_object_set_argument_1/150 getenc_internal_object_set_argument_1/1
Offset 392, 40 lines modifiedOffset 388, 14 lines modified
392 ··Tlv·=·tlv_format(Bytes),388 ··Tlv·=·tlv_format(Bytes),
393 ···dec_SMIMECapabilitiesParametersForRC2CBC(Tlv,·[2]).389 ···dec_SMIMECapabilitiesParametersForRC2CBC(Tlv,·[2]).
  
  
  
  
394 %%================================390 %%================================
395 %%··SMimeCapsSet_smimeCaps 
396 %%================================ 
397 enc_SMimeCapsSet_smimeCaps('Type',·Val,·_RestPrimFieldName)·-> 
398 ···{Val,0}. 
  
  
399 dec_SMimeCapsSet_smimeCaps('Type',··Bytes,_)·-> 
400 ···Bytes. 
  
  
  
  
401 %%================================ 
402 %%··aa-smimeCapabilities_smimeCaps 
403 %%================================ 
404 'enc_aa-smimeCapabilities_smimeCaps'('Type',·Val,·_RestPrimFieldName)·-> 
405 ···{Val,0}. 
  
  
406 'dec_aa-smimeCapabilities_smimeCaps'('Type',··Bytes,_)·-> 
407 ···Bytes. 
  
  
  
  
408 %%================================ 
409 %%··SMimeAttributeSet391 %%··SMimeAttributeSet
410 %%================================392 %%================================
411 getenc_SMimeAttributeSet(Id)·when·Id·=:=·{1,2,840,113549,1,9,15}·->393 getenc_SMimeAttributeSet(Id)·when·Id·=:=·{1,2,840,113549,1,9,15}·->
412 ····fun·'enc_aa-smimeCapabilities'/3;394 ····fun·'enc_aa-smimeCapabilities'/3;
413 getenc_SMimeAttributeSet(Id)·when·Id·=:=·{1,2,840,113549,1,9,16,2,11}·->395 getenc_SMimeAttributeSet(Id)·when·Id·=:=·{1,2,840,113549,1,9,16,2,11}·->
414 ····fun·'enc_aa-encrypKeyPref'/3;396 ····fun·'enc_aa-encrypKeyPref'/3;
415 getenc_SMimeAttributeSet(_)·->397 getenc_SMimeAttributeSet(_)·->