diff --git a/ch9/ayu.css b/ch9/ayu.css index 3185957b..f98b3417 100644 --- a/ch9/ayu.css +++ b/ch9/ayu.css @@ -1 +1 @@ - :root{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;}.slider{background-color:#ccc;}.slider:before{background-color:white;}input:focus+.slider{box-shadow:0 0 0 2px #0a84ff,0 0 0 6px rgba(10,132,255,0.3);}h1,h2,h3,h4{color:white;}h1.fqn a{color:#fff;}h4{border:none;}.in-band{background-color:#0f1419;}.docblock code{color:#ffb454;}.code-header{color:#e6e1cf;}.docblock pre>code,pre>code{color:#e6e1cf;}span code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}pre,.rustdoc.source .example-wrap{color:#e6e1cf;}.rust-logo{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);}.sidebar .current,.sidebar a:hover{background-color:transparent;color:#ffb44c;}.sidebar-elems .location{color:#ff7733;}.line-numbers span{color:#5c6773;}.line-numbers .line-highlighted{color:#708090;background-color:rgba(255,236,164,0.06);padding-right:4px;border-right:1px solid #ffb44c;}.docblock table td,.docblock table th{border-color:#5c6773;}.search-results a:hover{background-color:#777;}.search-results a:focus{color:#000 !important;background-color:#c6afb3;}.search-results a{color:#0096cf;}.search-results a div.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.content span.foreigntype,.content a.foreigntype{color:#ffa0a5;}.content span.union,.content a.union{color:#ffa0a5;}.content span.constant,.content a.constant,.content span.static,.content a.static{color:#39AFD7;}.content span.primitive,.content a.primitive{color:#ffa0a5;}.content span.traitalias,.content a.traitalias{color:#39AFD7;}.content span.keyword,.content a.keyword{color:#39AFD7;}.content span.externcrate,.content span.mod,.content a.mod{color:#39AFD7;}.content span.struct,.content a.struct{color:#ffa0a5;}.content span.enum,.content a.enum{color:#ffa0a5;}.content span.trait,.content a.trait{color:#39AFD7;}.content span.type,.content a.type{color:#39AFD7;}.content span.type,.content a.type,.block a.current.type{color:#39AFD7;}.content span.associatedtype,.content a.associatedtype,.block a.current.associatedtype{color:#39AFD7;}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod,.content .fnname{color:#fdd687;}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:#a37acc;}.sidebar a{color:#53b1db;}.sidebar a.current.type{color:#53b1db;}.sidebar a.current.associatedtype{color:#53b1db;}pre.rust .comment{color:#788797;}pre.rust .doccomment{color:#a1ac88;}nav.main .current{border-top-color:#5c6773;border-bottom-color:#5c6773;}nav.main .separator{border:1px solid #5c6773;}a{color:#39AFD7;}.sidebar h2 a,.sidebar h3 a{color:white;}.search-results a{color:#0096cf;}body.source .example-wrap pre.rust a{background:#333;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before{color:#999;}details.rustdoc-toggle>summary::before{filter:invert(100%);}#crate-search,.search-input{background-color:#141920;border-color:#424c57 !important;}.search-input{color:#ffffff;}.module-item .stab,.import-item .stab{color:#000;}.stab.empty-impl{}.stab.unstable,.stab.deprecated,.stab.portability,.stab.empty-impl{color:#c5c5c5;background:#314559 !important;border-style:none !important;border-radius:4px;padding:3px 6px 3px 6px;}.stab.portability>code{color:#e6e1cf;background:none;}.rightside,.out-of-band{color:grey;}.result-name .primitive>i,.result-name .keyword>i{color:#788797;}.line-numbers :target{background-color:transparent;}pre.rust .number,pre.rust .string{color:#b8cc52;}pre.rust .kw,pre.rust .kw-2,pre.rust .prelude-ty,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .op,pre.rust .lifetime{color:#ff7733;}pre.rust .macro,pre.rust .macro-nonterminal{color:#a37acc;}pre.rust .question-mark{color:#ff9011;}pre.rust .self{color:#36a3d9;font-style:italic;}pre.rust .attribute{color:#e6e1cf;}pre.rust .attribute .ident,pre.rust .attribute .op{color:#e6e1cf;}.example-wrap>pre.line-number{color:#5c67736e;border:none;}a.test-arrow{font-size:100%;color:#788797;border-radius:4px;background-color:rgba(57,175,215,0.09);}a.test-arrow:hover{background-color:rgba(57,175,215,0.368);color:#c5c5c5;}.toggle-label,.code-attribute{color:#999;}:target{background:rgba(255,236,164,0.06);border-right:3px solid rgba(255,180,76,0.85);}pre.compile_fail{border-left:2px solid rgba(255,0,0,.4);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.4);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#39AFD7;}.tooltip::after{background-color:#314559;color:#c5c5c5;border:1px solid #5c6773;}.tooltip::before{border-color:transparent #314559 transparent transparent;}.notable-traits-tooltiptext{background-color:#314559;border-color:#5c6773;}.notable-traits-tooltiptext .notable{border-bottom-color:#5c6773;}#titles>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#titles>button:not(.selected){background-color:transparent !important;border:none;}#titles>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#titles>button>div.count{color:#888;}.search-input:focus{}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{}.content span.struct,.content a.struct,.block a.current.struct{}#titles>button:hover,#titles>button.selected{}.content span.typedef,.content a.typedef,.block a.current.typedef{}.content span.union,.content a.union,.block a.current.union{}pre.rust .lifetime{}.stab.unstable{}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){}.content span.enum,.content a.enum,.block a.current.enum{}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{}.content span.keyword,.content a.keyword,.block a.current.keyword{}pre.rust .comment{}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{}pre.rust .kw{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{}pre.rust .doccomment{}.stab.deprecated{}.content a.attr,.content a.derive,.content a.macro{}.stab.portability{}.content span.primitive,.content a.primitive,.block a.current.primitive{}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{}pre.rust .kw-2,pre.rust .prelude-ty{}.content span.trait,.content a.trait,.block a.current.trait{}.search-results a:focus span{}a.result-trait:focus{}a.result-traitalias:focus{}a.result-mod:focus,a.result-externcrate:focus{}a.result-mod:focus{}a.result-externcrate:focus{}a.result-enum:focus{}a.result-struct:focus{}a.result-union:focus{}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{}a.result-type:focus{}a.result-associatedtype:focus{}a.result-foreigntype:focus{}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{}a.result-constant:focus,a.result-static:focus{}a.result-primitive:focus{}a.result-keyword:focus{}.sidebar a.current.enum{}.sidebar a.current.struct{}.sidebar a.current.foreigntype{}.sidebar a.current.attr,.sidebar a.current.derive,.sidebar a.current.macro{}.sidebar a.current.union{}.sidebar a.current.constant .sidebar a.current.static{}.sidebar a.current.primitive{}.sidebar a.current.externcrate .sidebar a.current.mod{}.sidebar a.current.trait{}.sidebar a.current.traitalias{}.sidebar a.current.fn,.sidebar a.current.method,.sidebar a.current.tymethod{}.sidebar a.current.keyword{}@media (max-width:700px){.sidebar-elems{border-right-color:#5c6773;}}kbd{color:#c5c5c5;background-color:#314559;border-color:#5c6773;border-bottom-color:#5c6773;box-shadow:inset 0 -1px 0 #5c6773;}#settings-menu>a,#help-button>button{border-color:#5c6773;background-color:#0f1419;color:#fff;}#settings-menu>a img{filter:invert(100);}.popover,.popover::before,#help-button span.top,#help-button span.bottom{border-color:#5c6773;}#copy-path{color:#fff;}#copy-path>img{filter:invert(70%);}#copy-path:hover>img{filter:invert(100%);}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>button:hover,#help-button>button:focus{border-color:#e0e0e0;}#theme-choices{border-color:#5c6773;background-color:#0f1419;}#theme-choices>button:not(:first-child){border-top-color:#5c6773;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:rgba(110,110,110,0.33);}.search-results .result-name span.alias{color:#c5c5c5;}.search-results .result-name span.grey{color:#999;}#source-sidebar>.title{color:#fff;border-bottom-color:#5c6773;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:#14191f;color:#ffb44c;}#source-sidebar div.files>a.selected{background-color:#14191f;color:#ffb44c;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.more-examples-toggle summary,.more-examples-toggle .hide-more{color:#999;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(15,20,25,1),rgba(15,20,25,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(15,20,25,1),rgba(15,20,25,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file + :root{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;}.slider{background-color:#ccc;}.slider:before{background-color:white;}input:focus+.slider{box-shadow:0 0 0 2px #0a84ff,0 0 0 6px rgba(10,132,255,0.3);}h1,h2,h3,h4{color:white;}h1.fqn a{color:#fff;}h4{border:none;}.in-band{background-color:#0f1419;}.docblock code{color:#ffb454;}.code-header{color:#e6e1cf;}.docblock pre>code,pre>code{color:#e6e1cf;}span code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}pre,.rustdoc.source .example-wrap{color:#e6e1cf;}.rust-logo{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);}.sidebar .current,.sidebar a:hover{background-color:transparent;color:#ffb44c;}.sidebar-elems .location{color:#ff7733;}.line-numbers span{color:#5c6773;}.line-numbers .line-highlighted{color:#708090;background-color:rgba(255,236,164,0.06);padding-right:4px;border-right:1px solid #ffb44c;}.docblock table td,.docblock table th{border-color:#5c6773;}.search-results a:hover{background-color:#777;}.search-results a:focus{color:#000 !important;background-color:#c6afb3;}.search-results a{color:#0096cf;}.search-results a div.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.content span.foreigntype,.content a.foreigntype{color:#ffa0a5;}.content span.union,.content a.union{color:#ffa0a5;}.content span.constant,.content a.constant,.content span.static,.content a.static{color:#39AFD7;}.content span.primitive,.content a.primitive{color:#ffa0a5;}.content span.traitalias,.content a.traitalias{color:#39AFD7;}.content span.keyword,.content a.keyword{color:#39AFD7;}.content span.externcrate,.content span.mod,.content a.mod{color:#39AFD7;}.content span.struct,.content a.struct{color:#ffa0a5;}.content span.enum,.content a.enum{color:#ffa0a5;}.content span.trait,.content a.trait{color:#39AFD7;}.content span.type,.content a.type{color:#39AFD7;}.content span.type,.content a.type,.block a.current.type{color:#39AFD7;}.content span.associatedtype,.content a.associatedtype,.block a.current.associatedtype{color:#39AFD7;}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod,.content .fnname{color:#fdd687;}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:#a37acc;}.sidebar a{color:#53b1db;}.sidebar a.current.type{color:#53b1db;}.sidebar a.current.associatedtype{color:#53b1db;}pre.rust .comment{color:#788797;}pre.rust .doccomment{color:#a1ac88;}nav.main .current{border-top-color:#5c6773;border-bottom-color:#5c6773;}nav.main .separator{border:1px solid #5c6773;}a{color:#39AFD7;}.sidebar h2 a,.sidebar h3 a{color:white;}.search-results a{color:#0096cf;}body.source .example-wrap pre.rust a{background:#333;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before{color:#999;}details.rustdoc-toggle>summary::before{filter:invert(100%);}#crate-search,.search-input{background-color:#141920;border-color:#424c57;}#crate-search{border-color:#424c57 !important;}.search-input{color:#ffffff;}.module-item .stab,.import-item .stab{color:#000;}.stab.empty-impl{}.stab.must_implement{}.stab.unstable,.stab.deprecated,.stab.portability,.stab.empty-impl,.stab.must_implement{color:#c5c5c5;background:#314559 !important;border-style:none !important;border-radius:4px;padding:3px 6px 3px 6px;}.stab.portability>code{color:#e6e1cf;background:none;}.rightside,.out-of-band{color:grey;}.result-name .primitive>i,.result-name .keyword>i{color:#788797;}.line-numbers :target{background-color:transparent;}pre.rust .number,pre.rust .string{color:#b8cc52;}pre.rust .kw,pre.rust .kw-2,pre.rust .prelude-ty,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .op,pre.rust .lifetime{color:#ff7733;}pre.rust .macro,pre.rust .macro-nonterminal{color:#a37acc;}pre.rust .question-mark{color:#ff9011;}pre.rust .self{color:#36a3d9;font-style:italic;}pre.rust .attribute{color:#e6e1cf;}pre.rust .attribute .ident,pre.rust .attribute .op{color:#e6e1cf;}.example-wrap>pre.line-number{color:#5c67736e;border:none;}a.test-arrow{font-size:100%;color:#788797;border-radius:4px;background-color:rgba(57,175,215,0.09);}a.test-arrow:hover{background-color:rgba(57,175,215,0.368);color:#c5c5c5;}.toggle-label,.code-attribute{color:#999;}:target{background:rgba(255,236,164,0.06);border-right:3px solid rgba(255,180,76,0.85);}pre.compile_fail{border-left:2px solid rgba(255,0,0,.4);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.4);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#39AFD7;}.tooltip::after{background-color:#314559;color:#c5c5c5;border:1px solid #5c6773;}.tooltip::before{border-color:transparent #314559 transparent transparent;}.notable-traits-tooltiptext{background-color:#314559;border-color:#5c6773;}.notable-traits-tooltiptext .notable{border-bottom-color:#5c6773;}#titles>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#titles>button:not(.selected){background-color:transparent !important;border:none;}#titles>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#titles>button>div.count{color:#888;}.search-input:focus{}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{}.content span.struct,.content a.struct,.block a.current.struct{}#titles>button:hover,#titles>button.selected{}.content span.typedef,.content a.typedef,.block a.current.typedef{}.content span.union,.content a.union,.block a.current.union{}pre.rust .lifetime{}.stab.unstable{}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){}.content span.enum,.content a.enum,.block a.current.enum{}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{}.content span.keyword,.content a.keyword,.block a.current.keyword{}pre.rust .comment{}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{}pre.rust .kw{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{}pre.rust .doccomment{}.stab.deprecated{}.content a.attr,.content a.derive,.content a.macro{}.stab.portability{}.content span.primitive,.content a.primitive,.block a.current.primitive{}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{}pre.rust .kw-2,pre.rust .prelude-ty{}.content span.trait,.content a.trait,.block a.current.trait{}.search-results a:focus span{}a.result-trait:focus{}a.result-traitalias:focus{}a.result-mod:focus,a.result-externcrate:focus{}a.result-mod:focus{}a.result-externcrate:focus{}a.result-enum:focus{}a.result-struct:focus{}a.result-union:focus{}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{}a.result-type:focus{}a.result-associatedtype:focus{}a.result-foreigntype:focus{}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{}a.result-constant:focus,a.result-static:focus{}a.result-primitive:focus{}a.result-keyword:focus{}.sidebar a.current.enum{}.sidebar a.current.struct{}.sidebar a.current.foreigntype{}.sidebar a.current.attr,.sidebar a.current.derive,.sidebar a.current.macro{}.sidebar a.current.union{}.sidebar a.current.constant .sidebar a.current.static{}.sidebar a.current.primitive{}.sidebar a.current.externcrate .sidebar a.current.mod{}.sidebar a.current.trait{}.sidebar a.current.traitalias{}.sidebar a.current.fn,.sidebar a.current.method,.sidebar a.current.tymethod{}.sidebar a.current.keyword{}@media (max-width:700px){.sidebar-elems{border-right-color:#5c6773;}}kbd{color:#c5c5c5;background-color:#314559;border-color:#5c6773;border-bottom-color:#5c6773;box-shadow:inset 0 -1px 0 #5c6773;}#settings-menu>a,#help-button>button{border-color:#5c6773;background-color:#0f1419;color:#fff;}#settings-menu>a img{filter:invert(100);}.popover,.popover::before,#help-button span.top,#help-button span.bottom{border-color:#5c6773;}#copy-path{color:#fff;}#copy-path>img{filter:invert(70%);}#copy-path:hover>img{filter:invert(100%);}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>button:hover,#help-button>button:focus{border-color:#e0e0e0;}#theme-choices{border-color:#5c6773;background-color:#0f1419;}#theme-choices>button:not(:first-child){border-top-color:#5c6773;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:rgba(110,110,110,0.33);}.search-results .result-name span.alias{color:#c5c5c5;}.search-results .result-name span.grey{color:#999;}#source-sidebar>.title{color:#fff;border-bottom-color:#5c6773;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:#14191f;color:#ffb44c;}#source-sidebar div.files>a.selected{background-color:#14191f;color:#ffb44c;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.more-examples-toggle summary,.more-examples-toggle .hide-more{color:#999;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(15,20,25,1),rgba(15,20,25,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(15,20,25,1),rgba(15,20,25,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file diff --git a/ch9/dark.css b/ch9/dark.css index 9d9fef3e..242423d0 100644 --- a/ch9/dark.css +++ b/ch9/dark.css @@ -1 +1 @@ -:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;}.slider{background-color:#ccc;}.slider:before{background-color:white;}input:focus+.slider{box-shadow:0 0 0 2px #0a84ff,0 0 0 6px rgba(10,132,255,0.3);}.in-band{background-color:#353535;}.rust-logo{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff)}.sidebar .current,.sidebar a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5,.docblock h6{border-bottom-color:#DDD;}.docblock table td,.docblock table th{border-color:#ddd;}.search-results a:hover{background-color:#777;}.search-results a:focus{color:#eee !important;background-color:#616161;}.search-results a:focus span{color:#eee !important;}a.result-trait:focus{background-color:#013191;}a.result-traitalias:focus{background-color:#013191;}a.result-mod:focus,a.result-externcrate:focus{background-color:#884719;}a.result-enum:focus{background-color:#194e9f;}a.result-struct:focus{background-color:#194e9f;}a.result-union:focus{background-color:#194e9f;}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{background-color:#4950ed;}a.result-type:focus{background-color:#194e9f;}a.result-associatedtype:focus{background-color:#884719;}a.result-foreigntype:focus{background-color:#194e9f;}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{background-color:#217d1c;}a.result-constant:focus,a.result-static:focus{background-color:#884719;}a.result-primitive:focus{background-color:#194e9f;}a.result-keyword:focus{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#2dbfb8;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#2dbfb8;}.content span.associatedtype,.content a.associatedtype,.block a.current.associatedtype{color:#D2991D;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#2dbfb8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#2dbfb8;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#D2991D;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2dbfb8;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#D2991D;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b78cf2;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#D2991D;}.sidebar a{color:#fdbf35;}.sidebar a.current.enum{color:#12ece2;}.sidebar a.current.struct{color:#12ece2;}.sidebar a.current.type{color:#12ece2;}.sidebar a.current.associatedtype{color:#fdbf35;}.sidebar a.current.foreigntype{color:#12ece2;}.sidebar a.current.attr,.sidebar a.current.derive,.sidebar a.current.macro{color:#0be900;}.sidebar a.current.union{color:#12ece2;}.sidebar a.current.constant .sidebar a.current.static{color:#fdbf35;}.sidebar a.current.primitive{color:#12ece2;}.sidebar a.current.externcrate .sidebar a.current.mod{color:#fdbf35;}.sidebar a.current.trait{color:#cca7ff;}.sidebar a.current.traitalias{color:#cca7ff;}.sidebar a.current.fn,.sidebar a.current.method,.sidebar a.current.tymethod{color:#32d479;}.sidebar a.current.keyword{color:#fdbf35;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#D2991D;}body.source .example-wrap pre.rust a{background:#333;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before{color:#999;}details.rustdoc-toggle>summary::before{filter:invert(100%);}#crate-search,.search-input{color:#111;background-color:#f0f0f0;border-color:#f0f0f0 !important;}.search-input{border-color:#e0e0e0;}.search-input:focus{border-color:#008dfd;}.stab.empty-impl{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;color:#2f2f2f;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;color:#2f2f2f;}.stab.portability>code{background:none;}.rightside,.out-of-band{color:grey;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{color:#dedede;background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label,.code-attribute{color:#999;}:target{background-color:#494a3d;border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}.notable-traits-tooltiptext .notable{border-bottom-color:#d2d2d2;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-elems{border-right-color:#000;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow:inset 0 -1px 0 #c6cbd1;}#settings-menu>a,#help-button>button{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>button:hover,#help-button>button:focus{border-color:#ffb900;}.popover,.popover::before,#help-button span.top,#help-button span.bottom{border-color:#d2d2d2;}#copy-path{color:#999;}#copy-path>img{filter:invert(50%);}#copy-path:hover>img{filter:invert(65%);}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}.search-results .result-name span.alias{color:#fff;}.search-results .result-name span.grey{color:#ccc;}#source-sidebar>.title{border-bottom-color:#ccc;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:#444;}#source-sidebar div.files>a.selected{background-color:#333;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.more-examples-toggle summary,.more-examples-toggle .hide-more{color:#999;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(53,53,53,1),rgba(53,53,53,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(53,53,53,1),rgba(53,53,53,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file +:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;}.slider{background-color:#ccc;}.slider:before{background-color:white;}input:focus+.slider{box-shadow:0 0 0 2px #0a84ff,0 0 0 6px rgba(10,132,255,0.3);}.in-band{background-color:#353535;}.rust-logo{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff)}.sidebar .current,.sidebar a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock table td,.docblock table th{border-color:#ddd;}.search-results a:hover{background-color:#777;}.search-results a:focus{color:#eee !important;background-color:#616161;}.search-results a:focus span{color:#eee !important;}a.result-trait:focus{background-color:#013191;}a.result-traitalias:focus{background-color:#013191;}a.result-mod:focus,a.result-externcrate:focus{background-color:#884719;}a.result-enum:focus{background-color:#194e9f;}a.result-struct:focus{background-color:#194e9f;}a.result-union:focus{background-color:#194e9f;}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{background-color:#4950ed;}a.result-type:focus{background-color:#194e9f;}a.result-associatedtype:focus{background-color:#884719;}a.result-foreigntype:focus{background-color:#194e9f;}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{background-color:#217d1c;}a.result-constant:focus,a.result-static:focus{background-color:#884719;}a.result-primitive:focus{background-color:#194e9f;}a.result-keyword:focus{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#2dbfb8;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#2dbfb8;}.content span.associatedtype,.content a.associatedtype,.block a.current.associatedtype{color:#D2991D;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#2dbfb8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#2dbfb8;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#D2991D;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2dbfb8;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#D2991D;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b78cf2;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#D2991D;}.sidebar a{color:#fdbf35;}.sidebar a.current.enum{color:#12ece2;}.sidebar a.current.struct{color:#12ece2;}.sidebar a.current.type{color:#12ece2;}.sidebar a.current.associatedtype{color:#fdbf35;}.sidebar a.current.foreigntype{color:#12ece2;}.sidebar a.current.attr,.sidebar a.current.derive,.sidebar a.current.macro{color:#0be900;}.sidebar a.current.union{color:#12ece2;}.sidebar a.current.constant .sidebar a.current.static{color:#fdbf35;}.sidebar a.current.primitive{color:#12ece2;}.sidebar a.current.externcrate .sidebar a.current.mod{color:#fdbf35;}.sidebar a.current.trait{color:#cca7ff;}.sidebar a.current.traitalias{color:#cca7ff;}.sidebar a.current.fn,.sidebar a.current.method,.sidebar a.current.tymethod{color:#32d479;}.sidebar a.current.keyword{color:#fdbf35;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#D2991D;}body.source .example-wrap pre.rust a{background:#333;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before{color:#999;}details.rustdoc-toggle>summary::before{filter:invert(100%);}#crate-search,.search-input{color:#111;background-color:#f0f0f0;border-color:#f0f0f0;}#crate-search{border-color:#f0f0f0 !important;}.search-input{border-color:#e0e0e0;}.search-input:focus{border-color:#008dfd;}.stab.empty-impl{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;color:#2f2f2f;}.stab.must_implement{background:#F3DFFF;border-color:#b07bdb;color:#2f2f2f;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;color:#2f2f2f;}.stab.portability>code{background:none;}.rightside,.out-of-band{color:grey;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{color:#dedede;background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label,.code-attribute{color:#999;}:target{background-color:#494a3d;border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}.notable-traits-tooltiptext .notable{border-bottom-color:#d2d2d2;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-elems{border-right-color:#000;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow:inset 0 -1px 0 #c6cbd1;}#settings-menu>a,#help-button>button{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>button:hover,#help-button>button:focus{border-color:#ffb900;}.popover,.popover::before,#help-button span.top,#help-button span.bottom{border-color:#d2d2d2;}#copy-path{color:#999;}#copy-path>img{filter:invert(50%);}#copy-path:hover>img{filter:invert(65%);}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}.search-results .result-name span.alias{color:#fff;}.search-results .result-name span.grey{color:#ccc;}#source-sidebar>.title{border-bottom-color:#ccc;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:#444;}#source-sidebar div.files>a.selected{background-color:#333;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.more-examples-toggle summary,.more-examples-toggle .hide-more{color:#999;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(53,53,53,1),rgba(53,53,53,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(53,53,53,1),rgba(53,53,53,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file diff --git a/ch9/light.css b/ch9/light.css index 2d072f5f..a71085b0 100644 --- a/ch9/light.css +++ b/ch9/light.css @@ -1 +1 @@ -:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--sidebar-background-color:#F5F5F5;--sidebar-background-color-hover:#E0E0E0;--code-block-background-color:#F5F5F5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;}.slider{background-color:#ccc;}.slider:before{background-color:white;}input:focus+.slider{box-shadow:0 0 0 2px #0a84ff,0 0 0 6px rgba(10,132,255,0.3);}.in-band{background-color:white;}.rust-logo{}.sidebar .current,.sidebar a:hover{background-color:#fff;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#FDFFD3 !important;}.docblock table td,.docblock table th{border-color:#ddd;}.search-results a:hover{background-color:#ddd;}.search-results a:focus{color:#000 !important;background-color:#ccc;}.search-results a:focus span{color:#000 !important;}a.result-trait:focus{background-color:#c7b6ff;}a.result-traitalias:focus{background-color:#c7b6ff;}a.result-mod:focus,a.result-externcrate:focus{background-color:#afc6e4;}a.result-enum:focus{background-color:#e7b1a0;}a.result-struct:focus{background-color:#e7b1a0;}a.result-union:focus{background-color:#e7b1a0;}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{background-color:#c6afb3;}a.result-type:focus{background-color:#e7b1a0;}a.result-associatedtype:focus{background-color:#afc6e4;}a.result-foreigntype:focus{background-color:#e7b1a0;}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{background-color:#8ce488;}a.result-constant:focus,a.result-static:focus{background-color:#afc6e4;}a.result-primitive:focus{background-color:#e7b1a0;}a.result-keyword:focus{background-color:#afc6e4;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#AD378A;}.content span.struct,.content a.struct,.block a.current.struct{color:#AD378A;}.content span.type,.content a.type,.block a.current.type{color:#AD378A;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#3873AD;}.content span.associatedtype,.content a.associatedtype,.block a.current.associatedtype{color:#3873AD;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#AD378A;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#3873AD;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#AD378A;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#3873AD;}.content span.trait,.content a.trait,.block a.current.trait{color:#6E4FC9;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#5137AD;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#AD7C37;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#3873AD;}.sidebar a{color:#356da4;}.sidebar a.current.enum{color:#a63283;}.sidebar a.current.struct{color:#a63283;}.sidebar a.current.type{color:#a63283;}.sidebar a.current.associatedtype{color:#356da4;}.sidebar a.current.foreigntype{color:#356da4;}.sidebar a.current.attr,.sidebar a.current.derive,.sidebar a.current.macro{color:#067901;}.sidebar a.current.union{color:#a63283;}.sidebar a.current.constant .sidebar a.current.static{color:#356da4;}.sidebar a.current.primitive{color:#a63283;}.sidebar a.current.externcrate .sidebar a.current.mod{color:#356da4;}.sidebar a.current.trait{color:#6849c3;}.sidebar a.current.traitalias{color:#4b349e;}.sidebar a.current.fn,.sidebar a.current.method,.sidebar a.current.tymethod{color:#a67736;}.sidebar a.current.keyword{color:#356da4;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#3873AD;}body.source .example-wrap pre.rust a{background:#eee;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before{color:#999;}#crate-search,.search-input{background-color:white;border-color:#e0e0e0 !important;}.search-input:focus{border-color:#66afe9;}.stab.empty-impl{background:#FFF5D6;border-color:#FFC600;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;}.stab.portability>code{background:none;}.rightside,.out-of-band{color:grey;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{color:#f5f5f5;background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label,.code-attribute{color:#999;}:target{background:#FDFFD3;border-right:3px solid #AD7C37;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#3873AD;}.tooltip::after{background-color:#000;color:#fff;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#eee;border-color:#999;}.notable-traits-tooltiptext .notable{border-bottom-color:#DDDDDD;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-elems{border-right-color:#000;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow:inset 0 -1px 0 #c6cbd1;}#settings-menu>a,#help-button>button{border-color:#e0e0e0;background-color:#fff;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>button:hover,#help-button>button:focus{border-color:#717171;}.popover,.popover::before,#help-button span.top,#help-button span.bottom{border-color:#DDDDDD;}#copy-path{color:#999;}#copy-path>img{filter:invert(50%);}#copy-path:hover>img{filter:invert(35%);}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}.search-results .result-name span.alias{color:#000;}.search-results .result-name span.grey{color:#999;}#source-sidebar>.title{border-bottom-color:#ccc;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:#E0E0E0;}#source-sidebar div.files>a.selected{background-color:#fff;}.scraped-example-list .scrape-help{border-color:#555;color:#333;}.scraped-example-list .scrape-help:hover{border-color:black;color:black;}.more-examples-toggle summary,.more-examples-toggle .hide-more{color:#999;}.scraped-example .example-wrap .rust span.highlight{background:#fcffd6;}.scraped-example .example-wrap .rust span.highlight.focus{background:#f6fdb0;}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(255,255,255,1),rgba(255,255,255,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(255,255,255,1),rgba(255,255,255,0));}.toggle-line-inner{background:#ccc;}.toggle-line:hover .toggle-line-inner{background:#999;} \ No newline at end of file +:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--sidebar-background-color:#F5F5F5;--sidebar-background-color-hover:#E0E0E0;--code-block-background-color:#F5F5F5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;}.slider{background-color:#ccc;}.slider:before{background-color:white;}input:focus+.slider{box-shadow:0 0 0 2px #0a84ff,0 0 0 6px rgba(10,132,255,0.3);}.in-band{background-color:white;}.rust-logo{}.sidebar .current,.sidebar a:hover{background-color:#fff;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#FDFFD3 !important;}.docblock table td,.docblock table th{border-color:#ddd;}.search-results a:hover{background-color:#ddd;}.search-results a:focus{color:#000 !important;background-color:#ccc;}.search-results a:focus span{color:#000 !important;}a.result-trait:focus{background-color:#c7b6ff;}a.result-traitalias:focus{background-color:#c7b6ff;}a.result-mod:focus,a.result-externcrate:focus{background-color:#afc6e4;}a.result-enum:focus{background-color:#e7b1a0;}a.result-struct:focus{background-color:#e7b1a0;}a.result-union:focus{background-color:#e7b1a0;}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{background-color:#c6afb3;}a.result-type:focus{background-color:#e7b1a0;}a.result-associatedtype:focus{background-color:#afc6e4;}a.result-foreigntype:focus{background-color:#e7b1a0;}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{background-color:#8ce488;}a.result-constant:focus,a.result-static:focus{background-color:#afc6e4;}a.result-primitive:focus{background-color:#e7b1a0;}a.result-keyword:focus{background-color:#afc6e4;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#AD378A;}.content span.struct,.content a.struct,.block a.current.struct{color:#AD378A;}.content span.type,.content a.type,.block a.current.type{color:#AD378A;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#3873AD;}.content span.associatedtype,.content a.associatedtype,.block a.current.associatedtype{color:#3873AD;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#AD378A;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#3873AD;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#AD378A;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#3873AD;}.content span.trait,.content a.trait,.block a.current.trait{color:#6E4FC9;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#5137AD;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#AD7C37;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#3873AD;}.sidebar a{color:#356da4;}.sidebar a.current.enum{color:#a63283;}.sidebar a.current.struct{color:#a63283;}.sidebar a.current.type{color:#a63283;}.sidebar a.current.associatedtype{color:#356da4;}.sidebar a.current.foreigntype{color:#356da4;}.sidebar a.current.attr,.sidebar a.current.derive,.sidebar a.current.macro{color:#067901;}.sidebar a.current.union{color:#a63283;}.sidebar a.current.constant .sidebar a.current.static{color:#356da4;}.sidebar a.current.primitive{color:#a63283;}.sidebar a.current.externcrate .sidebar a.current.mod{color:#356da4;}.sidebar a.current.trait{color:#6849c3;}.sidebar a.current.traitalias{color:#4b349e;}.sidebar a.current.fn,.sidebar a.current.method,.sidebar a.current.tymethod{color:#a67736;}.sidebar a.current.keyword{color:#356da4;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#3873AD;}body.source .example-wrap pre.rust a{background:#eee;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before{color:#999;}#crate-search,.search-input{background-color:white;border-color:#e0e0e0;}#crate-search{border-color:#e0e0e0 !important;}.search-input:focus{border-color:#66afe9;}.stab.empty-impl{background:#FFF5D6;border-color:#FFC600;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;}.stab.must_implement{background:#F3DFFF;border-color:#b07bdb;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;}.stab.portability>code{background:none;}.rightside,.out-of-band{color:grey;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{color:#f5f5f5;background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label,.code-attribute{color:#999;}:target{background:#FDFFD3;border-right:3px solid #AD7C37;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#3873AD;}.tooltip::after{background-color:#000;color:#fff;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#eee;border-color:#999;}.notable-traits-tooltiptext .notable{border-bottom-color:#DDDDDD;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-elems{border-right-color:#000;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow:inset 0 -1px 0 #c6cbd1;}#settings-menu>a,#help-button>button{border-color:#e0e0e0;background-color:#fff;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>button:hover,#help-button>button:focus{border-color:#717171;}.popover,.popover::before,#help-button span.top,#help-button span.bottom{border-color:#DDDDDD;}#copy-path{color:#999;}#copy-path>img{filter:invert(50%);}#copy-path:hover>img{filter:invert(35%);}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}.search-results .result-name span.alias{color:#000;}.search-results .result-name span.grey{color:#999;}#source-sidebar>.title{border-bottom-color:#ccc;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:#E0E0E0;}#source-sidebar div.files>a.selected{background-color:#fff;}.scraped-example-list .scrape-help{border-color:#555;color:#333;}.scraped-example-list .scrape-help:hover{border-color:black;color:black;}.more-examples-toggle summary,.more-examples-toggle .hide-more{color:#999;}.scraped-example .example-wrap .rust span.highlight{background:#fcffd6;}.scraped-example .example-wrap .rust span.highlight.focus{background:#f6fdb0;}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(255,255,255,1),rgba(255,255,255,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(255,255,255,1),rgba(255,255,255,0));}.toggle-line-inner{background:#ccc;}.toggle-line:hover .toggle-line-inner{background:#999;} \ No newline at end of file diff --git a/ch9/main.js b/ch9/main.js index c13781ff..c2141ac5 100644 --- a/ch9/main.js +++ b/ch9/main.js @@ -3,6 +3,6 @@ restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ enum, trait, type, macro, \ and const.","Search functions by type signature (e.g., vec -> usize or \ - * -> vec)","Search multiple things at once by splitting your query with comma (e.g., \ + -> vec)","Search multiple things at once by splitting your query with comma (e.g., \ str,u8 or String,struct:Vec,test)","You can look for items with an exact name by putting double quotes around \ your request: \"string\"","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

"+x+"

").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

Search Tricks

"+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");container.className="popover";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;container.onclick=event=>{event.preventDefault()};help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler;return container}window.hidePopoverMenus=function(){onEachLazy(document.querySelectorAll(".search-container .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hidePopoverMenus();menu.style.display=""}}document.querySelector(`#${HELP_BUTTON_ID} > button`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="BUTTON"||target.parentElement.id!==HELP_BUTTON_ID){return}const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}});setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){let reset_button_timeout=null;window.copy_path=but=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/ch9/os/all.html b/ch9/os/all.html index 0bcf171d..adc99142 100644 --- a/ch9/os/all.html +++ b/ch9/os/all.html @@ -1,8 +1 @@ -List of all items in this crate -

List of all items

Structs

Enums

Traits

Macros

Functions

Typedefs

Statics

Constants

- \ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Typedefs

Statics

Constants

\ No newline at end of file diff --git a/ch9/os/board/constant.CLOCK_FREQ.html b/ch9/os/board/constant.CLOCK_FREQ.html index aa6cb1ed..a68a583e 100644 --- a/ch9/os/board/constant.CLOCK_FREQ.html +++ b/ch9/os/board/constant.CLOCK_FREQ.html @@ -1,9 +1 @@ -CLOCK_FREQ in os::board - Rust -
-

Constant os::board::CLOCK_FREQ

source · []
pub const CLOCK_FREQ: usize = 12500000;
- \ No newline at end of file +CLOCK_FREQ in os::board - Rust
pub const CLOCK_FREQ: usize = 12500000;
\ No newline at end of file diff --git a/ch9/os/board/constant.EXIT_FAILURE.html b/ch9/os/board/constant.EXIT_FAILURE.html index a6601ad9..6e82457e 100644 --- a/ch9/os/board/constant.EXIT_FAILURE.html +++ b/ch9/os/board/constant.EXIT_FAILURE.html @@ -1,9 +1 @@ -EXIT_FAILURE in os::board - Rust -
-

Constant os::board::EXIT_FAILURE

source · []
const EXIT_FAILURE: u32 = _; // 78_643u32
- \ No newline at end of file +EXIT_FAILURE in os::board - Rust
const EXIT_FAILURE: u32 = _; // 78_643u32
\ No newline at end of file diff --git a/ch9/os/board/constant.EXIT_FAILURE_FLAG.html b/ch9/os/board/constant.EXIT_FAILURE_FLAG.html index e341b59a..2f277bfc 100644 --- a/ch9/os/board/constant.EXIT_FAILURE_FLAG.html +++ b/ch9/os/board/constant.EXIT_FAILURE_FLAG.html @@ -1,9 +1 @@ -EXIT_FAILURE_FLAG in os::board - Rust -
const EXIT_FAILURE_FLAG: u32 = 0x3333;
- \ No newline at end of file +EXIT_FAILURE_FLAG in os::board - Rust
const EXIT_FAILURE_FLAG: u32 = 0x3333;
\ No newline at end of file diff --git a/ch9/os/board/constant.EXIT_RESET.html b/ch9/os/board/constant.EXIT_RESET.html index b29d1b73..1615245b 100644 --- a/ch9/os/board/constant.EXIT_RESET.html +++ b/ch9/os/board/constant.EXIT_RESET.html @@ -1,9 +1 @@ -EXIT_RESET in os::board - Rust -
-

Constant os::board::EXIT_RESET

source · []
const EXIT_RESET: u32 = 0x7777;
- \ No newline at end of file +EXIT_RESET in os::board - Rust
const EXIT_RESET: u32 = 0x7777;
\ No newline at end of file diff --git a/ch9/os/board/constant.EXIT_SUCCESS.html b/ch9/os/board/constant.EXIT_SUCCESS.html index a9a9b64e..dee8641f 100644 --- a/ch9/os/board/constant.EXIT_SUCCESS.html +++ b/ch9/os/board/constant.EXIT_SUCCESS.html @@ -1,9 +1 @@ -EXIT_SUCCESS in os::board - Rust -
-

Constant os::board::EXIT_SUCCESS

source · []
const EXIT_SUCCESS: u32 = 0x5555;
- \ No newline at end of file +EXIT_SUCCESS in os::board - Rust
const EXIT_SUCCESS: u32 = 0x5555;
\ No newline at end of file diff --git a/ch9/os/board/constant.MMIO.html b/ch9/os/board/constant.MMIO.html index d07165ff..362661b9 100644 --- a/ch9/os/board/constant.MMIO.html +++ b/ch9/os/board/constant.MMIO.html @@ -1,9 +1 @@ -MMIO in os::board - Rust -
-

Constant os::board::MMIO

source · []
pub const MMIO: &[(usize, usize)];
- \ No newline at end of file +MMIO in os::board - Rust

Constant os::board::MMIO

source · []
pub const MMIO: &'static [(usize, usize)];
\ No newline at end of file diff --git a/ch9/os/board/constant.QEMU_EXIT_HANDLE.html b/ch9/os/board/constant.QEMU_EXIT_HANDLE.html index 80f89cf1..b538852d 100644 --- a/ch9/os/board/constant.QEMU_EXIT_HANDLE.html +++ b/ch9/os/board/constant.QEMU_EXIT_HANDLE.html @@ -1,9 +1 @@ -QEMU_EXIT_HANDLE in os::board - Rust -
pub const QEMU_EXIT_HANDLE: RISCV64;
- \ No newline at end of file +QEMU_EXIT_HANDLE in os::board - Rust
pub const QEMU_EXIT_HANDLE: RISCV64;
\ No newline at end of file diff --git a/ch9/os/board/constant.VIRTGPU_XRES.html b/ch9/os/board/constant.VIRTGPU_XRES.html index 904318d5..eb07afa0 100644 --- a/ch9/os/board/constant.VIRTGPU_XRES.html +++ b/ch9/os/board/constant.VIRTGPU_XRES.html @@ -1,9 +1 @@ -VIRTGPU_XRES in os::board - Rust -
-

Constant os::board::VIRTGPU_XRES

source · []
pub const VIRTGPU_XRES: u32 = 1280;
- \ No newline at end of file +VIRTGPU_XRES in os::board - Rust
pub const VIRTGPU_XRES: u32 = 1280;
\ No newline at end of file diff --git a/ch9/os/board/constant.VIRTGPU_YRES.html b/ch9/os/board/constant.VIRTGPU_YRES.html index 14803e98..1a6357c5 100644 --- a/ch9/os/board/constant.VIRTGPU_YRES.html +++ b/ch9/os/board/constant.VIRTGPU_YRES.html @@ -1,9 +1 @@ -VIRTGPU_YRES in os::board - Rust -
-

Constant os::board::VIRTGPU_YRES

source · []
pub const VIRTGPU_YRES: u32 = 800;
- \ No newline at end of file +VIRTGPU_YRES in os::board - Rust
pub const VIRTGPU_YRES: u32 = 800;
\ No newline at end of file diff --git a/ch9/os/board/constant.VIRT_PLIC.html b/ch9/os/board/constant.VIRT_PLIC.html index 053d01de..c80abcfd 100644 --- a/ch9/os/board/constant.VIRT_PLIC.html +++ b/ch9/os/board/constant.VIRT_PLIC.html @@ -1,9 +1 @@ -VIRT_PLIC in os::board - Rust -
-

Constant os::board::VIRT_PLIC

source · []
pub const VIRT_PLIC: usize = 0xC00_0000;
- \ No newline at end of file +VIRT_PLIC in os::board - Rust
pub const VIRT_PLIC: usize = 0xC00_0000;
\ No newline at end of file diff --git a/ch9/os/board/constant.VIRT_TEST.html b/ch9/os/board/constant.VIRT_TEST.html index b0ae0e53..ca007fd9 100644 --- a/ch9/os/board/constant.VIRT_TEST.html +++ b/ch9/os/board/constant.VIRT_TEST.html @@ -1,9 +1 @@ -VIRT_TEST in os::board - Rust -
-

Constant os::board::VIRT_TEST

source · []
const VIRT_TEST: u64 = 0x100000;
- \ No newline at end of file +VIRT_TEST in os::board - Rust
const VIRT_TEST: u64 = 0x100000;
\ No newline at end of file diff --git a/ch9/os/board/constant.VIRT_UART.html b/ch9/os/board/constant.VIRT_UART.html index d495ac77..16db01b9 100644 --- a/ch9/os/board/constant.VIRT_UART.html +++ b/ch9/os/board/constant.VIRT_UART.html @@ -1,9 +1 @@ -VIRT_UART in os::board - Rust -
-

Constant os::board::VIRT_UART

source · []
pub const VIRT_UART: usize = 0x1000_0000;
- \ No newline at end of file +VIRT_UART in os::board - Rust
pub const VIRT_UART: usize = 0x1000_0000;
\ No newline at end of file diff --git a/ch9/os/board/fn.device_init.html b/ch9/os/board/fn.device_init.html index 838231e8..4a966534 100644 --- a/ch9/os/board/fn.device_init.html +++ b/ch9/os/board/fn.device_init.html @@ -1,9 +1 @@ -device_init in os::board - Rust -
-

Function os::board::device_init

source · []
pub fn device_init()
- \ No newline at end of file +device_init in os::board - Rust
pub fn device_init()
\ No newline at end of file diff --git a/ch9/os/board/fn.exit_code_encode.html b/ch9/os/board/fn.exit_code_encode.html index 62089ba6..5594b373 100644 --- a/ch9/os/board/fn.exit_code_encode.html +++ b/ch9/os/board/fn.exit_code_encode.html @@ -1,10 +1,2 @@ -exit_code_encode in os::board - Rust -
const fn exit_code_encode(code: u32) -> u32
Expand description

Encode the exit code using EXIT_FAILURE_FLAG.

-
- \ No newline at end of file +exit_code_encode in os::board - Rust
const fn exit_code_encode(code: u32) -> u32
Expand description

Encode the exit code using EXIT_FAILURE_FLAG.

+
\ No newline at end of file diff --git a/ch9/os/board/fn.irq_handler.html b/ch9/os/board/fn.irq_handler.html index 69c1f0f7..614cea72 100644 --- a/ch9/os/board/fn.irq_handler.html +++ b/ch9/os/board/fn.irq_handler.html @@ -1,9 +1 @@ -irq_handler in os::board - Rust -
-

Function os::board::irq_handler

source · []
pub fn irq_handler()
- \ No newline at end of file +irq_handler in os::board - Rust
pub fn irq_handler()
\ No newline at end of file diff --git a/ch9/os/board/index.html b/ch9/os/board/index.html index 7215b72a..9695a267 100644 --- a/ch9/os/board/index.html +++ b/ch9/os/board/index.html @@ -1,16 +1,3 @@ -os::board - Rust -
-

Module os::board

source · []

Structs

-

RISCV64 configuration

-

Constants

-

Traits

-

Functions

-

Encode the exit code using EXIT_FAILURE_FLAG.

-

Type Definitions

-
- \ No newline at end of file +os::board - Rust

Module os::board

source · []

Structs

RISCV64 configuration

+

Constants

Traits

Functions

Encode the exit code using EXIT_FAILURE_FLAG.

+

Type Definitions

\ No newline at end of file diff --git a/ch9/os/board/struct.RISCV64.html b/ch9/os/board/struct.RISCV64.html index 681c19be..653860bd 100644 --- a/ch9/os/board/struct.RISCV64.html +++ b/ch9/os/board/struct.RISCV64.html @@ -1,11 +1,4 @@ -RISCV64 in os::board - Rust -
-

Struct os::board::RISCV64

source · []
pub struct RISCV64 {
+RISCV64 in os::board - Rust
pub struct RISCV64 {
     addr: u64,
 }
Expand description

RISCV64 configuration

Fields

addr: u64

Address of the sifive_test mapped device.

@@ -28,13 +21,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/board/trait.QEMUExit.html b/ch9/os/board/trait.QEMUExit.html index 9f2942f7..3409addd 100644 --- a/ch9/os/board/trait.QEMUExit.html +++ b/ch9/os/board/trait.QEMUExit.html @@ -1,11 +1,4 @@ -QEMUExit in os::board - Rust -
pub trait QEMUExit {
+QEMUExit in os::board - Rust
pub trait QEMUExit {
     fn exit(&self, code: u32) -> !;
     fn exit_success(&self) -> !;
     fn exit_failure(&self) -> !;
@@ -14,5 +7,4 @@
 

Exit QEMU using EXIT_SUCCESS, aka 0, if possible.

Note: Not possible for X86.

Exit QEMU using EXIT_FAILURE, aka 1.

-

Implementors

- \ No newline at end of file +

Implementors

\ No newline at end of file diff --git a/ch9/os/board/type.BlockDeviceImpl.html b/ch9/os/board/type.BlockDeviceImpl.html index 2d2f2eb3..9d278a0b 100644 --- a/ch9/os/board/type.BlockDeviceImpl.html +++ b/ch9/os/board/type.BlockDeviceImpl.html @@ -1,9 +1 @@ -BlockDeviceImpl in os::board - Rust -
-

Type Definition os::board::BlockDeviceImpl

source · []
pub type BlockDeviceImpl = VirtIOBlock;
- \ No newline at end of file +BlockDeviceImpl in os::board - Rust

Type Definition os::board::BlockDeviceImpl

source · []
pub type BlockDeviceImpl = VirtIOBlock;
\ No newline at end of file diff --git a/ch9/os/board/type.CharDeviceImpl.html b/ch9/os/board/type.CharDeviceImpl.html index 8bd8b91d..eeb8d1ba 100644 --- a/ch9/os/board/type.CharDeviceImpl.html +++ b/ch9/os/board/type.CharDeviceImpl.html @@ -1,9 +1 @@ -CharDeviceImpl in os::board - Rust -
-

Type Definition os::board::CharDeviceImpl

source · []
pub type CharDeviceImpl = NS16550a<VIRT_UART>;
- \ No newline at end of file +CharDeviceImpl in os::board - Rust

Type Definition os::board::CharDeviceImpl

source · []
pub type CharDeviceImpl = NS16550a<VIRT_UART>;
\ No newline at end of file diff --git a/ch9/os/config/constant.KERNEL_HEAP_SIZE.html b/ch9/os/config/constant.KERNEL_HEAP_SIZE.html index 837a462c..1464f8d0 100644 --- a/ch9/os/config/constant.KERNEL_HEAP_SIZE.html +++ b/ch9/os/config/constant.KERNEL_HEAP_SIZE.html @@ -1,9 +1 @@ -KERNEL_HEAP_SIZE in os::config - Rust -
pub const KERNEL_HEAP_SIZE: usize = 0x100_0000;
- \ No newline at end of file +KERNEL_HEAP_SIZE in os::config - Rust
pub const KERNEL_HEAP_SIZE: usize = 0x100_0000;
\ No newline at end of file diff --git a/ch9/os/config/constant.KERNEL_STACK_SIZE.html b/ch9/os/config/constant.KERNEL_STACK_SIZE.html index 908a0a46..1b904b59 100644 --- a/ch9/os/config/constant.KERNEL_STACK_SIZE.html +++ b/ch9/os/config/constant.KERNEL_STACK_SIZE.html @@ -1,9 +1 @@ -KERNEL_STACK_SIZE in os::config - Rust -
pub const KERNEL_STACK_SIZE: usize = _; // 8_192usize
- \ No newline at end of file +KERNEL_STACK_SIZE in os::config - Rust
pub const KERNEL_STACK_SIZE: usize = _; // 8_192usize
\ No newline at end of file diff --git a/ch9/os/config/constant.MEMORY_END.html b/ch9/os/config/constant.MEMORY_END.html index 4a96e4af..788d6b6f 100644 --- a/ch9/os/config/constant.MEMORY_END.html +++ b/ch9/os/config/constant.MEMORY_END.html @@ -1,9 +1 @@ -MEMORY_END in os::config - Rust -
-

Constant os::config::MEMORY_END

source · []
pub const MEMORY_END: usize = 0x88000000;
- \ No newline at end of file +MEMORY_END in os::config - Rust
pub const MEMORY_END: usize = 0x88000000;
\ No newline at end of file diff --git a/ch9/os/config/constant.PAGE_SIZE.html b/ch9/os/config/constant.PAGE_SIZE.html index 5a344d16..2cde57e7 100644 --- a/ch9/os/config/constant.PAGE_SIZE.html +++ b/ch9/os/config/constant.PAGE_SIZE.html @@ -1,9 +1 @@ -PAGE_SIZE in os::config - Rust -
-

Constant os::config::PAGE_SIZE

source · []
pub const PAGE_SIZE: usize = 0x1000;
- \ No newline at end of file +PAGE_SIZE in os::config - Rust
pub const PAGE_SIZE: usize = 0x1000;
\ No newline at end of file diff --git a/ch9/os/config/constant.PAGE_SIZE_BITS.html b/ch9/os/config/constant.PAGE_SIZE_BITS.html index ab1593ab..344521b7 100644 --- a/ch9/os/config/constant.PAGE_SIZE_BITS.html +++ b/ch9/os/config/constant.PAGE_SIZE_BITS.html @@ -1,9 +1 @@ -PAGE_SIZE_BITS in os::config - Rust -
pub const PAGE_SIZE_BITS: usize = 0xc;
- \ No newline at end of file +PAGE_SIZE_BITS in os::config - Rust
pub const PAGE_SIZE_BITS: usize = 0xc;
\ No newline at end of file diff --git a/ch9/os/config/constant.TRAMPOLINE.html b/ch9/os/config/constant.TRAMPOLINE.html index 9643ef46..e8ad9b28 100644 --- a/ch9/os/config/constant.TRAMPOLINE.html +++ b/ch9/os/config/constant.TRAMPOLINE.html @@ -1,9 +1 @@ -TRAMPOLINE in os::config - Rust -
-

Constant os::config::TRAMPOLINE

source · []
pub const TRAMPOLINE: usize = _; // 18_446_744_073_709_547_520usize
- \ No newline at end of file +TRAMPOLINE in os::config - Rust
pub const TRAMPOLINE: usize = _; // 18_446_744_073_709_547_520usize
\ No newline at end of file diff --git a/ch9/os/config/constant.TRAP_CONTEXT_BASE.html b/ch9/os/config/constant.TRAP_CONTEXT_BASE.html index 99480589..b1099f59 100644 --- a/ch9/os/config/constant.TRAP_CONTEXT_BASE.html +++ b/ch9/os/config/constant.TRAP_CONTEXT_BASE.html @@ -1,9 +1 @@ -TRAP_CONTEXT_BASE in os::config - Rust -
pub const TRAP_CONTEXT_BASE: usize = _; // 18_446_744_073_709_543_424usize
- \ No newline at end of file +TRAP_CONTEXT_BASE in os::config - Rust
pub const TRAP_CONTEXT_BASE: usize = _; // 18_446_744_073_709_543_424usize
\ No newline at end of file diff --git a/ch9/os/config/constant.USER_STACK_SIZE.html b/ch9/os/config/constant.USER_STACK_SIZE.html index c359572c..cc3a1f09 100644 --- a/ch9/os/config/constant.USER_STACK_SIZE.html +++ b/ch9/os/config/constant.USER_STACK_SIZE.html @@ -1,9 +1 @@ -USER_STACK_SIZE in os::config - Rust -
pub const USER_STACK_SIZE: usize = _; // 8_192usize
- \ No newline at end of file +USER_STACK_SIZE in os::config - Rust
pub const USER_STACK_SIZE: usize = _; // 8_192usize
\ No newline at end of file diff --git a/ch9/os/config/index.html b/ch9/os/config/index.html index 27b02be7..4867799f 100644 --- a/ch9/os/config/index.html +++ b/ch9/os/config/index.html @@ -1,11 +1 @@ -os::config - Rust -
- \ No newline at end of file +os::config - Rust
\ No newline at end of file diff --git a/ch9/os/console/fn.print.html b/ch9/os/console/fn.print.html index de09385b..af9dbb50 100644 --- a/ch9/os/console/fn.print.html +++ b/ch9/os/console/fn.print.html @@ -1,9 +1 @@ -print in os::console - Rust -
-

Function os::console::print

source · []
pub fn print(args: Arguments<'_>)
- \ No newline at end of file +print in os::console - Rust

Function os::console::print

source · []
pub fn print(args: Arguments<'_>)
\ No newline at end of file diff --git a/ch9/os/console/index.html b/ch9/os/console/index.html index aa47fa89..175fc6ed 100644 --- a/ch9/os/console/index.html +++ b/ch9/os/console/index.html @@ -1,11 +1 @@ -os::console - Rust -
-

Module os::console

source · []

Structs

-
Stdout 🔒

Functions

-
- \ No newline at end of file +os::console - Rust
\ No newline at end of file diff --git a/ch9/os/console/struct.Stdout.html b/ch9/os/console/struct.Stdout.html index c76ebdaa..4728d3f4 100644 --- a/ch9/os/console/struct.Stdout.html +++ b/ch9/os/console/struct.Stdout.html @@ -1,11 +1,4 @@ -Stdout in os::console - Rust -
-

Struct os::console::Stdout

source · []
struct Stdout;

Trait Implementations

Writes a string slice into this writer, returning whether the write +Stdout in os::console - Rust

struct Stdout;

Trait Implementations

Writes a string slice into this writer, returning whether the write succeeded. Read more

Writes a char into this writer, returning whether the write succeeded. Read more

Glue for usage of the write! macro with implementors of this trait. Read more

@@ -24,13 +17,12 @@ succeeded.

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/block/fn.block_device_test.html b/ch9/os/drivers/block/fn.block_device_test.html index 0a1dac2d..1497f7c4 100644 --- a/ch9/os/drivers/block/fn.block_device_test.html +++ b/ch9/os/drivers/block/fn.block_device_test.html @@ -1,9 +1 @@ -block_device_test in os::drivers::block - Rust -
pub fn block_device_test()
- \ No newline at end of file +block_device_test in os::drivers::block - Rust
pub fn block_device_test()
\ No newline at end of file diff --git a/ch9/os/drivers/block/index.html b/ch9/os/drivers/block/index.html index 13740db8..5e3671a6 100644 --- a/ch9/os/drivers/block/index.html +++ b/ch9/os/drivers/block/index.html @@ -1,13 +1 @@ -os::drivers::block - Rust -
- \ No newline at end of file +os::drivers::block - Rust
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/constant.SD_CS.html b/ch9/os/drivers/block/sdcard/constant.SD_CS.html index 9385b2a7..630ef4ea 100644 --- a/ch9/os/drivers/block/sdcard/constant.SD_CS.html +++ b/ch9/os/drivers/block/sdcard/constant.SD_CS.html @@ -1,11 +1,3 @@ -SD_CS in os::drivers::block::sdcard - Rust -
-

Constant os::drivers::block::sdcard::SD_CS

source · []
const SD_CS: u32 = 3;
Expand description

CS value passed to SPI controller, this is a dummy value as SPI0_CS3 is not mapping to anything +SD_CS in os::drivers::block::sdcard - Rust

const SD_CS: u32 = 3;
Expand description

CS value passed to SPI controller, this is a dummy value as SPI0_CS3 is not mapping to anything in the FPIOA

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/constant.SD_CS_GPIONUM.html b/ch9/os/drivers/block/sdcard/constant.SD_CS_GPIONUM.html index 68476d75..c721ece7 100644 --- a/ch9/os/drivers/block/sdcard/constant.SD_CS_GPIONUM.html +++ b/ch9/os/drivers/block/sdcard/constant.SD_CS_GPIONUM.html @@ -1,10 +1,2 @@ -SD_CS_GPIONUM in os::drivers::block::sdcard - Rust -
const SD_CS_GPIONUM: u8 = 7;
Expand description

GPIOHS GPIO number to use for controlling the SD card CS pin

-
- \ No newline at end of file +SD_CS_GPIONUM in os::drivers::block::sdcard - Rust
const SD_CS_GPIONUM: u8 = 7;
Expand description

GPIOHS GPIO number to use for controlling the SD card CS pin

+
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_MULTIPLE_BLOCK_READ.html b/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_MULTIPLE_BLOCK_READ.html index f351bd11..395b71ef 100644 --- a/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_MULTIPLE_BLOCK_READ.html +++ b/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_MULTIPLE_BLOCK_READ.html @@ -1,10 +1,2 @@ -SD_START_DATA_MULTIPLE_BLOCK_READ in os::drivers::block::sdcard - Rust -
pub const SD_START_DATA_MULTIPLE_BLOCK_READ: u8 = 0xFE;
Expand description

Data token start byte, Start Multiple Block Read

-
- \ No newline at end of file +SD_START_DATA_MULTIPLE_BLOCK_READ in os::drivers::block::sdcard - Rust
pub const SD_START_DATA_MULTIPLE_BLOCK_READ: u8 = 0xFE;
Expand description

Data token start byte, Start Multiple Block Read

+
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_MULTIPLE_BLOCK_WRITE.html b/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_MULTIPLE_BLOCK_WRITE.html index d213769d..8c5f7673 100644 --- a/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_MULTIPLE_BLOCK_WRITE.html +++ b/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_MULTIPLE_BLOCK_WRITE.html @@ -1,10 +1,2 @@ -SD_START_DATA_MULTIPLE_BLOCK_WRITE in os::drivers::block::sdcard - Rust -
pub const SD_START_DATA_MULTIPLE_BLOCK_WRITE: u8 = 0xFC;
Expand description

Data token start byte, Start Multiple Block Write

-
- \ No newline at end of file +SD_START_DATA_MULTIPLE_BLOCK_WRITE in os::drivers::block::sdcard - Rust
pub const SD_START_DATA_MULTIPLE_BLOCK_WRITE: u8 = 0xFC;
Expand description

Data token start byte, Start Multiple Block Write

+
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_SINGLE_BLOCK_READ.html b/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_SINGLE_BLOCK_READ.html index 74719cfc..d306e60a 100644 --- a/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_SINGLE_BLOCK_READ.html +++ b/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_SINGLE_BLOCK_READ.html @@ -1,10 +1,2 @@ -SD_START_DATA_SINGLE_BLOCK_READ in os::drivers::block::sdcard - Rust -
pub const SD_START_DATA_SINGLE_BLOCK_READ: u8 = 0xFE;
Expand description

Data token start byte, Start Single Block Read

-
- \ No newline at end of file +SD_START_DATA_SINGLE_BLOCK_READ in os::drivers::block::sdcard - Rust
pub const SD_START_DATA_SINGLE_BLOCK_READ: u8 = 0xFE;
Expand description

Data token start byte, Start Single Block Read

+
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_SINGLE_BLOCK_WRITE.html b/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_SINGLE_BLOCK_WRITE.html index 31314e36..656c2bef 100644 --- a/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_SINGLE_BLOCK_WRITE.html +++ b/ch9/os/drivers/block/sdcard/constant.SD_START_DATA_SINGLE_BLOCK_WRITE.html @@ -1,10 +1,2 @@ -SD_START_DATA_SINGLE_BLOCK_WRITE in os::drivers::block::sdcard - Rust -
pub const SD_START_DATA_SINGLE_BLOCK_WRITE: u8 = 0xFE;
Expand description

Data token start byte, Start Single Block Write

-
- \ No newline at end of file +SD_START_DATA_SINGLE_BLOCK_WRITE in os::drivers::block::sdcard - Rust
pub const SD_START_DATA_SINGLE_BLOCK_WRITE: u8 = 0xFE;
Expand description

Data token start byte, Start Single Block Write

+
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/constant.SEC_LEN.html b/ch9/os/drivers/block/sdcard/constant.SEC_LEN.html index af4b968b..d028f416 100644 --- a/ch9/os/drivers/block/sdcard/constant.SEC_LEN.html +++ b/ch9/os/drivers/block/sdcard/constant.SEC_LEN.html @@ -1,9 +1 @@ -SEC_LEN in os::drivers::block::sdcard - Rust -
pub const SEC_LEN: usize = 512;
- \ No newline at end of file +SEC_LEN in os::drivers::block::sdcard - Rust
pub const SEC_LEN: usize = 512;
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/enum.CMD.html b/ch9/os/drivers/block/sdcard/enum.CMD.html index b475b128..8458e910 100644 --- a/ch9/os/drivers/block/sdcard/enum.CMD.html +++ b/ch9/os/drivers/block/sdcard/enum.CMD.html @@ -1,11 +1,4 @@ -CMD in os::drivers::block::sdcard - Rust -
#[repr(u8)]
+CMD in os::drivers::block::sdcard - Rust
#[repr(u8)]
 pub enum CMD {
 
Show 15 variants CMD0, CMD8, @@ -43,7 +36,7 @@ pub enum CMD {

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

-

This method tests for !=.

+

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

@@ -62,13 +55,12 @@ by ==.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/enum.InitError.html b/ch9/os/drivers/block/sdcard/enum.InitError.html index 457aead8..046b5337 100644 --- a/ch9/os/drivers/block/sdcard/enum.InitError.html +++ b/ch9/os/drivers/block/sdcard/enum.InitError.html @@ -1,11 +1,4 @@ -InitError in os::drivers::block::sdcard - Rust -
pub enum InitError {
+InitError in os::drivers::block::sdcard - Rust
pub enum InitError {
     CMDFailed(CMDu8),
     CardCapacityStatusNotSet([u8; 4]),
     CannotGetCardInfo,
@@ -30,13 +23,12 @@
 

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/fn.init_sdcard.html b/ch9/os/drivers/block/sdcard/fn.init_sdcard.html index 87fd2d72..784f50eb 100644 --- a/ch9/os/drivers/block/sdcard/fn.init_sdcard.html +++ b/ch9/os/drivers/block/sdcard/fn.init_sdcard.html @@ -1,9 +1 @@ -init_sdcard in os::drivers::block::sdcard - Rust -
fn init_sdcard() -> SDCard<SPIImpl<SPI0>>
- \ No newline at end of file +init_sdcard in os::drivers::block::sdcard - Rust
fn init_sdcard() -> SDCard<SPIImpl<SPI0>>
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/fn.io_init.html b/ch9/os/drivers/block/sdcard/fn.io_init.html index 270f0254..4968ff1c 100644 --- a/ch9/os/drivers/block/sdcard/fn.io_init.html +++ b/ch9/os/drivers/block/sdcard/fn.io_init.html @@ -1,10 +1,2 @@ -io_init in os::drivers::block::sdcard - Rust -
fn io_init()
Expand description

Connect pins to internal functions

-
- \ No newline at end of file +io_init in os::drivers::block::sdcard - Rust
fn io_init()
Expand description

Connect pins to internal functions

+
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/index.html b/ch9/os/drivers/block/sdcard/index.html index 7edb964c..562a5e01 100644 --- a/ch9/os/drivers/block/sdcard/index.html +++ b/ch9/os/drivers/block/sdcard/index.html @@ -1,25 +1,13 @@ -os::drivers::block::sdcard - Rust -

Structs

-

Card Identification Data: CID Register

+os::drivers::block::sdcard - Rust

Structs

Card Identification Data: CID Register

Card Specific Data: CSD Register

Card information

-

Enums

-

SD commands

-

Constants

-
SD_CS 🔒

CS value passed to SPI controller, this is a dummy value as SPI0_CS3 is not mapping to anything +

Enums

SD commands

+

Constants

SD_CS 🔒

CS value passed to SPI controller, this is a dummy value as SPI0_CS3 is not mapping to anything in the FPIOA

GPIOHS GPIO number to use for controlling the SD card CS pin

Data token start byte, Start Multiple Block Read

Data token start byte, Start Multiple Block Write

Data token start byte, Start Single Block Read

Data token start byte, Start Single Block Write

-

Functions

-
io_init 🔒

Connect pins to internal functions

-
- \ No newline at end of file +

Functions

io_init 🔒

Connect pins to internal functions

+
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/struct.PERIPHERALS.html b/ch9/os/drivers/block/sdcard/struct.PERIPHERALS.html index d9ebfc6f..5d82a061 100644 --- a/ch9/os/drivers/block/sdcard/struct.PERIPHERALS.html +++ b/ch9/os/drivers/block/sdcard/struct.PERIPHERALS.html @@ -1,11 +1,4 @@ -PERIPHERALS in os::drivers::block::sdcard - Rust -
struct PERIPHERALS {
+PERIPHERALS in os::drivers::block::sdcard - Rust
struct PERIPHERALS {
     __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<Peripherals>>

Panic if the data has been borrowed.

Trait Implementations

The resulting type after dereferencing.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/struct.SDCard.html b/ch9/os/drivers/block/sdcard/struct.SDCard.html index 66691bc9..3f8286ea 100644 --- a/ch9/os/drivers/block/sdcard/struct.SDCard.html +++ b/ch9/os/drivers/block/sdcard/struct.SDCard.html @@ -1,11 +1,4 @@ -SDCard in os::drivers::block::sdcard - Rust -
pub struct SDCard<SPI> {
+SDCard in os::drivers::block::sdcard - Rust
pub struct SDCard<SPI> {
     spi: SPI,
     spi_cs: u32,
     cs_gpionum: u8,
@@ -24,13 +17,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/struct.SDCardCID.html b/ch9/os/drivers/block/sdcard/struct.SDCardCID.html index 41ca460d..fe42c51b 100644 --- a/ch9/os/drivers/block/sdcard/struct.SDCardCID.html +++ b/ch9/os/drivers/block/sdcard/struct.SDCardCID.html @@ -1,11 +1,4 @@ -SDCardCID in os::drivers::block::sdcard - Rust -
pub struct SDCardCID {
+SDCardCID in os::drivers::block::sdcard - Rust
pub struct SDCardCID {
     pub ManufacturerID: u8,
     pub OEM_AppliID: u16,
     pub ProdName1: u32,
@@ -38,13 +31,12 @@
 

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/struct.SDCardCSD.html b/ch9/os/drivers/block/sdcard/struct.SDCardCSD.html index 2b1d07bd..0b1c66b1 100644 --- a/ch9/os/drivers/block/sdcard/struct.SDCardCSD.html +++ b/ch9/os/drivers/block/sdcard/struct.SDCardCSD.html @@ -1,11 +1,4 @@ -SDCardCSD in os::drivers::block::sdcard - Rust -

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/struct.SDCardInfo.html b/ch9/os/drivers/block/sdcard/struct.SDCardInfo.html index b0b01683..6be10bff 100644 --- a/ch9/os/drivers/block/sdcard/struct.SDCardInfo.html +++ b/ch9/os/drivers/block/sdcard/struct.SDCardInfo.html @@ -1,11 +1,4 @@ -SDCardInfo in os::drivers::block::sdcard - Rust -
pub struct SDCardInfo {
+SDCardInfo in os::drivers::block::sdcard - Rust
pub struct SDCardInfo {
     pub SD_csd: SDCardCSD,
     pub SD_cid: SDCardCID,
     pub CardCapacity: u64,
@@ -32,13 +25,12 @@
 

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/block/sdcard/struct.SDCardWrapper.html b/ch9/os/drivers/block/sdcard/struct.SDCardWrapper.html index 41c64364..fb1eb798 100644 --- a/ch9/os/drivers/block/sdcard/struct.SDCardWrapper.html +++ b/ch9/os/drivers/block/sdcard/struct.SDCardWrapper.html @@ -1,11 +1,4 @@ -SDCardWrapper in os::drivers::block::sdcard - Rust -
pub struct SDCardWrapper(UPIntrFreeCell<SDCard<SPIImpl<SPI0>>>);

Tuple Fields

0: UPIntrFreeCell<SDCard<SPIImpl<SPI0>>>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+SDCardWrapper in os::drivers::block::sdcard - Rust
pub struct SDCardWrapper(UPIntrFreeCell<SDCard<SPIImpl<SPI0>>>);

Tuple Fields

0: UPIntrFreeCell<SDCard<SPIImpl<SPI0>>>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

@@ -20,13 +13,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/block/struct.BLOCK_DEVICE.html b/ch9/os/drivers/block/struct.BLOCK_DEVICE.html index 5c8a759f..66a7ab87 100644 --- a/ch9/os/drivers/block/struct.BLOCK_DEVICE.html +++ b/ch9/os/drivers/block/struct.BLOCK_DEVICE.html @@ -1,11 +1,4 @@ -BLOCK_DEVICE in os::drivers::block - Rust -
pub struct BLOCK_DEVICE {
+BLOCK_DEVICE in os::drivers::block - Rust
pub struct BLOCK_DEVICE {
     __private_field: (),
 }

Fields

__private_field: ()

Trait Implementations

The resulting type after dereferencing.

Dereferences the value.

@@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/block/virtio_blk/constant.VIRTIO0.html b/ch9/os/drivers/block/virtio_blk/constant.VIRTIO0.html index b1f7b389..0b8af443 100644 --- a/ch9/os/drivers/block/virtio_blk/constant.VIRTIO0.html +++ b/ch9/os/drivers/block/virtio_blk/constant.VIRTIO0.html @@ -1,9 +1 @@ -VIRTIO0 in os::drivers::block::virtio_blk - Rust -
const VIRTIO0: usize = 0x10008000;
- \ No newline at end of file +VIRTIO0 in os::drivers::block::virtio_blk - Rust
const VIRTIO0: usize = 0x10008000;
\ No newline at end of file diff --git a/ch9/os/drivers/block/virtio_blk/index.html b/ch9/os/drivers/block/virtio_blk/index.html index 1af02eda..087272ed 100644 --- a/ch9/os/drivers/block/virtio_blk/index.html +++ b/ch9/os/drivers/block/virtio_blk/index.html @@ -1,11 +1 @@ -os::drivers::block::virtio_blk - Rust -
- \ No newline at end of file +os::drivers::block::virtio_blk - Rust
\ No newline at end of file diff --git a/ch9/os/drivers/block/virtio_blk/struct.VirtIOBlock.html b/ch9/os/drivers/block/virtio_blk/struct.VirtIOBlock.html index f7b8db81..db5efebe 100644 --- a/ch9/os/drivers/block/virtio_blk/struct.VirtIOBlock.html +++ b/ch9/os/drivers/block/virtio_blk/struct.VirtIOBlock.html @@ -1,11 +1,4 @@ -VirtIOBlock in os::drivers::block::virtio_blk - Rust -
pub struct VirtIOBlock {
+VirtIOBlock in os::drivers::block::virtio_blk - Rust
pub struct VirtIOBlock {
     virtio_blk: UPIntrFreeCell<VirtIOBlk<'static, VirtioHal>>,
     condvars: BTreeMap<u16, Condvar>,
 }

Fields

virtio_blk: UPIntrFreeCell<VirtIOBlk<'static, VirtioHal>>condvars: BTreeMap<u16, Condvar>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

@@ -23,13 +16,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/bus/index.html b/ch9/os/drivers/bus/index.html index 1aa80f20..88aeb662 100644 --- a/ch9/os/drivers/bus/index.html +++ b/ch9/os/drivers/bus/index.html @@ -1,10 +1 @@ -os::drivers::bus - Rust -
-

Module os::drivers::bus

source · []

Modules

-
- \ No newline at end of file +os::drivers::bus - Rust
\ No newline at end of file diff --git a/ch9/os/drivers/bus/virtio/index.html b/ch9/os/drivers/bus/virtio/index.html index 352df316..c705b72c 100644 --- a/ch9/os/drivers/bus/virtio/index.html +++ b/ch9/os/drivers/bus/virtio/index.html @@ -1,10 +1 @@ -os::drivers::bus::virtio - Rust -
- \ No newline at end of file +os::drivers::bus::virtio - Rust
\ No newline at end of file diff --git a/ch9/os/drivers/bus/virtio/struct.QUEUE_FRAMES.html b/ch9/os/drivers/bus/virtio/struct.QUEUE_FRAMES.html index 8524d963..1186ed44 100644 --- a/ch9/os/drivers/bus/virtio/struct.QUEUE_FRAMES.html +++ b/ch9/os/drivers/bus/virtio/struct.QUEUE_FRAMES.html @@ -1,11 +1,4 @@ -QUEUE_FRAMES in os::drivers::bus::virtio - Rust -
struct QUEUE_FRAMES {
+QUEUE_FRAMES in os::drivers::bus::virtio - Rust
struct QUEUE_FRAMES {
     __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<Vec<FrameTracker>>>

Panic if the data has been borrowed.

Trait Implementations

The resulting type after dereferencing.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/bus/virtio/struct.VirtioHal.html b/ch9/os/drivers/bus/virtio/struct.VirtioHal.html index be9773d7..2568154f 100644 --- a/ch9/os/drivers/bus/virtio/struct.VirtioHal.html +++ b/ch9/os/drivers/bus/virtio/struct.VirtioHal.html @@ -1,11 +1,4 @@ -VirtioHal in os::drivers::bus::virtio - Rust -
pub struct VirtioHal;

Trait Implementations

Allocates the given number of contiguous physical pages of DMA memory for virtio use.

+VirtioHal in os::drivers::bus::virtio - Rust
pub struct VirtioHal;

Trait Implementations

Allocates the given number of contiguous physical pages of DMA memory for virtio use.

Deallocates the given contiguous physical DMA memory pages.

Converts a physical address used for virtio to a virtual address which the program can access. Read more

@@ -26,13 +19,12 @@ address to use for virtio. Read more

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/chardev/index.html b/ch9/os/drivers/chardev/index.html index 3d3b3950..9fea8160 100644 --- a/ch9/os/drivers/chardev/index.html +++ b/ch9/os/drivers/chardev/index.html @@ -1,13 +1 @@ -os::drivers::chardev - Rust -
- \ No newline at end of file +os::drivers::chardev - Rust
\ No newline at end of file diff --git a/ch9/os/drivers/chardev/ns16550a/index.html b/ch9/os/drivers/chardev/ns16550a/index.html index b7267eb5..7206b7d5 100644 --- a/ch9/os/drivers/chardev/ns16550a/index.html +++ b/ch9/os/drivers/chardev/ns16550a/index.html @@ -1,13 +1,4 @@ -os::drivers::chardev::ns16550a - Rust -

Structs

-

InterruptEnableRegister

+os::drivers::chardev::ns16550a - Rust

Structs

InterruptEnableRegister

LineStatusRegister

Model Control Register

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/chardev/ns16550a/struct.IER.html b/ch9/os/drivers/chardev/ns16550a/struct.IER.html index fd1d5700..38740157 100644 --- a/ch9/os/drivers/chardev/ns16550a/struct.IER.html +++ b/ch9/os/drivers/chardev/ns16550a/struct.IER.html @@ -1,11 +1,4 @@ -IER in os::drivers::chardev::ns16550a - Rust -
pub struct IER {
+IER in os::drivers::chardev::ns16550a - Rust
pub struct IER {
     bits: u8,
 }
Expand description

InterruptEnableRegister

Fields

bits: u8

Implementations

Returns an empty set of flags.

@@ -90,18 +83,18 @@ between Self::all() and

The resulting type after applying the ! operator.

Formats the value using the given formatter.

This method returns an Ordering between self and other. Read more

-

Compares and returns the maximum of two values. Read more

-

Compares and returns the minimum of two values. Read more

-

Restrict a value to a certain interval. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

-

This method tests less than (for self and other) and is used by the < operator. Read more

-

This method tests less than or equal to (for self and other) and is used by the <= +

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

-

This method tests greater than or equal to (for self and other) and is used by the >= +

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Returns the set difference of the two sets of flags.

The resulting type after applying the - operator.

@@ -125,13 +118,12 @@ operator.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/chardev/ns16550a/struct.LSR.html b/ch9/os/drivers/chardev/ns16550a/struct.LSR.html index f15b1fc9..ddd46098 100644 --- a/ch9/os/drivers/chardev/ns16550a/struct.LSR.html +++ b/ch9/os/drivers/chardev/ns16550a/struct.LSR.html @@ -1,11 +1,4 @@ -LSR in os::drivers::chardev::ns16550a - Rust -
pub struct LSR {
+LSR in os::drivers::chardev::ns16550a - Rust
pub struct LSR {
     bits: u8,
 }
Expand description

LineStatusRegister

Fields

bits: u8

Implementations

Returns an empty set of flags.

@@ -90,18 +83,18 @@ between Self::all() and

The resulting type after applying the ! operator.

Formats the value using the given formatter.

This method returns an Ordering between self and other. Read more

-

Compares and returns the maximum of two values. Read more

-

Compares and returns the minimum of two values. Read more

-

Restrict a value to a certain interval. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

-

This method tests less than (for self and other) and is used by the < operator. Read more

-

This method tests less than or equal to (for self and other) and is used by the <= +

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

-

This method tests greater than or equal to (for self and other) and is used by the >= +

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Returns the set difference of the two sets of flags.

The resulting type after applying the - operator.

@@ -125,13 +118,12 @@ operator.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/chardev/ns16550a/struct.MCR.html b/ch9/os/drivers/chardev/ns16550a/struct.MCR.html index 9202cf17..a826c15e 100644 --- a/ch9/os/drivers/chardev/ns16550a/struct.MCR.html +++ b/ch9/os/drivers/chardev/ns16550a/struct.MCR.html @@ -1,11 +1,4 @@ -MCR in os::drivers::chardev::ns16550a - Rust -
pub struct MCR {
+MCR in os::drivers::chardev::ns16550a - Rust
pub struct MCR {
     bits: u8,
 }
Expand description

Model Control Register

Fields

bits: u8

Implementations

Returns an empty set of flags.

@@ -90,18 +83,18 @@ between Self::all() and

The resulting type after applying the ! operator.

Formats the value using the given formatter.

This method returns an Ordering between self and other. Read more

-

Compares and returns the maximum of two values. Read more

-

Compares and returns the minimum of two values. Read more

-

Restrict a value to a certain interval. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

-

This method tests less than (for self and other) and is used by the < operator. Read more

-

This method tests less than or equal to (for self and other) and is used by the <= +

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

-

This method tests greater than or equal to (for self and other) and is used by the >= +

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Returns the set difference of the two sets of flags.

The resulting type after applying the - operator.

@@ -125,13 +118,12 @@ operator.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/chardev/ns16550a/struct.NS16550a.html b/ch9/os/drivers/chardev/ns16550a/struct.NS16550a.html index 8485e144..f2cca249 100644 --- a/ch9/os/drivers/chardev/ns16550a/struct.NS16550a.html +++ b/ch9/os/drivers/chardev/ns16550a/struct.NS16550a.html @@ -1,11 +1,4 @@ -NS16550a in os::drivers::chardev::ns16550a - Rust -
pub struct NS16550a<const BASE_ADDR: usize> {
+NS16550a in os::drivers::chardev::ns16550a - Rust
pub struct NS16550a<const BASE_ADDR: usize> {
     inner: UPIntrFreeCell<NS16550aInner>,
     condvar: Condvar,
 }

Fields

inner: UPIntrFreeCell<NS16550aInner>condvar: Condvar

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

@@ -23,13 +16,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/chardev/ns16550a/struct.NS16550aInner.html b/ch9/os/drivers/chardev/ns16550a/struct.NS16550aInner.html index 3d23fc41..999b4323 100644 --- a/ch9/os/drivers/chardev/ns16550a/struct.NS16550aInner.html +++ b/ch9/os/drivers/chardev/ns16550a/struct.NS16550aInner.html @@ -1,11 +1,4 @@ -NS16550aInner in os::drivers::chardev::ns16550a - Rust -
struct NS16550aInner {
+NS16550aInner in os::drivers::chardev::ns16550a - Rust
struct NS16550aInner {
     ns16550a: NS16550aRaw,
     read_buffer: VecDeque<u8>,
 }

Fields

ns16550a: NS16550aRawread_buffer: VecDeque<u8>

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

@@ -23,13 +16,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/chardev/ns16550a/struct.NS16550aRaw.html b/ch9/os/drivers/chardev/ns16550a/struct.NS16550aRaw.html index 92f04853..27a6df44 100644 --- a/ch9/os/drivers/chardev/ns16550a/struct.NS16550aRaw.html +++ b/ch9/os/drivers/chardev/ns16550a/struct.NS16550aRaw.html @@ -1,11 +1,4 @@ -NS16550aRaw in os::drivers::chardev::ns16550a - Rust -
pub struct NS16550aRaw {
+NS16550aRaw in os::drivers::chardev::ns16550a - Rust
pub struct NS16550aRaw {
     base_addr: usize,
 }

Fields

base_addr: usize

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/chardev/ns16550a/struct.ReadWithoutDLAB.html b/ch9/os/drivers/chardev/ns16550a/struct.ReadWithoutDLAB.html index 48820cb6..fbe62534 100644 --- a/ch9/os/drivers/chardev/ns16550a/struct.ReadWithoutDLAB.html +++ b/ch9/os/drivers/chardev/ns16550a/struct.ReadWithoutDLAB.html @@ -1,11 +1,4 @@ -ReadWithoutDLAB in os::drivers::chardev::ns16550a - Rust -
#[repr(C)]
struct ReadWithoutDLAB { +ReadWithoutDLAB in os::drivers::chardev::ns16550a - Rust
#[repr(C)]
struct ReadWithoutDLAB { pub rbr: ReadOnly<u8>, pub ier: Volatile<IER>, pub iir: ReadOnly<u8>, @@ -37,13 +30,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/chardev/ns16550a/struct.WriteWithoutDLAB.html b/ch9/os/drivers/chardev/ns16550a/struct.WriteWithoutDLAB.html index efe6ac06..745160ec 100644 --- a/ch9/os/drivers/chardev/ns16550a/struct.WriteWithoutDLAB.html +++ b/ch9/os/drivers/chardev/ns16550a/struct.WriteWithoutDLAB.html @@ -1,11 +1,4 @@ -WriteWithoutDLAB in os::drivers::chardev::ns16550a - Rust -
#[repr(C)]
struct WriteWithoutDLAB { +WriteWithoutDLAB in os::drivers::chardev::ns16550a - Rust
#[repr(C)]
struct WriteWithoutDLAB { pub thr: WriteOnly<u8>, pub ier: Volatile<IER>, _padding0: ReadOnly<u8>, @@ -35,13 +28,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/chardev/struct.UART.html b/ch9/os/drivers/chardev/struct.UART.html index 6eb690d5..b4c27328 100644 --- a/ch9/os/drivers/chardev/struct.UART.html +++ b/ch9/os/drivers/chardev/struct.UART.html @@ -1,11 +1,4 @@ -UART in os::drivers::chardev - Rust -
pub struct UART {
+UART in os::drivers::chardev - Rust
pub struct UART {
     __private_field: (),
 }

Fields

__private_field: ()

Trait Implementations

The resulting type after dereferencing.

Dereferences the value.

@@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/chardev/trait.CharDevice.html b/ch9/os/drivers/chardev/trait.CharDevice.html index 11d89ed9..10f5aa1a 100644 --- a/ch9/os/drivers/chardev/trait.CharDevice.html +++ b/ch9/os/drivers/chardev/trait.CharDevice.html @@ -1,13 +1,5 @@ -CharDevice in os::drivers::chardev - Rust -
pub trait CharDevice {
+CharDevice in os::drivers::chardev - Rust
pub trait CharDevice {
     fn read(&self) -> u8;
     fn write(&self, ch: u8);
     fn handle_irq(&self);
-}

Required Methods

Implementors

- \ No newline at end of file +}

Required Methods

Implementors

\ No newline at end of file diff --git a/ch9/os/drivers/gpu/constant.VIRTIO7.html b/ch9/os/drivers/gpu/constant.VIRTIO7.html index 2033a9a1..e94165de 100644 --- a/ch9/os/drivers/gpu/constant.VIRTIO7.html +++ b/ch9/os/drivers/gpu/constant.VIRTIO7.html @@ -1,9 +1 @@ -VIRTIO7 in os::drivers::gpu - Rust -
-

Constant os::drivers::gpu::VIRTIO7

source · []
const VIRTIO7: usize = 0x10007000;
- \ No newline at end of file +VIRTIO7 in os::drivers::gpu - Rust
const VIRTIO7: usize = 0x10007000;
\ No newline at end of file diff --git a/ch9/os/drivers/gpu/index.html b/ch9/os/drivers/gpu/index.html index ed7e0e74..b589de94 100644 --- a/ch9/os/drivers/gpu/index.html +++ b/ch9/os/drivers/gpu/index.html @@ -1,13 +1 @@ -os::drivers::gpu - Rust -
- \ No newline at end of file +os::drivers::gpu - Rust
\ No newline at end of file diff --git a/ch9/os/drivers/gpu/static.BMP_DATA.html b/ch9/os/drivers/gpu/static.BMP_DATA.html index 82b0f4a0..66b3c23d 100644 --- a/ch9/os/drivers/gpu/static.BMP_DATA.html +++ b/ch9/os/drivers/gpu/static.BMP_DATA.html @@ -1,9 +1 @@ -BMP_DATA in os::drivers::gpu - Rust -
static BMP_DATA: &[u8]
- \ No newline at end of file +BMP_DATA in os::drivers::gpu - Rust
static BMP_DATA: &'static [u8]
\ No newline at end of file diff --git a/ch9/os/drivers/gpu/struct.GPU_DEVICE.html b/ch9/os/drivers/gpu/struct.GPU_DEVICE.html index 3052499a..85ddcb6b 100644 --- a/ch9/os/drivers/gpu/struct.GPU_DEVICE.html +++ b/ch9/os/drivers/gpu/struct.GPU_DEVICE.html @@ -1,11 +1,4 @@ -GPU_DEVICE in os::drivers::gpu - Rust -
pub struct GPU_DEVICE {
+GPU_DEVICE in os::drivers::gpu - Rust
pub struct GPU_DEVICE {
     __private_field: (),
 }

Fields

__private_field: ()

Trait Implementations

The resulting type after dereferencing.

Dereferences the value.

@@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/gpu/struct.VirtIOGPU.html b/ch9/os/drivers/gpu/struct.VirtIOGPU.html index d0825ea9..5786df28 100644 --- a/ch9/os/drivers/gpu/struct.VirtIOGPU.html +++ b/ch9/os/drivers/gpu/struct.VirtIOGPU.html @@ -1,11 +1,4 @@ -VirtIOGPU in os::drivers::gpu - Rust -
pub struct VirtIOGPU {
+VirtIOGPU in os::drivers::gpu - Rust
pub struct VirtIOGPU {
     gpu: UPIntrFreeCell<VirtIOGpu<'static, VirtioHal>>,
     fb: &'static [u8],
 }

Fields

gpu: UPIntrFreeCell<VirtIOGpu<'static, VirtioHal>>fb: &'static [u8]

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

@@ -23,13 +16,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/gpu/trait.GPUDevice.html b/ch9/os/drivers/gpu/trait.GPUDevice.html index ab04b138..ac3c9ff5 100644 --- a/ch9/os/drivers/gpu/trait.GPUDevice.html +++ b/ch9/os/drivers/gpu/trait.GPUDevice.html @@ -1,13 +1,5 @@ -GPUDevice in os::drivers::gpu - Rust -
pub trait GPUDevice: Send + Sync + Any {
+GPUDevice in os::drivers::gpu - Rust
pub trait GPUDevice: Send + Sync + Any {
     fn update_cursor(&self);
     fn getfreambuffer(&self) -> &mut [u8];
     fn flush(&self);
-}

Required Methods

Implementors

- \ No newline at end of file +}

Required Methods

Implementors

\ No newline at end of file diff --git a/ch9/os/drivers/index.html b/ch9/os/drivers/index.html index f2ca3e20..969f0514 100644 --- a/ch9/os/drivers/index.html +++ b/ch9/os/drivers/index.html @@ -1,11 +1 @@ -os::drivers - Rust -
-

Module os::drivers

source · []

Re-exports

-
pub use block::BLOCK_DEVICE;
pub use block::BLOCK_DEVICE;
pub use chardev::UART;
pub use chardev::UART;
pub use gpu::*;
pub use input::*;
pub use bus::*;

Modules

-
- \ No newline at end of file +os::drivers - Rust

Re-exports

pub use block::BLOCK_DEVICE;
pub use block::BLOCK_DEVICE;
pub use chardev::UART;
pub use chardev::UART;
pub use gpu::*;
pub use input::*;
pub use bus::*;

Modules

\ No newline at end of file diff --git a/ch9/os/drivers/input/constant.VIRTIO5.html b/ch9/os/drivers/input/constant.VIRTIO5.html index 4d484f8a..37543c49 100644 --- a/ch9/os/drivers/input/constant.VIRTIO5.html +++ b/ch9/os/drivers/input/constant.VIRTIO5.html @@ -1,9 +1 @@ -VIRTIO5 in os::drivers::input - Rust -
-

Constant os::drivers::input::VIRTIO5

source · []
const VIRTIO5: usize = 0x10005000;
- \ No newline at end of file +VIRTIO5 in os::drivers::input - Rust
const VIRTIO5: usize = 0x10005000;
\ No newline at end of file diff --git a/ch9/os/drivers/input/constant.VIRTIO6.html b/ch9/os/drivers/input/constant.VIRTIO6.html index 36ef0ede..2116d8ad 100644 --- a/ch9/os/drivers/input/constant.VIRTIO6.html +++ b/ch9/os/drivers/input/constant.VIRTIO6.html @@ -1,9 +1 @@ -VIRTIO6 in os::drivers::input - Rust -
-

Constant os::drivers::input::VIRTIO6

source · []
const VIRTIO6: usize = 0x10006000;
- \ No newline at end of file +VIRTIO6 in os::drivers::input - Rust
const VIRTIO6: usize = 0x10006000;
\ No newline at end of file diff --git a/ch9/os/drivers/input/index.html b/ch9/os/drivers/input/index.html index 3dbf7874..ced0f238 100644 --- a/ch9/os/drivers/input/index.html +++ b/ch9/os/drivers/input/index.html @@ -1,12 +1 @@ -os::drivers::input - Rust -
- \ No newline at end of file +os::drivers::input - Rust
\ No newline at end of file diff --git a/ch9/os/drivers/input/struct.KEYBOARD_DEVICE.html b/ch9/os/drivers/input/struct.KEYBOARD_DEVICE.html index e18ccc00..353c0684 100644 --- a/ch9/os/drivers/input/struct.KEYBOARD_DEVICE.html +++ b/ch9/os/drivers/input/struct.KEYBOARD_DEVICE.html @@ -1,11 +1,4 @@ -KEYBOARD_DEVICE in os::drivers::input - Rust -
pub struct KEYBOARD_DEVICE {
+KEYBOARD_DEVICE in os::drivers::input - Rust
pub struct KEYBOARD_DEVICE {
     __private_field: (),
 }

Fields

__private_field: ()

Trait Implementations

The resulting type after dereferencing.

Dereferences the value.

@@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/input/struct.MOUSE_DEVICE.html b/ch9/os/drivers/input/struct.MOUSE_DEVICE.html index 0260b8ac..a9d7e5ec 100644 --- a/ch9/os/drivers/input/struct.MOUSE_DEVICE.html +++ b/ch9/os/drivers/input/struct.MOUSE_DEVICE.html @@ -1,11 +1,4 @@ -MOUSE_DEVICE in os::drivers::input - Rust -
pub struct MOUSE_DEVICE {
+MOUSE_DEVICE in os::drivers::input - Rust
pub struct MOUSE_DEVICE {
     __private_field: (),
 }

Fields

__private_field: ()

Trait Implementations

The resulting type after dereferencing.

Dereferences the value.

@@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/input/struct.VirtIOINPUT.html b/ch9/os/drivers/input/struct.VirtIOINPUT.html index 83e88b28..82450abf 100644 --- a/ch9/os/drivers/input/struct.VirtIOINPUT.html +++ b/ch9/os/drivers/input/struct.VirtIOINPUT.html @@ -1,11 +1,4 @@ -VirtIOINPUT in os::drivers::input - Rust -
struct VirtIOINPUT(UPIntrFreeCell<VirtIOInput<'static, VirtioHal>>);

Tuple Fields

0: UPIntrFreeCell<VirtIOInput<'static, VirtioHal>>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+VirtIOINPUT in os::drivers::input - Rust
struct VirtIOINPUT(UPIntrFreeCell<VirtIOInput<'static, VirtioHal>>);

Tuple Fields

0: UPIntrFreeCell<VirtIOInput<'static, VirtioHal>>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

@@ -20,13 +13,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/input/trait.INPUTDevice.html b/ch9/os/drivers/input/trait.INPUTDevice.html index f8ae7822..136e27dc 100644 --- a/ch9/os/drivers/input/trait.INPUTDevice.html +++ b/ch9/os/drivers/input/trait.INPUTDevice.html @@ -1,11 +1,3 @@ -INPUTDevice in os::drivers::input - Rust -
pub trait INPUTDevice: Send + Sync + Any {
+INPUTDevice in os::drivers::input - Rust
pub trait INPUTDevice: Send + Sync + Any {
     fn handle_irq(&self);
-}

Required Methods

Implementors

- \ No newline at end of file +}

Required Methods

Implementors

\ No newline at end of file diff --git a/ch9/os/drivers/plic/enum.IntrTargetPriority.html b/ch9/os/drivers/plic/enum.IntrTargetPriority.html index 547b7be7..471baaae 100644 --- a/ch9/os/drivers/plic/enum.IntrTargetPriority.html +++ b/ch9/os/drivers/plic/enum.IntrTargetPriority.html @@ -1,11 +1,4 @@ -IntrTargetPriority in os::drivers::plic - Rust -
pub enum IntrTargetPriority {
+IntrTargetPriority in os::drivers::plic - Rust
pub enum IntrTargetPriority {
     Machine,
     Supervisor,
 }

Variants

Machine

Supervisor

Implementations

Trait Implementations

Returns a copy of the value. Read more

@@ -28,13 +21,12 @@

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/drivers/plic/index.html b/ch9/os/drivers/plic/index.html index 5aca88fb..043ec326 100644 --- a/ch9/os/drivers/plic/index.html +++ b/ch9/os/drivers/plic/index.html @@ -1,11 +1 @@ -os::drivers::plic - Rust -
- \ No newline at end of file +os::drivers::plic - Rust
\ No newline at end of file diff --git a/ch9/os/drivers/plic/struct.PLIC.html b/ch9/os/drivers/plic/struct.PLIC.html index 65f9e450..aaf6cad3 100644 --- a/ch9/os/drivers/plic/struct.PLIC.html +++ b/ch9/os/drivers/plic/struct.PLIC.html @@ -1,11 +1,4 @@ -PLIC in os::drivers::plic - Rust -
-

Struct os::drivers::plic::PLIC

source · []
pub struct PLIC {
+PLIC in os::drivers::plic - Rust
pub struct PLIC {
     base_addr: usize,
 }

Fields

base_addr: usize

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/fn.clear_bss.html b/ch9/os/fn.clear_bss.html index fa569746..e70e0177 100644 --- a/ch9/os/fn.clear_bss.html +++ b/ch9/os/fn.clear_bss.html @@ -1,9 +1 @@ -clear_bss in os - Rust -
-

Function os::clear_bss

source · []
pub(crate) fn clear_bss()
- \ No newline at end of file +clear_bss in os - Rust

Function os::clear_bss

source · []
pub(crate) fn clear_bss()
\ No newline at end of file diff --git a/ch9/os/fn.rust_main.html b/ch9/os/fn.rust_main.html index f8579730..419cac8c 100644 --- a/ch9/os/fn.rust_main.html +++ b/ch9/os/fn.rust_main.html @@ -1,10 +1,2 @@ -rust_main in os - Rust -
-

Function os::rust_main

source · []
#[no_mangle]
-pub fn rust_main() -> !
- \ No newline at end of file +rust_main in os - Rust

Function os::rust_main

source · []
#[no_mangle]
+pub fn rust_main() -> !
\ No newline at end of file diff --git a/ch9/os/fs/index.html b/ch9/os/fs/index.html index 129fae57..6a7f90ad 100644 --- a/ch9/os/fs/index.html +++ b/ch9/os/fs/index.html @@ -1,12 +1 @@ -os::fs - Rust -
-

Module os::fs

source · []

Re-exports

-
pub use inode::list_apps;
pub use inode::open_file;
pub use inode::OSInode;
pub use inode::OpenFlags;
pub use inode::ROOT_INODE;
pub use inode::ROOT_INODE;
pub use pipe::make_pipe;
pub use pipe::Pipe;
pub use stdio::Stdin;
pub use stdio::Stdout;

Modules

-
inode 🔒
pipe 🔒
stdio 🔒

Traits

-
- \ No newline at end of file +os::fs - Rust

Module os::fs

source · []

Re-exports

pub use inode::list_apps;
pub use inode::open_file;
pub use inode::OSInode;
pub use inode::OpenFlags;
pub use inode::ROOT_INODE;
pub use inode::ROOT_INODE;
pub use pipe::make_pipe;
pub use pipe::Pipe;
pub use stdio::Stdin;
pub use stdio::Stdout;

Modules

inode 🔒
pipe 🔒
stdio 🔒

Traits

\ No newline at end of file diff --git a/ch9/os/fs/inode/fn.list_apps.html b/ch9/os/fs/inode/fn.list_apps.html index 95d6e2f8..89335301 100644 --- a/ch9/os/fs/inode/fn.list_apps.html +++ b/ch9/os/fs/inode/fn.list_apps.html @@ -1,9 +1 @@ -list_apps in os::fs::inode - Rust -
-

Function os::fs::inode::list_apps

source · []
pub fn list_apps()
- \ No newline at end of file +list_apps in os::fs::inode - Rust
pub fn list_apps()
\ No newline at end of file diff --git a/ch9/os/fs/inode/fn.open_file.html b/ch9/os/fs/inode/fn.open_file.html index 9cf026d7..920c58ae 100644 --- a/ch9/os/fs/inode/fn.open_file.html +++ b/ch9/os/fs/inode/fn.open_file.html @@ -1,9 +1 @@ -open_file in os::fs::inode - Rust -
-

Function os::fs::inode::open_file

source · []
pub fn open_file(name: &str, flags: OpenFlags) -> Option<Arc<OSInode>>
- \ No newline at end of file +open_file in os::fs::inode - Rust
pub fn open_file(name: &str, flags: OpenFlags) -> Option<Arc<OSInode>>
\ No newline at end of file diff --git a/ch9/os/fs/inode/index.html b/ch9/os/fs/inode/index.html index f7439916..703da839 100644 --- a/ch9/os/fs/inode/index.html +++ b/ch9/os/fs/inode/index.html @@ -1,11 +1 @@ -os::fs::inode - Rust -
- \ No newline at end of file +os::fs::inode - Rust
\ No newline at end of file diff --git a/ch9/os/fs/inode/struct.OSInode.html b/ch9/os/fs/inode/struct.OSInode.html index 7d67e108..fa5c5b1b 100644 --- a/ch9/os/fs/inode/struct.OSInode.html +++ b/ch9/os/fs/inode/struct.OSInode.html @@ -1,11 +1,4 @@ -OSInode in os::fs::inode - Rust -
-

Struct os::fs::inode::OSInode

source · []
pub struct OSInode {
+OSInode in os::fs::inode - Rust
pub struct OSInode {
     readable: bool,
     writable: bool,
     inner: UPIntrFreeCell<OSInodeInner>,
@@ -24,13 +17,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/fs/inode/struct.OSInodeInner.html b/ch9/os/fs/inode/struct.OSInodeInner.html index be7f54a6..2ac8ee59 100644 --- a/ch9/os/fs/inode/struct.OSInodeInner.html +++ b/ch9/os/fs/inode/struct.OSInodeInner.html @@ -1,11 +1,4 @@ -OSInodeInner in os::fs::inode - Rust -
pub struct OSInodeInner {
+OSInodeInner in os::fs::inode - Rust
pub struct OSInodeInner {
     offset: usize,
     inode: Arc<Inode>,
 }

Fields

offset: usizeinode: Arc<Inode>

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

@@ -23,13 +16,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/fs/inode/struct.OpenFlags.html b/ch9/os/fs/inode/struct.OpenFlags.html index 74732782..d0e059e8 100644 --- a/ch9/os/fs/inode/struct.OpenFlags.html +++ b/ch9/os/fs/inode/struct.OpenFlags.html @@ -1,11 +1,4 @@ -OpenFlags in os::fs::inode - Rust -
-

Struct os::fs::inode::OpenFlags

source · []
pub struct OpenFlags {
+OpenFlags in os::fs::inode - Rust
pub struct OpenFlags {
     bits: u32,
 }

Fields

bits: u32

Implementations

Returns an empty set of flags.

Returns the set containing all flags.

@@ -91,18 +84,18 @@ Return (readable, writable)

The resulting type after applying the ! operator.

Formats the value using the given formatter.

This method returns an Ordering between self and other. Read more

-

Compares and returns the maximum of two values. Read more

-

Compares and returns the minimum of two values. Read more

-

Restrict a value to a certain interval. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

-

This method tests less than (for self and other) and is used by the < operator. Read more

-

This method tests less than or equal to (for self and other) and is used by the <= +

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

-

This method tests greater than or equal to (for self and other) and is used by the >= +

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Returns the set difference of the two sets of flags.

The resulting type after applying the - operator.

@@ -126,13 +119,12 @@ operator.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/fs/inode/struct.ROOT_INODE.html b/ch9/os/fs/inode/struct.ROOT_INODE.html index 46ffa984..5d71e3bb 100644 --- a/ch9/os/fs/inode/struct.ROOT_INODE.html +++ b/ch9/os/fs/inode/struct.ROOT_INODE.html @@ -1,11 +1,4 @@ -ROOT_INODE in os::fs::inode - Rust -
-

Struct os::fs::inode::ROOT_INODE

source · []
pub struct ROOT_INODE {
+ROOT_INODE in os::fs::inode - Rust
pub struct ROOT_INODE {
     __private_field: (),
 }

Fields

__private_field: ()

Trait Implementations

The resulting type after dereferencing.

Dereferences the value.

@@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/fs/pipe/constant.RING_BUFFER_SIZE.html b/ch9/os/fs/pipe/constant.RING_BUFFER_SIZE.html index bcf00b35..805b061d 100644 --- a/ch9/os/fs/pipe/constant.RING_BUFFER_SIZE.html +++ b/ch9/os/fs/pipe/constant.RING_BUFFER_SIZE.html @@ -1,9 +1 @@ -RING_BUFFER_SIZE in os::fs::pipe - Rust -
const RING_BUFFER_SIZE: usize = 32;
- \ No newline at end of file +RING_BUFFER_SIZE in os::fs::pipe - Rust
const RING_BUFFER_SIZE: usize = 32;
\ No newline at end of file diff --git a/ch9/os/fs/pipe/enum.RingBufferStatus.html b/ch9/os/fs/pipe/enum.RingBufferStatus.html index f195399d..16170de3 100644 --- a/ch9/os/fs/pipe/enum.RingBufferStatus.html +++ b/ch9/os/fs/pipe/enum.RingBufferStatus.html @@ -1,11 +1,4 @@ -RingBufferStatus in os::fs::pipe - Rust -
enum RingBufferStatus {
+RingBufferStatus in os::fs::pipe - Rust
enum RingBufferStatus {
     Full,
     Empty,
     Normal,
@@ -13,7 +6,7 @@
 

Performs copy-assignment from source. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

-

This method tests for !=.

+

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

@@ -32,13 +25,12 @@ by ==.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/fs/pipe/fn.make_pipe.html b/ch9/os/fs/pipe/fn.make_pipe.html index ac65ea21..ecc081f0 100644 --- a/ch9/os/fs/pipe/fn.make_pipe.html +++ b/ch9/os/fs/pipe/fn.make_pipe.html @@ -1,10 +1,2 @@ -make_pipe in os::fs::pipe - Rust -
-

Function os::fs::pipe::make_pipe

source · []
pub fn make_pipe() -> (Arc<Pipe>, Arc<Pipe>)
Expand description

Return (read_end, write_end)

-
- \ No newline at end of file +make_pipe in os::fs::pipe - Rust

Function os::fs::pipe::make_pipe

source · []
pub fn make_pipe() -> (Arc<Pipe>, Arc<Pipe>)
Expand description

Return (read_end, write_end)

+
\ No newline at end of file diff --git a/ch9/os/fs/pipe/index.html b/ch9/os/fs/pipe/index.html index eff5ca42..d173190a 100644 --- a/ch9/os/fs/pipe/index.html +++ b/ch9/os/fs/pipe/index.html @@ -1,14 +1,2 @@ -os::fs::pipe - Rust -
-

Module os::fs::pipe

source · []

Structs

-

Enums

-

Constants

-

Functions

-

Return (read_end, write_end)

-
- \ No newline at end of file +os::fs::pipe - Rust
\ No newline at end of file diff --git a/ch9/os/fs/pipe/struct.Pipe.html b/ch9/os/fs/pipe/struct.Pipe.html index fd31d454..1c9eb414 100644 --- a/ch9/os/fs/pipe/struct.Pipe.html +++ b/ch9/os/fs/pipe/struct.Pipe.html @@ -1,11 +1,4 @@ -Pipe in os::fs::pipe - Rust -
-

Struct os::fs::pipe::Pipe

source · []
pub struct Pipe {
+Pipe in os::fs::pipe - Rust

Struct os::fs::pipe::Pipe

source · []
pub struct Pipe {
     readable: bool,
     writable: bool,
     buffer: Arc<UPIntrFreeCell<PipeRingBuffer>>,
@@ -24,13 +17,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/fs/pipe/struct.PipeRingBuffer.html b/ch9/os/fs/pipe/struct.PipeRingBuffer.html index fce25918..986d7ab3 100644 --- a/ch9/os/fs/pipe/struct.PipeRingBuffer.html +++ b/ch9/os/fs/pipe/struct.PipeRingBuffer.html @@ -1,11 +1,4 @@ -PipeRingBuffer in os::fs::pipe - Rust -
pub struct PipeRingBuffer {
+PipeRingBuffer in os::fs::pipe - Rust
pub struct PipeRingBuffer {
     arr: [u8; 32],
     head: usize,
     tail: usize,
@@ -26,13 +19,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/fs/stdio/index.html b/ch9/os/fs/stdio/index.html index 808c9ed4..bfc93777 100644 --- a/ch9/os/fs/stdio/index.html +++ b/ch9/os/fs/stdio/index.html @@ -1,10 +1 @@ -os::fs::stdio - Rust -
- \ No newline at end of file +os::fs::stdio - Rust
\ No newline at end of file diff --git a/ch9/os/fs/stdio/struct.Stdin.html b/ch9/os/fs/stdio/struct.Stdin.html index 445bd5c1..21fd6991 100644 --- a/ch9/os/fs/stdio/struct.Stdin.html +++ b/ch9/os/fs/stdio/struct.Stdin.html @@ -1,11 +1,4 @@ -Stdin in os::fs::stdio - Rust -
-

Struct os::fs::stdio::Stdin

source · []
pub struct Stdin;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+Stdin in os::fs::stdio - Rust

Struct os::fs::stdio::Stdin

source · []
pub struct Stdin;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

@@ -20,13 +13,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/fs/stdio/struct.Stdout.html b/ch9/os/fs/stdio/struct.Stdout.html index 0af4eb1f..fcfa97b3 100644 --- a/ch9/os/fs/stdio/struct.Stdout.html +++ b/ch9/os/fs/stdio/struct.Stdout.html @@ -1,11 +1,4 @@ -Stdout in os::fs::stdio - Rust -
-

Struct os::fs::stdio::Stdout

source · []
pub struct Stdout;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+Stdout in os::fs::stdio - Rust
pub struct Stdout;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

@@ -20,13 +13,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/fs/trait.File.html b/ch9/os/fs/trait.File.html index c9a1ea1a..3cce81c8 100644 --- a/ch9/os/fs/trait.File.html +++ b/ch9/os/fs/trait.File.html @@ -1,14 +1,6 @@ -File in os::fs - Rust -
-

Trait os::fs::File

source · []
pub trait File: Send + Sync {
+File in os::fs - Rust

Trait os::fs::File

source · []
pub trait File: Send + Sync {
     fn readable(&self) -> bool;
     fn writable(&self) -> bool;
     fn read(&self, buf: UserBuffer) -> usize;
     fn write(&self, buf: UserBuffer) -> usize;
-}

Required Methods

Implementors

- \ No newline at end of file +}

Required Methods

Implementors

\ No newline at end of file diff --git a/ch9/os/gui/button/index.html b/ch9/os/gui/button/index.html index b738404d..caa4ad08 100644 --- a/ch9/os/gui/button/index.html +++ b/ch9/os/gui/button/index.html @@ -1,10 +1 @@ -os::gui::button - Rust -
- \ No newline at end of file +os::gui::button - Rust
\ No newline at end of file diff --git a/ch9/os/gui/button/struct.Button.html b/ch9/os/gui/button/struct.Button.html index c9d8cf7a..6c15dd5d 100644 --- a/ch9/os/gui/button/struct.Button.html +++ b/ch9/os/gui/button/struct.Button.html @@ -1,11 +1,4 @@ -Button in os::gui::button - Rust -
-

Struct os::gui::button::Button

source · []
pub struct Button {
+Button in os::gui::button - Rust
pub struct Button {
     inner: UPIntrFreeCell<ButtonInner>,
 }

Fields

inner: UPIntrFreeCell<ButtonInner>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/gui/button/struct.ButtonInner.html b/ch9/os/gui/button/struct.ButtonInner.html index ae0bd68d..b60a45e7 100644 --- a/ch9/os/gui/button/struct.ButtonInner.html +++ b/ch9/os/gui/button/struct.ButtonInner.html @@ -1,11 +1,4 @@ -ButtonInner in os::gui::button - Rust -
pub struct ButtonInner {
+ButtonInner in os::gui::button - Rust
pub struct ButtonInner {
     graphic: Graphics,
     text: String,
     parent: Option<Arc<dyn Component>>,
@@ -24,13 +17,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/gui/graphic/index.html b/ch9/os/gui/graphic/index.html index b577ecd2..716ff498 100644 --- a/ch9/os/gui/graphic/index.html +++ b/ch9/os/gui/graphic/index.html @@ -1,10 +1 @@ -os::gui::graphic - Rust -
- \ No newline at end of file +os::gui::graphic - Rust
\ No newline at end of file diff --git a/ch9/os/gui/graphic/struct.Graphics.html b/ch9/os/gui/graphic/struct.Graphics.html index 45992a25..ae7e7574 100644 --- a/ch9/os/gui/graphic/struct.Graphics.html +++ b/ch9/os/gui/graphic/struct.Graphics.html @@ -1,11 +1,4 @@ -Graphics in os::gui::graphic - Rust -
pub struct Graphics {
+Graphics in os::gui::graphic - Rust
pub struct Graphics {
     pub size: Size,
     pub point: Point,
     pub drv: Arc<dyn GPUDevice>,
@@ -41,13 +34,12 @@
 

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/gui/icon/index.html b/ch9/os/gui/icon/index.html index 12189161..589d2f30 100644 --- a/ch9/os/gui/icon/index.html +++ b/ch9/os/gui/icon/index.html @@ -1,11 +1 @@ -os::gui::icon - Rust -
- \ No newline at end of file +os::gui::icon - Rust
\ No newline at end of file diff --git a/ch9/os/gui/icon/static.FILEICON.html b/ch9/os/gui/icon/static.FILEICON.html index e9bbc3ee..ef0e9268 100644 --- a/ch9/os/gui/icon/static.FILEICON.html +++ b/ch9/os/gui/icon/static.FILEICON.html @@ -1,9 +1 @@ -FILEICON in os::gui::icon - Rust -
-

Static os::gui::icon::FILEICON

source · []
static FILEICON: &[u8]
- \ No newline at end of file +FILEICON in os::gui::icon - Rust
static FILEICON: &'static [u8]
\ No newline at end of file diff --git a/ch9/os/gui/icon/struct.IconController.html b/ch9/os/gui/icon/struct.IconController.html index 6ebee3ab..38d22715 100644 --- a/ch9/os/gui/icon/struct.IconController.html +++ b/ch9/os/gui/icon/struct.IconController.html @@ -1,11 +1,4 @@ -IconController in os::gui::icon - Rust -
pub struct IconController {
+IconController in os::gui::icon - Rust
pub struct IconController {
     inner: UPIntrFreeCell<IconControllerInner>,
 }

Fields

inner: UPIntrFreeCell<IconControllerInner>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/gui/icon/struct.IconControllerInner.html b/ch9/os/gui/icon/struct.IconControllerInner.html index 6020bc33..e8735417 100644 --- a/ch9/os/gui/icon/struct.IconControllerInner.html +++ b/ch9/os/gui/icon/struct.IconControllerInner.html @@ -1,11 +1,4 @@ -IconControllerInner in os::gui::icon - Rust -
pub struct IconControllerInner {
+IconControllerInner in os::gui::icon - Rust
pub struct IconControllerInner {
     files: Vec<String>,
     graphic: Graphics,
     parent: Option<Arc<dyn Component>>,
@@ -24,13 +17,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/gui/image/index.html b/ch9/os/gui/image/index.html index f427c9dc..53381451 100644 --- a/ch9/os/gui/image/index.html +++ b/ch9/os/gui/image/index.html @@ -1,10 +1 @@ -os::gui::image - Rust -
- \ No newline at end of file +os::gui::image - Rust
\ No newline at end of file diff --git a/ch9/os/gui/image/struct.ImageComp.html b/ch9/os/gui/image/struct.ImageComp.html index 0376e11b..f3ea00b7 100644 --- a/ch9/os/gui/image/struct.ImageComp.html +++ b/ch9/os/gui/image/struct.ImageComp.html @@ -1,11 +1,4 @@ -ImageComp in os::gui::image - Rust -
-

Struct os::gui::image::ImageComp

source · []
pub struct ImageComp {
+ImageComp in os::gui::image - Rust
pub struct ImageComp {
     inner: UPIntrFreeCell<ImageInner>,
 }

Fields

inner: UPIntrFreeCell<ImageInner>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/gui/image/struct.ImageInner.html b/ch9/os/gui/image/struct.ImageInner.html index ac57de49..638f0847 100644 --- a/ch9/os/gui/image/struct.ImageInner.html +++ b/ch9/os/gui/image/struct.ImageInner.html @@ -1,11 +1,4 @@ -ImageInner in os::gui::image - Rust -
pub struct ImageInner {
+ImageInner in os::gui::image - Rust
pub struct ImageInner {
     image: &'static [u8],
     graphic: Graphics,
     parent: Option<Arc<dyn Component>>,
@@ -24,13 +17,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/gui/index.html b/ch9/os/gui/index.html index 8632fbc3..4498797b 100644 --- a/ch9/os/gui/index.html +++ b/ch9/os/gui/index.html @@ -1,12 +1 @@ -os::gui - Rust -
-

Module os::gui

source · []

Re-exports

-
pub use button::*;
pub use graphic::*;
pub use icon::*;
pub use image::*;
pub use panel::*;
pub use terminal::*;

Modules

-
button 🔒
graphic 🔒
icon 🔒
image 🔒
panel 🔒
terminal 🔒

Traits

-
- \ No newline at end of file +os::gui - Rust

Module os::gui

source · []

Re-exports

pub use button::*;
pub use graphic::*;
pub use icon::*;
pub use image::*;
pub use panel::*;
pub use terminal::*;

Modules

button 🔒
graphic 🔒
icon 🔒
image 🔒
panel 🔒
terminal 🔒

Traits

\ No newline at end of file diff --git a/ch9/os/gui/panel/index.html b/ch9/os/gui/panel/index.html index 46c7b1c2..8859cc5c 100644 --- a/ch9/os/gui/panel/index.html +++ b/ch9/os/gui/panel/index.html @@ -1,10 +1 @@ -os::gui::panel - Rust -
-

Module os::gui::panel

source · []

Structs

-
- \ No newline at end of file +os::gui::panel - Rust
\ No newline at end of file diff --git a/ch9/os/gui/panel/struct.Panel.html b/ch9/os/gui/panel/struct.Panel.html index 39cda6ed..a48c51aa 100644 --- a/ch9/os/gui/panel/struct.Panel.html +++ b/ch9/os/gui/panel/struct.Panel.html @@ -1,11 +1,4 @@ -Panel in os::gui::panel - Rust -
-

Struct os::gui::panel::Panel

source · []
pub struct Panel {
+Panel in os::gui::panel - Rust
pub struct Panel {
     inner: UPIntrFreeCell<PanelInner>,
 }

Fields

inner: UPIntrFreeCell<PanelInner>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/gui/panel/struct.PanelInner.html b/ch9/os/gui/panel/struct.PanelInner.html index 8ed32d85..57697577 100644 --- a/ch9/os/gui/panel/struct.PanelInner.html +++ b/ch9/os/gui/panel/struct.PanelInner.html @@ -1,11 +1,4 @@ -PanelInner in os::gui::panel - Rust -
struct PanelInner {
+PanelInner in os::gui::panel - Rust
struct PanelInner {
     graphic: Graphics,
     comps: VecDeque<Arc<dyn Component>>,
 }

Fields

graphic: Graphicscomps: VecDeque<Arc<dyn Component>>

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

@@ -23,13 +16,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/gui/terminal/index.html b/ch9/os/gui/terminal/index.html index 798ee507..fc768b2e 100644 --- a/ch9/os/gui/terminal/index.html +++ b/ch9/os/gui/terminal/index.html @@ -1,10 +1 @@ -os::gui::terminal - Rust -
- \ No newline at end of file +os::gui::terminal - Rust
\ No newline at end of file diff --git a/ch9/os/gui/terminal/struct.Terminal.html b/ch9/os/gui/terminal/struct.Terminal.html index d4aa3e1c..283ec7c1 100644 --- a/ch9/os/gui/terminal/struct.Terminal.html +++ b/ch9/os/gui/terminal/struct.Terminal.html @@ -1,11 +1,4 @@ -Terminal in os::gui::terminal - Rust -
pub struct Terminal {
+Terminal in os::gui::terminal - Rust
pub struct Terminal {
     inner: UPIntrFreeCell<TerminalInner>,
 }

Fields

inner: UPIntrFreeCell<TerminalInner>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/gui/terminal/struct.TerminalInner.html b/ch9/os/gui/terminal/struct.TerminalInner.html index 897c21a9..ce369254 100644 --- a/ch9/os/gui/terminal/struct.TerminalInner.html +++ b/ch9/os/gui/terminal/struct.TerminalInner.html @@ -1,11 +1,4 @@ -TerminalInner in os::gui::terminal - Rust -
pub struct TerminalInner {
+TerminalInner in os::gui::terminal - Rust
pub struct TerminalInner {
     pub text: String,
     titel: Option<String>,
     graphic: Graphics,
@@ -25,13 +18,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/gui/trait.Component.html b/ch9/os/gui/trait.Component.html index ee40c234..299a2947 100644 --- a/ch9/os/gui/trait.Component.html +++ b/ch9/os/gui/trait.Component.html @@ -1,13 +1,5 @@ -Component in os::gui - Rust -
-

Trait os::gui::Component

source · []
pub trait Component: Send + Sync + Any {
+Component in os::gui - Rust
pub trait Component: Send + Sync + Any {
     fn paint(&self);
     fn add(&self, comp: Arc<dyn Component>);
     fn bound(&self) -> (Size, Point);
-}

Required Methods

Implementors

- \ No newline at end of file +}

Required Methods

Implementors

\ No newline at end of file diff --git a/ch9/os/index.html b/ch9/os/index.html index b62578bf..e21ea87f 100644 --- a/ch9/os/index.html +++ b/ch9/os/index.html @@ -1,13 +1 @@ -os - Rust -
-

Crate os

source · []

Modules

-
board 🔒
config 🔒
console 🔒
drivers 🔒
fs 🔒
gui 🔒
lang_items 🔒
mm 🔒
sbi 🔒
sync 🔒
syscall 🔒
task 🔒
timer 🔒
trap 🔒

Macros

-

Structs

-

Functions

-
- \ No newline at end of file +os - Rust

Crate os

source · []

Modules

board 🔒
config 🔒
console 🔒
drivers 🔒
fs 🔒
gui 🔒
lang_items 🔒
mm 🔒
sbi 🔒
sync 🔒
syscall 🔒
task 🔒
timer 🔒
trap 🔒

Macros

Structs

Functions

\ No newline at end of file diff --git a/ch9/os/lang_items/fn.backtrace.html b/ch9/os/lang_items/fn.backtrace.html index 70e0ae52..541e422c 100644 --- a/ch9/os/lang_items/fn.backtrace.html +++ b/ch9/os/lang_items/fn.backtrace.html @@ -1,9 +1 @@ -backtrace in os::lang_items - Rust -
unsafe fn backtrace()
- \ No newline at end of file +backtrace in os::lang_items - Rust
unsafe fn backtrace()
\ No newline at end of file diff --git a/ch9/os/lang_items/fn.panic.html b/ch9/os/lang_items/fn.panic.html index f15ad4fe..4ef1f2d9 100644 --- a/ch9/os/lang_items/fn.panic.html +++ b/ch9/os/lang_items/fn.panic.html @@ -1,9 +1 @@ -panic in os::lang_items - Rust -
-

Function os::lang_items::panic

source · []
fn panic(info: &PanicInfo<'_>) -> !
- \ No newline at end of file +panic in os::lang_items - Rust
fn panic(info: &PanicInfo<'_>) -> !
\ No newline at end of file diff --git a/ch9/os/lang_items/index.html b/ch9/os/lang_items/index.html index 874c97b1..c86ba625 100644 --- a/ch9/os/lang_items/index.html +++ b/ch9/os/lang_items/index.html @@ -1,10 +1 @@ -os::lang_items - Rust -
-

Module os::lang_items

source · []

Functions

-
panic 🔒
- \ No newline at end of file +os::lang_items - Rust
\ No newline at end of file diff --git a/ch9/os/macro.print.html b/ch9/os/macro.print.html index e454a140..740ead9c 100644 --- a/ch9/os/macro.print.html +++ b/ch9/os/macro.print.html @@ -1,12 +1,4 @@ -print in os - Rust -
-

Macro os::print

source · []
macro_rules! print {
+print in os - Rust

Macro os::print

source · []
macro_rules! print {
     ($fmt: literal $(, $($arg: tt)+)?) => { ... };
 }
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/macro.println.html b/ch9/os/macro.println.html index a1948af0..419dd6c5 100644 --- a/ch9/os/macro.println.html +++ b/ch9/os/macro.println.html @@ -1,12 +1,4 @@ -println in os - Rust -
-

Macro os::println

source · []
macro_rules! println {
+println in os - Rust
macro_rules! println {
     ($fmt: literal $(, $($arg: tt)+)?) => { ... };
 }
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/address/constant.PA_WIDTH_SV39.html b/ch9/os/mm/address/constant.PA_WIDTH_SV39.html index be28088d..aed7ccb2 100644 --- a/ch9/os/mm/address/constant.PA_WIDTH_SV39.html +++ b/ch9/os/mm/address/constant.PA_WIDTH_SV39.html @@ -1,9 +1 @@ -PA_WIDTH_SV39 in os::mm::address - Rust -
const PA_WIDTH_SV39: usize = 56;
- \ No newline at end of file +PA_WIDTH_SV39 in os::mm::address - Rust
const PA_WIDTH_SV39: usize = 56;
\ No newline at end of file diff --git a/ch9/os/mm/address/constant.PPN_WIDTH_SV39.html b/ch9/os/mm/address/constant.PPN_WIDTH_SV39.html index c4e2a13f..1a19b733 100644 --- a/ch9/os/mm/address/constant.PPN_WIDTH_SV39.html +++ b/ch9/os/mm/address/constant.PPN_WIDTH_SV39.html @@ -1,9 +1 @@ -PPN_WIDTH_SV39 in os::mm::address - Rust -
const PPN_WIDTH_SV39: usize = _; // 44usize
- \ No newline at end of file +PPN_WIDTH_SV39 in os::mm::address - Rust
const PPN_WIDTH_SV39: usize = _; // 44usize
\ No newline at end of file diff --git a/ch9/os/mm/address/constant.VA_WIDTH_SV39.html b/ch9/os/mm/address/constant.VA_WIDTH_SV39.html index db91810e..245197a3 100644 --- a/ch9/os/mm/address/constant.VA_WIDTH_SV39.html +++ b/ch9/os/mm/address/constant.VA_WIDTH_SV39.html @@ -1,9 +1 @@ -VA_WIDTH_SV39 in os::mm::address - Rust -
const VA_WIDTH_SV39: usize = 39;
- \ No newline at end of file +VA_WIDTH_SV39 in os::mm::address - Rust
const VA_WIDTH_SV39: usize = 39;
\ No newline at end of file diff --git a/ch9/os/mm/address/constant.VPN_WIDTH_SV39.html b/ch9/os/mm/address/constant.VPN_WIDTH_SV39.html index b2ca1079..bb1dfb22 100644 --- a/ch9/os/mm/address/constant.VPN_WIDTH_SV39.html +++ b/ch9/os/mm/address/constant.VPN_WIDTH_SV39.html @@ -1,9 +1 @@ -VPN_WIDTH_SV39 in os::mm::address - Rust -
const VPN_WIDTH_SV39: usize = _; // 27usize
- \ No newline at end of file +VPN_WIDTH_SV39 in os::mm::address - Rust
const VPN_WIDTH_SV39: usize = _; // 27usize
\ No newline at end of file diff --git a/ch9/os/mm/address/index.html b/ch9/os/mm/address/index.html index 49d066c6..9acc10e0 100644 --- a/ch9/os/mm/address/index.html +++ b/ch9/os/mm/address/index.html @@ -1,14 +1,2 @@ -os::mm::address - Rust -
- \ No newline at end of file +os::mm::address - Rust
\ No newline at end of file diff --git a/ch9/os/mm/address/struct.PhysAddr.html b/ch9/os/mm/address/struct.PhysAddr.html index ca389717..0179afab 100644 --- a/ch9/os/mm/address/struct.PhysAddr.html +++ b/ch9/os/mm/address/struct.PhysAddr.html @@ -1,11 +1,4 @@ -PhysAddr in os::mm::address - Rust -
-

Struct os::mm::address::PhysAddr

source · []
#[repr(C)]
pub struct PhysAddr(pub usize);
Expand description

Definitions

+PhysAddr in os::mm::address - Rust
#[repr(C)]
pub struct PhysAddr(pub usize);
Expand description

Definitions

Tuple Fields

0: usize

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

@@ -17,18 +10,18 @@ T -> usize: T.0 usize -> T: usize.into()

Converts to this type from the input type.

This method returns an Ordering between self and other. Read more

-

Compares and returns the maximum of two values. Read more

-

Compares and returns the minimum of two values. Read more

-

Restrict a value to a certain interval. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

-

This method tests less than (for self and other) and is used by the < operator. Read more

-

This method tests less than or equal to (for self and other) and is used by the <= +

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

-

This method tests greater than or equal to (for self and other) and is used by the >= +

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -48,13 +41,12 @@ operator.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/address/struct.PhysPageNum.html b/ch9/os/mm/address/struct.PhysPageNum.html index 9fcd8a5e..7f51a26b 100644 --- a/ch9/os/mm/address/struct.PhysPageNum.html +++ b/ch9/os/mm/address/struct.PhysPageNum.html @@ -1,11 +1,4 @@ -PhysPageNum in os::mm::address - Rust -
#[repr(C)]
pub struct PhysPageNum(pub usize);

Tuple Fields

0: usize

Implementations

Trait Implementations

Returns a copy of the value. Read more

+PhysPageNum in os::mm::address - Rust
#[repr(C)]
pub struct PhysPageNum(pub usize);

Tuple Fields

0: usize

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Converts to this type from the input type.

@@ -13,18 +6,18 @@

Converts to this type from the input type.

Converts to this type from the input type.

This method returns an Ordering between self and other. Read more

-

Compares and returns the maximum of two values. Read more

-

Compares and returns the minimum of two values. Read more

-

Restrict a value to a certain interval. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

-

This method tests less than (for self and other) and is used by the < operator. Read more

-

This method tests less than or equal to (for self and other) and is used by the <= +

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

-

This method tests greater than or equal to (for self and other) and is used by the >= +

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -44,13 +37,12 @@ operator.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/address/struct.SimpleRange.html b/ch9/os/mm/address/struct.SimpleRange.html index e5dd11d6..a6c506fe 100644 --- a/ch9/os/mm/address/struct.SimpleRange.html +++ b/ch9/os/mm/address/struct.SimpleRange.html @@ -1,11 +1,4 @@ -SimpleRange in os::mm::address - Rust -
pub struct SimpleRange<T> where
    T: StepByOne + Copy + PartialEq + PartialOrd + Debug
{ +SimpleRange in os::mm::address - Rust
pub struct SimpleRange<T> where
    T: StepByOne + Copy + PartialEq + PartialOrd + Debug
{ l: T, r: T, }

Fields

l: Tr: T

Implementations

Trait Implementations

Returns a copy of the value. Read more

@@ -31,13 +24,12 @@

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/address/struct.SimpleRangeIterator.html b/ch9/os/mm/address/struct.SimpleRangeIterator.html index 8b580a58..52cfcdd2 100644 --- a/ch9/os/mm/address/struct.SimpleRangeIterator.html +++ b/ch9/os/mm/address/struct.SimpleRangeIterator.html @@ -1,11 +1,4 @@ -SimpleRangeIterator in os::mm::address - Rust -
pub struct SimpleRangeIterator<T> where
    T: StepByOne + Copy + PartialEq + PartialOrd + Debug
{ +SimpleRangeIterator in os::mm::address - Rust
pub struct SimpleRangeIterator<T> where
    T: StepByOne + Copy + PartialEq + PartialOrd + Debug
{ current: T, end: T, }

Fields

current: Tend: T

Implementations

Trait Implementations

The type of the elements being iterated over.

@@ -141,13 +134,12 @@ function.

Returns a translated version of the iterator.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/address/struct.VirtAddr.html b/ch9/os/mm/address/struct.VirtAddr.html index 4a59cee5..3af4c4b4 100644 --- a/ch9/os/mm/address/struct.VirtAddr.html +++ b/ch9/os/mm/address/struct.VirtAddr.html @@ -1,11 +1,4 @@ -VirtAddr in os::mm::address - Rust -
-

Struct os::mm::address::VirtAddr

source · []
#[repr(C)]
pub struct VirtAddr(pub usize);

Tuple Fields

0: usize

Implementations

Trait Implementations

Returns a copy of the value. Read more

+VirtAddr in os::mm::address - Rust
#[repr(C)]
pub struct VirtAddr(pub usize);

Tuple Fields

0: usize

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Debugging

Formats the value using the given formatter. Read more

@@ -14,18 +7,18 @@

Converts to this type from the input type.

Converts to this type from the input type.

This method returns an Ordering between self and other. Read more

-

Compares and returns the maximum of two values. Read more

-

Compares and returns the minimum of two values. Read more

-

Restrict a value to a certain interval. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

-

This method tests less than (for self and other) and is used by the < operator. Read more

-

This method tests less than or equal to (for self and other) and is used by the <= +

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

-

This method tests greater than or equal to (for self and other) and is used by the >= +

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -45,13 +38,12 @@ operator.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/address/struct.VirtPageNum.html b/ch9/os/mm/address/struct.VirtPageNum.html index 29a6c856..ca05b633 100644 --- a/ch9/os/mm/address/struct.VirtPageNum.html +++ b/ch9/os/mm/address/struct.VirtPageNum.html @@ -1,11 +1,4 @@ -VirtPageNum in os::mm::address - Rust -
#[repr(C)]
pub struct VirtPageNum(pub usize);

Tuple Fields

0: usize

Implementations

Trait Implementations

Returns a copy of the value. Read more

+VirtPageNum in os::mm::address - Rust
#[repr(C)]
pub struct VirtPageNum(pub usize);

Tuple Fields

0: usize

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Converts to this type from the input type.

@@ -13,18 +6,18 @@

Converts to this type from the input type.

Converts to this type from the input type.

This method returns an Ordering between self and other. Read more

-

Compares and returns the maximum of two values. Read more

-

Compares and returns the minimum of two values. Read more

-

Restrict a value to a certain interval. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

-

This method tests less than (for self and other) and is used by the < operator. Read more

-

This method tests less than or equal to (for self and other) and is used by the <= +

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

-

This method tests greater than or equal to (for self and other) and is used by the >= +

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -44,13 +37,12 @@ operator.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/address/trait.StepByOne.html b/ch9/os/mm/address/trait.StepByOne.html index 1f7c95c0..cd507cea 100644 --- a/ch9/os/mm/address/trait.StepByOne.html +++ b/ch9/os/mm/address/trait.StepByOne.html @@ -1,11 +1,3 @@ -StepByOne in os::mm::address - Rust -
pub trait StepByOne {
+StepByOne in os::mm::address - Rust
pub trait StepByOne {
     fn step(&mut self);
-}

Required Methods

Implementors

- \ No newline at end of file +}

Required Methods

Implementors

\ No newline at end of file diff --git a/ch9/os/mm/address/type.VPNRange.html b/ch9/os/mm/address/type.VPNRange.html index b7a25dbc..76019454 100644 --- a/ch9/os/mm/address/type.VPNRange.html +++ b/ch9/os/mm/address/type.VPNRange.html @@ -1,9 +1 @@ -VPNRange in os::mm::address - Rust -
-

Type Definition os::mm::address::VPNRange

source · []
pub type VPNRange = SimpleRange<VirtPageNum>;
- \ No newline at end of file +VPNRange in os::mm::address - Rust

Type Definition os::mm::address::VPNRange

source · []
pub type VPNRange = SimpleRange<VirtPageNum>;
\ No newline at end of file diff --git a/ch9/os/mm/fn.init.html b/ch9/os/mm/fn.init.html index 82d74f7b..dc3f5588 100644 --- a/ch9/os/mm/fn.init.html +++ b/ch9/os/mm/fn.init.html @@ -1,9 +1 @@ -init in os::mm - Rust -
-

Function os::mm::init

source · []
pub fn init()
- \ No newline at end of file +init in os::mm - Rust

Function os::mm::init

source · []
pub fn init()
\ No newline at end of file diff --git a/ch9/os/mm/frame_allocator/fn.frame_alloc.html b/ch9/os/mm/frame_allocator/fn.frame_alloc.html index f286387f..a7a12fc3 100644 --- a/ch9/os/mm/frame_allocator/fn.frame_alloc.html +++ b/ch9/os/mm/frame_allocator/fn.frame_alloc.html @@ -1,9 +1 @@ -frame_alloc in os::mm::frame_allocator - Rust -
pub fn frame_alloc() -> Option<FrameTracker>
- \ No newline at end of file +frame_alloc in os::mm::frame_allocator - Rust
pub fn frame_alloc() -> Option<FrameTracker>
\ No newline at end of file diff --git a/ch9/os/mm/frame_allocator/fn.frame_allocator_test.html b/ch9/os/mm/frame_allocator/fn.frame_allocator_test.html index 3f6ce00a..f9f33889 100644 --- a/ch9/os/mm/frame_allocator/fn.frame_allocator_test.html +++ b/ch9/os/mm/frame_allocator/fn.frame_allocator_test.html @@ -1,9 +1 @@ -frame_allocator_test in os::mm::frame_allocator - Rust -
pub fn frame_allocator_test()
- \ No newline at end of file +frame_allocator_test in os::mm::frame_allocator - Rust
pub fn frame_allocator_test()
\ No newline at end of file diff --git a/ch9/os/mm/frame_allocator/fn.frame_dealloc.html b/ch9/os/mm/frame_allocator/fn.frame_dealloc.html index 477fd6d8..ec07923b 100644 --- a/ch9/os/mm/frame_allocator/fn.frame_dealloc.html +++ b/ch9/os/mm/frame_allocator/fn.frame_dealloc.html @@ -1,9 +1 @@ -frame_dealloc in os::mm::frame_allocator - Rust -
pub fn frame_dealloc(ppn: PhysPageNum)
- \ No newline at end of file +frame_dealloc in os::mm::frame_allocator - Rust
pub fn frame_dealloc(ppn: PhysPageNum)
\ No newline at end of file diff --git a/ch9/os/mm/frame_allocator/fn.init_frame_allocator.html b/ch9/os/mm/frame_allocator/fn.init_frame_allocator.html index cc5b2a55..fb716182 100644 --- a/ch9/os/mm/frame_allocator/fn.init_frame_allocator.html +++ b/ch9/os/mm/frame_allocator/fn.init_frame_allocator.html @@ -1,9 +1 @@ -init_frame_allocator in os::mm::frame_allocator - Rust -
pub fn init_frame_allocator()
- \ No newline at end of file +init_frame_allocator in os::mm::frame_allocator - Rust
pub fn init_frame_allocator()
\ No newline at end of file diff --git a/ch9/os/mm/frame_allocator/index.html b/ch9/os/mm/frame_allocator/index.html index 40d8c2b5..4b34cdfa 100644 --- a/ch9/os/mm/frame_allocator/index.html +++ b/ch9/os/mm/frame_allocator/index.html @@ -1,13 +1 @@ -os::mm::frame_allocator - Rust -
- \ No newline at end of file +os::mm::frame_allocator - Rust
\ No newline at end of file diff --git a/ch9/os/mm/frame_allocator/struct.FRAME_ALLOCATOR.html b/ch9/os/mm/frame_allocator/struct.FRAME_ALLOCATOR.html index a2f5af2b..ee35c585 100644 --- a/ch9/os/mm/frame_allocator/struct.FRAME_ALLOCATOR.html +++ b/ch9/os/mm/frame_allocator/struct.FRAME_ALLOCATOR.html @@ -1,11 +1,4 @@ -FRAME_ALLOCATOR in os::mm::frame_allocator - Rust -
pub struct FRAME_ALLOCATOR {
+FRAME_ALLOCATOR in os::mm::frame_allocator - Rust
pub struct FRAME_ALLOCATOR {
     __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<StackFrameAllocator>>

Panic if the data has been borrowed.

Trait Implementations

The resulting type after dereferencing.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/frame_allocator/struct.FrameTracker.html b/ch9/os/mm/frame_allocator/struct.FrameTracker.html index 3d21c804..3fbf8fe6 100644 --- a/ch9/os/mm/frame_allocator/struct.FrameTracker.html +++ b/ch9/os/mm/frame_allocator/struct.FrameTracker.html @@ -1,11 +1,4 @@ -FrameTracker in os::mm::frame_allocator - Rust -
pub struct FrameTracker {
+FrameTracker in os::mm::frame_allocator - Rust
pub struct FrameTracker {
     pub ppn: PhysPageNum,
 }

Fields

ppn: PhysPageNum

Implementations

Trait Implementations

Formats the value using the given formatter. Read more

Executes the destructor for this type. Read more

@@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/frame_allocator/struct.StackFrameAllocator.html b/ch9/os/mm/frame_allocator/struct.StackFrameAllocator.html index 36cb514e..098a131d 100644 --- a/ch9/os/mm/frame_allocator/struct.StackFrameAllocator.html +++ b/ch9/os/mm/frame_allocator/struct.StackFrameAllocator.html @@ -1,11 +1,4 @@ -StackFrameAllocator in os::mm::frame_allocator - Rust -
pub struct StackFrameAllocator {
+StackFrameAllocator in os::mm::frame_allocator - Rust
pub struct StackFrameAllocator {
     current: usize,
     end: usize,
     recycled: Vec<usize>,
@@ -24,13 +17,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/frame_allocator/trait.FrameAllocator.html b/ch9/os/mm/frame_allocator/trait.FrameAllocator.html index 1a6ffd5f..74737560 100644 --- a/ch9/os/mm/frame_allocator/trait.FrameAllocator.html +++ b/ch9/os/mm/frame_allocator/trait.FrameAllocator.html @@ -1,13 +1,5 @@ -FrameAllocator in os::mm::frame_allocator - Rust -
trait FrameAllocator {
+FrameAllocator in os::mm::frame_allocator - Rust
trait FrameAllocator {
     fn new() -> Self;
     fn alloc(&mut self) -> Option<PhysPageNum>;
     fn dealloc(&mut self, ppn: PhysPageNum);
-}

Required Methods

Implementors

- \ No newline at end of file +}

Required Methods

Implementors

\ No newline at end of file diff --git a/ch9/os/mm/frame_allocator/type.FrameAllocatorImpl.html b/ch9/os/mm/frame_allocator/type.FrameAllocatorImpl.html index 301892cb..b0ba5905 100644 --- a/ch9/os/mm/frame_allocator/type.FrameAllocatorImpl.html +++ b/ch9/os/mm/frame_allocator/type.FrameAllocatorImpl.html @@ -1,9 +1 @@ -FrameAllocatorImpl in os::mm::frame_allocator - Rust -
type FrameAllocatorImpl = StackFrameAllocator;
- \ No newline at end of file +FrameAllocatorImpl in os::mm::frame_allocator - Rust
type FrameAllocatorImpl = StackFrameAllocator;
\ No newline at end of file diff --git a/ch9/os/mm/heap_allocator/fn.handle_alloc_error.html b/ch9/os/mm/heap_allocator/fn.handle_alloc_error.html index c5ba4485..3611a271 100644 --- a/ch9/os/mm/heap_allocator/fn.handle_alloc_error.html +++ b/ch9/os/mm/heap_allocator/fn.handle_alloc_error.html @@ -1,9 +1 @@ -handle_alloc_error in os::mm::heap_allocator - Rust -
pub fn handle_alloc_error(layout: Layout) -> !
- \ No newline at end of file +handle_alloc_error in os::mm::heap_allocator - Rust
pub fn handle_alloc_error(layout: Layout) -> !
\ No newline at end of file diff --git a/ch9/os/mm/heap_allocator/fn.heap_test.html b/ch9/os/mm/heap_allocator/fn.heap_test.html index e561acdb..f2bc5fb0 100644 --- a/ch9/os/mm/heap_allocator/fn.heap_test.html +++ b/ch9/os/mm/heap_allocator/fn.heap_test.html @@ -1,9 +1 @@ -heap_test in os::mm::heap_allocator - Rust -
pub fn heap_test()
- \ No newline at end of file +heap_test in os::mm::heap_allocator - Rust
pub fn heap_test()
\ No newline at end of file diff --git a/ch9/os/mm/heap_allocator/fn.init_heap.html b/ch9/os/mm/heap_allocator/fn.init_heap.html index 90136c76..9fc00184 100644 --- a/ch9/os/mm/heap_allocator/fn.init_heap.html +++ b/ch9/os/mm/heap_allocator/fn.init_heap.html @@ -1,9 +1 @@ -init_heap in os::mm::heap_allocator - Rust -
pub fn init_heap()
- \ No newline at end of file +init_heap in os::mm::heap_allocator - Rust
pub fn init_heap()
\ No newline at end of file diff --git a/ch9/os/mm/heap_allocator/index.html b/ch9/os/mm/heap_allocator/index.html index 80c34780..05d8dac7 100644 --- a/ch9/os/mm/heap_allocator/index.html +++ b/ch9/os/mm/heap_allocator/index.html @@ -1,11 +1 @@ -os::mm::heap_allocator - Rust -
- \ No newline at end of file +os::mm::heap_allocator - Rust
\ No newline at end of file diff --git a/ch9/os/mm/heap_allocator/static.HEAP_ALLOCATOR.html b/ch9/os/mm/heap_allocator/static.HEAP_ALLOCATOR.html index e76b7fdf..1ffb2174 100644 --- a/ch9/os/mm/heap_allocator/static.HEAP_ALLOCATOR.html +++ b/ch9/os/mm/heap_allocator/static.HEAP_ALLOCATOR.html @@ -1,9 +1 @@ -HEAP_ALLOCATOR in os::mm::heap_allocator - Rust -
static HEAP_ALLOCATOR: LockedHeap
- \ No newline at end of file +HEAP_ALLOCATOR in os::mm::heap_allocator - Rust
static HEAP_ALLOCATOR: LockedHeap
\ No newline at end of file diff --git a/ch9/os/mm/heap_allocator/static.HEAP_SPACE.html b/ch9/os/mm/heap_allocator/static.HEAP_SPACE.html index eb9e76d9..22c5f5d6 100644 --- a/ch9/os/mm/heap_allocator/static.HEAP_SPACE.html +++ b/ch9/os/mm/heap_allocator/static.HEAP_SPACE.html @@ -1,9 +1 @@ -HEAP_SPACE in os::mm::heap_allocator - Rust -
static mut HEAP_SPACE: [u8; 16777216]
- \ No newline at end of file +HEAP_SPACE in os::mm::heap_allocator - Rust
static mut HEAP_SPACE: [u8; 16777216]
\ No newline at end of file diff --git a/ch9/os/mm/index.html b/ch9/os/mm/index.html index 5e739421..b9833608 100644 --- a/ch9/os/mm/index.html +++ b/ch9/os/mm/index.html @@ -1,12 +1 @@ -os::mm - Rust -
-

Module os::mm

source · []

Re-exports

-
pub use address::PhysAddr;
pub use address::PhysPageNum;
pub use address::StepByOne;
pub use address::VirtAddr;
pub use address::VirtPageNum;
pub use frame_allocator::frame_alloc;
pub use frame_allocator::frame_dealloc;
pub use frame_allocator::FrameTracker;
pub use memory_set::remap_test;
pub use memory_set::kernel_token;
pub use memory_set::MapPermission;
pub use memory_set::MemorySet;
pub use memory_set::KERNEL_SPACE;
pub use memory_set::KERNEL_SPACE;
pub use page_table::translated_byte_buffer;
pub use page_table::translated_ref;
pub use page_table::translated_refmut;
pub use page_table::translated_str;
pub use page_table::PageTable;
pub use page_table::PageTableEntry;
pub use page_table::UserBuffer;
pub use page_table::UserBufferIterator;

Modules

-

Functions

-
- \ No newline at end of file +os::mm - Rust

Module os::mm

source · []

Re-exports

pub use address::PhysAddr;
pub use address::PhysPageNum;
pub use address::StepByOne;
pub use address::VirtAddr;
pub use address::VirtPageNum;
pub use frame_allocator::frame_alloc;
pub use frame_allocator::frame_dealloc;
pub use frame_allocator::FrameTracker;
pub use memory_set::remap_test;
pub use memory_set::kernel_token;
pub use memory_set::MapPermission;
pub use memory_set::MemorySet;
pub use memory_set::KERNEL_SPACE;
pub use memory_set::KERNEL_SPACE;
pub use page_table::translated_byte_buffer;
pub use page_table::translated_ref;
pub use page_table::translated_refmut;
pub use page_table::translated_str;
pub use page_table::PageTable;
pub use page_table::PageTableEntry;
pub use page_table::UserBuffer;
pub use page_table::UserBufferIterator;

Modules

Functions

\ No newline at end of file diff --git a/ch9/os/mm/memory_set/enum.MapType.html b/ch9/os/mm/memory_set/enum.MapType.html index b9cac2b6..2e3c5885 100644 --- a/ch9/os/mm/memory_set/enum.MapType.html +++ b/ch9/os/mm/memory_set/enum.MapType.html @@ -1,11 +1,4 @@ -MapType in os::mm::memory_set - Rust -
pub enum MapType {
+MapType in os::mm::memory_set - Rust
pub enum MapType {
     Identical,
     Framed,
 }

Variants

Identical

Framed

Trait Implementations

Returns a copy of the value. Read more

@@ -13,7 +6,7 @@

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

-

This method tests for !=.

+

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

@@ -32,13 +25,12 @@ by ==.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/fn.ebss.html b/ch9/os/mm/memory_set/fn.ebss.html index 4c2f5d20..b7236c8c 100644 --- a/ch9/os/mm/memory_set/fn.ebss.html +++ b/ch9/os/mm/memory_set/fn.ebss.html @@ -1,9 +1 @@ -ebss in os::mm::memory_set - Rust -
-

Function os::mm::memory_set::ebss

source · []
unsafe extern "C" fn ebss()
- \ No newline at end of file +ebss in os::mm::memory_set - Rust
unsafe extern "C" fn ebss()
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/fn.edata.html b/ch9/os/mm/memory_set/fn.edata.html index d7ab34a3..b0e3fef3 100644 --- a/ch9/os/mm/memory_set/fn.edata.html +++ b/ch9/os/mm/memory_set/fn.edata.html @@ -1,9 +1 @@ -edata in os::mm::memory_set - Rust -
-

Function os::mm::memory_set::edata

source · []
unsafe extern "C" fn edata()
- \ No newline at end of file +edata in os::mm::memory_set - Rust
unsafe extern "C" fn edata()
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/fn.ekernel.html b/ch9/os/mm/memory_set/fn.ekernel.html index 159cea48..c4ecd2dc 100644 --- a/ch9/os/mm/memory_set/fn.ekernel.html +++ b/ch9/os/mm/memory_set/fn.ekernel.html @@ -1,9 +1 @@ -ekernel in os::mm::memory_set - Rust -
-

Function os::mm::memory_set::ekernel

source · []
unsafe extern "C" fn ekernel()
- \ No newline at end of file +ekernel in os::mm::memory_set - Rust
unsafe extern "C" fn ekernel()
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/fn.erodata.html b/ch9/os/mm/memory_set/fn.erodata.html index 0c164347..a5a01963 100644 --- a/ch9/os/mm/memory_set/fn.erodata.html +++ b/ch9/os/mm/memory_set/fn.erodata.html @@ -1,9 +1 @@ -erodata in os::mm::memory_set - Rust -
-

Function os::mm::memory_set::erodata

source · []
unsafe extern "C" fn erodata()
- \ No newline at end of file +erodata in os::mm::memory_set - Rust
unsafe extern "C" fn erodata()
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/fn.etext.html b/ch9/os/mm/memory_set/fn.etext.html index cbd26dd5..ab8b7882 100644 --- a/ch9/os/mm/memory_set/fn.etext.html +++ b/ch9/os/mm/memory_set/fn.etext.html @@ -1,9 +1 @@ -etext in os::mm::memory_set - Rust -
-

Function os::mm::memory_set::etext

source · []
unsafe extern "C" fn etext()
- \ No newline at end of file +etext in os::mm::memory_set - Rust
unsafe extern "C" fn etext()
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/fn.kernel_token.html b/ch9/os/mm/memory_set/fn.kernel_token.html index 162dcc50..af7d0d5c 100644 --- a/ch9/os/mm/memory_set/fn.kernel_token.html +++ b/ch9/os/mm/memory_set/fn.kernel_token.html @@ -1,9 +1 @@ -kernel_token in os::mm::memory_set - Rust -
pub fn kernel_token() -> usize
- \ No newline at end of file +kernel_token in os::mm::memory_set - Rust
pub fn kernel_token() -> usize
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/fn.remap_test.html b/ch9/os/mm/memory_set/fn.remap_test.html index 2649ea87..1d54aefe 100644 --- a/ch9/os/mm/memory_set/fn.remap_test.html +++ b/ch9/os/mm/memory_set/fn.remap_test.html @@ -1,9 +1 @@ -remap_test in os::mm::memory_set - Rust -
pub fn remap_test()
- \ No newline at end of file +remap_test in os::mm::memory_set - Rust
pub fn remap_test()
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/fn.sbss_with_stack.html b/ch9/os/mm/memory_set/fn.sbss_with_stack.html index 7083822a..cfde46ad 100644 --- a/ch9/os/mm/memory_set/fn.sbss_with_stack.html +++ b/ch9/os/mm/memory_set/fn.sbss_with_stack.html @@ -1,9 +1 @@ -sbss_with_stack in os::mm::memory_set - Rust -
unsafe extern "C" fn sbss_with_stack()
- \ No newline at end of file +sbss_with_stack in os::mm::memory_set - Rust
unsafe extern "C" fn sbss_with_stack()
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/fn.sdata.html b/ch9/os/mm/memory_set/fn.sdata.html index 3d08701a..6abcfb9c 100644 --- a/ch9/os/mm/memory_set/fn.sdata.html +++ b/ch9/os/mm/memory_set/fn.sdata.html @@ -1,9 +1 @@ -sdata in os::mm::memory_set - Rust -
-

Function os::mm::memory_set::sdata

source · []
unsafe extern "C" fn sdata()
- \ No newline at end of file +sdata in os::mm::memory_set - Rust
unsafe extern "C" fn sdata()
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/fn.srodata.html b/ch9/os/mm/memory_set/fn.srodata.html index f60a1a9c..b63abec2 100644 --- a/ch9/os/mm/memory_set/fn.srodata.html +++ b/ch9/os/mm/memory_set/fn.srodata.html @@ -1,9 +1 @@ -srodata in os::mm::memory_set - Rust -
-

Function os::mm::memory_set::srodata

source · []
unsafe extern "C" fn srodata()
- \ No newline at end of file +srodata in os::mm::memory_set - Rust
unsafe extern "C" fn srodata()
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/fn.stext.html b/ch9/os/mm/memory_set/fn.stext.html index b57601ea..f0bd6e3e 100644 --- a/ch9/os/mm/memory_set/fn.stext.html +++ b/ch9/os/mm/memory_set/fn.stext.html @@ -1,9 +1 @@ -stext in os::mm::memory_set - Rust -
-

Function os::mm::memory_set::stext

source · []
unsafe extern "C" fn stext()
- \ No newline at end of file +stext in os::mm::memory_set - Rust
unsafe extern "C" fn stext()
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/fn.strampoline.html b/ch9/os/mm/memory_set/fn.strampoline.html index 5a3bfad6..7bd50a46 100644 --- a/ch9/os/mm/memory_set/fn.strampoline.html +++ b/ch9/os/mm/memory_set/fn.strampoline.html @@ -1,9 +1 @@ -strampoline in os::mm::memory_set - Rust -
unsafe extern "C" fn strampoline()
- \ No newline at end of file +strampoline in os::mm::memory_set - Rust
unsafe extern "C" fn strampoline()
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/index.html b/ch9/os/mm/memory_set/index.html index 2c0a48b2..4caa359b 100644 --- a/ch9/os/mm/memory_set/index.html +++ b/ch9/os/mm/memory_set/index.html @@ -1,12 +1 @@ -os::mm::memory_set - Rust -
- \ No newline at end of file +os::mm::memory_set - Rust
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/struct.KERNEL_SPACE.html b/ch9/os/mm/memory_set/struct.KERNEL_SPACE.html index ab9c61e9..a7633226 100644 --- a/ch9/os/mm/memory_set/struct.KERNEL_SPACE.html +++ b/ch9/os/mm/memory_set/struct.KERNEL_SPACE.html @@ -1,11 +1,4 @@ -KERNEL_SPACE in os::mm::memory_set - Rust -
pub struct KERNEL_SPACE {
+KERNEL_SPACE in os::mm::memory_set - Rust
pub struct KERNEL_SPACE {
     __private_field: (),
 }

Fields

__private_field: ()

Trait Implementations

The resulting type after dereferencing.

Dereferences the value.

@@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/struct.MapArea.html b/ch9/os/mm/memory_set/struct.MapArea.html index 1f035b2b..9e357166 100644 --- a/ch9/os/mm/memory_set/struct.MapArea.html +++ b/ch9/os/mm/memory_set/struct.MapArea.html @@ -1,11 +1,4 @@ -MapArea in os::mm::memory_set - Rust -
pub struct MapArea {
+MapArea in os::mm::memory_set - Rust
pub struct MapArea {
     vpn_range: SimpleRange<VirtPageNum>,
     data_frames: BTreeMap<VirtPageNum, FrameTracker>,
     map_type: MapType,
@@ -27,13 +20,12 @@ assume that all frames were cleared before

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/struct.MapPermission.html b/ch9/os/mm/memory_set/struct.MapPermission.html index 9c15af08..a7f7b4cb 100644 --- a/ch9/os/mm/memory_set/struct.MapPermission.html +++ b/ch9/os/mm/memory_set/struct.MapPermission.html @@ -1,11 +1,4 @@ -MapPermission in os::mm::memory_set - Rust -
pub struct MapPermission {
+MapPermission in os::mm::memory_set - Rust
pub struct MapPermission {
     bits: u8,
 }

Fields

bits: u8

Implementations

Returns an empty set of flags.

Returns the set containing all flags.

@@ -89,18 +82,18 @@ between Self::all()<

The resulting type after applying the ! operator.

Formats the value using the given formatter.

This method returns an Ordering between self and other. Read more

-

Compares and returns the maximum of two values. Read more

-

Compares and returns the minimum of two values. Read more

-

Restrict a value to a certain interval. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

-

This method tests less than (for self and other) and is used by the < operator. Read more

-

This method tests less than or equal to (for self and other) and is used by the <= +

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

-

This method tests greater than or equal to (for self and other) and is used by the >= +

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Returns the set difference of the two sets of flags.

The resulting type after applying the - operator.

@@ -124,13 +117,12 @@ operator.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/memory_set/struct.MemorySet.html b/ch9/os/mm/memory_set/struct.MemorySet.html index 940d16a4..cefcb759 100644 --- a/ch9/os/mm/memory_set/struct.MemorySet.html +++ b/ch9/os/mm/memory_set/struct.MemorySet.html @@ -1,11 +1,4 @@ -MemorySet in os::mm::memory_set - Rust -
pub struct MemorySet {
+MemorySet in os::mm::memory_set - Rust
pub struct MemorySet {
     page_table: PageTable,
     areas: Vec<MapArea>,
 }

Fields

page_table: PageTableareas: Vec<MapArea>

Implementations

Assume that no conflicts.

@@ -28,13 +21,12 @@ also returns user_sp_base and entry point.

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/page_table/fn.translated_byte_buffer.html b/ch9/os/mm/page_table/fn.translated_byte_buffer.html index e77e427c..a35e2b62 100644 --- a/ch9/os/mm/page_table/fn.translated_byte_buffer.html +++ b/ch9/os/mm/page_table/fn.translated_byte_buffer.html @@ -1,9 +1 @@ -translated_byte_buffer in os::mm::page_table - Rust -
pub fn translated_byte_buffer(
    token: usize,
    ptr: *const u8,
    len: usize
) -> Vec<&'static mut [u8]>
- \ No newline at end of file +translated_byte_buffer in os::mm::page_table - Rust
pub fn translated_byte_buffer(
    token: usize,
    ptr: *const u8,
    len: usize
) -> Vec<&'static mut [u8]>
\ No newline at end of file diff --git a/ch9/os/mm/page_table/fn.translated_ref.html b/ch9/os/mm/page_table/fn.translated_ref.html index b437b1f1..b97fd53c 100644 --- a/ch9/os/mm/page_table/fn.translated_ref.html +++ b/ch9/os/mm/page_table/fn.translated_ref.html @@ -1,9 +1 @@ -translated_ref in os::mm::page_table - Rust -
pub fn translated_ref<T>(token: usize, ptr: *const T) -> &'static T
- \ No newline at end of file +translated_ref in os::mm::page_table - Rust
pub fn translated_ref<T>(token: usize, ptr: *const T) -> &'static T
\ No newline at end of file diff --git a/ch9/os/mm/page_table/fn.translated_refmut.html b/ch9/os/mm/page_table/fn.translated_refmut.html index 6c5ab2e3..49a64f43 100644 --- a/ch9/os/mm/page_table/fn.translated_refmut.html +++ b/ch9/os/mm/page_table/fn.translated_refmut.html @@ -1,9 +1 @@ -translated_refmut in os::mm::page_table - Rust -
pub fn translated_refmut<T>(token: usize, ptr: *mut T) -> &'static mut T
- \ No newline at end of file +translated_refmut in os::mm::page_table - Rust
pub fn translated_refmut<T>(token: usize, ptr: *mut T) -> &'static mut T
\ No newline at end of file diff --git a/ch9/os/mm/page_table/fn.translated_str.html b/ch9/os/mm/page_table/fn.translated_str.html index 8c136fbf..56e5692d 100644 --- a/ch9/os/mm/page_table/fn.translated_str.html +++ b/ch9/os/mm/page_table/fn.translated_str.html @@ -1,10 +1,2 @@ -translated_str in os::mm::page_table - Rust -
pub fn translated_str(token: usize, ptr: *const u8) -> String
Expand description

Load a string from other address spaces into kernel space without an end \0.

-
- \ No newline at end of file +translated_str in os::mm::page_table - Rust
pub fn translated_str(token: usize, ptr: *const u8) -> String
Expand description

Load a string from other address spaces into kernel space without an end \0.

+
\ No newline at end of file diff --git a/ch9/os/mm/page_table/index.html b/ch9/os/mm/page_table/index.html index ee2255e3..f335083f 100644 --- a/ch9/os/mm/page_table/index.html +++ b/ch9/os/mm/page_table/index.html @@ -1,12 +1,2 @@ -os::mm::page_table - Rust -
- \ No newline at end of file +os::mm::page_table - Rust
\ No newline at end of file diff --git a/ch9/os/mm/page_table/struct.PTEFlags.html b/ch9/os/mm/page_table/struct.PTEFlags.html index de46ea28..b3a13c1a 100644 --- a/ch9/os/mm/page_table/struct.PTEFlags.html +++ b/ch9/os/mm/page_table/struct.PTEFlags.html @@ -1,11 +1,4 @@ -PTEFlags in os::mm::page_table - Rust -
pub struct PTEFlags {
+PTEFlags in os::mm::page_table - Rust
pub struct PTEFlags {
     bits: u8,
 }

Fields

bits: u8

Implementations

Returns an empty set of flags.

Returns the set containing all flags.

@@ -89,18 +82,18 @@ between Self::all() a

The resulting type after applying the ! operator.

Formats the value using the given formatter.

This method returns an Ordering between self and other. Read more

-

Compares and returns the maximum of two values. Read more

-

Compares and returns the minimum of two values. Read more

-

Restrict a value to a certain interval. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

-

This method tests less than (for self and other) and is used by the < operator. Read more

-

This method tests less than or equal to (for self and other) and is used by the <= +

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

-

This method tests greater than or equal to (for self and other) and is used by the >= +

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Returns the set difference of the two sets of flags.

The resulting type after applying the - operator.

@@ -124,13 +117,12 @@ operator.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/page_table/struct.PageTable.html b/ch9/os/mm/page_table/struct.PageTable.html index 110d5032..1c582bd1 100644 --- a/ch9/os/mm/page_table/struct.PageTable.html +++ b/ch9/os/mm/page_table/struct.PageTable.html @@ -1,11 +1,4 @@ -PageTable in os::mm::page_table - Rust -
pub struct PageTable {
+PageTable in os::mm::page_table - Rust
pub struct PageTable {
     root_ppn: PhysPageNum,
     frames: Vec<FrameTracker>,
 }

Fields

root_ppn: PhysPageNumframes: Vec<FrameTracker>

Implementations

Assume that it won’t oom when creating/mapping.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/page_table/struct.PageTableEntry.html b/ch9/os/mm/page_table/struct.PageTableEntry.html index 40b7c2b3..6571de4d 100644 --- a/ch9/os/mm/page_table/struct.PageTableEntry.html +++ b/ch9/os/mm/page_table/struct.PageTableEntry.html @@ -1,11 +1,4 @@ -PageTableEntry in os::mm::page_table - Rust -
#[repr(C)]
pub struct PageTableEntry { +PageTableEntry in os::mm::page_table - Rust
#[repr(C)]
pub struct PageTableEntry { pub bits: usize, }

Fields

bits: usize

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

@@ -27,13 +20,12 @@

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/page_table/struct.UserBuffer.html b/ch9/os/mm/page_table/struct.UserBuffer.html index 4739a603..e6558c10 100644 --- a/ch9/os/mm/page_table/struct.UserBuffer.html +++ b/ch9/os/mm/page_table/struct.UserBuffer.html @@ -1,11 +1,4 @@ -UserBuffer in os::mm::page_table - Rust -
pub struct UserBuffer {
+UserBuffer in os::mm::page_table - Rust
pub struct UserBuffer {
     pub buffers: Vec<&'static mut [u8]>,
 }

Fields

buffers: Vec<&'static mut [u8]>

Implementations

Trait Implementations

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/mm/page_table/struct.UserBufferIterator.html b/ch9/os/mm/page_table/struct.UserBufferIterator.html index dd93e639..23b96630 100644 --- a/ch9/os/mm/page_table/struct.UserBufferIterator.html +++ b/ch9/os/mm/page_table/struct.UserBufferIterator.html @@ -1,11 +1,4 @@ -UserBufferIterator in os::mm::page_table - Rust -
pub struct UserBufferIterator {
+UserBufferIterator in os::mm::page_table - Rust
pub struct UserBufferIterator {
     buffers: Vec<&'static mut [u8]>,
     current_buffer: usize,
     current_idx: usize,
@@ -140,13 +133,12 @@ function. 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sbi/constant.SBI_CLEAR_IPI.html b/ch9/os/sbi/constant.SBI_CLEAR_IPI.html index 73224c6f..7bd2b4d4 100644 --- a/ch9/os/sbi/constant.SBI_CLEAR_IPI.html +++ b/ch9/os/sbi/constant.SBI_CLEAR_IPI.html @@ -1,9 +1 @@ -SBI_CLEAR_IPI in os::sbi - Rust -
-

Constant os::sbi::SBI_CLEAR_IPI

source · []
const SBI_CLEAR_IPI: usize = 3;
- \ No newline at end of file +SBI_CLEAR_IPI in os::sbi - Rust
const SBI_CLEAR_IPI: usize = 3;
\ No newline at end of file diff --git a/ch9/os/sbi/constant.SBI_CONSOLE_GETCHAR.html b/ch9/os/sbi/constant.SBI_CONSOLE_GETCHAR.html index 64375e1a..82709775 100644 --- a/ch9/os/sbi/constant.SBI_CONSOLE_GETCHAR.html +++ b/ch9/os/sbi/constant.SBI_CONSOLE_GETCHAR.html @@ -1,9 +1 @@ -SBI_CONSOLE_GETCHAR in os::sbi - Rust -
const SBI_CONSOLE_GETCHAR: usize = 2;
- \ No newline at end of file +SBI_CONSOLE_GETCHAR in os::sbi - Rust
const SBI_CONSOLE_GETCHAR: usize = 2;
\ No newline at end of file diff --git a/ch9/os/sbi/constant.SBI_CONSOLE_PUTCHAR.html b/ch9/os/sbi/constant.SBI_CONSOLE_PUTCHAR.html index d58e82b5..10915495 100644 --- a/ch9/os/sbi/constant.SBI_CONSOLE_PUTCHAR.html +++ b/ch9/os/sbi/constant.SBI_CONSOLE_PUTCHAR.html @@ -1,9 +1 @@ -SBI_CONSOLE_PUTCHAR in os::sbi - Rust -
const SBI_CONSOLE_PUTCHAR: usize = 1;
- \ No newline at end of file +SBI_CONSOLE_PUTCHAR in os::sbi - Rust
const SBI_CONSOLE_PUTCHAR: usize = 1;
\ No newline at end of file diff --git a/ch9/os/sbi/constant.SBI_REMOTE_FENCE_I.html b/ch9/os/sbi/constant.SBI_REMOTE_FENCE_I.html index 7b408769..a397da74 100644 --- a/ch9/os/sbi/constant.SBI_REMOTE_FENCE_I.html +++ b/ch9/os/sbi/constant.SBI_REMOTE_FENCE_I.html @@ -1,9 +1 @@ -SBI_REMOTE_FENCE_I in os::sbi - Rust -
const SBI_REMOTE_FENCE_I: usize = 5;
- \ No newline at end of file +SBI_REMOTE_FENCE_I in os::sbi - Rust
const SBI_REMOTE_FENCE_I: usize = 5;
\ No newline at end of file diff --git a/ch9/os/sbi/constant.SBI_REMOTE_SFENCE_VMA.html b/ch9/os/sbi/constant.SBI_REMOTE_SFENCE_VMA.html index 29028ca5..7e80705a 100644 --- a/ch9/os/sbi/constant.SBI_REMOTE_SFENCE_VMA.html +++ b/ch9/os/sbi/constant.SBI_REMOTE_SFENCE_VMA.html @@ -1,9 +1 @@ -SBI_REMOTE_SFENCE_VMA in os::sbi - Rust -
const SBI_REMOTE_SFENCE_VMA: usize = 6;
- \ No newline at end of file +SBI_REMOTE_SFENCE_VMA in os::sbi - Rust
const SBI_REMOTE_SFENCE_VMA: usize = 6;
\ No newline at end of file diff --git a/ch9/os/sbi/constant.SBI_REMOTE_SFENCE_VMA_ASID.html b/ch9/os/sbi/constant.SBI_REMOTE_SFENCE_VMA_ASID.html index 526159d2..b39b840b 100644 --- a/ch9/os/sbi/constant.SBI_REMOTE_SFENCE_VMA_ASID.html +++ b/ch9/os/sbi/constant.SBI_REMOTE_SFENCE_VMA_ASID.html @@ -1,9 +1 @@ -SBI_REMOTE_SFENCE_VMA_ASID in os::sbi - Rust -
const SBI_REMOTE_SFENCE_VMA_ASID: usize = 7;
- \ No newline at end of file +SBI_REMOTE_SFENCE_VMA_ASID in os::sbi - Rust
const SBI_REMOTE_SFENCE_VMA_ASID: usize = 7;
\ No newline at end of file diff --git a/ch9/os/sbi/constant.SBI_SEND_IPI.html b/ch9/os/sbi/constant.SBI_SEND_IPI.html index f233af71..8048e517 100644 --- a/ch9/os/sbi/constant.SBI_SEND_IPI.html +++ b/ch9/os/sbi/constant.SBI_SEND_IPI.html @@ -1,9 +1 @@ -SBI_SEND_IPI in os::sbi - Rust -
-

Constant os::sbi::SBI_SEND_IPI

source · []
const SBI_SEND_IPI: usize = 4;
- \ No newline at end of file +SBI_SEND_IPI in os::sbi - Rust
const SBI_SEND_IPI: usize = 4;
\ No newline at end of file diff --git a/ch9/os/sbi/constant.SBI_SET_TIMER.html b/ch9/os/sbi/constant.SBI_SET_TIMER.html index ea199df8..0d9f9f56 100644 --- a/ch9/os/sbi/constant.SBI_SET_TIMER.html +++ b/ch9/os/sbi/constant.SBI_SET_TIMER.html @@ -1,9 +1 @@ -SBI_SET_TIMER in os::sbi - Rust -
-

Constant os::sbi::SBI_SET_TIMER

source · []
const SBI_SET_TIMER: usize = 0;
- \ No newline at end of file +SBI_SET_TIMER in os::sbi - Rust
const SBI_SET_TIMER: usize = 0;
\ No newline at end of file diff --git a/ch9/os/sbi/constant.SBI_SHUTDOWN.html b/ch9/os/sbi/constant.SBI_SHUTDOWN.html index a04c4266..1b1a6f91 100644 --- a/ch9/os/sbi/constant.SBI_SHUTDOWN.html +++ b/ch9/os/sbi/constant.SBI_SHUTDOWN.html @@ -1,9 +1 @@ -SBI_SHUTDOWN in os::sbi - Rust -
-

Constant os::sbi::SBI_SHUTDOWN

source · []
const SBI_SHUTDOWN: usize = 8;
- \ No newline at end of file +SBI_SHUTDOWN in os::sbi - Rust
const SBI_SHUTDOWN: usize = 8;
\ No newline at end of file diff --git a/ch9/os/sbi/fn.console_getchar.html b/ch9/os/sbi/fn.console_getchar.html index defe8a07..1e39dfe2 100644 --- a/ch9/os/sbi/fn.console_getchar.html +++ b/ch9/os/sbi/fn.console_getchar.html @@ -1,9 +1 @@ -console_getchar in os::sbi - Rust -
pub fn console_getchar() -> usize
- \ No newline at end of file +console_getchar in os::sbi - Rust
pub fn console_getchar() -> usize
\ No newline at end of file diff --git a/ch9/os/sbi/fn.console_putchar.html b/ch9/os/sbi/fn.console_putchar.html index 103de75c..4251a9ab 100644 --- a/ch9/os/sbi/fn.console_putchar.html +++ b/ch9/os/sbi/fn.console_putchar.html @@ -1,9 +1 @@ -console_putchar in os::sbi - Rust -
pub fn console_putchar(c: usize)
- \ No newline at end of file +console_putchar in os::sbi - Rust
pub fn console_putchar(c: usize)
\ No newline at end of file diff --git a/ch9/os/sbi/fn.sbi_call.html b/ch9/os/sbi/fn.sbi_call.html index 27d33004..5615c4ea 100644 --- a/ch9/os/sbi/fn.sbi_call.html +++ b/ch9/os/sbi/fn.sbi_call.html @@ -1,9 +1 @@ -sbi_call in os::sbi - Rust -
-

Function os::sbi::sbi_call

source · []
fn sbi_call(which: usize, arg0: usize, arg1: usize, arg2: usize) -> usize
- \ No newline at end of file +sbi_call in os::sbi - Rust

Function os::sbi::sbi_call

source · []
fn sbi_call(which: usize, arg0: usize, arg1: usize, arg2: usize) -> usize
\ No newline at end of file diff --git a/ch9/os/sbi/fn.set_timer.html b/ch9/os/sbi/fn.set_timer.html index baa83e47..9b902dfb 100644 --- a/ch9/os/sbi/fn.set_timer.html +++ b/ch9/os/sbi/fn.set_timer.html @@ -1,9 +1 @@ -set_timer in os::sbi - Rust -
-

Function os::sbi::set_timer

source · []
pub fn set_timer(timer: usize)
- \ No newline at end of file +set_timer in os::sbi - Rust

Function os::sbi::set_timer

source · []
pub fn set_timer(timer: usize)
\ No newline at end of file diff --git a/ch9/os/sbi/fn.shutdown.html b/ch9/os/sbi/fn.shutdown.html index 1dc861f1..01026a3d 100644 --- a/ch9/os/sbi/fn.shutdown.html +++ b/ch9/os/sbi/fn.shutdown.html @@ -1,9 +1 @@ -shutdown in os::sbi - Rust -
-

Function os::sbi::shutdown

source · []
pub fn shutdown(exit_code: usize) -> !
- \ No newline at end of file +shutdown in os::sbi - Rust

Function os::sbi::shutdown

source · []
pub fn shutdown(exit_code: usize) -> !
\ No newline at end of file diff --git a/ch9/os/sbi/index.html b/ch9/os/sbi/index.html index 8bf6923b..9c6a7521 100644 --- a/ch9/os/sbi/index.html +++ b/ch9/os/sbi/index.html @@ -1,11 +1 @@ -os::sbi - Rust -
- \ No newline at end of file +os::sbi - Rust
\ No newline at end of file diff --git a/ch9/os/struct.DEV_NON_BLOCKING_ACCESS.html b/ch9/os/struct.DEV_NON_BLOCKING_ACCESS.html index 13c91d1e..c23349c8 100644 --- a/ch9/os/struct.DEV_NON_BLOCKING_ACCESS.html +++ b/ch9/os/struct.DEV_NON_BLOCKING_ACCESS.html @@ -1,11 +1,4 @@ -DEV_NON_BLOCKING_ACCESS in os - Rust -
pub struct DEV_NON_BLOCKING_ACCESS {
+DEV_NON_BLOCKING_ACCESS in os - Rust
pub struct DEV_NON_BLOCKING_ACCESS {
     pub(crate) __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<bool>>

Panic if the data has been borrowed.

Trait Implementations

The resulting type after dereferencing.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sync/condvar/index.html b/ch9/os/sync/condvar/index.html index 87d698cd..3d233868 100644 --- a/ch9/os/sync/condvar/index.html +++ b/ch9/os/sync/condvar/index.html @@ -1,10 +1 @@ -os::sync::condvar - Rust -
- \ No newline at end of file +os::sync::condvar - Rust
\ No newline at end of file diff --git a/ch9/os/sync/condvar/struct.Condvar.html b/ch9/os/sync/condvar/struct.Condvar.html index 0d6ab7e1..762f845e 100644 --- a/ch9/os/sync/condvar/struct.Condvar.html +++ b/ch9/os/sync/condvar/struct.Condvar.html @@ -1,11 +1,4 @@ -Condvar in os::sync::condvar - Rust -
pub struct Condvar {
+Condvar in os::sync::condvar - Rust
pub struct Condvar {
     pub inner: UPIntrFreeCell<CondvarInner>,
 }

Fields

inner: UPIntrFreeCell<CondvarInner>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sync/condvar/struct.CondvarInner.html b/ch9/os/sync/condvar/struct.CondvarInner.html index 21e769d2..174a610f 100644 --- a/ch9/os/sync/condvar/struct.CondvarInner.html +++ b/ch9/os/sync/condvar/struct.CondvarInner.html @@ -1,11 +1,4 @@ -CondvarInner in os::sync::condvar - Rust -
pub struct CondvarInner {
+CondvarInner in os::sync::condvar - Rust
pub struct CondvarInner {
     pub wait_queue: VecDeque<Arc<TaskControlBlock>>,
 }

Fields

wait_queue: VecDeque<Arc<TaskControlBlock>>

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sync/index.html b/ch9/os/sync/index.html index 0826cd47..4e3008f2 100644 --- a/ch9/os/sync/index.html +++ b/ch9/os/sync/index.html @@ -1,11 +1 @@ -os::sync - Rust -
-

Module os::sync

source · []

Re-exports

-
pub use condvar::Condvar;
pub use mutex::Mutex;
pub use mutex::MutexBlocking;
pub use mutex::MutexSpin;
pub use semaphore::Semaphore;
pub use up::UPIntrFreeCell;
pub use up::UPIntrRefMut;

Modules

-
condvar 🔒
mutex 🔒
semaphore 🔒
up 🔒
- \ No newline at end of file +os::sync - Rust

Module os::sync

source · []

Re-exports

pub use condvar::Condvar;
pub use mutex::Mutex;
pub use mutex::MutexBlocking;
pub use mutex::MutexSpin;
pub use semaphore::Semaphore;
pub use up::UPIntrFreeCell;
pub use up::UPIntrRefMut;

Modules

condvar 🔒
mutex 🔒
semaphore 🔒
up 🔒
\ No newline at end of file diff --git a/ch9/os/sync/mutex/index.html b/ch9/os/sync/mutex/index.html index e55437e6..d2e500db 100644 --- a/ch9/os/sync/mutex/index.html +++ b/ch9/os/sync/mutex/index.html @@ -1,11 +1 @@ -os::sync::mutex - Rust -
- \ No newline at end of file +os::sync::mutex - Rust
\ No newline at end of file diff --git a/ch9/os/sync/mutex/struct.MutexBlocking.html b/ch9/os/sync/mutex/struct.MutexBlocking.html index 33de8617..21ab8fe3 100644 --- a/ch9/os/sync/mutex/struct.MutexBlocking.html +++ b/ch9/os/sync/mutex/struct.MutexBlocking.html @@ -1,11 +1,4 @@ -MutexBlocking in os::sync::mutex - Rust -
pub struct MutexBlocking {
+MutexBlocking in os::sync::mutex - Rust
pub struct MutexBlocking {
     inner: UPIntrFreeCell<MutexBlockingInner>,
 }

Fields

inner: UPIntrFreeCell<MutexBlockingInner>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sync/mutex/struct.MutexBlockingInner.html b/ch9/os/sync/mutex/struct.MutexBlockingInner.html index 85f32bbe..51270e15 100644 --- a/ch9/os/sync/mutex/struct.MutexBlockingInner.html +++ b/ch9/os/sync/mutex/struct.MutexBlockingInner.html @@ -1,11 +1,4 @@ -MutexBlockingInner in os::sync::mutex - Rust -
pub struct MutexBlockingInner {
+MutexBlockingInner in os::sync::mutex - Rust
pub struct MutexBlockingInner {
     locked: bool,
     wait_queue: VecDeque<Arc<TaskControlBlock>>,
 }

Fields

locked: boolwait_queue: VecDeque<Arc<TaskControlBlock>>

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

@@ -23,13 +16,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sync/mutex/struct.MutexSpin.html b/ch9/os/sync/mutex/struct.MutexSpin.html index c0cbfacc..c62b9a1d 100644 --- a/ch9/os/sync/mutex/struct.MutexSpin.html +++ b/ch9/os/sync/mutex/struct.MutexSpin.html @@ -1,11 +1,4 @@ -MutexSpin in os::sync::mutex - Rust -
pub struct MutexSpin {
+MutexSpin in os::sync::mutex - Rust
pub struct MutexSpin {
     locked: UPIntrFreeCell<bool>,
 }

Fields

locked: UPIntrFreeCell<bool>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sync/mutex/trait.Mutex.html b/ch9/os/sync/mutex/trait.Mutex.html index b9aec8d3..018cad08 100644 --- a/ch9/os/sync/mutex/trait.Mutex.html +++ b/ch9/os/sync/mutex/trait.Mutex.html @@ -1,12 +1,4 @@ -Mutex in os::sync::mutex - Rust -
-

Trait os::sync::mutex::Mutex

source · []
pub trait Mutex: Sync + Send {
+Mutex in os::sync::mutex - Rust
pub trait Mutex: Sync + Send {
     fn lock(&self);
     fn unlock(&self);
-}

Required Methods

Implementors

- \ No newline at end of file +}

Required Methods

Implementors

\ No newline at end of file diff --git a/ch9/os/sync/semaphore/index.html b/ch9/os/sync/semaphore/index.html index 4025b1b5..d2282eee 100644 --- a/ch9/os/sync/semaphore/index.html +++ b/ch9/os/sync/semaphore/index.html @@ -1,10 +1 @@ -os::sync::semaphore - Rust -
- \ No newline at end of file +os::sync::semaphore - Rust
\ No newline at end of file diff --git a/ch9/os/sync/semaphore/struct.Semaphore.html b/ch9/os/sync/semaphore/struct.Semaphore.html index c82bc6f4..e1de2fb6 100644 --- a/ch9/os/sync/semaphore/struct.Semaphore.html +++ b/ch9/os/sync/semaphore/struct.Semaphore.html @@ -1,11 +1,4 @@ -Semaphore in os::sync::semaphore - Rust -
pub struct Semaphore {
+Semaphore in os::sync::semaphore - Rust
pub struct Semaphore {
     pub inner: UPIntrFreeCell<SemaphoreInner>,
 }

Fields

inner: UPIntrFreeCell<SemaphoreInner>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sync/semaphore/struct.SemaphoreInner.html b/ch9/os/sync/semaphore/struct.SemaphoreInner.html index 19818180..2b461a8d 100644 --- a/ch9/os/sync/semaphore/struct.SemaphoreInner.html +++ b/ch9/os/sync/semaphore/struct.SemaphoreInner.html @@ -1,11 +1,4 @@ -SemaphoreInner in os::sync::semaphore - Rust -
pub struct SemaphoreInner {
+SemaphoreInner in os::sync::semaphore - Rust
pub struct SemaphoreInner {
     pub count: isize,
     pub wait_queue: VecDeque<Arc<TaskControlBlock>>,
 }

Fields

count: isizewait_queue: VecDeque<Arc<TaskControlBlock>>

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

@@ -23,13 +16,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sync/up/index.html b/ch9/os/sync/up/index.html index b3e14078..8f591d47 100644 --- a/ch9/os/sync/up/index.html +++ b/ch9/os/sync/up/index.html @@ -1,10 +1 @@ -os::sync::up - Rust -
- \ No newline at end of file +os::sync::up - Rust
\ No newline at end of file diff --git a/ch9/os/sync/up/struct.INTR_MASKING_INFO.html b/ch9/os/sync/up/struct.INTR_MASKING_INFO.html index 7554452d..0b5024f1 100644 --- a/ch9/os/sync/up/struct.INTR_MASKING_INFO.html +++ b/ch9/os/sync/up/struct.INTR_MASKING_INFO.html @@ -1,11 +1,4 @@ -INTR_MASKING_INFO in os::sync::up - Rust -
struct INTR_MASKING_INFO {
+INTR_MASKING_INFO in os::sync::up - Rust
struct INTR_MASKING_INFO {
     __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPSafeCellRaw<IntrMaskingInfo>>

Trait Implementations

The resulting type after dereferencing.

Dereferences the value.

@@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sync/up/struct.IntrMaskingInfo.html b/ch9/os/sync/up/struct.IntrMaskingInfo.html index 9140da9f..569888ca 100644 --- a/ch9/os/sync/up/struct.IntrMaskingInfo.html +++ b/ch9/os/sync/up/struct.IntrMaskingInfo.html @@ -1,11 +1,4 @@ -IntrMaskingInfo in os::sync::up - Rust -
pub struct IntrMaskingInfo {
+IntrMaskingInfo in os::sync::up - Rust
pub struct IntrMaskingInfo {
     nested_level: usize,
     sie_before_masking: bool,
 }

Fields

nested_level: usizesie_before_masking: bool

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

@@ -23,13 +16,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sync/up/struct.UPIntrFreeCell.html b/ch9/os/sync/up/struct.UPIntrFreeCell.html index 54ec3469..dfbd9f3f 100644 --- a/ch9/os/sync/up/struct.UPIntrFreeCell.html +++ b/ch9/os/sync/up/struct.UPIntrFreeCell.html @@ -1,11 +1,4 @@ -UPIntrFreeCell in os::sync::up - Rust -
pub struct UPIntrFreeCell<T> {
+UPIntrFreeCell in os::sync::up - Rust
pub struct UPIntrFreeCell<T> {
     inner: RefCell<T>,
 }

Fields

inner: RefCell<T>

inner data

Implementations

Panic if the data has been borrowed.

@@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sync/up/struct.UPIntrRefMut.html b/ch9/os/sync/up/struct.UPIntrRefMut.html index 2a9f3735..3879a42c 100644 --- a/ch9/os/sync/up/struct.UPIntrRefMut.html +++ b/ch9/os/sync/up/struct.UPIntrRefMut.html @@ -1,11 +1,4 @@ -UPIntrRefMut in os::sync::up - Rust -
pub struct UPIntrRefMut<'a, T>(Option<RefMut<'a, T>>);

Tuple Fields

0: Option<RefMut<'a, T>>

Trait Implementations

The resulting type after dereferencing.

+UPIntrRefMut in os::sync::up - Rust
pub struct UPIntrRefMut<'a, T>(Option<RefMut<'a, T>>);

Tuple Fields

0: Option<RefMut<'a, T>>

Trait Implementations

The resulting type after dereferencing.

Dereferences the value.

Mutably dereferences the value.

Executes the destructor for this type. Read more

@@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/sync/up/struct.UPSafeCellRaw.html b/ch9/os/sync/up/struct.UPSafeCellRaw.html index 4ae0091b..f53ef2c6 100644 --- a/ch9/os/sync/up/struct.UPSafeCellRaw.html +++ b/ch9/os/sync/up/struct.UPSafeCellRaw.html @@ -1,11 +1,4 @@ -UPSafeCellRaw in os::sync::up - Rust -
pub struct UPSafeCellRaw<T> {
+UPSafeCellRaw in os::sync::up - Rust
pub struct UPSafeCellRaw<T> {
     inner: UnsafeCell<T>,
 }

Fields

inner: UnsafeCell<T>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -22,13 +15,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_CLOSE.html b/ch9/os/syscall/constant.SYSCALL_CLOSE.html index 4deb2fc8..71982e73 100644 --- a/ch9/os/syscall/constant.SYSCALL_CLOSE.html +++ b/ch9/os/syscall/constant.SYSCALL_CLOSE.html @@ -1,9 +1 @@ -SYSCALL_CLOSE in os::syscall - Rust -
const SYSCALL_CLOSE: usize = 57;
- \ No newline at end of file +SYSCALL_CLOSE in os::syscall - Rust
const SYSCALL_CLOSE: usize = 57;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_CONDVAR_CREATE.html b/ch9/os/syscall/constant.SYSCALL_CONDVAR_CREATE.html index c3780300..4b82d1f9 100644 --- a/ch9/os/syscall/constant.SYSCALL_CONDVAR_CREATE.html +++ b/ch9/os/syscall/constant.SYSCALL_CONDVAR_CREATE.html @@ -1,9 +1 @@ -SYSCALL_CONDVAR_CREATE in os::syscall - Rust -
const SYSCALL_CONDVAR_CREATE: usize = 1030;
- \ No newline at end of file +SYSCALL_CONDVAR_CREATE in os::syscall - Rust
const SYSCALL_CONDVAR_CREATE: usize = 1030;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_CONDVAR_SIGNAL.html b/ch9/os/syscall/constant.SYSCALL_CONDVAR_SIGNAL.html index 053c05bb..f8956fd8 100644 --- a/ch9/os/syscall/constant.SYSCALL_CONDVAR_SIGNAL.html +++ b/ch9/os/syscall/constant.SYSCALL_CONDVAR_SIGNAL.html @@ -1,9 +1 @@ -SYSCALL_CONDVAR_SIGNAL in os::syscall - Rust -
const SYSCALL_CONDVAR_SIGNAL: usize = 1031;
- \ No newline at end of file +SYSCALL_CONDVAR_SIGNAL in os::syscall - Rust
const SYSCALL_CONDVAR_SIGNAL: usize = 1031;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_CONDVAR_WAIT.html b/ch9/os/syscall/constant.SYSCALL_CONDVAR_WAIT.html index f624183f..a94489cc 100644 --- a/ch9/os/syscall/constant.SYSCALL_CONDVAR_WAIT.html +++ b/ch9/os/syscall/constant.SYSCALL_CONDVAR_WAIT.html @@ -1,9 +1 @@ -SYSCALL_CONDVAR_WAIT in os::syscall - Rust -
const SYSCALL_CONDVAR_WAIT: usize = 1032;
- \ No newline at end of file +SYSCALL_CONDVAR_WAIT in os::syscall - Rust
const SYSCALL_CONDVAR_WAIT: usize = 1032;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_CREATE_DESKTOP.html b/ch9/os/syscall/constant.SYSCALL_CREATE_DESKTOP.html index 313b588f..7712361e 100644 --- a/ch9/os/syscall/constant.SYSCALL_CREATE_DESKTOP.html +++ b/ch9/os/syscall/constant.SYSCALL_CREATE_DESKTOP.html @@ -1,9 +1 @@ -SYSCALL_CREATE_DESKTOP in os::syscall - Rust -
const SYSCALL_CREATE_DESKTOP: usize = 2000;
- \ No newline at end of file +SYSCALL_CREATE_DESKTOP in os::syscall - Rust
const SYSCALL_CREATE_DESKTOP: usize = 2000;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_DUP.html b/ch9/os/syscall/constant.SYSCALL_DUP.html index 5bc30cd2..44810414 100644 --- a/ch9/os/syscall/constant.SYSCALL_DUP.html +++ b/ch9/os/syscall/constant.SYSCALL_DUP.html @@ -1,9 +1 @@ -SYSCALL_DUP in os::syscall - Rust -
const SYSCALL_DUP: usize = 24;
- \ No newline at end of file +SYSCALL_DUP in os::syscall - Rust
const SYSCALL_DUP: usize = 24;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_EXEC.html b/ch9/os/syscall/constant.SYSCALL_EXEC.html index 51fdc95a..35dc36ba 100644 --- a/ch9/os/syscall/constant.SYSCALL_EXEC.html +++ b/ch9/os/syscall/constant.SYSCALL_EXEC.html @@ -1,9 +1 @@ -SYSCALL_EXEC in os::syscall - Rust -
const SYSCALL_EXEC: usize = 221;
- \ No newline at end of file +SYSCALL_EXEC in os::syscall - Rust
const SYSCALL_EXEC: usize = 221;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_EXIT.html b/ch9/os/syscall/constant.SYSCALL_EXIT.html index a1fb94ff..482c7d1d 100644 --- a/ch9/os/syscall/constant.SYSCALL_EXIT.html +++ b/ch9/os/syscall/constant.SYSCALL_EXIT.html @@ -1,9 +1 @@ -SYSCALL_EXIT in os::syscall - Rust -
const SYSCALL_EXIT: usize = 93;
- \ No newline at end of file +SYSCALL_EXIT in os::syscall - Rust
const SYSCALL_EXIT: usize = 93;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_FORK.html b/ch9/os/syscall/constant.SYSCALL_FORK.html index 2c4cc6f3..726ca8e3 100644 --- a/ch9/os/syscall/constant.SYSCALL_FORK.html +++ b/ch9/os/syscall/constant.SYSCALL_FORK.html @@ -1,9 +1 @@ -SYSCALL_FORK in os::syscall - Rust -
const SYSCALL_FORK: usize = 220;
- \ No newline at end of file +SYSCALL_FORK in os::syscall - Rust
const SYSCALL_FORK: usize = 220;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_GETPID.html b/ch9/os/syscall/constant.SYSCALL_GETPID.html index 51255678..0df958d2 100644 --- a/ch9/os/syscall/constant.SYSCALL_GETPID.html +++ b/ch9/os/syscall/constant.SYSCALL_GETPID.html @@ -1,9 +1 @@ -SYSCALL_GETPID in os::syscall - Rust -
const SYSCALL_GETPID: usize = 172;
- \ No newline at end of file +SYSCALL_GETPID in os::syscall - Rust
const SYSCALL_GETPID: usize = 172;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_GETTID.html b/ch9/os/syscall/constant.SYSCALL_GETTID.html index ce5cb861..f832c884 100644 --- a/ch9/os/syscall/constant.SYSCALL_GETTID.html +++ b/ch9/os/syscall/constant.SYSCALL_GETTID.html @@ -1,9 +1 @@ -SYSCALL_GETTID in os::syscall - Rust -
const SYSCALL_GETTID: usize = 1001;
- \ No newline at end of file +SYSCALL_GETTID in os::syscall - Rust
const SYSCALL_GETTID: usize = 1001;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_GET_TIME.html b/ch9/os/syscall/constant.SYSCALL_GET_TIME.html index 440e8e57..580e8032 100644 --- a/ch9/os/syscall/constant.SYSCALL_GET_TIME.html +++ b/ch9/os/syscall/constant.SYSCALL_GET_TIME.html @@ -1,9 +1 @@ -SYSCALL_GET_TIME in os::syscall - Rust -
const SYSCALL_GET_TIME: usize = 169;
- \ No newline at end of file +SYSCALL_GET_TIME in os::syscall - Rust
const SYSCALL_GET_TIME: usize = 169;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_KILL.html b/ch9/os/syscall/constant.SYSCALL_KILL.html index 84ec088f..42154400 100644 --- a/ch9/os/syscall/constant.SYSCALL_KILL.html +++ b/ch9/os/syscall/constant.SYSCALL_KILL.html @@ -1,9 +1 @@ -SYSCALL_KILL in os::syscall - Rust -
const SYSCALL_KILL: usize = 129;
- \ No newline at end of file +SYSCALL_KILL in os::syscall - Rust
const SYSCALL_KILL: usize = 129;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_MUTEX_CREATE.html b/ch9/os/syscall/constant.SYSCALL_MUTEX_CREATE.html index 39eb20b5..87e29d2c 100644 --- a/ch9/os/syscall/constant.SYSCALL_MUTEX_CREATE.html +++ b/ch9/os/syscall/constant.SYSCALL_MUTEX_CREATE.html @@ -1,9 +1 @@ -SYSCALL_MUTEX_CREATE in os::syscall - Rust -
const SYSCALL_MUTEX_CREATE: usize = 1010;
- \ No newline at end of file +SYSCALL_MUTEX_CREATE in os::syscall - Rust
const SYSCALL_MUTEX_CREATE: usize = 1010;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_MUTEX_LOCK.html b/ch9/os/syscall/constant.SYSCALL_MUTEX_LOCK.html index 5985c2e1..a4bda549 100644 --- a/ch9/os/syscall/constant.SYSCALL_MUTEX_LOCK.html +++ b/ch9/os/syscall/constant.SYSCALL_MUTEX_LOCK.html @@ -1,9 +1 @@ -SYSCALL_MUTEX_LOCK in os::syscall - Rust -
const SYSCALL_MUTEX_LOCK: usize = 1011;
- \ No newline at end of file +SYSCALL_MUTEX_LOCK in os::syscall - Rust
const SYSCALL_MUTEX_LOCK: usize = 1011;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_MUTEX_UNLOCK.html b/ch9/os/syscall/constant.SYSCALL_MUTEX_UNLOCK.html index 7c05fe19..e2856686 100644 --- a/ch9/os/syscall/constant.SYSCALL_MUTEX_UNLOCK.html +++ b/ch9/os/syscall/constant.SYSCALL_MUTEX_UNLOCK.html @@ -1,9 +1 @@ -SYSCALL_MUTEX_UNLOCK in os::syscall - Rust -
const SYSCALL_MUTEX_UNLOCK: usize = 1012;
- \ No newline at end of file +SYSCALL_MUTEX_UNLOCK in os::syscall - Rust
const SYSCALL_MUTEX_UNLOCK: usize = 1012;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_OPEN.html b/ch9/os/syscall/constant.SYSCALL_OPEN.html index 253b4b19..7292a72e 100644 --- a/ch9/os/syscall/constant.SYSCALL_OPEN.html +++ b/ch9/os/syscall/constant.SYSCALL_OPEN.html @@ -1,9 +1 @@ -SYSCALL_OPEN in os::syscall - Rust -
const SYSCALL_OPEN: usize = 56;
- \ No newline at end of file +SYSCALL_OPEN in os::syscall - Rust
const SYSCALL_OPEN: usize = 56;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_PIPE.html b/ch9/os/syscall/constant.SYSCALL_PIPE.html index ce84a9a3..eed559de 100644 --- a/ch9/os/syscall/constant.SYSCALL_PIPE.html +++ b/ch9/os/syscall/constant.SYSCALL_PIPE.html @@ -1,9 +1 @@ -SYSCALL_PIPE in os::syscall - Rust -
const SYSCALL_PIPE: usize = 59;
- \ No newline at end of file +SYSCALL_PIPE in os::syscall - Rust
const SYSCALL_PIPE: usize = 59;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_READ.html b/ch9/os/syscall/constant.SYSCALL_READ.html index b651a7e9..820a3d9a 100644 --- a/ch9/os/syscall/constant.SYSCALL_READ.html +++ b/ch9/os/syscall/constant.SYSCALL_READ.html @@ -1,9 +1 @@ -SYSCALL_READ in os::syscall - Rust -
const SYSCALL_READ: usize = 63;
- \ No newline at end of file +SYSCALL_READ in os::syscall - Rust
const SYSCALL_READ: usize = 63;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_SEMAPHORE_CREATE.html b/ch9/os/syscall/constant.SYSCALL_SEMAPHORE_CREATE.html index be2317f7..9f40f264 100644 --- a/ch9/os/syscall/constant.SYSCALL_SEMAPHORE_CREATE.html +++ b/ch9/os/syscall/constant.SYSCALL_SEMAPHORE_CREATE.html @@ -1,9 +1 @@ -SYSCALL_SEMAPHORE_CREATE in os::syscall - Rust -
const SYSCALL_SEMAPHORE_CREATE: usize = 1020;
- \ No newline at end of file +SYSCALL_SEMAPHORE_CREATE in os::syscall - Rust
const SYSCALL_SEMAPHORE_CREATE: usize = 1020;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_SEMAPHORE_DOWN.html b/ch9/os/syscall/constant.SYSCALL_SEMAPHORE_DOWN.html index 06935368..15ca1e88 100644 --- a/ch9/os/syscall/constant.SYSCALL_SEMAPHORE_DOWN.html +++ b/ch9/os/syscall/constant.SYSCALL_SEMAPHORE_DOWN.html @@ -1,9 +1 @@ -SYSCALL_SEMAPHORE_DOWN in os::syscall - Rust -
const SYSCALL_SEMAPHORE_DOWN: usize = 1022;
- \ No newline at end of file +SYSCALL_SEMAPHORE_DOWN in os::syscall - Rust
const SYSCALL_SEMAPHORE_DOWN: usize = 1022;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_SEMAPHORE_UP.html b/ch9/os/syscall/constant.SYSCALL_SEMAPHORE_UP.html index 75f84497..930b6efe 100644 --- a/ch9/os/syscall/constant.SYSCALL_SEMAPHORE_UP.html +++ b/ch9/os/syscall/constant.SYSCALL_SEMAPHORE_UP.html @@ -1,9 +1 @@ -SYSCALL_SEMAPHORE_UP in os::syscall - Rust -
const SYSCALL_SEMAPHORE_UP: usize = 1021;
- \ No newline at end of file +SYSCALL_SEMAPHORE_UP in os::syscall - Rust
const SYSCALL_SEMAPHORE_UP: usize = 1021;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_SLEEP.html b/ch9/os/syscall/constant.SYSCALL_SLEEP.html index 37955a70..305886d9 100644 --- a/ch9/os/syscall/constant.SYSCALL_SLEEP.html +++ b/ch9/os/syscall/constant.SYSCALL_SLEEP.html @@ -1,9 +1 @@ -SYSCALL_SLEEP in os::syscall - Rust -
const SYSCALL_SLEEP: usize = 101;
- \ No newline at end of file +SYSCALL_SLEEP in os::syscall - Rust
const SYSCALL_SLEEP: usize = 101;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_THREAD_CREATE.html b/ch9/os/syscall/constant.SYSCALL_THREAD_CREATE.html index eb5b931b..8ee32bc5 100644 --- a/ch9/os/syscall/constant.SYSCALL_THREAD_CREATE.html +++ b/ch9/os/syscall/constant.SYSCALL_THREAD_CREATE.html @@ -1,9 +1 @@ -SYSCALL_THREAD_CREATE in os::syscall - Rust -
const SYSCALL_THREAD_CREATE: usize = 1000;
- \ No newline at end of file +SYSCALL_THREAD_CREATE in os::syscall - Rust
const SYSCALL_THREAD_CREATE: usize = 1000;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_WAITPID.html b/ch9/os/syscall/constant.SYSCALL_WAITPID.html index ecf07ed4..09d7b21a 100644 --- a/ch9/os/syscall/constant.SYSCALL_WAITPID.html +++ b/ch9/os/syscall/constant.SYSCALL_WAITPID.html @@ -1,9 +1 @@ -SYSCALL_WAITPID in os::syscall - Rust -
const SYSCALL_WAITPID: usize = 260;
- \ No newline at end of file +SYSCALL_WAITPID in os::syscall - Rust
const SYSCALL_WAITPID: usize = 260;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_WAITTID.html b/ch9/os/syscall/constant.SYSCALL_WAITTID.html index 23bd486d..b41c380c 100644 --- a/ch9/os/syscall/constant.SYSCALL_WAITTID.html +++ b/ch9/os/syscall/constant.SYSCALL_WAITTID.html @@ -1,9 +1 @@ -SYSCALL_WAITTID in os::syscall - Rust -
const SYSCALL_WAITTID: usize = 1002;
- \ No newline at end of file +SYSCALL_WAITTID in os::syscall - Rust
const SYSCALL_WAITTID: usize = 1002;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_WRITE.html b/ch9/os/syscall/constant.SYSCALL_WRITE.html index 4e54e629..a143c171 100644 --- a/ch9/os/syscall/constant.SYSCALL_WRITE.html +++ b/ch9/os/syscall/constant.SYSCALL_WRITE.html @@ -1,9 +1 @@ -SYSCALL_WRITE in os::syscall - Rust -
const SYSCALL_WRITE: usize = 64;
- \ No newline at end of file +SYSCALL_WRITE in os::syscall - Rust
const SYSCALL_WRITE: usize = 64;
\ No newline at end of file diff --git a/ch9/os/syscall/constant.SYSCALL_YIELD.html b/ch9/os/syscall/constant.SYSCALL_YIELD.html index 1d30f9eb..c6ea904b 100644 --- a/ch9/os/syscall/constant.SYSCALL_YIELD.html +++ b/ch9/os/syscall/constant.SYSCALL_YIELD.html @@ -1,9 +1 @@ -SYSCALL_YIELD in os::syscall - Rust -
const SYSCALL_YIELD: usize = 124;
- \ No newline at end of file +SYSCALL_YIELD in os::syscall - Rust
const SYSCALL_YIELD: usize = 124;
\ No newline at end of file diff --git a/ch9/os/syscall/fn.syscall.html b/ch9/os/syscall/fn.syscall.html index e9936653..1bb00f65 100644 --- a/ch9/os/syscall/fn.syscall.html +++ b/ch9/os/syscall/fn.syscall.html @@ -1,9 +1 @@ -syscall in os::syscall - Rust -
-

Function os::syscall::syscall

source · []
pub fn syscall(syscall_id: usize, args: [usize; 3]) -> isize
- \ No newline at end of file +syscall in os::syscall - Rust
pub fn syscall(syscall_id: usize, args: [usize; 3]) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/fs/fn.sys_close.html b/ch9/os/syscall/fs/fn.sys_close.html index 27c225e1..d50436e6 100644 --- a/ch9/os/syscall/fs/fn.sys_close.html +++ b/ch9/os/syscall/fs/fn.sys_close.html @@ -1,9 +1 @@ -sys_close in os::syscall::fs - Rust -
-

Function os::syscall::fs::sys_close

source · []
pub fn sys_close(fd: usize) -> isize
- \ No newline at end of file +sys_close in os::syscall::fs - Rust
pub fn sys_close(fd: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/fs/fn.sys_dup.html b/ch9/os/syscall/fs/fn.sys_dup.html index 363ea692..a827e37f 100644 --- a/ch9/os/syscall/fs/fn.sys_dup.html +++ b/ch9/os/syscall/fs/fn.sys_dup.html @@ -1,9 +1 @@ -sys_dup in os::syscall::fs - Rust -
-

Function os::syscall::fs::sys_dup

source · []
pub fn sys_dup(fd: usize) -> isize
- \ No newline at end of file +sys_dup in os::syscall::fs - Rust
pub fn sys_dup(fd: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/fs/fn.sys_open.html b/ch9/os/syscall/fs/fn.sys_open.html index 7ec660d3..d42090eb 100644 --- a/ch9/os/syscall/fs/fn.sys_open.html +++ b/ch9/os/syscall/fs/fn.sys_open.html @@ -1,9 +1 @@ -sys_open in os::syscall::fs - Rust -
-

Function os::syscall::fs::sys_open

source · []
pub fn sys_open(path: *const u8, flags: u32) -> isize
- \ No newline at end of file +sys_open in os::syscall::fs - Rust
pub fn sys_open(path: *const u8, flags: u32) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/fs/fn.sys_pipe.html b/ch9/os/syscall/fs/fn.sys_pipe.html index cb49bf9f..1ef5ea2d 100644 --- a/ch9/os/syscall/fs/fn.sys_pipe.html +++ b/ch9/os/syscall/fs/fn.sys_pipe.html @@ -1,9 +1 @@ -sys_pipe in os::syscall::fs - Rust -
-

Function os::syscall::fs::sys_pipe

source · []
pub fn sys_pipe(pipe: *mut usize) -> isize
- \ No newline at end of file +sys_pipe in os::syscall::fs - Rust
pub fn sys_pipe(pipe: *mut usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/fs/fn.sys_read.html b/ch9/os/syscall/fs/fn.sys_read.html index 934ae3b9..bf9eedc5 100644 --- a/ch9/os/syscall/fs/fn.sys_read.html +++ b/ch9/os/syscall/fs/fn.sys_read.html @@ -1,9 +1 @@ -sys_read in os::syscall::fs - Rust -
-

Function os::syscall::fs::sys_read

source · []
pub fn sys_read(fd: usize, buf: *const u8, len: usize) -> isize
- \ No newline at end of file +sys_read in os::syscall::fs - Rust
pub fn sys_read(fd: usize, buf: *const u8, len: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/fs/fn.sys_write.html b/ch9/os/syscall/fs/fn.sys_write.html index dfd63815..47ea4762 100644 --- a/ch9/os/syscall/fs/fn.sys_write.html +++ b/ch9/os/syscall/fs/fn.sys_write.html @@ -1,9 +1 @@ -sys_write in os::syscall::fs - Rust -
-

Function os::syscall::fs::sys_write

source · []
pub fn sys_write(fd: usize, buf: *const u8, len: usize) -> isize
- \ No newline at end of file +sys_write in os::syscall::fs - Rust
pub fn sys_write(fd: usize, buf: *const u8, len: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/fs/index.html b/ch9/os/syscall/fs/index.html index 991e8637..8ef27c25 100644 --- a/ch9/os/syscall/fs/index.html +++ b/ch9/os/syscall/fs/index.html @@ -1,10 +1 @@ -os::syscall::fs - Rust -
- \ No newline at end of file +os::syscall::fs - Rust
\ No newline at end of file diff --git a/ch9/os/syscall/gui/fn.create_desktop.html b/ch9/os/syscall/gui/fn.create_desktop.html index 422e813d..d6909aa9 100644 --- a/ch9/os/syscall/gui/fn.create_desktop.html +++ b/ch9/os/syscall/gui/fn.create_desktop.html @@ -1,9 +1 @@ -create_desktop in os::syscall::gui - Rust -
pub fn create_desktop() -> isize
- \ No newline at end of file +create_desktop in os::syscall::gui - Rust
pub fn create_desktop() -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/gui/fn.create_terminal.html b/ch9/os/syscall/gui/fn.create_terminal.html index b2cd55c6..b71a23a5 100644 --- a/ch9/os/syscall/gui/fn.create_terminal.html +++ b/ch9/os/syscall/gui/fn.create_terminal.html @@ -1,9 +1 @@ -create_terminal in os::syscall::gui - Rust -
pub fn create_terminal()
- \ No newline at end of file +create_terminal in os::syscall::gui - Rust
pub fn create_terminal()
\ No newline at end of file diff --git a/ch9/os/syscall/gui/index.html b/ch9/os/syscall/gui/index.html index aaad423b..83e1f5ea 100644 --- a/ch9/os/syscall/gui/index.html +++ b/ch9/os/syscall/gui/index.html @@ -1,12 +1 @@ -os::syscall::gui - Rust -
- \ No newline at end of file +os::syscall::gui - Rust
\ No newline at end of file diff --git a/ch9/os/syscall/gui/static.DT.html b/ch9/os/syscall/gui/static.DT.html index 592f65a9..57194340 100644 --- a/ch9/os/syscall/gui/static.DT.html +++ b/ch9/os/syscall/gui/static.DT.html @@ -1,9 +1 @@ -DT in os::syscall::gui - Rust -
-

Static os::syscall::gui::DT

source · []
static DT: &[u8]
- \ No newline at end of file +DT in os::syscall::gui - Rust

Static os::syscall::gui::DT

source · []
static DT: &'static [u8]
\ No newline at end of file diff --git a/ch9/os/syscall/gui/struct.DESKTOP.html b/ch9/os/syscall/gui/struct.DESKTOP.html index f0b080c9..294e051f 100644 --- a/ch9/os/syscall/gui/struct.DESKTOP.html +++ b/ch9/os/syscall/gui/struct.DESKTOP.html @@ -1,11 +1,4 @@ -DESKTOP in os::syscall::gui - Rust -
-

Struct os::syscall::gui::DESKTOP

source · []
pub struct DESKTOP {
+DESKTOP in os::syscall::gui - Rust
pub struct DESKTOP {
     __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<Arc<dyn Component>>>

Panic if the data has been borrowed.

Trait Implementations

The resulting type after dereferencing.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/syscall/gui/struct.PAD.html b/ch9/os/syscall/gui/struct.PAD.html index 764ba3f4..67d2653e 100644 --- a/ch9/os/syscall/gui/struct.PAD.html +++ b/ch9/os/syscall/gui/struct.PAD.html @@ -1,11 +1,4 @@ -PAD in os::syscall::gui - Rust -
-

Struct os::syscall::gui::PAD

source · []
pub struct PAD {
+PAD in os::syscall::gui - Rust
pub struct PAD {
     __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<Option<Arc<Terminal>>>>

Panic if the data has been borrowed.

Trait Implementations

The resulting type after dereferencing.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/syscall/index.html b/ch9/os/syscall/index.html index c3847329..09194599 100644 --- a/ch9/os/syscall/index.html +++ b/ch9/os/syscall/index.html @@ -1,13 +1 @@ -os::syscall - Rust -
- \ No newline at end of file +os::syscall - Rust
\ No newline at end of file diff --git a/ch9/os/syscall/process/fn.sys_exec.html b/ch9/os/syscall/process/fn.sys_exec.html index 90e0668a..9fbc67be 100644 --- a/ch9/os/syscall/process/fn.sys_exec.html +++ b/ch9/os/syscall/process/fn.sys_exec.html @@ -1,9 +1 @@ -sys_exec in os::syscall::process - Rust -
pub fn sys_exec(path: *const u8, args: *const usize) -> isize
- \ No newline at end of file +sys_exec in os::syscall::process - Rust
pub fn sys_exec(path: *const u8, args: *const usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/process/fn.sys_exit.html b/ch9/os/syscall/process/fn.sys_exit.html index 26586796..2fb3783a 100644 --- a/ch9/os/syscall/process/fn.sys_exit.html +++ b/ch9/os/syscall/process/fn.sys_exit.html @@ -1,9 +1 @@ -sys_exit in os::syscall::process - Rust -
pub fn sys_exit(exit_code: i32) -> !
- \ No newline at end of file +sys_exit in os::syscall::process - Rust
pub fn sys_exit(exit_code: i32) -> !
\ No newline at end of file diff --git a/ch9/os/syscall/process/fn.sys_fork.html b/ch9/os/syscall/process/fn.sys_fork.html index 647ab204..69c79947 100644 --- a/ch9/os/syscall/process/fn.sys_fork.html +++ b/ch9/os/syscall/process/fn.sys_fork.html @@ -1,9 +1 @@ -sys_fork in os::syscall::process - Rust -
pub fn sys_fork() -> isize
- \ No newline at end of file +sys_fork in os::syscall::process - Rust
pub fn sys_fork() -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/process/fn.sys_get_time.html b/ch9/os/syscall/process/fn.sys_get_time.html index 379e8963..64d6d421 100644 --- a/ch9/os/syscall/process/fn.sys_get_time.html +++ b/ch9/os/syscall/process/fn.sys_get_time.html @@ -1,9 +1 @@ -sys_get_time in os::syscall::process - Rust -
pub fn sys_get_time() -> isize
- \ No newline at end of file +sys_get_time in os::syscall::process - Rust
pub fn sys_get_time() -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/process/fn.sys_getpid.html b/ch9/os/syscall/process/fn.sys_getpid.html index 0cc4d11d..d0117492 100644 --- a/ch9/os/syscall/process/fn.sys_getpid.html +++ b/ch9/os/syscall/process/fn.sys_getpid.html @@ -1,9 +1 @@ -sys_getpid in os::syscall::process - Rust -
pub fn sys_getpid() -> isize
- \ No newline at end of file +sys_getpid in os::syscall::process - Rust
pub fn sys_getpid() -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/process/fn.sys_kill.html b/ch9/os/syscall/process/fn.sys_kill.html index 7749b25e..a4a096e2 100644 --- a/ch9/os/syscall/process/fn.sys_kill.html +++ b/ch9/os/syscall/process/fn.sys_kill.html @@ -1,9 +1 @@ -sys_kill in os::syscall::process - Rust -
pub fn sys_kill(pid: usize, signal: u32) -> isize
- \ No newline at end of file +sys_kill in os::syscall::process - Rust
pub fn sys_kill(pid: usize, signal: u32) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/process/fn.sys_waitpid.html b/ch9/os/syscall/process/fn.sys_waitpid.html index 807e95e7..fa2f4357 100644 --- a/ch9/os/syscall/process/fn.sys_waitpid.html +++ b/ch9/os/syscall/process/fn.sys_waitpid.html @@ -1,11 +1,3 @@ -sys_waitpid in os::syscall::process - Rust -
pub fn sys_waitpid(pid: isize, exit_code_ptr: *mut i32) -> isize
Expand description

If there is not a child process whose pid is same as given, return -1. +sys_waitpid in os::syscall::process - Rust

pub fn sys_waitpid(pid: isize, exit_code_ptr: *mut i32) -> isize
Expand description

If there is not a child process whose pid is same as given, return -1. Else if there is a child process but it is still running, return -2.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/syscall/process/fn.sys_yield.html b/ch9/os/syscall/process/fn.sys_yield.html index b97ddb60..f7b15e56 100644 --- a/ch9/os/syscall/process/fn.sys_yield.html +++ b/ch9/os/syscall/process/fn.sys_yield.html @@ -1,9 +1 @@ -sys_yield in os::syscall::process - Rust -
pub fn sys_yield() -> isize
- \ No newline at end of file +sys_yield in os::syscall::process - Rust
pub fn sys_yield() -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/process/index.html b/ch9/os/syscall/process/index.html index fae8d586..1595a357 100644 --- a/ch9/os/syscall/process/index.html +++ b/ch9/os/syscall/process/index.html @@ -1,12 +1,3 @@ -os::syscall::process - Rust -
-

Module os::syscall::process

source · []

Functions

-

If there is not a child process whose pid is same as given, return -1. +os::syscall::process - Rust

Functions

If there is not a child process whose pid is same as given, return -1. Else if there is a child process but it is still running, return -2.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/syscall/sync/fn.sys_condvar_create.html b/ch9/os/syscall/sync/fn.sys_condvar_create.html index 84f77bd9..28ef966c 100644 --- a/ch9/os/syscall/sync/fn.sys_condvar_create.html +++ b/ch9/os/syscall/sync/fn.sys_condvar_create.html @@ -1,9 +1 @@ -sys_condvar_create in os::syscall::sync - Rust -
pub fn sys_condvar_create(_arg: usize) -> isize
- \ No newline at end of file +sys_condvar_create in os::syscall::sync - Rust
pub fn sys_condvar_create(_arg: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/sync/fn.sys_condvar_signal.html b/ch9/os/syscall/sync/fn.sys_condvar_signal.html index 7ceba7c7..66feaf3b 100644 --- a/ch9/os/syscall/sync/fn.sys_condvar_signal.html +++ b/ch9/os/syscall/sync/fn.sys_condvar_signal.html @@ -1,9 +1 @@ -sys_condvar_signal in os::syscall::sync - Rust -
pub fn sys_condvar_signal(condvar_id: usize) -> isize
- \ No newline at end of file +sys_condvar_signal in os::syscall::sync - Rust
pub fn sys_condvar_signal(condvar_id: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/sync/fn.sys_condvar_wait.html b/ch9/os/syscall/sync/fn.sys_condvar_wait.html index 7586b3ea..cdcc882d 100644 --- a/ch9/os/syscall/sync/fn.sys_condvar_wait.html +++ b/ch9/os/syscall/sync/fn.sys_condvar_wait.html @@ -1,9 +1 @@ -sys_condvar_wait in os::syscall::sync - Rust -
pub fn sys_condvar_wait(condvar_id: usize, mutex_id: usize) -> isize
- \ No newline at end of file +sys_condvar_wait in os::syscall::sync - Rust
pub fn sys_condvar_wait(condvar_id: usize, mutex_id: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/sync/fn.sys_mutex_create.html b/ch9/os/syscall/sync/fn.sys_mutex_create.html index 9855c5af..5f3511d1 100644 --- a/ch9/os/syscall/sync/fn.sys_mutex_create.html +++ b/ch9/os/syscall/sync/fn.sys_mutex_create.html @@ -1,9 +1 @@ -sys_mutex_create in os::syscall::sync - Rust -
pub fn sys_mutex_create(blocking: bool) -> isize
- \ No newline at end of file +sys_mutex_create in os::syscall::sync - Rust
pub fn sys_mutex_create(blocking: bool) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/sync/fn.sys_mutex_lock.html b/ch9/os/syscall/sync/fn.sys_mutex_lock.html index b3663753..0326bfcd 100644 --- a/ch9/os/syscall/sync/fn.sys_mutex_lock.html +++ b/ch9/os/syscall/sync/fn.sys_mutex_lock.html @@ -1,9 +1 @@ -sys_mutex_lock in os::syscall::sync - Rust -
pub fn sys_mutex_lock(mutex_id: usize) -> isize
- \ No newline at end of file +sys_mutex_lock in os::syscall::sync - Rust
pub fn sys_mutex_lock(mutex_id: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/sync/fn.sys_mutex_unlock.html b/ch9/os/syscall/sync/fn.sys_mutex_unlock.html index c0e2f815..ccf1ed10 100644 --- a/ch9/os/syscall/sync/fn.sys_mutex_unlock.html +++ b/ch9/os/syscall/sync/fn.sys_mutex_unlock.html @@ -1,9 +1 @@ -sys_mutex_unlock in os::syscall::sync - Rust -
pub fn sys_mutex_unlock(mutex_id: usize) -> isize
- \ No newline at end of file +sys_mutex_unlock in os::syscall::sync - Rust
pub fn sys_mutex_unlock(mutex_id: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/sync/fn.sys_semaphore_create.html b/ch9/os/syscall/sync/fn.sys_semaphore_create.html index 89ee3d5a..cb9eeb36 100644 --- a/ch9/os/syscall/sync/fn.sys_semaphore_create.html +++ b/ch9/os/syscall/sync/fn.sys_semaphore_create.html @@ -1,9 +1 @@ -sys_semaphore_create in os::syscall::sync - Rust -
pub fn sys_semaphore_create(res_count: usize) -> isize
- \ No newline at end of file +sys_semaphore_create in os::syscall::sync - Rust
pub fn sys_semaphore_create(res_count: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/sync/fn.sys_semaphore_down.html b/ch9/os/syscall/sync/fn.sys_semaphore_down.html index afb65618..0bfdab55 100644 --- a/ch9/os/syscall/sync/fn.sys_semaphore_down.html +++ b/ch9/os/syscall/sync/fn.sys_semaphore_down.html @@ -1,9 +1 @@ -sys_semaphore_down in os::syscall::sync - Rust -
pub fn sys_semaphore_down(sem_id: usize) -> isize
- \ No newline at end of file +sys_semaphore_down in os::syscall::sync - Rust
pub fn sys_semaphore_down(sem_id: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/sync/fn.sys_semaphore_up.html b/ch9/os/syscall/sync/fn.sys_semaphore_up.html index 36c3e384..5980490f 100644 --- a/ch9/os/syscall/sync/fn.sys_semaphore_up.html +++ b/ch9/os/syscall/sync/fn.sys_semaphore_up.html @@ -1,9 +1 @@ -sys_semaphore_up in os::syscall::sync - Rust -
pub fn sys_semaphore_up(sem_id: usize) -> isize
- \ No newline at end of file +sys_semaphore_up in os::syscall::sync - Rust
pub fn sys_semaphore_up(sem_id: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/sync/fn.sys_sleep.html b/ch9/os/syscall/sync/fn.sys_sleep.html index 67c6d1b8..9c477e60 100644 --- a/ch9/os/syscall/sync/fn.sys_sleep.html +++ b/ch9/os/syscall/sync/fn.sys_sleep.html @@ -1,9 +1 @@ -sys_sleep in os::syscall::sync - Rust -
-

Function os::syscall::sync::sys_sleep

source · []
pub fn sys_sleep(ms: usize) -> isize
- \ No newline at end of file +sys_sleep in os::syscall::sync - Rust
pub fn sys_sleep(ms: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/sync/index.html b/ch9/os/syscall/sync/index.html index 010e02b7..4254e121 100644 --- a/ch9/os/syscall/sync/index.html +++ b/ch9/os/syscall/sync/index.html @@ -1,10 +1 @@ -os::syscall::sync - Rust -
- \ No newline at end of file +os::syscall::sync - Rust
\ No newline at end of file diff --git a/ch9/os/syscall/thread/fn.sys_gettid.html b/ch9/os/syscall/thread/fn.sys_gettid.html index f483cf7e..f0ff4922 100644 --- a/ch9/os/syscall/thread/fn.sys_gettid.html +++ b/ch9/os/syscall/thread/fn.sys_gettid.html @@ -1,9 +1 @@ -sys_gettid in os::syscall::thread - Rust -
pub fn sys_gettid() -> isize
- \ No newline at end of file +sys_gettid in os::syscall::thread - Rust
pub fn sys_gettid() -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/thread/fn.sys_thread_create.html b/ch9/os/syscall/thread/fn.sys_thread_create.html index b50b8a29..08d04a7f 100644 --- a/ch9/os/syscall/thread/fn.sys_thread_create.html +++ b/ch9/os/syscall/thread/fn.sys_thread_create.html @@ -1,9 +1 @@ -sys_thread_create in os::syscall::thread - Rust -
pub fn sys_thread_create(entry: usize, arg: usize) -> isize
- \ No newline at end of file +sys_thread_create in os::syscall::thread - Rust
pub fn sys_thread_create(entry: usize, arg: usize) -> isize
\ No newline at end of file diff --git a/ch9/os/syscall/thread/fn.sys_waittid.html b/ch9/os/syscall/thread/fn.sys_waittid.html index b1fd3735..ed833086 100644 --- a/ch9/os/syscall/thread/fn.sys_waittid.html +++ b/ch9/os/syscall/thread/fn.sys_waittid.html @@ -1,12 +1,4 @@ -sys_waittid in os::syscall::thread - Rust -
pub fn sys_waittid(tid: usize) -> i32
Expand description

thread does not exist, return -1 +sys_waittid in os::syscall::thread - Rust

pub fn sys_waittid(tid: usize) -> i32
Expand description

thread does not exist, return -1 thread has not exited yet, return -2 otherwise, return thread’s exit code

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/syscall/thread/index.html b/ch9/os/syscall/thread/index.html index 44cec820..8b5500ea 100644 --- a/ch9/os/syscall/thread/index.html +++ b/ch9/os/syscall/thread/index.html @@ -1,13 +1,4 @@ -os::syscall::thread - Rust -
-

Module os::syscall::thread

source · []

Functions

-

thread does not exist, return -1 +os::syscall::thread - Rust

Functions

thread does not exist, return -1 thread has not exited yet, return -2 otherwise, return thread’s exit code

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/context/index.html b/ch9/os/task/context/index.html index f45c45c0..b89644c0 100644 --- a/ch9/os/task/context/index.html +++ b/ch9/os/task/context/index.html @@ -1,10 +1 @@ -os::task::context - Rust -
- \ No newline at end of file +os::task::context - Rust
\ No newline at end of file diff --git a/ch9/os/task/context/struct.TaskContext.html b/ch9/os/task/context/struct.TaskContext.html index 58f72615..cac98353 100644 --- a/ch9/os/task/context/struct.TaskContext.html +++ b/ch9/os/task/context/struct.TaskContext.html @@ -1,11 +1,4 @@ -TaskContext in os::task::context - Rust -
#[repr(C)]
pub struct TaskContext { +TaskContext in os::task::context - Rust
#[repr(C)]
pub struct TaskContext { ra: usize, sp: usize, s: [usize; 12], @@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/fn.add_initproc.html b/ch9/os/task/fn.add_initproc.html index fd2a7631..7296850d 100644 --- a/ch9/os/task/fn.add_initproc.html +++ b/ch9/os/task/fn.add_initproc.html @@ -1,9 +1 @@ -add_initproc in os::task - Rust -
-

Function os::task::add_initproc

source · []
pub fn add_initproc()
- \ No newline at end of file +add_initproc in os::task - Rust
pub fn add_initproc()
\ No newline at end of file diff --git a/ch9/os/task/fn.block_current_and_run_next.html b/ch9/os/task/fn.block_current_and_run_next.html index a2ceea91..bcb697ff 100644 --- a/ch9/os/task/fn.block_current_and_run_next.html +++ b/ch9/os/task/fn.block_current_and_run_next.html @@ -1,9 +1 @@ -block_current_and_run_next in os::task - Rust -
pub fn block_current_and_run_next()
- \ No newline at end of file +block_current_and_run_next in os::task - Rust
pub fn block_current_and_run_next()
\ No newline at end of file diff --git a/ch9/os/task/fn.block_current_task.html b/ch9/os/task/fn.block_current_task.html index e1e55039..fa9f3fb8 100644 --- a/ch9/os/task/fn.block_current_task.html +++ b/ch9/os/task/fn.block_current_task.html @@ -1,10 +1,2 @@ -block_current_task in os::task - Rust -
pub fn block_current_task() -> *mut TaskContext
Expand description

This function must be followed by a schedule

-
- \ No newline at end of file +block_current_task in os::task - Rust
pub fn block_current_task() -> *mut TaskContext
Expand description

This function must be followed by a schedule

+
\ No newline at end of file diff --git a/ch9/os/task/fn.check_signals_of_current.html b/ch9/os/task/fn.check_signals_of_current.html index c36df11b..bf8dce52 100644 --- a/ch9/os/task/fn.check_signals_of_current.html +++ b/ch9/os/task/fn.check_signals_of_current.html @@ -1,9 +1 @@ -check_signals_of_current in os::task - Rust -
pub fn check_signals_of_current() -> Option<(i32, &'static str)>
- \ No newline at end of file +check_signals_of_current in os::task - Rust
pub fn check_signals_of_current() -> Option<(i32, &'static str)>
\ No newline at end of file diff --git a/ch9/os/task/fn.current_add_signal.html b/ch9/os/task/fn.current_add_signal.html index ef6eb0ed..8f15918a 100644 --- a/ch9/os/task/fn.current_add_signal.html +++ b/ch9/os/task/fn.current_add_signal.html @@ -1,9 +1 @@ -current_add_signal in os::task - Rust -
pub fn current_add_signal(signal: SignalFlags)
- \ No newline at end of file +current_add_signal in os::task - Rust
pub fn current_add_signal(signal: SignalFlags)
\ No newline at end of file diff --git a/ch9/os/task/fn.exit_current_and_run_next.html b/ch9/os/task/fn.exit_current_and_run_next.html index 24f09917..cc324a6d 100644 --- a/ch9/os/task/fn.exit_current_and_run_next.html +++ b/ch9/os/task/fn.exit_current_and_run_next.html @@ -1,9 +1 @@ -exit_current_and_run_next in os::task - Rust -
pub fn exit_current_and_run_next(exit_code: i32)
- \ No newline at end of file +exit_current_and_run_next in os::task - Rust
pub fn exit_current_and_run_next(exit_code: i32)
\ No newline at end of file diff --git a/ch9/os/task/fn.suspend_current_and_run_next.html b/ch9/os/task/fn.suspend_current_and_run_next.html index 9151582c..6cebceea 100644 --- a/ch9/os/task/fn.suspend_current_and_run_next.html +++ b/ch9/os/task/fn.suspend_current_and_run_next.html @@ -1,9 +1 @@ -suspend_current_and_run_next in os::task - Rust -
pub fn suspend_current_and_run_next()
- \ No newline at end of file +suspend_current_and_run_next in os::task - Rust
pub fn suspend_current_and_run_next()
\ No newline at end of file diff --git a/ch9/os/task/id/constant.IDLE_PID.html b/ch9/os/task/id/constant.IDLE_PID.html index 0c30dec0..be64cf04 100644 --- a/ch9/os/task/id/constant.IDLE_PID.html +++ b/ch9/os/task/id/constant.IDLE_PID.html @@ -1,9 +1 @@ -IDLE_PID in os::task::id - Rust -
-

Constant os::task::id::IDLE_PID

source · []
pub const IDLE_PID: usize = 0;
- \ No newline at end of file +IDLE_PID in os::task::id - Rust

Constant os::task::id::IDLE_PID

source · []
pub const IDLE_PID: usize = 0;
\ No newline at end of file diff --git a/ch9/os/task/id/fn.kernel_stack_position.html b/ch9/os/task/id/fn.kernel_stack_position.html index 8be4795c..a4a471e3 100644 --- a/ch9/os/task/id/fn.kernel_stack_position.html +++ b/ch9/os/task/id/fn.kernel_stack_position.html @@ -1,10 +1,2 @@ -kernel_stack_position in os::task::id - Rust -
pub fn kernel_stack_position(kstack_id: usize) -> (usize, usize)
Expand description

Return (bottom, top) of a kernel stack in kernel space.

-
- \ No newline at end of file +kernel_stack_position in os::task::id - Rust
pub fn kernel_stack_position(kstack_id: usize) -> (usize, usize)
Expand description

Return (bottom, top) of a kernel stack in kernel space.

+
\ No newline at end of file diff --git a/ch9/os/task/id/fn.kstack_alloc.html b/ch9/os/task/id/fn.kstack_alloc.html index 5bf6add4..7b71aa0d 100644 --- a/ch9/os/task/id/fn.kstack_alloc.html +++ b/ch9/os/task/id/fn.kstack_alloc.html @@ -1,9 +1 @@ -kstack_alloc in os::task::id - Rust -
-

Function os::task::id::kstack_alloc

source · []
pub fn kstack_alloc() -> KernelStack
- \ No newline at end of file +kstack_alloc in os::task::id - Rust
pub fn kstack_alloc() -> KernelStack
\ No newline at end of file diff --git a/ch9/os/task/id/fn.pid_alloc.html b/ch9/os/task/id/fn.pid_alloc.html index d70a1641..0910c6c0 100644 --- a/ch9/os/task/id/fn.pid_alloc.html +++ b/ch9/os/task/id/fn.pid_alloc.html @@ -1,9 +1 @@ -pid_alloc in os::task::id - Rust -
-

Function os::task::id::pid_alloc

source · []
pub fn pid_alloc() -> PidHandle
- \ No newline at end of file +pid_alloc in os::task::id - Rust

Function os::task::id::pid_alloc

source · []
pub fn pid_alloc() -> PidHandle
\ No newline at end of file diff --git a/ch9/os/task/id/fn.trap_cx_bottom_from_tid.html b/ch9/os/task/id/fn.trap_cx_bottom_from_tid.html index 290c07e0..9ba11c29 100644 --- a/ch9/os/task/id/fn.trap_cx_bottom_from_tid.html +++ b/ch9/os/task/id/fn.trap_cx_bottom_from_tid.html @@ -1,9 +1 @@ -trap_cx_bottom_from_tid in os::task::id - Rust -
fn trap_cx_bottom_from_tid(tid: usize) -> usize
- \ No newline at end of file +trap_cx_bottom_from_tid in os::task::id - Rust
fn trap_cx_bottom_from_tid(tid: usize) -> usize
\ No newline at end of file diff --git a/ch9/os/task/id/fn.ustack_bottom_from_tid.html b/ch9/os/task/id/fn.ustack_bottom_from_tid.html index 2932bfc4..4df9810f 100644 --- a/ch9/os/task/id/fn.ustack_bottom_from_tid.html +++ b/ch9/os/task/id/fn.ustack_bottom_from_tid.html @@ -1,9 +1 @@ -ustack_bottom_from_tid in os::task::id - Rust -
fn ustack_bottom_from_tid(ustack_base: usize, tid: usize) -> usize
- \ No newline at end of file +ustack_bottom_from_tid in os::task::id - Rust
fn ustack_bottom_from_tid(ustack_base: usize, tid: usize) -> usize
\ No newline at end of file diff --git a/ch9/os/task/id/index.html b/ch9/os/task/id/index.html index 4835d96c..af42184d 100644 --- a/ch9/os/task/id/index.html +++ b/ch9/os/task/id/index.html @@ -1,13 +1,2 @@ -os::task::id - Rust -
- \ No newline at end of file +os::task::id - Rust
\ No newline at end of file diff --git a/ch9/os/task/id/struct.KSTACK_ALLOCATOR.html b/ch9/os/task/id/struct.KSTACK_ALLOCATOR.html index 2765e870..c4920702 100644 --- a/ch9/os/task/id/struct.KSTACK_ALLOCATOR.html +++ b/ch9/os/task/id/struct.KSTACK_ALLOCATOR.html @@ -1,11 +1,4 @@ -KSTACK_ALLOCATOR in os::task::id - Rust -
struct KSTACK_ALLOCATOR {
+KSTACK_ALLOCATOR in os::task::id - Rust
struct KSTACK_ALLOCATOR {
     __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<RecycleAllocator>>

Panic if the data has been borrowed.

Trait Implementations

The resulting type after dereferencing.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/id/struct.KernelStack.html b/ch9/os/task/id/struct.KernelStack.html index baa1b638..b8ccb25e 100644 --- a/ch9/os/task/id/struct.KernelStack.html +++ b/ch9/os/task/id/struct.KernelStack.html @@ -1,11 +1,4 @@ -KernelStack in os::task::id - Rust -
-

Struct os::task::id::KernelStack

source · []
pub struct KernelStack(pub usize);

Tuple Fields

0: usize

Implementations

Trait Implementations

Executes the destructor for this type. Read more

+KernelStack in os::task::id - Rust
pub struct KernelStack(pub usize);

Tuple Fields

0: usize

Implementations

Trait Implementations

Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

@@ -21,13 +14,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/id/struct.PID_ALLOCATOR.html b/ch9/os/task/id/struct.PID_ALLOCATOR.html index 64e1abb6..5ca7a2dd 100644 --- a/ch9/os/task/id/struct.PID_ALLOCATOR.html +++ b/ch9/os/task/id/struct.PID_ALLOCATOR.html @@ -1,11 +1,4 @@ -PID_ALLOCATOR in os::task::id - Rust -
struct PID_ALLOCATOR {
+PID_ALLOCATOR in os::task::id - Rust
struct PID_ALLOCATOR {
     __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<RecycleAllocator>>

Panic if the data has been borrowed.

Trait Implementations

The resulting type after dereferencing.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/id/struct.PidHandle.html b/ch9/os/task/id/struct.PidHandle.html index a5822e11..0a9632f7 100644 --- a/ch9/os/task/id/struct.PidHandle.html +++ b/ch9/os/task/id/struct.PidHandle.html @@ -1,11 +1,4 @@ -PidHandle in os::task::id - Rust -
-

Struct os::task::id::PidHandle

source · []
pub struct PidHandle(pub usize);

Tuple Fields

0: usize

Trait Implementations

Executes the destructor for this type. Read more

+PidHandle in os::task::id - Rust
pub struct PidHandle(pub usize);

Tuple Fields

0: usize

Trait Implementations

Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

@@ -21,13 +14,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/id/struct.RecycleAllocator.html b/ch9/os/task/id/struct.RecycleAllocator.html index 3c01659d..5cda311c 100644 --- a/ch9/os/task/id/struct.RecycleAllocator.html +++ b/ch9/os/task/id/struct.RecycleAllocator.html @@ -1,11 +1,4 @@ -RecycleAllocator in os::task::id - Rust -
pub struct RecycleAllocator {
+RecycleAllocator in os::task::id - Rust
pub struct RecycleAllocator {
     current: usize,
     recycled: Vec<usize>,
 }

Fields

current: usizerecycled: Vec<usize>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

@@ -23,13 +16,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/id/struct.TaskUserRes.html b/ch9/os/task/id/struct.TaskUserRes.html index a0537763..895778ea 100644 --- a/ch9/os/task/id/struct.TaskUserRes.html +++ b/ch9/os/task/id/struct.TaskUserRes.html @@ -1,11 +1,4 @@ -TaskUserRes in os::task::id - Rust -
-

Struct os::task::id::TaskUserRes

source · []
pub struct TaskUserRes {
+TaskUserRes in os::task::id - Rust
pub struct TaskUserRes {
     pub tid: usize,
     pub ustack_base: usize,
     pub process: Weak<ProcessControlBlock>,
@@ -25,13 +18,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/index.html b/ch9/os/task/index.html index d040cba6..f8c27295 100644 --- a/ch9/os/task/index.html +++ b/ch9/os/task/index.html @@ -1,14 +1,2 @@ -os::task - Rust -
-

Module os::task

source · []

Re-exports

-
pub use context::TaskContext;
pub use id::kstack_alloc;
pub use id::pid_alloc;
pub use id::KernelStack;
pub use id::PidHandle;
pub use id::IDLE_PID;
pub use manager::add_task;
pub use manager::pid2process;
pub use manager::remove_from_pid2process;
pub use processor::current_kstack_top;
pub use processor::current_process;
pub use processor::current_task;
pub use processor::current_trap_cx;
pub use processor::current_trap_cx_user_va;
pub use processor::current_user_token;
pub use processor::run_tasks;
pub use processor::schedule;
pub use processor::take_current_task;
pub use signal::SignalFlags;
pub use task::TaskControlBlock;
pub use task::TaskStatus;

Modules

-
context 🔒
id 🔒
manager 🔒
process 🔒
processor 🔒
signal 🔒
switch 🔒
task 🔒

Structs

-

Functions

-
- \ No newline at end of file +os::task - Rust

Module os::task

source · []

Re-exports

pub use context::TaskContext;
pub use id::kstack_alloc;
pub use id::pid_alloc;
pub use id::KernelStack;
pub use id::PidHandle;
pub use id::IDLE_PID;
pub use manager::add_task;
pub use manager::pid2process;
pub use manager::remove_from_pid2process;
pub use processor::current_kstack_top;
pub use processor::current_process;
pub use processor::current_task;
pub use processor::current_trap_cx;
pub use processor::current_trap_cx_user_va;
pub use processor::current_user_token;
pub use processor::run_tasks;
pub use processor::schedule;
pub use processor::take_current_task;
pub use signal::SignalFlags;
pub use task::TaskControlBlock;
pub use task::TaskStatus;

Modules

context 🔒
id 🔒
manager 🔒
process 🔒
processor 🔒
signal 🔒
switch 🔒
task 🔒

Structs

Functions

\ No newline at end of file diff --git a/ch9/os/task/manager/fn.add_task.html b/ch9/os/task/manager/fn.add_task.html index 79ef5b0a..62104001 100644 --- a/ch9/os/task/manager/fn.add_task.html +++ b/ch9/os/task/manager/fn.add_task.html @@ -1,9 +1 @@ -add_task in os::task::manager - Rust -
-

Function os::task::manager::add_task

source · []
pub fn add_task(task: Arc<TaskControlBlock>)
- \ No newline at end of file +add_task in os::task::manager - Rust
pub fn add_task(task: Arc<TaskControlBlock>)
\ No newline at end of file diff --git a/ch9/os/task/manager/fn.fetch_task.html b/ch9/os/task/manager/fn.fetch_task.html index 3c48671b..c8c221bf 100644 --- a/ch9/os/task/manager/fn.fetch_task.html +++ b/ch9/os/task/manager/fn.fetch_task.html @@ -1,9 +1 @@ -fetch_task in os::task::manager - Rust -
pub fn fetch_task() -> Option<Arc<TaskControlBlock>>
- \ No newline at end of file +fetch_task in os::task::manager - Rust
pub fn fetch_task() -> Option<Arc<TaskControlBlock>>
\ No newline at end of file diff --git a/ch9/os/task/manager/fn.insert_into_pid2process.html b/ch9/os/task/manager/fn.insert_into_pid2process.html index 21f53400..317a69c7 100644 --- a/ch9/os/task/manager/fn.insert_into_pid2process.html +++ b/ch9/os/task/manager/fn.insert_into_pid2process.html @@ -1,9 +1 @@ -insert_into_pid2process in os::task::manager - Rust -
pub fn insert_into_pid2process(pid: usize, process: Arc<ProcessControlBlock>)
- \ No newline at end of file +insert_into_pid2process in os::task::manager - Rust
pub fn insert_into_pid2process(pid: usize, process: Arc<ProcessControlBlock>)
\ No newline at end of file diff --git a/ch9/os/task/manager/fn.pid2process.html b/ch9/os/task/manager/fn.pid2process.html index 94b86e77..b974f541 100644 --- a/ch9/os/task/manager/fn.pid2process.html +++ b/ch9/os/task/manager/fn.pid2process.html @@ -1,9 +1 @@ -pid2process in os::task::manager - Rust -
pub fn pid2process(pid: usize) -> Option<Arc<ProcessControlBlock>>
- \ No newline at end of file +pid2process in os::task::manager - Rust
pub fn pid2process(pid: usize) -> Option<Arc<ProcessControlBlock>>
\ No newline at end of file diff --git a/ch9/os/task/manager/fn.remove_from_pid2process.html b/ch9/os/task/manager/fn.remove_from_pid2process.html index 6ff8609c..9bc8fc1d 100644 --- a/ch9/os/task/manager/fn.remove_from_pid2process.html +++ b/ch9/os/task/manager/fn.remove_from_pid2process.html @@ -1,9 +1 @@ -remove_from_pid2process in os::task::manager - Rust -
pub fn remove_from_pid2process(pid: usize)
- \ No newline at end of file +remove_from_pid2process in os::task::manager - Rust
pub fn remove_from_pid2process(pid: usize)
\ No newline at end of file diff --git a/ch9/os/task/manager/index.html b/ch9/os/task/manager/index.html index 945a8744..84bed36b 100644 --- a/ch9/os/task/manager/index.html +++ b/ch9/os/task/manager/index.html @@ -1,11 +1 @@ -os::task::manager - Rust -
- \ No newline at end of file +os::task::manager - Rust
\ No newline at end of file diff --git a/ch9/os/task/manager/struct.PID2PCB.html b/ch9/os/task/manager/struct.PID2PCB.html index a11201e1..8172d001 100644 --- a/ch9/os/task/manager/struct.PID2PCB.html +++ b/ch9/os/task/manager/struct.PID2PCB.html @@ -1,11 +1,4 @@ -PID2PCB in os::task::manager - Rust -
pub struct PID2PCB {
+PID2PCB in os::task::manager - Rust
pub struct PID2PCB {
     __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<BTreeMap<usize, Arc<ProcessControlBlock>>>>

Panic if the data has been borrowed.

Trait Implementations

The resulting type after dereferencing.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/manager/struct.TASK_MANAGER.html b/ch9/os/task/manager/struct.TASK_MANAGER.html index 1118399c..ca231d94 100644 --- a/ch9/os/task/manager/struct.TASK_MANAGER.html +++ b/ch9/os/task/manager/struct.TASK_MANAGER.html @@ -1,11 +1,4 @@ -TASK_MANAGER in os::task::manager - Rust -
pub struct TASK_MANAGER {
+TASK_MANAGER in os::task::manager - Rust
pub struct TASK_MANAGER {
     __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<TaskManager>>

Panic if the data has been borrowed.

Trait Implementations

The resulting type after dereferencing.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/manager/struct.TaskManager.html b/ch9/os/task/manager/struct.TaskManager.html index 196dd0ae..1c9e5b39 100644 --- a/ch9/os/task/manager/struct.TaskManager.html +++ b/ch9/os/task/manager/struct.TaskManager.html @@ -1,11 +1,4 @@ -TaskManager in os::task::manager - Rust -
pub struct TaskManager {
+TaskManager in os::task::manager - Rust
pub struct TaskManager {
     ready_queue: VecDeque<Arc<TaskControlBlock>>,
 }

Fields

ready_queue: VecDeque<Arc<TaskControlBlock>>

Implementations

A simple FIFO scheduler.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

@@ -23,13 +16,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/process/index.html b/ch9/os/task/process/index.html index 68bb75c7..b9e5c9d4 100644 --- a/ch9/os/task/process/index.html +++ b/ch9/os/task/process/index.html @@ -1,10 +1 @@ -os::task::process - Rust -
- \ No newline at end of file +os::task::process - Rust
\ No newline at end of file diff --git a/ch9/os/task/process/struct.ProcessControlBlock.html b/ch9/os/task/process/struct.ProcessControlBlock.html index e76cd187..8f3d20ce 100644 --- a/ch9/os/task/process/struct.ProcessControlBlock.html +++ b/ch9/os/task/process/struct.ProcessControlBlock.html @@ -1,11 +1,4 @@ -ProcessControlBlock in os::task::process - Rust -
pub struct ProcessControlBlock {
+ProcessControlBlock in os::task::process - Rust
pub struct ProcessControlBlock {
     pub pid: PidHandle,
     inner: UPIntrFreeCell<ProcessControlBlockInner>,
 }

Fields

pid: PidHandleinner: UPIntrFreeCell<ProcessControlBlockInner>

Implementations

Only support processes with a single thread.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/process/struct.ProcessControlBlockInner.html b/ch9/os/task/process/struct.ProcessControlBlockInner.html index 8f505af6..e6068197 100644 --- a/ch9/os/task/process/struct.ProcessControlBlockInner.html +++ b/ch9/os/task/process/struct.ProcessControlBlockInner.html @@ -1,11 +1,4 @@ -ProcessControlBlockInner in os::task::process - Rust -
pub struct ProcessControlBlockInner {
+ProcessControlBlockInner in os::task::process - Rust
pub struct ProcessControlBlockInner {
     pub is_zombie: bool,
     pub memory_set: MemorySet,
     pub parent: Option<Weak<ProcessControlBlock>>,
@@ -33,13 +26,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/processor/fn.current_kstack_top.html b/ch9/os/task/processor/fn.current_kstack_top.html index d411e4c4..e7380d53 100644 --- a/ch9/os/task/processor/fn.current_kstack_top.html +++ b/ch9/os/task/processor/fn.current_kstack_top.html @@ -1,9 +1 @@ -current_kstack_top in os::task::processor - Rust -
pub fn current_kstack_top() -> usize
- \ No newline at end of file +current_kstack_top in os::task::processor - Rust
pub fn current_kstack_top() -> usize
\ No newline at end of file diff --git a/ch9/os/task/processor/fn.current_process.html b/ch9/os/task/processor/fn.current_process.html index cf9a729c..2810248e 100644 --- a/ch9/os/task/processor/fn.current_process.html +++ b/ch9/os/task/processor/fn.current_process.html @@ -1,9 +1 @@ -current_process in os::task::processor - Rust -
pub fn current_process() -> Arc<ProcessControlBlock>
- \ No newline at end of file +current_process in os::task::processor - Rust
pub fn current_process() -> Arc<ProcessControlBlock>
\ No newline at end of file diff --git a/ch9/os/task/processor/fn.current_task.html b/ch9/os/task/processor/fn.current_task.html index 525eb618..ab9cf8a1 100644 --- a/ch9/os/task/processor/fn.current_task.html +++ b/ch9/os/task/processor/fn.current_task.html @@ -1,9 +1 @@ -current_task in os::task::processor - Rust -
pub fn current_task() -> Option<Arc<TaskControlBlock>>
- \ No newline at end of file +current_task in os::task::processor - Rust
pub fn current_task() -> Option<Arc<TaskControlBlock>>
\ No newline at end of file diff --git a/ch9/os/task/processor/fn.current_trap_cx.html b/ch9/os/task/processor/fn.current_trap_cx.html index fc7e0d4f..da20aaa2 100644 --- a/ch9/os/task/processor/fn.current_trap_cx.html +++ b/ch9/os/task/processor/fn.current_trap_cx.html @@ -1,9 +1 @@ -current_trap_cx in os::task::processor - Rust -
pub fn current_trap_cx() -> &'static mut TrapContext
- \ No newline at end of file +current_trap_cx in os::task::processor - Rust
pub fn current_trap_cx() -> &'static mut TrapContext
\ No newline at end of file diff --git a/ch9/os/task/processor/fn.current_trap_cx_user_va.html b/ch9/os/task/processor/fn.current_trap_cx_user_va.html index ddd40556..b3218706 100644 --- a/ch9/os/task/processor/fn.current_trap_cx_user_va.html +++ b/ch9/os/task/processor/fn.current_trap_cx_user_va.html @@ -1,9 +1 @@ -current_trap_cx_user_va in os::task::processor - Rust -
pub fn current_trap_cx_user_va() -> usize
- \ No newline at end of file +current_trap_cx_user_va in os::task::processor - Rust
pub fn current_trap_cx_user_va() -> usize
\ No newline at end of file diff --git a/ch9/os/task/processor/fn.current_user_token.html b/ch9/os/task/processor/fn.current_user_token.html index 9e3bd028..9c8d851d 100644 --- a/ch9/os/task/processor/fn.current_user_token.html +++ b/ch9/os/task/processor/fn.current_user_token.html @@ -1,9 +1 @@ -current_user_token in os::task::processor - Rust -
pub fn current_user_token() -> usize
- \ No newline at end of file +current_user_token in os::task::processor - Rust
pub fn current_user_token() -> usize
\ No newline at end of file diff --git a/ch9/os/task/processor/fn.run_tasks.html b/ch9/os/task/processor/fn.run_tasks.html index bae7a388..58db02c5 100644 --- a/ch9/os/task/processor/fn.run_tasks.html +++ b/ch9/os/task/processor/fn.run_tasks.html @@ -1,9 +1 @@ -run_tasks in os::task::processor - Rust -
pub fn run_tasks()
- \ No newline at end of file +run_tasks in os::task::processor - Rust
pub fn run_tasks()
\ No newline at end of file diff --git a/ch9/os/task/processor/fn.schedule.html b/ch9/os/task/processor/fn.schedule.html index 8db4969d..46cf8d4a 100644 --- a/ch9/os/task/processor/fn.schedule.html +++ b/ch9/os/task/processor/fn.schedule.html @@ -1,9 +1 @@ -schedule in os::task::processor - Rust -
pub fn schedule(switched_task_cx_ptr: *mut TaskContext)
- \ No newline at end of file +schedule in os::task::processor - Rust
pub fn schedule(switched_task_cx_ptr: *mut TaskContext)
\ No newline at end of file diff --git a/ch9/os/task/processor/fn.take_current_task.html b/ch9/os/task/processor/fn.take_current_task.html index bafda507..62ba5349 100644 --- a/ch9/os/task/processor/fn.take_current_task.html +++ b/ch9/os/task/processor/fn.take_current_task.html @@ -1,9 +1 @@ -take_current_task in os::task::processor - Rust -
pub fn take_current_task() -> Option<Arc<TaskControlBlock>>
- \ No newline at end of file +take_current_task in os::task::processor - Rust
pub fn take_current_task() -> Option<Arc<TaskControlBlock>>
\ No newline at end of file diff --git a/ch9/os/task/processor/index.html b/ch9/os/task/processor/index.html index b597da9d..79ae5004 100644 --- a/ch9/os/task/processor/index.html +++ b/ch9/os/task/processor/index.html @@ -1,11 +1 @@ -os::task::processor - Rust -
- \ No newline at end of file +os::task::processor - Rust
\ No newline at end of file diff --git a/ch9/os/task/processor/struct.PROCESSOR.html b/ch9/os/task/processor/struct.PROCESSOR.html index 2d29daeb..f5e72b0e 100644 --- a/ch9/os/task/processor/struct.PROCESSOR.html +++ b/ch9/os/task/processor/struct.PROCESSOR.html @@ -1,11 +1,4 @@ -PROCESSOR in os::task::processor - Rust -
pub struct PROCESSOR {
+PROCESSOR in os::task::processor - Rust
pub struct PROCESSOR {
     __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<Processor>>

Panic if the data has been borrowed.

Trait Implementations

The resulting type after dereferencing.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/processor/struct.Processor.html b/ch9/os/task/processor/struct.Processor.html index 8a973312..16366828 100644 --- a/ch9/os/task/processor/struct.Processor.html +++ b/ch9/os/task/processor/struct.Processor.html @@ -1,11 +1,4 @@ -Processor in os::task::processor - Rust -
pub struct Processor {
+Processor in os::task::processor - Rust
pub struct Processor {
     current: Option<Arc<TaskControlBlock>>,
     idle_task_cx: TaskContext,
 }

Fields

current: Option<Arc<TaskControlBlock>>idle_task_cx: TaskContext

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

@@ -23,13 +16,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/signal/index.html b/ch9/os/task/signal/index.html index fe5f77cd..4ef7b2fa 100644 --- a/ch9/os/task/signal/index.html +++ b/ch9/os/task/signal/index.html @@ -1,10 +1 @@ -os::task::signal - Rust -
- \ No newline at end of file +os::task::signal - Rust
\ No newline at end of file diff --git a/ch9/os/task/signal/struct.SignalFlags.html b/ch9/os/task/signal/struct.SignalFlags.html index dea49fa0..b506a326 100644 --- a/ch9/os/task/signal/struct.SignalFlags.html +++ b/ch9/os/task/signal/struct.SignalFlags.html @@ -1,11 +1,4 @@ -SignalFlags in os::task::signal - Rust -
pub struct SignalFlags {
+SignalFlags in os::task::signal - Rust
pub struct SignalFlags {
     bits: u32,
 }

Fields

bits: u32

Implementations

Returns an empty set of flags.

Returns the set containing all flags.

@@ -89,18 +82,18 @@ between Self::all()

The resulting type after applying the ! operator.

Formats the value using the given formatter.

This method returns an Ordering between self and other. Read more

-

Compares and returns the maximum of two values. Read more

-

Compares and returns the minimum of two values. Read more

-

Restrict a value to a certain interval. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

-

This method tests less than (for self and other) and is used by the < operator. Read more

-

This method tests less than or equal to (for self and other) and is used by the <= +

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

-

This method tests greater than or equal to (for self and other) and is used by the >= +

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Returns the set difference of the two sets of flags.

The resulting type after applying the - operator.

@@ -124,13 +117,12 @@ operator.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/struct.INITPROC.html b/ch9/os/task/struct.INITPROC.html index 652fa4fc..25ca2bf9 100644 --- a/ch9/os/task/struct.INITPROC.html +++ b/ch9/os/task/struct.INITPROC.html @@ -1,11 +1,4 @@ -INITPROC in os::task - Rust -
-

Struct os::task::INITPROC

source · []
pub struct INITPROC {
+INITPROC in os::task - Rust
pub struct INITPROC {
     __private_field: (),
 }

Fields

__private_field: ()

Trait Implementations

The resulting type after dereferencing.

Dereferences the value.

@@ -24,13 +17,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/switch/fn.__switch.html b/ch9/os/task/switch/fn.__switch.html index 69f51eec..66123082 100644 --- a/ch9/os/task/switch/fn.__switch.html +++ b/ch9/os/task/switch/fn.__switch.html @@ -1,9 +1 @@ -__switch in os::task::switch - Rust -
-

Function os::task::switch::__switch

source · []
pub unsafe extern "C" fn __switch(
    current_task_cx_ptr: *mut TaskContext,
    next_task_cx_ptr: *const TaskContext
)
- \ No newline at end of file +__switch in os::task::switch - Rust
pub unsafe extern "C" fn __switch(
    current_task_cx_ptr: *mut TaskContext,
    next_task_cx_ptr: *const TaskContext
)
\ No newline at end of file diff --git a/ch9/os/task/switch/index.html b/ch9/os/task/switch/index.html index 6149d54c..4f68c613 100644 --- a/ch9/os/task/switch/index.html +++ b/ch9/os/task/switch/index.html @@ -1,10 +1 @@ -os::task::switch - Rust -
- \ No newline at end of file +os::task::switch - Rust
\ No newline at end of file diff --git a/ch9/os/task/task/enum.TaskStatus.html b/ch9/os/task/task/enum.TaskStatus.html index 1141745e..611f1367 100644 --- a/ch9/os/task/task/enum.TaskStatus.html +++ b/ch9/os/task/task/enum.TaskStatus.html @@ -1,11 +1,4 @@ -TaskStatus in os::task::task - Rust -
pub enum TaskStatus {
+TaskStatus in os::task::task - Rust
pub enum TaskStatus {
     Ready,
     Running,
     Blocking,
@@ -13,7 +6,7 @@
 

Performs copy-assignment from source. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

-

This method tests for !=.

+

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

@@ -32,13 +25,12 @@ by ==.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/task/index.html b/ch9/os/task/task/index.html index 249d2ed7..b0287c6b 100644 --- a/ch9/os/task/task/index.html +++ b/ch9/os/task/task/index.html @@ -1,11 +1 @@ -os::task::task - Rust -
- \ No newline at end of file +os::task::task - Rust
\ No newline at end of file diff --git a/ch9/os/task/task/struct.TaskControlBlock.html b/ch9/os/task/task/struct.TaskControlBlock.html index 57cb1c0e..e3dbce7f 100644 --- a/ch9/os/task/task/struct.TaskControlBlock.html +++ b/ch9/os/task/task/struct.TaskControlBlock.html @@ -1,11 +1,4 @@ -TaskControlBlock in os::task::task - Rust -
pub struct TaskControlBlock {
+TaskControlBlock in os::task::task - Rust
pub struct TaskControlBlock {
     pub process: Weak<ProcessControlBlock>,
     pub kstack: KernelStack,
     pub inner: UPIntrFreeCell<TaskControlBlockInner>,
@@ -24,13 +17,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/task/task/struct.TaskControlBlockInner.html b/ch9/os/task/task/struct.TaskControlBlockInner.html index 8dbd65d4..4d6adecd 100644 --- a/ch9/os/task/task/struct.TaskControlBlockInner.html +++ b/ch9/os/task/task/struct.TaskControlBlockInner.html @@ -1,11 +1,4 @@ -TaskControlBlockInner in os::task::task - Rust -
pub struct TaskControlBlockInner {
+TaskControlBlockInner in os::task::task - Rust
pub struct TaskControlBlockInner {
     pub res: Option<TaskUserRes>,
     pub trap_cx_ppn: PhysPageNum,
     pub task_cx: TaskContext,
@@ -26,13 +19,12 @@
 

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/timer/constant.MSEC_PER_SEC.html b/ch9/os/timer/constant.MSEC_PER_SEC.html index 46b618a4..2ee269d2 100644 --- a/ch9/os/timer/constant.MSEC_PER_SEC.html +++ b/ch9/os/timer/constant.MSEC_PER_SEC.html @@ -1,9 +1 @@ -MSEC_PER_SEC in os::timer - Rust -
-

Constant os::timer::MSEC_PER_SEC

source · []
const MSEC_PER_SEC: usize = 1000;
- \ No newline at end of file +MSEC_PER_SEC in os::timer - Rust
const MSEC_PER_SEC: usize = 1000;
\ No newline at end of file diff --git a/ch9/os/timer/constant.TICKS_PER_SEC.html b/ch9/os/timer/constant.TICKS_PER_SEC.html index 26a41f2a..ca881576 100644 --- a/ch9/os/timer/constant.TICKS_PER_SEC.html +++ b/ch9/os/timer/constant.TICKS_PER_SEC.html @@ -1,9 +1 @@ -TICKS_PER_SEC in os::timer - Rust -
const TICKS_PER_SEC: usize = 100;
- \ No newline at end of file +TICKS_PER_SEC in os::timer - Rust
const TICKS_PER_SEC: usize = 100;
\ No newline at end of file diff --git a/ch9/os/timer/fn.add_timer.html b/ch9/os/timer/fn.add_timer.html index 97569833..45e23a0b 100644 --- a/ch9/os/timer/fn.add_timer.html +++ b/ch9/os/timer/fn.add_timer.html @@ -1,9 +1 @@ -add_timer in os::timer - Rust -
-

Function os::timer::add_timer

source · []
pub fn add_timer(expire_ms: usize, task: Arc<TaskControlBlock>)
- \ No newline at end of file +add_timer in os::timer - Rust
pub fn add_timer(expire_ms: usize, task: Arc<TaskControlBlock>)
\ No newline at end of file diff --git a/ch9/os/timer/fn.check_timer.html b/ch9/os/timer/fn.check_timer.html index 0c6a3415..ce9ae71d 100644 --- a/ch9/os/timer/fn.check_timer.html +++ b/ch9/os/timer/fn.check_timer.html @@ -1,9 +1 @@ -check_timer in os::timer - Rust -
-

Function os::timer::check_timer

source · []
pub fn check_timer()
- \ No newline at end of file +check_timer in os::timer - Rust
pub fn check_timer()
\ No newline at end of file diff --git a/ch9/os/timer/fn.get_time.html b/ch9/os/timer/fn.get_time.html index 540fbf43..f513fe44 100644 --- a/ch9/os/timer/fn.get_time.html +++ b/ch9/os/timer/fn.get_time.html @@ -1,9 +1 @@ -get_time in os::timer - Rust -
-

Function os::timer::get_time

source · []
pub fn get_time() -> usize
- \ No newline at end of file +get_time in os::timer - Rust
pub fn get_time() -> usize
\ No newline at end of file diff --git a/ch9/os/timer/fn.get_time_ms.html b/ch9/os/timer/fn.get_time_ms.html index 3345a152..f78192ad 100644 --- a/ch9/os/timer/fn.get_time_ms.html +++ b/ch9/os/timer/fn.get_time_ms.html @@ -1,9 +1 @@ -get_time_ms in os::timer - Rust -
-

Function os::timer::get_time_ms

source · []
pub fn get_time_ms() -> usize
- \ No newline at end of file +get_time_ms in os::timer - Rust
pub fn get_time_ms() -> usize
\ No newline at end of file diff --git a/ch9/os/timer/fn.set_next_trigger.html b/ch9/os/timer/fn.set_next_trigger.html index 47b8d7ba..e95229b4 100644 --- a/ch9/os/timer/fn.set_next_trigger.html +++ b/ch9/os/timer/fn.set_next_trigger.html @@ -1,9 +1 @@ -set_next_trigger in os::timer - Rust -
pub fn set_next_trigger()
- \ No newline at end of file +set_next_trigger in os::timer - Rust
pub fn set_next_trigger()
\ No newline at end of file diff --git a/ch9/os/timer/index.html b/ch9/os/timer/index.html index a9ec8246..0d7aa8ca 100644 --- a/ch9/os/timer/index.html +++ b/ch9/os/timer/index.html @@ -1,12 +1 @@ -os::timer - Rust -
- \ No newline at end of file +os::timer - Rust
\ No newline at end of file diff --git a/ch9/os/timer/struct.TIMERS.html b/ch9/os/timer/struct.TIMERS.html index 71674d85..473a276e 100644 --- a/ch9/os/timer/struct.TIMERS.html +++ b/ch9/os/timer/struct.TIMERS.html @@ -1,11 +1,4 @@ -TIMERS in os::timer - Rust -
-

Struct os::timer::TIMERS

source · []
struct TIMERS {
+TIMERS in os::timer - Rust
struct TIMERS {
     __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<BinaryHeap<TimerCondVar>>>

Panic if the data has been borrowed.

Trait Implementations

The resulting type after dereferencing.

@@ -25,13 +18,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/timer/struct.TimerCondVar.html b/ch9/os/timer/struct.TimerCondVar.html index a66e759f..aec08413 100644 --- a/ch9/os/timer/struct.TimerCondVar.html +++ b/ch9/os/timer/struct.TimerCondVar.html @@ -1,26 +1,19 @@ -TimerCondVar in os::timer - Rust -
pub struct TimerCondVar {
+TimerCondVar in os::timer - Rust
pub struct TimerCondVar {
     pub expire_ms: usize,
     pub task: Arc<TaskControlBlock>,
 }

Fields

expire_ms: usizetask: Arc<TaskControlBlock>

Trait Implementations

This method returns an Ordering between self and other. Read more

-

Compares and returns the maximum of two values. Read more

-

Compares and returns the minimum of two values. Read more

-

Restrict a value to a certain interval. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

-

This method tests for !=.

+

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

-

This method tests less than (for self and other) and is used by the < operator. Read more

-

This method tests less than or equal to (for self and other) and is used by the <= +

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

-

This method tests greater than or equal to (for self and other) and is used by the >= +

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

@@ -37,13 +30,12 @@ operator.

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/trap/context/index.html b/ch9/os/trap/context/index.html index 8fc0fb5e..8713bccb 100644 --- a/ch9/os/trap/context/index.html +++ b/ch9/os/trap/context/index.html @@ -1,10 +1 @@ -os::trap::context - Rust -
- \ No newline at end of file +os::trap::context - Rust
\ No newline at end of file diff --git a/ch9/os/trap/context/struct.TrapContext.html b/ch9/os/trap/context/struct.TrapContext.html index 36901cac..f60db3d4 100644 --- a/ch9/os/trap/context/struct.TrapContext.html +++ b/ch9/os/trap/context/struct.TrapContext.html @@ -1,11 +1,4 @@ -TrapContext in os::trap::context - Rust -
#[repr(C)]
pub struct TrapContext { +TrapContext in os::trap::context - Rust
#[repr(C)]
pub struct TrapContext { pub x: [usize; 32], pub sstatus: Sstatus, pub sepc: usize, @@ -28,13 +21,12 @@

Casts the value.

Casts the value.

Casts the value.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

-

The type returned in the event of a conversion error.

+

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/os/trap/fn.disable_supervisor_interrupt.html b/ch9/os/trap/fn.disable_supervisor_interrupt.html index fec8c25f..231d51d3 100644 --- a/ch9/os/trap/fn.disable_supervisor_interrupt.html +++ b/ch9/os/trap/fn.disable_supervisor_interrupt.html @@ -1,9 +1 @@ -disable_supervisor_interrupt in os::trap - Rust -
fn disable_supervisor_interrupt()
- \ No newline at end of file +disable_supervisor_interrupt in os::trap - Rust
fn disable_supervisor_interrupt()
\ No newline at end of file diff --git a/ch9/os/trap/fn.enable_supervisor_interrupt.html b/ch9/os/trap/fn.enable_supervisor_interrupt.html index 1a5810dc..bf3b1d35 100644 --- a/ch9/os/trap/fn.enable_supervisor_interrupt.html +++ b/ch9/os/trap/fn.enable_supervisor_interrupt.html @@ -1,9 +1 @@ -enable_supervisor_interrupt in os::trap - Rust -
fn enable_supervisor_interrupt()
- \ No newline at end of file +enable_supervisor_interrupt in os::trap - Rust
fn enable_supervisor_interrupt()
\ No newline at end of file diff --git a/ch9/os/trap/fn.enable_timer_interrupt.html b/ch9/os/trap/fn.enable_timer_interrupt.html index a4d72c92..8b23c0fa 100644 --- a/ch9/os/trap/fn.enable_timer_interrupt.html +++ b/ch9/os/trap/fn.enable_timer_interrupt.html @@ -1,9 +1 @@ -enable_timer_interrupt in os::trap - Rust -
pub fn enable_timer_interrupt()
- \ No newline at end of file +enable_timer_interrupt in os::trap - Rust
pub fn enable_timer_interrupt()
\ No newline at end of file diff --git a/ch9/os/trap/fn.init.html b/ch9/os/trap/fn.init.html index bc37cedc..e85abde8 100644 --- a/ch9/os/trap/fn.init.html +++ b/ch9/os/trap/fn.init.html @@ -1,9 +1 @@ -init in os::trap - Rust -
-

Function os::trap::init

source · []
pub fn init()
- \ No newline at end of file +init in os::trap - Rust

Function os::trap::init

source · []
pub fn init()
\ No newline at end of file diff --git a/ch9/os/trap/fn.set_kernel_trap_entry.html b/ch9/os/trap/fn.set_kernel_trap_entry.html index ce7352ec..0c23b6a1 100644 --- a/ch9/os/trap/fn.set_kernel_trap_entry.html +++ b/ch9/os/trap/fn.set_kernel_trap_entry.html @@ -1,9 +1 @@ -set_kernel_trap_entry in os::trap - Rust -
fn set_kernel_trap_entry()
- \ No newline at end of file +set_kernel_trap_entry in os::trap - Rust
fn set_kernel_trap_entry()
\ No newline at end of file diff --git a/ch9/os/trap/fn.set_user_trap_entry.html b/ch9/os/trap/fn.set_user_trap_entry.html index 5ae4b574..994b857b 100644 --- a/ch9/os/trap/fn.set_user_trap_entry.html +++ b/ch9/os/trap/fn.set_user_trap_entry.html @@ -1,9 +1 @@ -set_user_trap_entry in os::trap - Rust -
fn set_user_trap_entry()
- \ No newline at end of file +set_user_trap_entry in os::trap - Rust
fn set_user_trap_entry()
\ No newline at end of file diff --git a/ch9/os/trap/fn.trap_from_kernel.html b/ch9/os/trap/fn.trap_from_kernel.html index 7f68cb37..2fe47cad 100644 --- a/ch9/os/trap/fn.trap_from_kernel.html +++ b/ch9/os/trap/fn.trap_from_kernel.html @@ -1,10 +1,2 @@ -trap_from_kernel in os::trap - Rust -
#[no_mangle]
-pub fn trap_from_kernel(_trap_cx: &TrapContext)
- \ No newline at end of file +trap_from_kernel in os::trap - Rust
#[no_mangle]
+pub fn trap_from_kernel(_trap_cx: &TrapContext)
\ No newline at end of file diff --git a/ch9/os/trap/fn.trap_handler.html b/ch9/os/trap/fn.trap_handler.html index d34d082a..1e82d168 100644 --- a/ch9/os/trap/fn.trap_handler.html +++ b/ch9/os/trap/fn.trap_handler.html @@ -1,10 +1,2 @@ -trap_handler in os::trap - Rust -
-

Function os::trap::trap_handler

source · []
#[no_mangle]
-pub fn trap_handler() -> !
- \ No newline at end of file +trap_handler in os::trap - Rust
#[no_mangle]
+pub fn trap_handler() -> !
\ No newline at end of file diff --git a/ch9/os/trap/fn.trap_return.html b/ch9/os/trap/fn.trap_return.html index 2e0fd14f..75fddb93 100644 --- a/ch9/os/trap/fn.trap_return.html +++ b/ch9/os/trap/fn.trap_return.html @@ -1,10 +1,2 @@ -trap_return in os::trap - Rust -
-

Function os::trap::trap_return

source · []
#[no_mangle]
-pub fn trap_return() -> !
- \ No newline at end of file +trap_return in os::trap - Rust
#[no_mangle]
+pub fn trap_return() -> !
\ No newline at end of file diff --git a/ch9/os/trap/index.html b/ch9/os/trap/index.html index f76c45c3..3c4e5e5a 100644 --- a/ch9/os/trap/index.html +++ b/ch9/os/trap/index.html @@ -1,12 +1 @@ -os::trap - Rust -
- \ No newline at end of file +os::trap - Rust
\ No newline at end of file diff --git a/ch9/rustdoc.css b/ch9/rustdoc.css index fa48adc4..2e22b4cf 100644 --- a/ch9/rustdoc.css +++ b/ch9/rustdoc.css @@ -1 +1 @@ - @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:20px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}h1.fqn{margin:0;padding:0;border-bottom-color:var(--headings-border-bottom-color);}h2,h3,h4{border-bottom-color:var(--headings-border-bottom-color);}.main-heading{display:flex;flex-wrap:wrap;justify-content:space-between;padding-bottom:6px;margin-bottom:15px;}.main-heading a:hover{text-decoration:underline;}#toggle-all-docs{text-decoration:none;}h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;border-bottom-style:none;margin:0;padding:0;margin-top:0.6em;margin-bottom:0.4em;}.impl,.impl-items .method,.methods .method,.impl-items .type,.methods .type,.impl-items .associatedconstant,.methods .associatedconstant,.impl-items .associatedtype,.methods .associatedtype{flex-basis:100%;font-weight:600;position:relative;}div.impl-items>div{padding-left:0;}h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,a.source,.search-input,.search-results .result-name,.content table td:first-child>a,.item-left>a,.out-of-band,span.since,#source-sidebar,#sidebar-toggle,details.rustdoc-toggle>summary::before,div.impl-items>div:not(.docblock):not(.item-info),.content ul.crate a.crate,a.srclink,#main-content>ul.docblock>li>a{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}h1,h2,h3,h4,a#toggle-all-docs,a.anchor,.small-section-header a,#source-sidebar a,pre.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,.in-band a,.search-results a,.module-item .stab,.import-item .stab,.result-name .primitive>i,.result-name .keyword>i,.content .method .where,.content .fn .where,.content .where.fmt-newline{color:var(--main-color);}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p{margin:0 0 .75em 0;}summary{outline:none;}td,th{padding:0;}table{border-collapse:collapse;}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;}button{padding:1px 6px;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.source main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}.source .width-limiter{max-width:unset;}details:not(.rustdoc-toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;}.docblock.item-decl{margin-left:0;}.item-decl pre{overflow-x:auto;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{max-width:none;overflow:visible;margin-left:0px;}nav.sub{position:relative;font-size:1rem;}.sub-container{display:flex;flex-direction:row;flex-wrap:nowrap;}.sub-logo-container{display:none;margin-right:20px;}.source .sub-logo-container{display:block;}.source .sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.sidebar,.mobile-topbar,.sidebar-menu-toggle{background-color:var(--sidebar-background-color);}.sidebar{font-size:0.875rem;width:250px;min-width:200px;overflow-y:scroll;position:sticky;height:100vh;top:0;left:0;}.sidebar-elems,.sidebar>.location{padding-left:24px;}.sidebar .location{overflow-wrap:anywhere;}.rustdoc.source .sidebar{width:50px;min-width:0px;max-width:300px;flex-grow:0;flex-shrink:0;flex-basis:auto;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.rustdoc.source .sidebar .sidebar-logo{display:none;}.source .sidebar,#sidebar-toggle,#source-sidebar{background-color:var(--sidebar-background-color);}#sidebar-toggle>button:hover,#sidebar-toggle>button:focus{background-color:var(--sidebar-background-color-hover);}.source .sidebar>*:not(#sidebar-toggle){opacity:0;visibility:hidden;}.source-sidebar-expanded .source .sidebar{overflow-y:auto;}.source-sidebar-expanded .source .sidebar>*:not(#sidebar-toggle){opacity:1;visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.sidebar .logo-container{display:flex;margin-top:10px;margin-bottom:10px;justify-content:center;}.version{overflow-wrap:break-word;}.logo-container>img{height:100px;width:100px;}.location:empty{border:none;}.location a:first-of-type{font-weight:500;}.block{padding:0;}.block ul,.block li{padding:0;margin:0;list-style:none;}.block a,h2.location a{display:block;padding:0.25rem;margin-left:-0.25rem;text-overflow:ellipsis;overflow:hidden;}.sidebar h2{border-bottom:none;font-weight:500;padding:0;margin:0;margin-top:0.7rem;margin-bottom:0.7rem;}.sidebar h3{font-size:1.125rem;font-weight:500;padding:0;margin:0;}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;}.mobile-topbar{display:none;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;padding:13px 8px;text-align:right;border-top-left-radius:5px;border-bottom-left-radius:5px;}.example-wrap>pre.rust a:hover{text-decoration:underline;}.line-numbers{text-align:right;}.rustdoc:not(.source) .example-wrap>pre:not(.line-number){width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre.line-numbers{width:auto;overflow-x:visible;}.rustdoc .example-wrap>pre{margin:0;}#search{position:relative;}.search-loading{text-align:center;}#results>table{width:100%;table-layout:fixed;}.content>.example-wrap pre.line-numbers{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock>:not(pre)>code,.docblock-short>:not(pre)>code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5,.docblock h6{border-bottom-color:var(--headings-border-bottom-color);}.docblock{margin-left:24px;position:relative;}.docblock>:not(.information):not(.more-examples-toggle){max-width:100%;overflow-x:auto;}.content .out-of-band{flex-grow:0;font-size:1.125rem;font-weight:normal;float:right;}.method>.code-header,.trait-impl>.code-header{max-width:calc(100% - 41px);display:block;}.content .in-band{flex-grow:1;margin:0px;padding:0px;overflow-wrap:break-word;overflow-wrap:anywhere;}.in-band>code,.in-band>.code-header{display:inline-block;}.docblock code,.docblock-short code,pre,.rustdoc.source .example-wrap{background-color:var(--code-block-background-color);}#main-content{position:relative;}#main-content>.since{top:inherit;font-family:"Fira Sans",Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.125rem;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);overflow-x:auto;display:block;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content>.methods>.method{font-size:1rem;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.875rem;}.content .methods>div:not(.notable-traits):not(.method){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.item-info{display:block;}.content .item-info code{font-size:0.875rem;}.content .item-info{position:relative;margin-left:24px;}.sub-variant>div>.item-info{margin-top:initial;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main-content>.item-info{margin-top:0;margin-left:0;}nav.sub{flex-grow:1;margin-bottom:25px;}.source nav.sub{margin-left:32px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}a{text-decoration:none;background:transparent;}.small-section-header{display:flex;justify-content:space-between;position:relative;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor,.method.trait-impl:hover>.anchor,.type.trait-impl:hover>.anchor,.associatedconstant.trait-impl:hover>.anchor,.associatedtype.trait-impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-15px;padding-right:8px;}h2.small-section-header>.anchor{padding-right:6px;}.anchor::before{content:'§';}.docblock a:not(.srclink):not(.test-arrow):not(.scrape-help):hover,.docblock-short a:not(.srclink):not(.test-arrow):not(.scrape-help):hover,.item-info a{text-decoration:underline;}.block a.current.crate{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;}.item-row{display:table-row;}.item-left,.item-right{display:table-cell;}.item-left{padding-right:1.25rem;}.search-container{position:relative;display:flex;height:34px;}.search-container>*{height:100%;}.search-results-title{display:inline;}#search-settings{font-size:1.5rem;font-weight:500;margin-bottom:20px;}#crate-search{min-width:115px;margin-top:5px;padding-left:0.3125em;padding-right:23px;border:1px solid;border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;background-image:url("down-arrow.svg");max-width:100%;text-overflow:ellipsis;}.search-container{margin-top:4px;}.search-input{-webkit-appearance:none;-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:1px solid;border-radius:2px;padding:8px;font-size:1rem;transition:border-color 300ms ease;width:100%;}.search-results{display:none;padding-bottom:2em;}.search-results.active{display:block;clear:both;}.search-results .desc>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results>a{display:block;width:100%;margin-left:2px;margin-right:2px;border-bottom:1px solid #aaa3;}.search-results>a>div{display:flex;flex-flow:row wrap;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:50%;}.search-results .result-name{padding-right:1em;}.search-results .result-name>span{display:inline-block;margin:0;font-weight:normal;}.popover{font-size:1rem;position:absolute;right:0;z-index:2;display:block;margin-top:7px;border-radius:3px;border:1px solid;font-size:1rem;}.popover::before{content:'';position:absolute;right:11px;border:solid;border-width:1px 1px 0 0;display:inline-block;padding:4px;transform:rotate(-45deg);top:-5px;}.popover,.popover::before{background-color:var(--main-background-color);color:var(--main-color);}#help-button .popover{max-width:600px;}#help-button .popover::before{right:48px;}#help-button dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help-button span.top,#help-button span.bottom{text-align:center;display:block;font-size:1.125rem;}#help-button span.top{text-align:center;display:block;margin:10px 0;border-bottom:1px solid;padding-bottom:4px;margin-bottom:6px;}#help-button span.bottom{clear:both;border-top:1px solid;}.side-by-side{text-align:initial;}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{display:inline-block;}.stab{padding:3px;margin-bottom:5px;font-size:0.875rem;font-weight:normal;}.stab p{display:inline;}.stab .emoji{font-size:1.25rem;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.module-item .stab,.import-item .stab{border-radius:3px;display:inline-block;font-size:0.875rem;line-height:1.2;margin-bottom:0;margin-left:0.3125em;padding:2px;vertical-align:text-bottom;}.module-item.unstable,.import-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{font-weight:normal;font-size:1rem;}.rightside{float:right;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;}.example-wrap:hover .test-arrow{visibility:visible;}a.test-arrow:hover{text-decoration:none;}.code-attribute{font-weight:300;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:1.25rem;}h3.variant{font-weight:600;font-size:1.125rem;margin-bottom:10px;border-bottom:none;}.sub-variant h4{font-size:1rem;font-weight:400;border-bottom:none;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}:target>code,:target>.code-header{opacity:1;}:target{padding-right:3px;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:1rem;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:1.25rem;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:1rem;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .notable{margin:0;margin-bottom:13px;font-size:1.1875rem;font-weight:600;display:block;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:1.25rem;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:1.125rem;cursor:pointer;border:0;border-top:2px solid;}#titles>button:first-child:last-child{margin-right:1px;width:calc(100% - 1px);}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:1rem;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}#sidebar-toggle{position:sticky;top:0;left:0;font-weight:bold;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:center;align-items:center;z-index:10;}#source-sidebar{width:100%;z-index:1;overflow:auto;}#source-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid;margin-bottom:6px;}#sidebar-toggle>button{background:none;color:inherit;cursor:pointer;text-align:center;border:none;outline:none;position:absolute;top:0;bottom:0;left:0;right:0;width:100%;-webkit-appearance:none;opacity:1;}#settings-menu,#help-button{margin-left:4px;outline:none;}#copy-path{height:34px;}#settings-menu>a,#help-button>button,#copy-path{padding:5px;width:33px;border:1px solid;border-radius:2px;cursor:pointer;}#settings-menu{padding:0;}#settings-menu>a,#help-button>button{padding:5px;height:100%;display:block;}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}.setting-line .radio-line input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-line .radio-line input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-line .radio-line input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-line .radio-line input:hover{border-color:var(--settings-input-color) !important;}input:checked+.slider{background-color:var(--settings-input-color);}#help-button>button{font-family:"Fira Sans",Arial,sans-serif;text-align:center;font-size:20px;padding-top:2px;}#copy-path{background:initial;margin-left:10px;padding:0;padding-left:2px;border:0;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);overflow-wrap:normal;}#theme-choices>button:not(:first-child){border-top:1px solid;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:1rem;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:1.125rem;display:block;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main-content>ul{padding-left:10px;}#main-content>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 13px;list-style-position:outside;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.rustdoc-toggle>summary.hideme{cursor:pointer;}details.rustdoc-toggle>summary{list-style:none;}details.rustdoc-toggle>summary::-webkit-details-marker,details.rustdoc-toggle>summary::marker{display:none;}details.rustdoc-toggle>summary.hideme>span{margin-left:9px;}details.rustdoc-toggle>summary::before{content:"";cursor:pointer;width:16px;height:16px;background-repeat:no-repeat;background-position:top left;display:inline-block;vertical-align:middle;opacity:.5;}details.rustdoc-toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.rustdoc-toggle>summary.hideme::after{content:"";}details.rustdoc-toggle>summary:focus::before,details.rustdoc-toggle>summary:hover::before{opacity:1;}details.rustdoc-toggle.top-doc>summary,details.rustdoc-toggle.top-doc>summary::before,details.rustdoc-toggle.non-exhaustive>summary,details.rustdoc-toggle.non-exhaustive>summary::before{font-family:'Fira Sans';font-size:1rem;}details.non-exhaustive{margin-bottom:8px;}details.rustdoc-toggle>summary.hideme::before{position:relative;}details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.rustdoc-toggle[open] >summary.hideme{position:absolute;}details.rustdoc-toggle{position:relative;}details.rustdoc-toggle[open] >summary.hideme>span{display:none;}details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{background-image:url("toggle-minus.svg");}details.rustdoc-toggle>summary::before{background-image:url("toggle-plus.svg");}details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{width:16px;height:16px;background-repeat:no-repeat;background-position:top left;display:inline-block;content:"";}details.rustdoc-toggle[open] >summary::after,details.rustdoc-toggle[open] >summary.hideme::after{content:"Collapse";}.docblock summary>*{display:inline-block;}@media (min-width:701px){.docblock>.information:first-child>.tooltip{margin-top:16px;}.source-sidebar-expanded .source .sidebar+main .width-limiter .sub-logo-container.rust-logo{display:none;}.source-sidebar-expanded .source .sidebar{width:300px;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{padding-top:0px;display:block;}main{padding-left:15px;padding-top:0px;}.rustdoc,.main-heading{flex-direction:column;}.content .out-of-band{text-align:left;margin-left:initial;padding:initial;}.content .out-of-band .since::before{content:"Since ";}#copy-path{display:none;}.sidebar .sidebar-logo,.sidebar .location{display:none;}.sidebar-elems{margin-top:1em;}.sidebar{position:fixed;top:45px;left:-1000px;margin-left:0;background-color:rgba(0,0,0,0);margin:0;padding:0;z-index:11;height:calc(100vh - 45px);}.source main,.rustdoc.source .sidebar{top:0;padding:0;height:100vh;border:0;}.sidebar.shown,.source-sidebar-expanded .source .sidebar,.sidebar:focus-within{left:0;}.rustdoc.source>.sidebar{position:fixed;margin:0;z-index:11;width:0;}.mobile-topbar .location a{padding:0;margin:0;}.mobile-topbar .location{border:none;padding:0;margin:auto 0.5em auto auto;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:24px;}.mobile-topbar .logo-container{max-height:45px;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin-left:20px;margin-top:5px;margin-bottom:5px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.source .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;}.sidebar-elems{background-color:var(--sidebar-background-color);}.source nav:not(.sidebar).sub{margin-left:32px;}.content{margin-left:0px;}.source .content{margin-top:10px;}#search{margin-left:0;padding:0;}.anchor{display:none !important;}.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}#main-content>details.rustdoc-toggle>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}#sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;border:1px solid;border-left:0;}.source-sidebar-expanded #sidebar-toggle{left:unset;top:unset;width:unset;border-top-right-radius:unset;border-bottom-right-radius:unset;position:sticky;border:0;border-bottom:1px solid;}#source-sidebar{z-index:11;}#main-content>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}#help-button{display:none;}.item-table{display:block;}.item-row{display:flex;flex-flow:column wrap;}.item-left,.item-right{width:100%;}.search-results>a{border-bottom:1px solid #aaa9;padding:5px 0px;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:100%;}.search-results div.desc,.search-results .result-description,.item-right{padding-left:2em;}.source-sidebar-expanded .source .sidebar{max-width:100vw;width:100vw;}details.rustdoc-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before,#main-content>details.rustdoc-toggle:not(.top-doc)>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}}@media print{nav.sidebar,nav.sub,.content .out-of-band,a.srclink,#copy-path,details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle>summary::before,details.rustdoc-toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main-content>table:not(.table-display) td{word-break:break-word;width:50%;}#crate-search{border-radius:4px;}.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}.sub-container{flex-direction:column;}.sub-logo-container{align-self:center;}.source .sub-logo-container>img{height:35px;width:35px;}#sidebar-toggle{top:10px;}.source-sidebar-expanded #sidebar-toggle{top:unset;}}.method-toggle summary,.implementors-toggle summary,.impl{margin-bottom:0.75em;}.method-toggle[open]{margin-bottom:2em;}.implementors-toggle[open]{margin-bottom:2em;}#trait-implementations-list .method-toggle,#synthetic-implementations-list .method-toggle,#blanket-implementations-list .method-toggle{margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;background:transparent;border-width:1px;border-style:solid;border-radius:50px;}.scraped-example-title{font-family:'Fira Sans';}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:240px;}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;max-height:240px;padding-bottom:0;}.scraped-example:not(.expanded) .code-wrapper pre.line-numbers{overflow-x:hidden;}.scraped-example .code-wrapper .prev{position:absolute;top:0.25em;right:2.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper .next{position:absolute;top:0.25em;right:1.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper .expand{position:absolute;top:0.25em;right:0.25em;z-index:100;cursor:pointer;}.scraped-example:not(.expanded) .code-wrapper:before{content:" ";width:100%;height:5px;position:absolute;z-index:100;top:0;}.scraped-example:not(.expanded) .code-wrapper:after{content:" ";width:100%;height:5px;position:absolute;z-index:100;bottom:0;}.scraped-example .code-wrapper .line-numbers{margin:0;padding:14px 0;}.scraped-example .code-wrapper .line-numbers span{padding:0 14px;}.scraped-example .code-wrapper .example-wrap{flex:1;overflow-x:auto;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .code-wrapper .example-wrap pre.rust{overflow-x:inherit;width:inherit;overflow-y:hidden;}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;margin-bottom:5px;cursor:pointer;}.more-examples-toggle summary,.more-examples-toggle .hide-more{font-family:'Fira Sans';}.more-scraped-examples{margin-left:5px;display:flex;flex-direction:row;}.more-scraped-examples-inner{width:calc(100% - 20px);}.toggle-line{align-self:stretch;margin-right:10px;margin-top:5px;padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;}.more-scraped-examples .scraped-example{margin-bottom:20px;}.more-scraped-examples .scraped-example:last-child{margin-bottom:0;}.example-links a{margin-top:20px;font-family:'Fira Sans';}.example-links ul{margin-bottom:0;} \ No newline at end of file + @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:20px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}h1.fqn{margin:0;padding:0;border-bottom-color:var(--headings-border-bottom-color);}h2,h3,h4{border-bottom-color:var(--headings-border-bottom-color);}.main-heading{display:flex;flex-wrap:wrap;justify-content:space-between;padding-bottom:6px;margin-bottom:15px;}.main-heading a:hover{text-decoration:underline;}#toggle-all-docs{text-decoration:none;}h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;border-bottom-style:none;margin:0;padding:0;margin-top:0.6em;margin-bottom:0.4em;}.impl,.impl-items .method,.methods .method,.impl-items .type,.methods .type,.impl-items .associatedconstant,.methods .associatedconstant,.impl-items .associatedtype,.methods .associatedtype{flex-basis:100%;font-weight:600;position:relative;}div.impl-items>div{padding-left:0;}h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,a.source,.search-input,.search-results .result-name,.content table td:first-child>a,.item-left>a,.out-of-band,span.since,#source-sidebar,#sidebar-toggle,details.rustdoc-toggle>summary::before,div.impl-items>div:not(.docblock):not(.item-info),.content ul.crate a.crate,a.srclink,#main-content>.since,#help-button>button,details.rustdoc-toggle.top-doc>summary,details.rustdoc-toggle.top-doc>summary::before,details.rustdoc-toggle.non-exhaustive>summary,details.rustdoc-toggle.non-exhaustive>summary::before,.scraped-example-title,.more-examples-toggle summary,.more-examples-toggle .hide-more,.example-links a,#main-content>ul.docblock>li>a{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}h1,h2,h3,h4,a#toggle-all-docs,a.anchor,.small-section-header a,#source-sidebar a,pre.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,.in-band a,.search-results a,.module-item .stab,.import-item .stab,.result-name .primitive>i,.result-name .keyword>i,.content .method .where,.content .fn .where,.content .where.fmt-newline{color:var(--main-color);}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p{margin:0 0 .75em 0;}summary{outline:none;}td,th{padding:0;}table{border-collapse:collapse;}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;}button{padding:1px 6px;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.source main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}.source .width-limiter{max-width:unset;}details:not(.rustdoc-toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;}.docblock.item-decl{margin-left:0;}.item-decl pre{overflow-x:auto;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{max-width:none;overflow:visible;margin-left:0px;}nav.sub{position:relative;font-size:1rem;}.sub-container{display:flex;flex-direction:row;flex-wrap:nowrap;}.sub-logo-container{display:none;margin-right:20px;}.source .sub-logo-container{display:block;}.source .sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.sidebar,.mobile-topbar,.sidebar-menu-toggle{background-color:var(--sidebar-background-color);}.sidebar{font-size:0.875rem;width:250px;min-width:200px;overflow-y:scroll;position:sticky;height:100vh;top:0;left:0;}.sidebar-elems,.sidebar>.location{padding-left:24px;}.sidebar .location{overflow-wrap:anywhere;}.rustdoc.source .sidebar{width:50px;min-width:0px;max-width:300px;flex-grow:0;flex-shrink:0;flex-basis:auto;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.rustdoc.source .sidebar .sidebar-logo{display:none;}.source .sidebar,#sidebar-toggle,#source-sidebar{background-color:var(--sidebar-background-color);}#sidebar-toggle>button:hover,#sidebar-toggle>button:focus{background-color:var(--sidebar-background-color-hover);}.source .sidebar>*:not(#sidebar-toggle){opacity:0;visibility:hidden;}.source-sidebar-expanded .source .sidebar{overflow-y:auto;}.source-sidebar-expanded .source .sidebar>*:not(#sidebar-toggle){opacity:1;visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.sidebar .logo-container{display:flex;margin-top:10px;margin-bottom:10px;justify-content:center;}.version{overflow-wrap:break-word;}.logo-container>img{height:100px;width:100px;}.location:empty{border:none;}.location a:first-of-type{font-weight:500;}.block{padding:0;}.block ul,.block li{padding:0;margin:0;list-style:none;}.block a,h2.location a{display:block;padding:0.25rem;margin-left:-0.25rem;text-overflow:ellipsis;overflow:hidden;}.sidebar h2{border-bottom:none;font-weight:500;padding:0;margin:0;margin-top:0.7rem;margin-bottom:0.7rem;}.sidebar h3{font-size:1.125rem;font-weight:500;padding:0;margin:0;}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;}.mobile-topbar{display:none;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;padding:13px 8px;text-align:right;border-top-left-radius:5px;border-bottom-left-radius:5px;}.example-wrap>pre.rust a:hover{text-decoration:underline;}.line-numbers{text-align:right;}.rustdoc:not(.source) .example-wrap>pre:not(.line-number){width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre.line-numbers{width:auto;overflow-x:visible;}.rustdoc .example-wrap>pre{margin:0;}#search{position:relative;}.search-loading{text-align:center;}#results>table{width:100%;table-layout:fixed;}.content>.example-wrap pre.line-numbers{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock>:not(pre)>code,.docblock-short>:not(pre)>code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5,.docblock h6{border-bottom-color:var(--headings-border-bottom-color);}.docblock{margin-left:24px;position:relative;}.docblock>:not(.information):not(.more-examples-toggle){max-width:100%;overflow-x:auto;}.content .out-of-band{flex-grow:0;font-size:1.125rem;font-weight:normal;float:right;}.method>.code-header,.trait-impl>.code-header{max-width:calc(100% - 41px);display:block;}.content .in-band{flex-grow:1;margin:0px;padding:0px;overflow-wrap:break-word;overflow-wrap:anywhere;}.in-band>code,.in-band>.code-header{display:inline-block;}.docblock code,.docblock-short code,pre,.rustdoc.source .example-wrap{background-color:var(--code-block-background-color);}#main-content{position:relative;}#main-content>.since{top:inherit;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.125rem;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);overflow-x:auto;display:block;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content>.methods>.method{font-size:1rem;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.875rem;}.content .methods>div:not(.notable-traits):not(.method){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.item-info{display:block;}.content .item-info code{font-size:0.875rem;}.content .item-info{position:relative;margin-left:24px;}.sub-variant>div>.item-info{margin-top:initial;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main-content>.item-info{margin-top:0;margin-left:0;}nav.sub{flex-grow:1;margin-bottom:25px;}.source nav.sub{margin-left:32px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}a{text-decoration:none;background:transparent;}.small-section-header{display:flex;justify-content:space-between;position:relative;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor,.method.trait-impl:hover>.anchor,.type.trait-impl:hover>.anchor,.associatedconstant.trait-impl:hover>.anchor,.associatedtype.trait-impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-15px;padding-right:8px;}h2.small-section-header>.anchor{padding-right:6px;}.anchor::before{content:'§';}.docblock a:not(.srclink):not(.test-arrow):not(.scrape-help):hover,.docblock-short a:not(.srclink):not(.test-arrow):not(.scrape-help):hover,.item-info a{text-decoration:underline;}.block a.current.crate{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;}.item-row{display:table-row;}.item-left,.item-right{display:table-cell;}.item-left{padding-right:1.25rem;}.search-container{position:relative;display:flex;height:34px;}.search-container>*{height:100%;}.search-results-title{display:inline;}#search-settings{font-size:1.5rem;font-weight:500;margin-bottom:20px;}#crate-search{min-width:115px;margin-top:5px;padding-left:0.15em;padding-right:23px;border:1px solid;border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;background-image:url("down-arrow.svg");max-width:100%;text-overflow:ellipsis;}.search-container{margin-top:4px;}.search-input{-webkit-appearance:none;-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:1px solid;border-radius:2px;padding:8px;font-size:1rem;width:100%;}.search-results{display:none;padding-bottom:2em;}.search-results.active{display:block;clear:both;}.search-results .desc>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results>a{display:block;width:100%;margin-left:2px;margin-right:2px;border-bottom:1px solid #aaa3;}.search-results>a>div{display:flex;flex-flow:row wrap;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:50%;}.search-results .result-name{padding-right:1em;}.search-results .result-name>span{display:inline-block;margin:0;font-weight:normal;}.popover{font-size:1rem;position:absolute;right:0;z-index:2;display:block;margin-top:7px;border-radius:3px;border:1px solid;font-size:1rem;}.popover::before{content:'';position:absolute;right:11px;border:solid;border-width:1px 1px 0 0;display:inline-block;padding:4px;transform:rotate(-45deg);top:-5px;}.popover,.popover::before{background-color:var(--main-background-color);color:var(--main-color);}#help-button .popover{max-width:600px;}#help-button .popover::before{right:48px;}#help-button dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help-button span.top,#help-button span.bottom{text-align:center;display:block;font-size:1.125rem;}#help-button span.top{text-align:center;display:block;margin:10px 0;border-bottom:1px solid;padding-bottom:4px;margin-bottom:6px;}#help-button span.bottom{clear:both;border-top:1px solid;}.side-by-side{text-align:initial;}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{width:fit-content;min-height:36px;display:flex;align-items:center;white-space:pre-wrap;}.stab{padding:3px;margin-bottom:5px;font-size:0.875rem;font-weight:normal;}.stab p{display:inline;margin:0;}.stab .emoji{font-size:1.25rem;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.module-item .stab,.import-item .stab{border-radius:3px;display:inline-block;font-size:0.875rem;line-height:1.2;margin-bottom:0;margin-left:0.3125em;padding:2px;vertical-align:text-bottom;}.module-item.unstable,.import-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{font-weight:normal;font-size:1rem;}.rightside{float:right;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;}.example-wrap:hover .test-arrow{visibility:visible;}a.test-arrow:hover{text-decoration:none;}.code-attribute{font-weight:300;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:1.25rem;}h3.variant{font-weight:600;font-size:1.125rem;margin-bottom:10px;border-bottom:none;}.sub-variant h4{font-size:1rem;font-weight:400;border-bottom:none;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}:target>code,:target>.code-header{opacity:1;}:target{padding-right:3px;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:1rem;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:1.25rem;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:1rem;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .notable{margin:0;margin-bottom:13px;font-size:1.1875rem;font-weight:600;display:block;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:1.25rem;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:1.125rem;cursor:pointer;border:0;border-top:2px solid;}#titles>button:first-child:last-child{margin-right:1px;width:calc(100% - 1px);}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:1rem;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}#sidebar-toggle{position:sticky;top:0;left:0;font-weight:bold;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:center;align-items:center;z-index:10;}#source-sidebar{width:100%;z-index:1;overflow:auto;}#source-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid;margin-bottom:6px;}#sidebar-toggle>button{background:none;color:inherit;cursor:pointer;text-align:center;border:none;outline:none;position:absolute;top:0;bottom:0;left:0;right:0;width:100%;-webkit-appearance:none;opacity:1;}#settings-menu,#help-button{margin-left:4px;outline:none;}#copy-path{height:34px;}#settings-menu>a,#help-button>button,#copy-path{padding:5px;width:33px;border:1px solid;border-radius:2px;cursor:pointer;}#settings-menu{padding:0;}#settings-menu>a,#help-button>button{padding:5px;height:100%;display:block;}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}.setting-line .radio-line input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-line .radio-line input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-line .radio-line input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-line .radio-line input:hover{border-color:var(--settings-input-color) !important;}input:checked+.slider{background-color:var(--settings-input-color);}#help-button>button{text-align:center;font-size:20px;padding-top:2px;}#copy-path{background:initial;margin-left:10px;padding:0;padding-left:2px;border:0;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);overflow-wrap:normal;}#theme-choices>button:not(:first-child){border-top:1px solid;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:1rem;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:1.125rem;display:block;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main-content>ul{padding-left:10px;}#main-content>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 13px;list-style-position:outside;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.rustdoc-toggle>summary.hideme{cursor:pointer;}details.rustdoc-toggle>summary{list-style:none;}details.rustdoc-toggle>summary::-webkit-details-marker,details.rustdoc-toggle>summary::marker{display:none;}details.rustdoc-toggle>summary.hideme>span{margin-left:9px;}details.rustdoc-toggle>summary::before{content:"";cursor:pointer;width:16px;height:16px;background-repeat:no-repeat;background-position:top left;display:inline-block;vertical-align:middle;opacity:.5;}details.rustdoc-toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.rustdoc-toggle>summary.hideme::after{content:"";}details.rustdoc-toggle>summary:focus::before,details.rustdoc-toggle>summary:hover::before{opacity:1;}details.rustdoc-toggle.top-doc>summary,details.rustdoc-toggle.top-doc>summary::before,details.rustdoc-toggle.non-exhaustive>summary,details.rustdoc-toggle.non-exhaustive>summary::before{font-size:1rem;}details.non-exhaustive{margin-bottom:8px;}details.rustdoc-toggle>summary.hideme::before{position:relative;}details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.rustdoc-toggle[open] >summary.hideme{position:absolute;}details.rustdoc-toggle{position:relative;}details.rustdoc-toggle[open] >summary.hideme>span{display:none;}details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{background-image:url("toggle-minus.svg");}details.rustdoc-toggle>summary::before{background-image:url("toggle-plus.svg");}details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{width:16px;height:16px;background-repeat:no-repeat;background-position:top left;display:inline-block;content:"";}details.rustdoc-toggle[open] >summary::after,details.rustdoc-toggle[open] >summary.hideme::after{content:"Collapse";}.docblock summary>*{display:inline-block;}@media (min-width:701px){.docblock>.information:first-child>.tooltip{margin-top:16px;}.source-sidebar-expanded .source .sidebar+main .width-limiter .sub-logo-container.rust-logo{display:none;}.source-sidebar-expanded .source .sidebar{width:300px;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{padding-top:0px;display:block;}main{padding-left:15px;padding-top:0px;}.rustdoc,.main-heading{flex-direction:column;}.content .out-of-band{text-align:left;margin-left:initial;padding:initial;}.content .out-of-band .since::before{content:"Since ";}#copy-path{display:none;}.sidebar .sidebar-logo,.sidebar .location{display:none;}.sidebar-elems{margin-top:1em;}.sidebar{position:fixed;top:45px;left:-1000px;margin-left:0;margin:0;padding:0;z-index:11;height:calc(100vh - 45px);}.source main,.rustdoc.source .sidebar{top:0;padding:0;height:100vh;border:0;}.sidebar.shown,.source-sidebar-expanded .source .sidebar,.sidebar:focus-within{left:0;}.rustdoc.source>.sidebar{position:fixed;margin:0;z-index:11;width:0;}.mobile-topbar .location a{padding:0;margin:0;}.mobile-topbar .location{border:none;padding:0;margin:auto 0.5em auto auto;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:24px;}.mobile-topbar .logo-container{max-height:45px;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin-left:20px;margin-top:5px;margin-bottom:5px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.source .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;}.sidebar-elems{background-color:var(--sidebar-background-color);}.source nav:not(.sidebar).sub{margin-left:32px;}.content{margin-left:0px;}.source .content{margin-top:10px;}#search{margin-left:0;padding:0;}.anchor{display:none !important;}.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}#main-content>details.rustdoc-toggle>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}#sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;border:1px solid;border-left:0;}.source-sidebar-expanded #sidebar-toggle{left:unset;top:unset;width:unset;border-top-right-radius:unset;border-bottom-right-radius:unset;position:sticky;border:0;border-bottom:1px solid;}#source-sidebar{z-index:11;}#main-content>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}#help-button{display:none;}.item-table{display:block;}.item-row{display:flex;flex-flow:column wrap;}.item-left,.item-right{width:100%;}.search-results>a{border-bottom:1px solid #aaa9;padding:5px 0px;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:100%;}.search-results div.desc,.search-results .result-description,.item-right{padding-left:2em;}.source-sidebar-expanded .source .sidebar{max-width:100vw;width:100vw;}details.rustdoc-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before,#main-content>details.rustdoc-toggle:not(.top-doc)>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}}@media print{nav.sidebar,nav.sub,.content .out-of-band,a.srclink,#copy-path,details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle>summary::before,details.rustdoc-toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main-content>table:not(.table-display) td{word-break:break-word;width:50%;}#crate-search{border-radius:4px;}.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}.sub-container{flex-direction:column;}.sub-logo-container{align-self:center;}.source .sub-logo-container>img{height:35px;width:35px;}#sidebar-toggle{top:10px;}.source-sidebar-expanded #sidebar-toggle{top:unset;}}.method-toggle summary,.implementors-toggle summary,.impl{margin-bottom:0.75em;}.method-toggle[open]{margin-bottom:2em;}.implementors-toggle[open]{margin-bottom:2em;}#trait-implementations-list .method-toggle,#synthetic-implementations-list .method-toggle,#blanket-implementations-list .method-toggle{margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;background:transparent;border-width:1px;border-style:solid;border-radius:50px;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:240px;}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;max-height:240px;padding-bottom:0;}.scraped-example:not(.expanded) .code-wrapper pre.line-numbers{overflow-x:hidden;}.scraped-example .code-wrapper .prev{position:absolute;top:0.25em;right:2.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper .next{position:absolute;top:0.25em;right:1.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper .expand{position:absolute;top:0.25em;right:0.25em;z-index:100;cursor:pointer;}.scraped-example:not(.expanded) .code-wrapper:before{content:" ";width:100%;height:5px;position:absolute;z-index:100;top:0;}.scraped-example:not(.expanded) .code-wrapper:after{content:" ";width:100%;height:5px;position:absolute;z-index:100;bottom:0;}.scraped-example .code-wrapper .line-numbers{margin:0;padding:14px 0;}.scraped-example .code-wrapper .line-numbers span{padding:0 14px;}.scraped-example .code-wrapper .example-wrap{flex:1;overflow-x:auto;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .code-wrapper .example-wrap pre.rust{overflow-x:inherit;width:inherit;overflow-y:hidden;}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;margin-bottom:5px;cursor:pointer;}.more-scraped-examples{margin-left:5px;display:flex;flex-direction:row;}.more-scraped-examples-inner{width:calc(100% - 20px);}.toggle-line{align-self:stretch;margin-right:10px;margin-top:5px;padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;}.more-scraped-examples .scraped-example{margin-bottom:20px;}.more-scraped-examples .scraped-example:last-child{margin-bottom:0;}.example-links a{margin-top:20px;}.example-links ul{margin-bottom:0;} \ No newline at end of file diff --git a/ch9/search-index.js b/ch9/search-index.js index c8878443..aed3bd2d 100644 --- a/ch9/search-index.js +++ b/ch9/search-index.js @@ -1,5 +1,5 @@ var searchIndex = JSON.parse('{\ -"os":{"doc":"","t":[3,12,11,0,11,11,11,11,11,5,0,0,11,0,11,0,0,11,0,0,11,11,14,14,5,11,11,0,0,0,0,0,0,11,11,11,11,11,11,11,6,17,6,17,17,17,17,17,8,17,3,17,17,17,17,17,12,11,11,11,11,11,11,5,10,11,5,10,11,10,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,2,17,17,17,2,17,17,17,17,17,3,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,2,2,2,2,0,0,0,0,0,0,3,2,2,12,11,5,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,0,11,11,12,13,13,12,4,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,11,11,13,12,12,13,12,12,12,12,12,12,12,12,12,12,11,4,12,12,12,12,12,12,12,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,3,3,3,3,17,17,17,17,17,17,12,12,17,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,17,3,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,0,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,2,3,12,11,11,11,11,11,11,11,11,10,11,0,11,11,10,11,11,11,11,11,11,11,11,11,10,18,18,18,18,3,3,3,3,3,3,18,18,3,18,18,3,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,8,3,17,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,10,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,12,8,3,3,17,17,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,13,3,13,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,2,2,2,2,2,2,2,0,2,2,2,0,10,10,0,10,10,18,3,3,3,18,18,3,18,18,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,5,11,11,11,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,13,13,13,3,3,17,4,11,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,10,10,0,0,0,0,10,0,0,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,7,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,0,2,0,5,2,0,0,2,2,2,2,2,12,12,12,12,17,17,3,3,3,3,8,17,6,17,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,6,3,3,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,12,11,5,5,5,11,11,11,11,5,11,11,11,10,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,7,5,5,5,13,13,3,3,3,4,3,18,18,18,18,12,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,5,5,5,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,18,18,18,3,3,3,18,18,3,3,18,18,18,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,17,17,17,17,17,17,17,17,17,5,5,5,5,5,2,2,2,2,2,2,2,0,0,0,0,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,8,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,10,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,3,3,3,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,2,2,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,2,0,0,0,0,5,0,5,5,5,5,5,5,3,7,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,2,3,2,2,2,2,2,2,12,5,2,11,5,5,11,11,11,5,11,11,0,5,2,2,2,2,2,2,11,5,11,0,11,2,0,11,11,2,2,0,0,2,2,11,11,2,0,5,0,2,0,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,11,11,12,12,17,3,3,3,3,3,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,12,12,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,5,11,11,11,11,11,11,11,11,11,11,5,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,11,11,12,12,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,5,5,5,5,5,11,11,11,11,12,11,11,11,11,11,11,11,5,11,11,11,11,5,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,18,18,18,18,18,3,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,13,13,13,3,3,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,17,17,3,3,12,5,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,2,0,5,5,5,5,5,5,5,5,5,3,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,12],"n":["DEV_NON_BLOCKING_ACCESS","__private_field","az","board","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clear_bss","config","console","deref","drivers","from","fs","gui","into","lang_items","mm","overflowing_as","overflowing_cast_from","print","println","rust_main","saturating_as","saturating_cast_from","sbi","sync","syscall","task","timer","trap","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","BlockDeviceImpl","CLOCK_FREQ","CharDeviceImpl","EXIT_FAILURE","EXIT_FAILURE_FLAG","EXIT_RESET","EXIT_SUCCESS","MMIO","QEMUExit","QEMU_EXIT_HANDLE","RISCV64","VIRTGPU_XRES","VIRTGPU_YRES","VIRT_PLIC","VIRT_TEST","VIRT_UART","addr","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","device_init","exit","exit","exit_code_encode","exit_failure","exit_failure","exit_success","exit_success","from","into","irq_handler","new","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","CLOCK_FREQ","KERNEL_HEAP_SIZE","KERNEL_STACK_SIZE","MEMORY_END","MMIO","PAGE_SIZE","PAGE_SIZE_BITS","TRAMPOLINE","TRAP_CONTEXT_BASE","USER_STACK_SIZE","Stdout","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","from","into","overflowing_as","overflowing_cast_from","print","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","write_str","BLOCK_DEVICE","BLOCK_DEVICE","UART","UART","block","bus","chardev","gpu","input","plic","BLOCK_DEVICE","SDCardWrapper","VirtIOBlock","__private_field","az","block_device_test","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","from","into","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","sdcard","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","virtio_blk","wrapping_as","wrapping_cast_from","0","ACMD23","ACMD41","CID_CRC","CMD","CMD0","CMD10","CMD12","CMD16","CMD17","CMD18","CMD24","CMD25","CMD55","CMD58","CMD59","CMD8","CMD9","CMDFailed","CSDStruct","CSD_CRC","CS_HIGH","CS_LOW","CannotGetCardInfo","CardBlockSize","CardCapacity","CardCapacityStatusNotSet","CardComdClasses","ContentProtectAppli","CopyFlag","DSRImpl","DeviceSize","ECC","EraseGrMul","EraseGrSize","FileFormat","FileFormatGroup","HIGH_SPEED_ENABLE","InitError","ManDeflECC","ManufactDate","ManufacturerID","MaxBusClkFrec","MaxWrBlockLen","NSAC","OEM_AppliID","PERIPHERALS","PartBlockRead","PermWrProtect","ProdName1","ProdName2","ProdRev","ProdSN","RdBlockLen","RdBlockMisalign","Reserved1","Reserved1","Reserved2","Reserved2","Reserved3","Reserved4","SDCard","SDCardCID","SDCardCSD","SDCardInfo","SDCardWrapper","SD_CS","SD_CS_GPIONUM","SD_START_DATA_MULTIPLE_BLOCK_READ","SD_START_DATA_MULTIPLE_BLOCK_WRITE","SD_START_DATA_SINGLE_BLOCK_READ","SD_START_DATA_SINGLE_BLOCK_WRITE","SD_cid","SD_csd","SEC_LEN","SysSpecVersion","TAAC","TempWrProtect","WrBlockMisalign","WrProtectGrEnable","WrProtectGrSize","WrSpeedFact","WriteBlockPaPartial","__private_field","az","az","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cs_gpionum","deref","end_cmd","eq","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_cardinfo","get_cidregister","get_csdregister","get_dataresponse","get_response","handle_irq","init","init_sdcard","into","into","into","into","into","into","into","into","io_init","lowlevel_init","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","read_block","read_data","read_sector","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","send_cmd","spi","spi_cs","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","write_block","write_data","write_sector","0","0","1","VIRTIO0","VirtIOBlock","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","condvars","from","handle_irq","into","new","overflowing_as","overflowing_cast_from","read_block","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","virtio_blk","wrapping_as","wrapping_cast_from","write_block","virtio","QUEUE_FRAMES","VirtioHal","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","deref","dma_alloc","dma_dealloc","from","from","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","phys_to_virt","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","virt_to_phys","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","CharDevice","NS16550a","UART","__private_field","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","from","handle_irq","into","ns16550a","overflowing_as","overflowing_cast_from","read","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","write","AUX_OUTPUT1","AUX_OUTPUT2","DATA_AVAILABLE","DATA_TERMINAL_READY","IER","LSR","MCR","NS16550a","NS16550aInner","NS16550aRaw","REQUEST_TO_SEND","RX_AVAILABLE","ReadWithoutDLAB","THR_EMPTY","TX_EMPTY","WriteWithoutDLAB","_padding0","_padding1","_padding1","_padding2","all","all","all","az","az","az","az","az","az","az","az","base_addr","bitand","bitand","bitand","bitand_assign","bitand_assign","bitand_assign","bitor","bitor","bitor","bitor_assign","bitor_assign","bitor_assign","bits","bits","bits","bits","bits","bits","bitxor","bitxor","bitxor","bitxor_assign","bitxor_assign","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","cmp","complement","complement","complement","condvar","contains","contains","contains","difference","difference","difference","empty","empty","empty","eq","eq","eq","extend","extend","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_bits","from_bits","from_bits","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_iter","from_iter","from_iter","handle_irq","hash","hash","hash","ier","ier","iir","init","inner","insert","insert","insert","intersection","intersection","intersection","intersects","intersects","intersects","into","into","into","into","into","into","into","into","is_all","is_all","is_all","is_empty","is_empty","is_empty","lcr","lcr","lsr","lsr","mcr","mcr","ne","ne","ne","new","new","not","not","not","ns16550a","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","partial_cmp","partial_cmp","partial_cmp","rbr","read","read","read_buffer","read_end","remove","remove","remove","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","set","set","set","sub","sub","sub","sub_assign","sub_assign","sub_assign","symmetric_difference","symmetric_difference","symmetric_difference","thr","to_owned","to_owned","to_owned","toggle","toggle","toggle","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","union","union","union","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","write","write","write_end","BMP_DATA","GPUDevice","GPU_DEVICE","VIRTIO7","VirtIOGPU","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","deref","fb","flush","flush","from","from","getfreambuffer","getfreambuffer","gpu","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","update_cursor","update_cursor","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","0","INPUTDevice","KEYBOARD_DEVICE","MOUSE_DEVICE","VIRTIO5","VIRTIO6","VirtIOINPUT","__private_field","__private_field","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","deref","deref","from","from","from","handle_irq","handle_irq","into","into","into","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","IntrTargetPriority","Machine","PLIC","Supervisor","az","az","base_addr","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","claim","claim_comp_ptr_of_hart_with_priority","clone","clone_into","complete","disable","enable","enable_ptr","from","from","get_priority","get_threshold","hart_id_with_priority","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","priority_ptr","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","set_priority","set_threshold","supported_number","threshold_ptr_of_hart_with_priority","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","File","OSInode","OpenFlags","Pipe","ROOT_INODE","ROOT_INODE","Stdin","Stdout","inode","list_apps","make_pipe","open_file","pipe","read","readable","stdio","writable","write","CREATE","OSInode","OSInodeInner","OpenFlags","RDONLY","RDWR","ROOT_INODE","TRUNC","WRONLY","__private_field","all","az","az","az","az","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","cmp","complement","contains","deref","difference","empty","eq","extend","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from_bits","from_bits_truncate","from_bits_unchecked","from_iter","hash","inner","inode","insert","intersection","intersects","into","into","into","into","is_all","is_empty","list_apps","ne","new","not","offset","open_file","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","partial_cmp","read","read_all","read_write","readable","readable","remove","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","set","sub","sub_assign","symmetric_difference","to_owned","toggle","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","union","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","writable","writable","write","Empty","Full","Normal","Pipe","PipeRingBuffer","RING_BUFFER_SIZE","RingBufferStatus","all_write_ends_closed","arr","available_read","available_write","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","buffer","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","eq","from","from","from","head","into","into","into","make_pipe","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","read","read_byte","read_end_with_buffer","readable","readable","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","set_write_end","status","tail","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","writable","writable","write","write_byte","write_end","write_end_with_buffer","Stdin","Stdout","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","from","from","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","read","read","readable","readable","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","writable","writable","write","write","Component","add","bound","button","graphic","icon","image","paint","panel","terminal","Button","ButtonInner","add","az","az","borrow","borrow","borrow_mut","borrow_mut","bound","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","from","from","graphic","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","paint","parent","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","text","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","Graphics","az","borrow","borrow_mut","bounding_box","cast_from","checked_as","checked_cast_from","clipped","clone","clone_into","color_converted","cropped","draw_iter","drv","from","into","new","overflowing_as","overflowing_cast_from","point","saturating_as","saturating_cast_from","size","size","to_owned","translated","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","FILEICON","IconController","IconControllerInner","add","az","az","borrow","borrow","borrow_mut","borrow_mut","bound","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","files","from","from","graphic","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","paint","parent","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","ImageComp","ImageInner","add","az","az","borrow","borrow","borrow_mut","borrow_mut","bound","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","from","from","graphic","image","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","paint","parent","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","Panel","PanelInner","add","az","az","borrow","borrow","borrow_mut","borrow_mut","bound","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","comps","from","from","graphic","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","paint","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","Terminal","TerminalInner","add","az","az","borrow","borrow","borrow_mut","borrow_mut","bound","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","comps","from","from","graphic","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","paint","repaint","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","text","titel","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","backtrace","panic","FrameTracker","KERNEL_SPACE","KERNEL_SPACE","MapPermission","MemorySet","PageTable","PageTableEntry","PhysAddr","PhysPageNum","StepByOne","UserBuffer","UserBufferIterator","VirtAddr","VirtPageNum","address","frame_alloc","frame_allocator","frame_dealloc","heap_allocator","init","kernel_token","memory_set","page_table","remap_test","translated_byte_buffer","translated_ref","translated_refmut","translated_str","0","0","0","0","PA_WIDTH_SV39","PPN_WIDTH_SV39","PhysAddr","PhysPageNum","SimpleRange","SimpleRangeIterator","StepByOne","VA_WIDTH_SV39","VPNRange","VPN_WIDTH_SV39","VirtAddr","VirtPageNum","aligned","aligned","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","ceil","ceil","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","current","draw","end","eq","eq","eq","eq","floor","floor","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_bytes_array","get_end","get_mut","get_mut","get_pte_array","get_ref","get_start","indexes","into","into","into","into","into","into","into_iter","into_iter","l","ne","ne","ne","ne","new","new","next","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","page_offset","page_offset","partial_cmp","partial_cmp","partial_cmp","partial_cmp","r","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","step","step","step","to_owned","to_owned","to_owned","to_owned","to_owned","translated","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","FRAME_ALLOCATOR","FrameAllocator","FrameAllocatorImpl","FrameTracker","StackFrameAllocator","__private_field","alloc","alloc","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","current","dealloc","dealloc","deref","drop","end","fmt","frame_alloc","frame_allocator_test","frame_dealloc","from","from","from","init","init_frame_allocator","into","into","into","new","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","ppn","recycled","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","HEAP_ALLOCATOR","HEAP_SPACE","handle_alloc_error","heap_test","init_heap","Framed","Identical","KERNEL_SPACE","MapArea","MapPermission","MapType","MemorySet","R","U","W","X","__private_field","activate","all","areas","az","az","az","az","az","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone_into","clone_into","cmp","complement","contains","copy_data","data_frames","deref","difference","ebss","edata","ekernel","empty","eq","eq","erodata","etext","extend","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_another","from_bits","from_bits_truncate","from_bits_unchecked","from_elf","from_existed_user","from_iter","hash","insert","insert_framed_area","intersection","intersects","into","into","into","into","into","is_all","is_empty","kernel_token","map","map_one","map_perm","map_trampoline","map_type","ne","new","new_bare","new_kernel","not","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","page_table","partial_cmp","push","recycle_data_pages","remap_test","remove","remove_area_with_start_vpn","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sbss_with_stack","sdata","set","srodata","stext","strampoline","sub","sub_assign","symmetric_difference","to_owned","to_owned","toggle","token","translate","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","union","unmap","unmap_one","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vpn_range","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","A","D","G","PTEFlags","PageTable","PageTableEntry","R","U","UserBuffer","UserBufferIterator","V","W","X","all","az","az","az","az","az","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buffers","buffers","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone_into","clone_into","cmp","complement","contains","current_buffer","current_idx","difference","empty","empty","eq","executable","extend","find_pte","find_pte_create","flags","fmt","fmt","fmt","fmt","fmt","frames","from","from","from","from","from","from_bits","from_bits_truncate","from_bits_unchecked","from_iter","from_token","hash","insert","intersection","intersects","into","into","into","into","into","into_iter","into_iter","is_all","is_empty","is_valid","len","map","ne","new","new","new","next","not","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","partial_cmp","ppn","readable","remove","root_ppn","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","set","sub","sub_assign","symmetric_difference","to_owned","to_owned","toggle","token","translate","translate_va","translated_byte_buffer","translated_ref","translated_refmut","translated_str","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","union","unmap","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","writable","SBI_CLEAR_IPI","SBI_CONSOLE_GETCHAR","SBI_CONSOLE_PUTCHAR","SBI_REMOTE_FENCE_I","SBI_REMOTE_SFENCE_VMA","SBI_REMOTE_SFENCE_VMA_ASID","SBI_SEND_IPI","SBI_SET_TIMER","SBI_SHUTDOWN","console_getchar","console_putchar","sbi_call","set_timer","shutdown","Condvar","Mutex","MutexBlocking","MutexSpin","Semaphore","UPIntrFreeCell","UPIntrRefMut","condvar","mutex","semaphore","up","Condvar","CondvarInner","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","from","from","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","signal","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wait_no_sched","wait_queue","wait_with_mutex","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","Mutex","MutexBlocking","MutexBlockingInner","MutexSpin","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","from","from","from","inner","into","into","into","lock","lock","lock","locked","locked","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unlock","unlock","unlock","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wait_queue","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","Semaphore","SemaphoreInner","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","count","down","from","from","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","up","wait_queue","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","0","INTR_MASKING_INFO","IntrMaskingInfo","UPIntrFreeCell","UPIntrRefMut","UPSafeCellRaw","__private_field","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","deref","deref","deref_mut","drop","enter","exclusive_access","exclusive_session","exit","from","from","from","from","from","get_mut","inner","inner","into","into","into","into","into","nested_level","new","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sie_before_masking","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","PAD","PAD","SYSCALL_CLOSE","SYSCALL_CONDVAR_CREATE","SYSCALL_CONDVAR_SIGNAL","SYSCALL_CONDVAR_WAIT","SYSCALL_CREATE_DESKTOP","SYSCALL_DUP","SYSCALL_EXEC","SYSCALL_EXIT","SYSCALL_FORK","SYSCALL_GETPID","SYSCALL_GETTID","SYSCALL_GET_TIME","SYSCALL_KILL","SYSCALL_MUTEX_CREATE","SYSCALL_MUTEX_LOCK","SYSCALL_MUTEX_UNLOCK","SYSCALL_OPEN","SYSCALL_PIPE","SYSCALL_READ","SYSCALL_SEMAPHORE_CREATE","SYSCALL_SEMAPHORE_DOWN","SYSCALL_SEMAPHORE_UP","SYSCALL_SLEEP","SYSCALL_THREAD_CREATE","SYSCALL_WAITPID","SYSCALL_WAITTID","SYSCALL_WRITE","SYSCALL_YIELD","create_desktop","fs","gui","process","sync","syscall","thread","sys_close","sys_dup","sys_open","sys_pipe","sys_read","sys_write","DESKTOP","DT","PAD","__private_field","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","create_desktop","create_terminal","deref","deref","from","from","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","sys_exec","sys_exit","sys_fork","sys_get_time","sys_getpid","sys_kill","sys_waitpid","sys_yield","sys_condvar_create","sys_condvar_signal","sys_condvar_wait","sys_mutex_create","sys_mutex_lock","sys_mutex_unlock","sys_semaphore_create","sys_semaphore_down","sys_semaphore_up","sys_sleep","sys_gettid","sys_thread_create","sys_waittid","IDLE_PID","INITPROC","KernelStack","PidHandle","SignalFlags","TaskContext","TaskControlBlock","TaskStatus","__private_field","add_initproc","add_task","az","block_current_and_run_next","block_current_task","borrow","borrow_mut","cast_from","check_signals_of_current","checked_as","checked_cast_from","context","current_add_signal","current_kstack_top","current_process","current_task","current_trap_cx","current_trap_cx_user_va","current_user_token","deref","exit_current_and_run_next","from","id","into","kstack_alloc","manager","overflowing_as","overflowing_cast_from","pid2process","pid_alloc","process","processor","remove_from_pid2process","run_tasks","saturating_as","saturating_cast_from","schedule","signal","suspend_current_and_run_next","switch","take_current_task","task","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","TaskContext","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","from","goto_trap_return","into","overflowing_as","overflowing_cast_from","ra","s","saturating_as","saturating_cast_from","sp","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","zero_init","0","0","IDLE_PID","KSTACK_ALLOCATOR","KernelStack","PID_ALLOCATOR","PidHandle","RecycleAllocator","TaskUserRes","__private_field","__private_field","alloc","alloc_tid","alloc_user_res","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","current","dealloc","dealloc_tid","dealloc_user_res","deref","deref","drop","drop","drop","from","from","from","from","from","from","get_top","into","into","into","into","into","into","kernel_stack_position","kstack_alloc","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","pid_alloc","process","push_on_top","recycled","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","tid","trap_cx_bottom_from_tid","trap_cx_ppn","trap_cx_user_va","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","ustack_base","ustack_base","ustack_bottom_from_tid","ustack_top","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","PID2PCB","TASK_MANAGER","TaskManager","__private_field","__private_field","add","add_task","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","deref","deref","fetch","fetch_task","from","from","from","insert_into_pid2process","into","into","into","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","pid2process","ready_queue","remove_from_pid2process","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ProcessControlBlock","ProcessControlBlockInner","alloc_fd","alloc_tid","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","children","condvar_list","dealloc_tid","exec","exit_code","fd_table","fork","from","from","get_task","get_user_token","getpid","inner","inner_exclusive_access","into","into","is_zombie","memory_set","mutex_list","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","parent","pid","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","semaphore_list","signals","task_res_allocator","tasks","thread_count","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","PROCESSOR","Processor","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","current","current","current_kstack_top","current_process","current_task","current_trap_cx","current_trap_cx_user_va","current_user_token","deref","from","from","get_idle_task_cx_ptr","idle_task_cx","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","run_tasks","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","schedule","take_current","take_current_task","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","SIGABRT","SIGFPE","SIGILL","SIGINT","SIGSEGV","SignalFlags","all","az","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow_mut","cast_from","check_error","checked_as","checked_cast_from","clone","clone_into","cmp","complement","contains","difference","empty","eq","extend","fmt","fmt","fmt","fmt","fmt","from","from_bits","from_bits_truncate","from_bits_unchecked","from_iter","hash","insert","intersection","intersects","into","is_all","is_empty","ne","not","overflowing_as","overflowing_cast_from","partial_cmp","remove","saturating_as","saturating_cast_from","set","sub","sub_assign","symmetric_difference","to_owned","toggle","try_from","try_into","type_id","union","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","__switch","Blocking","Ready","Running","TaskControlBlock","TaskControlBlockInner","TaskStatus","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","eq","exit_code","from","from","from","get_status","get_trap_cx","get_user_token","inner","inner_exclusive_access","into","into","into","kstack","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","process","res","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","task_cx","task_status","to_owned","trap_cx_ppn","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","MSEC_PER_SEC","TICKS_PER_SEC","TIMERS","TimerCondVar","__private_field","add_timer","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","check_timer","checked_as","checked_as","checked_cast_from","checked_cast_from","cmp","deref","eq","expire_ms","from","from","get_time","get_time_ms","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","partial_cmp","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","set_next_trigger","task","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","TrapContext","context","disable_supervisor_interrupt","enable_supervisor_interrupt","enable_timer_interrupt","init","set_kernel_trap_entry","set_user_trap_entry","trap_from_kernel","trap_handler","trap_return","TrapContext","app_init_context","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","fmt","from","into","kernel_satp","kernel_sp","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","sepc","set_sp","sstatus","trap_handler","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","x"],"q":["os","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::board","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::config","","","","","","","","","","os::console","","","","","","","","","","","","","","","","","","","","","","os::drivers","","","","","","","","","","os::drivers::block","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::block::sdcard","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::block::sdcard::InitError","","","os::drivers::block::virtio_blk","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::bus","os::drivers::bus::virtio","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::chardev","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::chardev::ns16550a","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::gpu","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::input","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::plic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::fs","","","","","","","","","","","","","","","","","","os::fs::inode","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::fs::pipe","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::fs::stdio","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::gui","","","","","","","","","","os::gui::button","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::gui::graphic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::gui::icon","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::gui::image","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::gui::panel","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::gui::terminal","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::lang_items","","os::mm","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::address","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::frame_allocator","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::heap_allocator","","","","","os::mm::memory_set","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::page_table","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sbi","","","","","","","","","","","","","","os::sync","","","","","","","","","","","os::sync::condvar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::mutex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::semaphore","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::up","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::syscall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::syscall::fs","","","","","","os::syscall::gui","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::syscall::process","","","","","","","","os::syscall::sync","","","","","","","","","","os::syscall::thread","","","os::task","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::context","","","","","","","","","","","","","","","","","","","","","","","","","os::task::id","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::manager","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::process","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::processor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::signal","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::switch","os::task::task","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::timer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::trap","","","","","","","","","","","os::trap::context","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","RISCV64 configuration","","","","","","Address of the sifive_test mapped device.","","","","","","","","Exit with specified return code.","Exit qemu with specified exit code.","Encode the exit code using EXIT_FAILURE_FLAG.","Exit QEMU using EXIT_FAILURE, aka 1.","","Exit QEMU using EXIT_SUCCESS, aka 0, if possible.","","Returns the argument unchanged.","Calls U::from(self).","","Create an instance.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","Number of blocks to erase (SDC) ","Initiate initialization process (SDC) ","","SD commands ","Software reset ","Read CID register ","Stop to read data ","Change R/W block size ","Read block ","Read multiple blocks ","Write a block ","Write multiple blocks ","Leading command for ACMD* ","Read OCR ","Enable/disable CRC check ","Check voltage range (SDC V2) ","Read CSD register ","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Card Identification Data: CID Register","Card Specific Data: CSD Register","Card information","","CS value passed to SPI controller, this is a dummy value …","GPIOHS GPIO number to use for controlling the SD card CS …","Data token start byte, Start Multiple Block Read ","Data token start byte, Start Multiple Block Write ","Data token start byte, Start Single Block Read ","Data token start byte, Start Single Block Write ","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Connect pins to internal functions ","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","InterruptEnableRegister","LineStatusRegister","Model Control Register","","","","","","","","","","ignore FCR","ignore MSR","ignore other registers","ignore SCR","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","","","","","","","","","","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","","","","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","","","","","","","","interrupt enable register","interrupt enable register","interrupt identification register","","","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","line control register","line control register","line status register","line status register","model control register","modem control register","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","","","","","","","","","","","","","","","","","","","receiver buffer register","","","","","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","","","","","","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","transmitter holding register","","","","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","","","","","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","","Returns the difference between the flags in self and other.","Returns an empty set of flags.","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","","","","","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","","","Returns the complement of this set of flags.","","","","","","","","","","","","","","Do not check validity for simplicity Return (readable, …","","","Removes the specified flags in-place.","","","","","","","","","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","Toggles the specified flags in-place.","","","","","","","","","","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Return (read_end, write_end)","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Definitions","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","","","","","","","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","data: start-aligned but maybe with shorter length assume …","","","Returns the difference between the flags in self and other.","","","","Returns an empty set of flags.","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Include sections in elf and trampoline, also returns …","","","","Inserts the specified flags in-place.","Assume that no conflicts.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","","","","Mention that trampoline is not collected by areas.","","","","","Without kernel stacks.","Returns the complement of this set of flags.","","","","","","","","","","","","","","","","Removes the specified flags in-place.","","","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","","","","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","","","","","","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","","","Returns the difference between the flags in self and other.","Returns an empty set of flags.","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","","Temporarily used to get arguments from user space.","","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","","","","","","","","Returns the complement of this set of flags.","","","","","","","","","","","","","","Removes the specified flags in-place.","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","","Toggles the specified flags in-place.","","","","","","","Load a string from other address spaces into kernel space …","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Panic if the data has been borrowed.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","inner data","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","If there is not a child process whose pid is same as …","","","","","","","","","","","","","","thread does not exist, return -1 thread has not exited …","","","","","","","","","","","","","","This function must be followed by a schedule","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Return (bottom, top) of a kernel stack in kernel space.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Only support processes with a single thread.","","","Only support processes with a single thread.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","Returns the difference between the flags in self and other.","Returns an empty set of flags.","","","","","","","","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","","","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","Returns the complement of this set of flags.","","","","Removes the specified flags in-place.","","","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","Toggles the specified flags in-place.","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","",""],"i":[0,2,2,0,2,2,2,2,2,0,0,0,2,0,2,0,0,2,0,0,2,2,0,0,0,2,2,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,8,8,0,133,8,0,133,8,133,8,8,8,0,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,0,14,14,14,14,14,14,14,14,14,14,14,14,0,14,14,14,14,14,0,14,14,27,18,18,21,0,18,18,18,18,18,18,18,18,18,18,18,18,18,19,20,20,17,17,19,22,22,19,20,20,20,20,20,20,20,20,20,20,17,0,20,21,21,20,20,20,21,0,20,20,21,21,21,21,20,20,20,21,20,21,20,20,0,0,0,0,0,0,0,0,0,0,0,22,22,0,20,20,20,20,20,20,20,20,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,18,19,20,21,22,18,19,20,21,22,17,23,17,18,18,19,20,21,22,17,27,18,19,20,21,22,23,17,17,17,17,17,27,17,0,17,27,18,19,20,21,22,23,0,17,17,27,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,27,17,17,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,17,17,18,19,20,21,22,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,27,17,17,134,135,134,0,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,0,0,0,32,136,32,136,32,136,32,136,32,136,32,136,32,32,136,136,136,32,136,32,136,32,136,32,136,136,32,136,32,136,32,136,32,136,32,136,32,136,32,136,136,32,136,32,0,0,0,34,34,34,34,34,34,34,34,34,137,34,0,34,34,137,34,34,34,34,34,34,34,34,34,137,37,37,36,37,0,0,0,0,0,0,37,35,0,36,35,0,43,42,43,42,35,36,37,42,43,41,138,40,35,36,37,41,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,40,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,42,43,41,138,40,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,40,35,36,37,42,43,42,41,40,35,36,37,35,36,37,35,36,37,42,43,41,138,40,35,36,37,35,36,37,35,36,37,42,43,42,43,42,43,35,36,37,41,40,35,36,37,138,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,35,36,37,42,41,40,138,41,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,43,35,36,37,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,41,40,41,0,0,0,0,0,44,45,44,45,44,45,44,45,44,45,44,45,44,44,45,139,45,45,44,139,45,45,45,44,45,45,44,45,44,45,44,45,44,45,44,45,44,45,44,45,44,45,44,139,45,45,44,45,44,48,0,0,0,0,0,0,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,46,47,48,46,47,140,48,48,46,47,48,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,0,50,0,50,49,50,49,49,50,49,50,49,50,49,50,49,50,49,49,50,50,49,49,49,49,49,50,49,49,49,49,50,49,49,50,49,50,49,49,50,49,50,49,49,50,49,50,49,50,49,50,49,50,49,50,49,50,49,50,49,50,0,0,0,0,0,0,0,0,0,0,0,0,0,141,141,0,141,141,52,0,0,0,52,52,0,52,52,53,52,55,142,53,52,52,52,52,52,52,52,52,52,55,142,53,52,55,142,53,52,55,142,53,52,55,142,53,52,55,142,53,52,52,52,52,52,52,53,52,52,52,52,52,52,52,52,52,55,142,53,52,52,52,52,52,52,55,142,52,52,52,55,142,53,52,52,52,0,52,55,52,142,0,55,142,53,52,55,142,53,52,52,55,55,52,55,55,52,55,142,53,52,55,142,53,52,52,52,52,52,52,52,55,142,53,52,55,142,53,52,55,142,53,52,52,55,142,53,52,55,142,53,52,55,142,53,52,55,142,53,52,55,55,55,58,58,58,0,0,0,0,57,57,57,57,59,57,58,59,57,58,59,57,58,59,59,57,58,59,57,58,59,57,58,58,58,58,59,57,58,57,59,57,58,0,57,59,57,58,59,57,58,59,57,59,59,59,59,57,58,59,57,58,57,57,57,58,59,57,58,59,57,58,59,57,58,59,57,58,59,57,58,59,57,58,59,57,58,59,59,59,57,57,59,0,0,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,0,62,62,0,0,0,0,62,0,0,0,0,63,63,143,63,143,63,143,63,63,143,63,143,63,143,63,143,143,63,63,143,63,63,143,63,143,63,143,63,143,63,143,143,63,143,63,143,63,143,63,143,63,143,63,143,63,143,0,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,0,0,0,73,73,144,73,144,73,144,73,73,144,73,144,73,144,144,73,144,144,73,73,144,73,73,144,73,144,73,144,73,144,73,144,73,144,73,144,73,144,73,144,73,144,73,144,73,144,0,0,74,74,145,74,145,74,145,74,74,145,74,145,74,145,74,145,145,145,74,74,145,74,74,145,74,145,74,145,74,145,74,145,74,145,74,145,74,145,74,145,74,145,74,145,74,145,0,0,75,75,146,75,146,75,146,75,75,146,75,146,75,146,146,75,146,146,75,75,146,75,75,146,75,146,75,75,146,75,146,75,146,75,146,75,146,75,146,75,146,75,146,75,146,0,0,76,76,147,76,147,76,147,76,76,147,76,147,76,147,147,76,147,147,76,76,147,76,76,147,76,147,76,76,76,147,76,147,147,147,76,147,76,147,76,147,76,147,76,147,76,147,76,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,79,80,81,0,0,0,0,0,0,0,0,0,0,0,0,78,79,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,78,79,84,78,79,80,81,83,84,78,79,80,81,83,78,79,80,81,83,78,79,80,81,83,78,79,80,81,84,84,84,78,79,80,81,78,79,78,79,80,81,84,78,78,78,79,79,79,80,80,80,81,81,81,83,80,83,78,80,80,78,83,81,84,78,79,80,81,83,84,83,83,78,79,80,81,84,83,84,84,78,79,80,81,83,84,78,79,80,81,83,78,79,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,148,80,81,78,79,80,81,83,84,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,0,0,0,0,0,87,149,86,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,86,149,86,87,88,86,88,0,0,0,88,86,87,86,0,88,86,87,149,88,86,88,86,87,88,86,87,88,86,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,0,0,0,0,0,92,92,0,0,0,0,0,91,91,91,91,95,90,91,90,90,93,95,92,91,91,91,91,91,91,91,91,91,90,93,95,92,91,90,93,95,92,91,90,93,95,92,91,90,93,95,92,91,90,93,95,92,91,92,91,92,91,91,91,91,93,93,95,91,0,0,0,91,92,91,0,0,91,92,91,91,91,91,91,90,93,95,92,91,93,91,91,91,90,90,91,91,91,90,91,91,90,93,95,92,91,91,91,0,93,93,93,90,93,91,93,90,90,91,90,93,95,92,91,90,93,95,92,91,90,91,90,90,0,91,90,90,93,95,92,91,90,93,95,92,91,0,0,91,0,0,0,91,91,91,92,91,91,90,90,90,93,95,92,91,90,93,95,92,91,90,93,95,92,91,91,93,93,90,93,95,92,91,90,93,95,92,91,93,90,93,95,92,91,90,93,95,92,91,97,97,97,0,0,0,97,97,0,0,97,97,97,97,94,51,98,97,96,97,97,97,97,97,97,96,97,97,94,51,98,97,96,94,51,98,97,96,51,98,94,51,98,97,96,94,51,98,97,96,94,51,98,97,96,97,96,97,96,97,97,97,98,98,97,97,96,97,96,97,94,94,96,97,97,97,97,97,94,94,51,98,97,96,97,97,97,97,94,97,97,97,97,94,51,98,97,96,51,98,97,97,96,51,94,97,94,51,96,98,97,94,51,98,97,96,94,51,98,97,96,97,96,96,97,94,94,51,98,97,96,94,51,98,97,96,97,97,97,97,97,96,97,94,94,94,0,0,0,0,94,51,98,97,96,94,51,98,97,96,94,51,98,97,96,97,94,94,51,98,97,96,94,51,98,97,96,94,51,98,97,96,94,51,98,97,96,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,150,99,150,99,150,99,150,99,150,99,150,99,150,99,99,150,99,99,150,99,150,99,150,99,150,99,99,150,99,150,99,150,99,150,99,150,99,150,99,99,150,99,150,0,0,0,0,102,103,151,102,103,151,102,103,151,102,103,151,102,103,151,102,103,151,102,103,151,103,102,103,151,101,102,103,102,151,102,103,102,103,151,102,103,151,102,103,151,102,103,151,102,103,151,102,103,151,102,103,151,101,102,103,102,103,151,102,103,151,151,102,103,151,102,103,151,0,0,104,152,104,152,104,152,104,152,104,152,104,152,152,104,104,152,104,104,152,104,104,152,104,152,104,152,104,152,104,152,104,152,104,152,104,152,104,152,104,152,104,152,104,152,105,0,0,0,0,0,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,105,106,105,105,108,3,3,108,107,108,3,105,106,107,107,3,107,108,3,105,106,108,107,108,3,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,108,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,111,110,111,110,111,110,111,110,111,110,111,110,111,0,0,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,0,0,113,0,0,113,113,113,0,113,113,0,0,0,0,0,0,0,0,113,0,113,0,113,0,0,113,113,0,0,0,0,0,0,113,113,0,0,0,0,0,0,113,113,113,113,113,113,113,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,118,119,0,0,0,0,0,0,0,116,117,114,115,115,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,114,114,115,115,116,117,118,119,115,114,118,119,115,116,117,119,114,118,119,115,116,117,0,0,114,115,114,118,119,115,116,117,114,118,119,115,116,117,0,115,119,114,114,118,119,115,116,117,114,118,119,115,116,117,115,0,115,115,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,115,115,0,115,114,118,119,115,116,117,114,118,119,115,116,117,0,0,0,123,124,121,0,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,123,124,121,0,121,123,124,0,121,123,124,121,121,123,124,121,123,124,0,121,0,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,0,0,125,125,120,125,120,125,120,125,120,125,120,125,120,125,125,125,125,120,125,125,120,120,125,125,125,120,120,120,120,125,125,125,125,120,120,125,120,125,125,120,120,125,120,125,125,125,125,125,125,120,125,120,125,120,125,120,125,120,125,120,125,120,125,0,0,128,126,128,126,128,126,128,126,128,126,128,126,128,126,126,0,0,0,0,0,0,128,126,128,126,126,126,128,126,126,128,126,128,0,126,128,126,128,0,126,0,126,128,126,128,126,128,126,128,126,128,126,128,126,128,112,112,112,112,112,0,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,0,129,129,129,0,0,0,122,130,129,122,130,129,122,130,129,122,130,129,122,130,129,122,130,129,129,129,129,130,122,130,129,130,130,122,122,122,122,130,129,122,122,122,130,129,122,130,129,122,130,122,130,129,122,130,129,130,130,129,130,122,130,129,122,130,129,122,130,129,122,130,129,122,130,129,122,130,129,122,130,129,0,0,0,0,132,0,131,132,131,132,131,132,131,132,0,131,132,131,132,131,132,131,131,131,132,0,0,131,132,131,132,131,132,131,131,132,131,132,0,131,131,132,131,132,131,132,131,132,131,132,131,132,131,132,0,0,0,0,0,0,0,0,0,0,0,0,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127],"f":[0,0,[[]],0,[[]],[[]],[[]],[[],1],[[],1],[[]],0,0,[2,3],0,[[]],0,0,[[]],0,0,[[]],[[]],0,0,[[],4],[[]],[[]],0,0,0,0,0,0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[]],[7,4],[[8,7],4],[7,7],[[],4],[8,4],[[],4],[8,4],[[]],[[]],[[]],[9,8],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[]],[[]],[[]],[[]],[10],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[[11,12],13],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[14,15],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],5],[[],5],[[],6],[[]],[[]],0,[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[17,[16]]]],[[[17,[16]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[17,[16]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[18,18],[19,19],[20,20],[21,21],[22,22],[[]],[[]],[[]],[[]],[[]],0,[23,3],[[[17,[16]]]],[[18,18],24],[[18,25],13],[[19,25],13],[[20,25],13],[[21,25],13],[[22,25],13],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[17,[16]]],[[5,[22]]]],[[[17,[16]]],[[5,[21]]]],[[[17,[16]]],[[5,[20]]]],[[[17,[16]]],26],[[[17,[16]]],26],[27],[[[17,[16]]],[[5,[22,19]]]],[[],[[17,[[29,[28]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[17,[16]]]],[[16,7,26],[[17,[16]]]],[[],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[27,30]],[[[17,[16]]]],[[[17,[16]],7],5],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[17,[16]],18,7,26]],0,0,[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[27,30]],[[[17,[16]]]],[[[17,[16]],7],5],0,0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],0,[[]],[31],[[]],[[],31],[[]],[[]],[[31,30]],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],0,[[]],[[]],[[31,30]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[32,3],[30,30],[[30,30],33],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[30,30],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[30,30],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[34,15],[[]],[[]],[[]],0,[[]],[[]],[[],26],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[26],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],35],[[],36],[[],37],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[35,35],35],[[36,36],36],[[37,37],37],[[35,35]],[[36,36]],[[37,37]],[[35,35],35],[[36,36],36],[[37,37],37],[[35,35]],[[36,36]],[[37,37]],[35,26],[36,26],[37,26],0,0,0,[[35,35],35],[[36,36],36],[[37,37],37],[[35,35]],[[36,36]],[[37,37]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[35,35],[36,36],[37,37],[[]],[[]],[[]],[[35,35],38],[[36,36],38],[[37,37],38],[35,35],[36,36],[37,37],0,[[35,35],24],[[36,36],24],[[37,37],24],[[35,35],35],[[36,36],36],[[37,37],37],[[],35],[[],36],[[],37],[[35,35],24],[[36,36],24],[[37,37],24],[[35,39]],[[36,39]],[[37,39]],[[35,25],13],[[35,25],13],[[35,25],13],[[35,25],13],[[35,25],13],[[36,25],13],[[36,25],13],[[36,25],13],[[36,25],13],[[36,25],13],[[37,25],13],[[37,25],13],[[37,25],13],[[37,25],13],[[37,25],13],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[26,[[1,[35]]]],[26,[[1,[36]]]],[26,[[1,[37]]]],[26,35],[26,36],[26,37],[26,35],[26,36],[26,37],[39,35],[39,36],[39,37],[40],[35],[36],[37],0,0,0,[41],0,[[35,35]],[[36,36]],[[37,37]],[[35,35],35],[[36,36],36],[[37,37],37],[[35,35],24],[[36,36],24],[[37,37],24],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[35,24],[36,24],[37,24],[35,24],[36,24],[37,24],0,0,0,0,0,0,[[35,35],24],[[36,36],24],[[37,37],24],[30,41],[[],40],[35,35],[36,36],[37,37],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[35,35],[[1,[38]]]],[[36,36],[[1,[38]]]],[[37,37],[[1,[38]]]],0,[41,[[1,[26]]]],[40,26],0,[41,42],[[35,35]],[[36,36]],[[37,37]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[35,35,24]],[[36,36,24]],[[37,37,24]],[[35,35],35],[[36,36],36],[[37,37],37],[[35,35]],[[36,36]],[[37,37]],[[35,35],35],[[36,36],36],[[37,37],37],0,[[]],[[]],[[]],[[35,35]],[[36,36]],[[37,37]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[35,35],35],[[36,36],36],[[37,37],37],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[41,26]],[[40,26]],[41,43],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[44,15],0,[[]],[45],[[]],[[]],[[]],[45],0,[[]],[[]],[[],45],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[45],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[46,15],[47,15],[[]],[[]],[[]],[[]],[48],[[]],[[]],[[]],[30,48],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[49,30,50],7],[[49,30,50],7],[50,50],[[]],[[49,30,50,7]],[[49,30,50,30]],[[49,30,50,30]],[[49,30,50,30]],[[]],[[]],[[49,30],7],[[49,30,50],7],[[30,50],30],[[]],[[]],[30,49],[[]],[[]],[[]],[[]],[[49,30],7],[[]],[[]],[[]],[[]],[[49,30,7]],[[49,30,50,7]],[[],30],[[49,30,50],7],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[51,30],[[],24],0,[[],24],[51,30],0,0,0,0,0,0,0,0,0,0,[[],52],[[]],[[]],[[]],[[]],[[52,52],52],[[52,52]],[[52,52],52],[[52,52]],[52,7],0,[[52,52],52],[[52,52]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[52,52],[[]],[[52,52],38],[52,52],[[52,52],24],[53,15],[[52,52],52],[[],52],[[52,52],24],[[52,39]],[[52,25],13],[[52,25],13],[[52,25],13],[[52,25],13],[[52,25],13],[[]],[[]],[[]],[[]],[7,[[1,[52]]]],[7,52],[7,52],[39,52],[52],0,0,[[52,52]],[[52,52],52],[[52,52],24],[[]],[[]],[[]],[[]],[52,24],[52,24],[[]],[[52,52],24],[[24,24,[15,[54]]],55],[52,52],0,[[12,52],[[1,[[15,[55]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[52,52],[[1,[38]]]],[[55,51],30],[55,[[56,[26]]]],[52],[55,24],0,[[52,52]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[52,52,24]],[[52,52],52],[[52,52]],[[52,52],52],[[]],[[52,52]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[52,52],52],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[55,24],0,[[55,51],30],0,0,0,0,0,0,0,[57,24],0,[57,30],[57,30],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[58,58],[[]],[[58,58],24],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],57],[[]],[[]],[[]],[[]],[[]],[[]],[[59,51],30],[57,26],[[[15,[[3,[57]]]]],59],[59,24],0,[[]],[[]],[[]],[[]],[[]],[[]],[[57,15]],0,0,[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[59,24],0,[[59,51],30],[[57,26]],0,[[[15,[[3,[57]]]]],59],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[60,51],30],[[61,51],30],[60,24],[61,24],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[60,24],[61,24],[[60,51],30],[[61,51],30],0,[[[15,[62]]]],[[]],0,0,0,0,[[]],0,0,0,0,[[63,[15,[62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[63],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],0,0,[[]],[[]],[[64,65,[1,[[15,[62]]]],66],63],[[]],[[]],[[]],[[]],[63],0,[[]],[[]],[[]],[[]],0,[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[],67],[[]],[[],1],[[],1],[67,68],[69,69],[[]],[[],70],[67,71],[69,5],0,[[]],[[]],[[64,65],69],[[]],[[]],0,[[]],[[]],[69,64],0,[[]],[65,72],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0,0,0,[[73,[15,[62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[73],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],0,0,[[]],[[]],[[[56,[66]],[1,[[15,[62]]]]],73],[[]],[[]],[[]],[[]],[73],0,[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[74,[15,[62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[74],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],0,0,0,[[]],[[]],[[64,65,[1,[[15,[62]]]]],74],[[]],[[]],[[]],[[]],[74],0,[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[75,[15,[62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[75],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],0,0,[[]],[[]],[[64,65],75],[[]],[[]],[[]],[[]],[75],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[76,[15,[62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[76],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],0,0,[[]],[[]],[[64,65,[1,[[15,[62]]]],[1,[66]],66],76],[[]],[[]],[[]],[[]],[76],[[76,66]],[[]],[[]],[[]],[[]],0,0,[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[77,4],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[78,24],[79,24],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[78,80],[79,81],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[78,78],[79,79],[80,80],[81,81],[[[83,[82]]],[[83,[82]]]],[[]],[[]],[[]],[[]],[[]],[[78,78],38],[[79,79],38],[[80,80],38],[[81,81],38],0,[[],5],0,[[78,78],24],[[79,79],24],[[80,80],24],[[81,81],24],[78,80],[79,81],[[78,25],13],[[79,25],13],[[80,25],13],[[81,25],13],[[]],[80,78],[[]],[30,78],[81,79],[30,79],[[]],[78,80],[30,80],[[]],[79,81],[30,81],[[]],[[]],[80],[83],[78],[80],[80],[78],[83],[81],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[83],0,[[78,78],24],[[79,79],24],[[80,80],24],[[81,81],24],[[],84],[[],83],[84,1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[78,30],[79,30],[[78,78],[[1,[38]]]],[[79,79],[[1,[38]]]],[[80,80],[[1,[38]]]],[[81,81],[[1,[38]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[80],[81],[[]],[[]],[[]],[[]],[[]],[65,85],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[],[[1,[80]]]],[86,[[1,[80]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[80],[[86,80]],[87,3],[88],0,[[88,25],13],[[],[[1,[88]]]],[[]],[80],[[]],[[]],[[]],[[86,80,80]],[[]],[[]],[[]],[[]],[[]],[80,88],[[],86],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[89,4],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[90],[[],91],0,[[]],[[]],[[]],[[]],[[]],[[91,91],91],[[91,91]],[[91,91],91],[[91,91]],[91,26],0,[[91,91],91],[[91,91]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[92,92],[91,91],[[]],[[]],[[91,91],38],[91,91],[[91,91],24],[[93,94]],0,[95,15],[[91,91],91],0,0,0,[[],91],[[92,92],24],[[91,91],24],0,0,[[91,39]],[[92,25],13],[[91,25],13],[[91,25],13],[[91,25],13],[[91,25],13],[[91,25],13],[[]],[[]],[[]],[[]],[[]],[93,93],[26,[[1,[91]]]],[26,91],[26,91],[[]],[90,90],[39,91],[91],[[91,91]],[[90,79,79,91]],[[91,91],91],[[91,91],24],[[]],[[]],[[]],[[]],[[]],[91,24],[91,24],[[],30],[[93,94]],[[93,94,81]],0,[90],0,[[91,91],24],[[79,79,92,91],93],[[],90],[[],90],[91,91],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[91,91],[[1,[38]]]],[[90,93,1]],[90],[[]],[[91,91]],[[90,81]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[91,91,24]],0,0,0,[[91,91],91],[[91,91]],[[91,91],91],[[]],[[]],[[91,91]],[90,30],[[90,81],[[1,[96]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[91,91],91],[[93,94]],[[93,94,81]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[],97],[[]],[[]],[[]],[[]],[[]],[[97,97],97],[[97,97]],[[97,97],97],[[97,97]],[97,26],0,0,[[97,97],97],[[97,97]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[97,97],[96,96],[[]],[[]],[[97,97],38],[97,97],[[97,97],24],0,0,[[97,97],97],[[],97],[[],96],[[97,97],24],[96,24],[[97,39]],[[94,81],[[1,[96]]]],[[94,81],[[1,[96]]]],[96,97],[[97,25],13],[[97,25],13],[[97,25],13],[[97,25],13],[[97,25],13],0,[[]],[[]],[[]],[[]],[[]],[26,[[1,[97]]]],[26,97],[26,97],[39,97],[30,94],[97],[[97,97]],[[97,97],97],[[97,97],24],[[]],[[]],[[]],[[]],[[]],[51],[[]],[97,24],[97,24],[96,24],[51,30],[[94,81,80,97]],[[97,97],24],[[],94],[56,51],[[80,97],96],[98,1],[97,97],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[97,97],[[1,[38]]]],[96,80],[96,24],[[97,97]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[97,97,24]],[[97,97],97],[[97,97]],[[97,97],97],[[]],[[]],[[97,97]],[94,30],[[94,81],[[1,[96]]]],[[94,79],[[1,[78]]]],[[30,26,30],56],[30],[30],[[30,26],66],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[97,97],97],[[94,81]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[96,24],0,0,0,0,0,0,0,0,0,[[],30],[30],[[30,30,30,30],30],[30],[30,4],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],0,[[]],[[]],[[],99],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[99],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[99,100],0,[[99,[15,[101]]]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[102],[103],0,0,[[],102],[[],103],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[102],[103],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,[104],[[]],[[]],0,[[]],[[]],[30,104],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[104],0,[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[105],[106,107],[105],[105],[108],[3,105],[3],[108],[[]],[[]],[[]],[[]],[[]],[107],0,0,[[]],[[]],[[]],[[]],[[]],0,[[],107],[[],108],[[],3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[30,109],0,[30,109],[30,109],[[26,7],109],[30,109],[[30,26,30],109],[[30,26,30],109],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],109],[[]],[110,3],[111,3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[26,30],109],[33,4],[[],109],[[],109],[[],109],[[30,7],109],[[109,33],109],[[],109],[30,109],[30,109],[[30,30],109],[24,109],[30,109],[30,109],[30,109],[30,109],[30,109],[30,109],[[],109],[[30,30],109],[30,33],0,0,0,0,0,0,0,0,0,[[]],0,[[]],[[]],[[],100],[[]],[[]],[[]],[[],1],[[],1],[[],1],0,[112],0,0,0,0,0,0,[113,15],[33],[[]],0,[[]],0,0,[[]],[[]],0,0,0,0,0,0,[[]],[[]],0,0,[[]],0,0,0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[]],[30,100],[[]],[[]],[[]],0,0,[[]],[[]],0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[[],100],0,0,0,0,0,0,0,0,0,0,0,[114,30],[115],[115],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[[114,30]],[115],[115],[116,3],[117,3],[118],[119],[115],[[]],[[]],[[]],[[]],[[]],[[]],[119,30],[[]],[[]],[[]],[[]],[[]],[[]],[30],[[],119],[[],114],[[[15,[120]],30,24],115],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],118],0,[119],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[30,30],[115,80],[115,30],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[115,30],0,[[30,30],30],[115,30],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[121,[15,[122]]]],[[[15,[122]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[123,3],[124,3],[121,[[1,[[15,[122]]]]]],[[],[[1,[[15,[122]]]]]],[[]],[[]],[[]],[[30,[15,[120]]]],[[]],[[]],[[]],[[],121],[[]],[[]],[[]],[[]],[[]],[[]],[30,[[1,[[15,[120]]]]]],0,[30],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[125,30],[125,30],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,0,[[125,30]],[[15,[56,[66]]]],0,0,[15,[[15,[120]]]],[[]],[[]],[[125,30],[[15,[122]]]],[125,30],[120,30],0,[120,[[105,[125]]]],[[]],[[]],0,0,0,[[],[[15,[120]]]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],0,0,0,0,[125,30],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[126,[[1,[[15,[122]]]]]],0,[[],30],[[],[[15,[120]]]],[[],[[1,[[15,[122]]]]]],[[],127],[[],30],[[],30],[128,3],[[]],[[]],[126,100],0,[[]],[[]],[[],126],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[100],[126,[[1,[[15,[122]]]]]],[[],[[1,[[15,[122]]]]]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[],112],[[]],[[112,112],112],[[112,112]],[[112,112],112],[[112,112]],[112,7],0,[[112,112],112],[[112,112]],[[]],[[]],[[]],[112,1],[[],1],[[],1],[112,112],[[]],[[112,112],38],[112,112],[[112,112],24],[[112,112],112],[[],112],[[112,112],24],[[112,39]],[[112,25],13],[[112,25],13],[[112,25],13],[[112,25],13],[[112,25],13],[[]],[7,[[1,[112]]]],[7,112],[7,112],[39,112],[112],[[112,112]],[[112,112],112],[[112,112],24],[[]],[112,24],[112,24],[[112,112],24],[112,112],[[]],[[]],[[112,112],[[1,[38]]]],[[112,112]],[[]],[[]],[[112,112,24]],[[112,112],112],[[112,112]],[[112,112],112],[[]],[[112,112]],[[],5],[[],5],[[],6],[[112,112],112],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[129,129],[[]],[[129,129],24],0,[[]],[[]],[[]],[130,129],[130,127],[122,30],0,[122,[[105,[130]]]],[[]],[[]],[[]],0,[[[15,[120]],30,24],122],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[30,[15,[122]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[131,131],38],[132,3],[[131,131],24],0,[[]],[[]],[[],30],[[],30],[[]],[[]],[[]],[[]],[[]],[[]],[[131,131],[[1,[38]]]],[[]],[[]],[[]],[[]],[[]],0,[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[127],[[],4],[[],4],0,[[30,30,30,30,30],127],[[]],[[]],[[]],[[]],[[],1],[[],1],[[127,25],13],[[]],[[]],0,0,[[]],[[]],[[]],[[]],0,[[127,30]],0,0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0],"p":[[4,"Option"],[3,"DEV_NON_BLOCKING_ACCESS"],[3,"UPIntrFreeCell"],[15,"never"],[4,"Result"],[3,"TypeId"],[15,"u32"],[3,"RISCV64"],[15,"u64"],[3,"Arguments"],[3,"Stdout"],[15,"str"],[6,"Result"],[3,"BLOCK_DEVICE"],[3,"Arc"],[8,"SPI"],[3,"SDCard"],[4,"CMD"],[4,"InitError"],[3,"SDCardCSD"],[3,"SDCardCID"],[3,"SDCardInfo"],[3,"PERIPHERALS"],[15,"bool"],[3,"Formatter"],[15,"u8"],[3,"SDCardWrapper"],[3,"SPI0"],[3,"SPIImpl"],[15,"usize"],[3,"VirtIOBlock"],[3,"QUEUE_FRAMES"],[15,"i32"],[3,"UART"],[3,"IER"],[3,"LSR"],[3,"MCR"],[4,"Ordering"],[8,"IntoIterator"],[3,"NS16550a"],[3,"NS16550aRaw"],[3,"ReadWithoutDLAB"],[3,"WriteWithoutDLAB"],[3,"GPU_DEVICE"],[3,"VirtIOGPU"],[3,"KEYBOARD_DEVICE"],[3,"MOUSE_DEVICE"],[3,"VirtIOINPUT"],[3,"PLIC"],[4,"IntrTargetPriority"],[3,"UserBuffer"],[3,"OpenFlags"],[3,"ROOT_INODE"],[3,"Inode"],[3,"OSInode"],[3,"Vec"],[3,"PipeRingBuffer"],[4,"RingBufferStatus"],[3,"Pipe"],[3,"Stdin"],[3,"Stdout"],[8,"Component"],[3,"Button"],[3,"Size"],[3,"Point"],[3,"String"],[3,"Rectangle"],[3,"Clipped"],[3,"Graphics"],[3,"ColorConverted"],[3,"Cropped"],[3,"Translated"],[3,"IconController"],[3,"ImageComp"],[3,"Panel"],[3,"Terminal"],[3,"PanicInfo"],[3,"PhysAddr"],[3,"VirtAddr"],[3,"PhysPageNum"],[3,"VirtPageNum"],[8,"Clone"],[3,"SimpleRange"],[3,"SimpleRangeIterator"],[3,"Translated"],[3,"StackFrameAllocator"],[3,"FRAME_ALLOCATOR"],[3,"FrameTracker"],[3,"Layout"],[3,"MemorySet"],[3,"MapPermission"],[4,"MapType"],[3,"MapArea"],[3,"PageTable"],[3,"KERNEL_SPACE"],[3,"PageTableEntry"],[3,"PTEFlags"],[3,"UserBufferIterator"],[3,"Condvar"],[3,"TaskContext"],[8,"Mutex"],[3,"MutexSpin"],[3,"MutexBlocking"],[3,"Semaphore"],[3,"UPIntrRefMut"],[3,"INTR_MASKING_INFO"],[3,"UPSafeCellRaw"],[3,"IntrMaskingInfo"],[15,"isize"],[3,"DESKTOP"],[3,"PAD"],[3,"SignalFlags"],[3,"INITPROC"],[3,"RecycleAllocator"],[3,"TaskUserRes"],[3,"PID_ALLOCATOR"],[3,"KSTACK_ALLOCATOR"],[3,"PidHandle"],[3,"KernelStack"],[3,"ProcessControlBlock"],[3,"TaskManager"],[3,"TaskControlBlock"],[3,"TASK_MANAGER"],[3,"PID2PCB"],[3,"ProcessControlBlockInner"],[3,"Processor"],[3,"TrapContext"],[3,"PROCESSOR"],[4,"TaskStatus"],[3,"TaskControlBlockInner"],[3,"TimerCondVar"],[3,"TIMERS"],[8,"QEMUExit"],[13,"CMDFailed"],[13,"CardCapacityStatusNotSet"],[3,"VirtioHal"],[8,"CharDevice"],[3,"NS16550aInner"],[8,"GPUDevice"],[8,"INPUTDevice"],[8,"File"],[3,"OSInodeInner"],[3,"ButtonInner"],[3,"IconControllerInner"],[3,"ImageInner"],[3,"PanelInner"],[3,"TerminalInner"],[8,"StepByOne"],[8,"FrameAllocator"],[3,"CondvarInner"],[3,"MutexBlockingInner"],[3,"SemaphoreInner"]]}\ +"os":{"doc":"","t":[3,12,11,0,11,11,11,11,11,5,0,0,11,0,11,0,0,11,0,0,11,11,14,14,5,11,11,0,0,0,0,0,0,11,11,11,11,11,11,11,6,17,6,17,17,17,17,17,8,17,3,17,17,17,17,17,12,11,11,11,11,11,11,5,10,11,5,10,11,10,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,2,17,17,17,2,17,17,17,17,17,3,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,2,2,2,2,0,0,0,0,0,0,3,2,2,12,11,5,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,0,11,11,12,13,13,12,4,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,11,11,13,12,12,13,12,12,12,12,12,12,12,12,12,12,11,4,12,12,12,12,12,12,12,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,3,3,3,3,17,17,17,17,17,17,12,12,17,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,17,3,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,0,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,2,3,12,11,11,11,11,11,11,11,11,10,11,0,11,11,10,11,11,11,11,11,11,11,11,11,10,18,18,18,18,3,3,3,3,3,3,18,18,3,18,18,3,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,8,3,17,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,10,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,12,8,3,3,17,17,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,13,3,13,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,2,2,2,2,2,2,2,0,2,2,2,0,10,10,0,10,10,18,3,3,3,18,18,3,18,18,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,5,11,11,11,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,13,13,13,3,3,17,4,11,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,10,10,0,0,0,0,10,0,0,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,7,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,0,2,0,5,2,0,0,2,2,2,2,2,12,12,12,12,17,17,3,3,3,3,8,17,6,17,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,6,3,3,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,12,11,5,5,5,11,11,11,11,5,11,11,11,10,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,7,5,5,5,13,13,3,3,3,4,3,18,18,18,18,12,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,5,5,5,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,18,18,18,3,3,3,18,18,3,3,18,18,18,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,17,17,17,17,17,17,17,17,17,5,5,5,5,5,2,2,2,2,2,2,2,0,0,0,0,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,8,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,10,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,3,3,3,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,2,2,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,2,0,0,0,0,5,0,5,5,5,5,5,5,3,7,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,2,3,2,2,2,2,2,2,12,5,2,11,5,5,11,11,11,5,11,11,0,5,2,2,2,2,2,2,11,5,11,0,11,2,0,11,11,2,2,0,0,2,2,11,11,2,0,5,0,2,0,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,11,11,12,12,17,3,3,3,3,3,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,12,12,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,5,11,11,11,11,11,11,11,11,11,11,5,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,11,11,12,12,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,5,5,5,5,5,11,11,11,11,12,11,11,11,11,11,11,11,5,11,11,11,11,5,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,18,18,18,18,18,3,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,13,13,13,3,3,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,17,17,3,3,12,5,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,2,0,5,5,5,5,5,5,5,5,5,3,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,12],"n":["DEV_NON_BLOCKING_ACCESS","__private_field","az","board","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clear_bss","config","console","deref","drivers","from","fs","gui","into","lang_items","mm","overflowing_as","overflowing_cast_from","print","println","rust_main","saturating_as","saturating_cast_from","sbi","sync","syscall","task","timer","trap","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","BlockDeviceImpl","CLOCK_FREQ","CharDeviceImpl","EXIT_FAILURE","EXIT_FAILURE_FLAG","EXIT_RESET","EXIT_SUCCESS","MMIO","QEMUExit","QEMU_EXIT_HANDLE","RISCV64","VIRTGPU_XRES","VIRTGPU_YRES","VIRT_PLIC","VIRT_TEST","VIRT_UART","addr","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","device_init","exit","exit","exit_code_encode","exit_failure","exit_failure","exit_success","exit_success","from","into","irq_handler","new","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","CLOCK_FREQ","KERNEL_HEAP_SIZE","KERNEL_STACK_SIZE","MEMORY_END","MMIO","PAGE_SIZE","PAGE_SIZE_BITS","TRAMPOLINE","TRAP_CONTEXT_BASE","USER_STACK_SIZE","Stdout","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","from","into","overflowing_as","overflowing_cast_from","print","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","write_str","BLOCK_DEVICE","BLOCK_DEVICE","UART","UART","block","bus","chardev","gpu","input","plic","BLOCK_DEVICE","SDCardWrapper","VirtIOBlock","__private_field","az","block_device_test","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","from","into","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","sdcard","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","virtio_blk","wrapping_as","wrapping_cast_from","0","ACMD23","ACMD41","CID_CRC","CMD","CMD0","CMD10","CMD12","CMD16","CMD17","CMD18","CMD24","CMD25","CMD55","CMD58","CMD59","CMD8","CMD9","CMDFailed","CSDStruct","CSD_CRC","CS_HIGH","CS_LOW","CannotGetCardInfo","CardBlockSize","CardCapacity","CardCapacityStatusNotSet","CardComdClasses","ContentProtectAppli","CopyFlag","DSRImpl","DeviceSize","ECC","EraseGrMul","EraseGrSize","FileFormat","FileFormatGroup","HIGH_SPEED_ENABLE","InitError","ManDeflECC","ManufactDate","ManufacturerID","MaxBusClkFrec","MaxWrBlockLen","NSAC","OEM_AppliID","PERIPHERALS","PartBlockRead","PermWrProtect","ProdName1","ProdName2","ProdRev","ProdSN","RdBlockLen","RdBlockMisalign","Reserved1","Reserved1","Reserved2","Reserved2","Reserved3","Reserved4","SDCard","SDCardCID","SDCardCSD","SDCardInfo","SDCardWrapper","SD_CS","SD_CS_GPIONUM","SD_START_DATA_MULTIPLE_BLOCK_READ","SD_START_DATA_MULTIPLE_BLOCK_WRITE","SD_START_DATA_SINGLE_BLOCK_READ","SD_START_DATA_SINGLE_BLOCK_WRITE","SD_cid","SD_csd","SEC_LEN","SysSpecVersion","TAAC","TempWrProtect","WrBlockMisalign","WrProtectGrEnable","WrProtectGrSize","WrSpeedFact","WriteBlockPaPartial","__private_field","az","az","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cs_gpionum","deref","end_cmd","eq","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_cardinfo","get_cidregister","get_csdregister","get_dataresponse","get_response","handle_irq","init","init_sdcard","into","into","into","into","into","into","into","into","io_init","lowlevel_init","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","read_block","read_data","read_sector","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","send_cmd","spi","spi_cs","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","write_block","write_data","write_sector","0","0","1","VIRTIO0","VirtIOBlock","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","condvars","from","handle_irq","into","new","overflowing_as","overflowing_cast_from","read_block","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","virtio_blk","wrapping_as","wrapping_cast_from","write_block","virtio","QUEUE_FRAMES","VirtioHal","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","deref","dma_alloc","dma_dealloc","from","from","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","phys_to_virt","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","virt_to_phys","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","CharDevice","NS16550a","UART","__private_field","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","from","handle_irq","into","ns16550a","overflowing_as","overflowing_cast_from","read","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","write","AUX_OUTPUT1","AUX_OUTPUT2","DATA_AVAILABLE","DATA_TERMINAL_READY","IER","LSR","MCR","NS16550a","NS16550aInner","NS16550aRaw","REQUEST_TO_SEND","RX_AVAILABLE","ReadWithoutDLAB","THR_EMPTY","TX_EMPTY","WriteWithoutDLAB","_padding0","_padding1","_padding1","_padding2","all","all","all","az","az","az","az","az","az","az","az","base_addr","bitand","bitand","bitand","bitand_assign","bitand_assign","bitand_assign","bitor","bitor","bitor","bitor_assign","bitor_assign","bitor_assign","bits","bits","bits","bits","bits","bits","bitxor","bitxor","bitxor","bitxor_assign","bitxor_assign","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","cmp","complement","complement","complement","condvar","contains","contains","contains","difference","difference","difference","empty","empty","empty","eq","eq","eq","extend","extend","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_bits","from_bits","from_bits","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_iter","from_iter","from_iter","handle_irq","hash","hash","hash","ier","ier","iir","init","inner","insert","insert","insert","intersection","intersection","intersection","intersects","intersects","intersects","into","into","into","into","into","into","into","into","is_all","is_all","is_all","is_empty","is_empty","is_empty","lcr","lcr","lsr","lsr","mcr","mcr","ne","ne","ne","new","new","not","not","not","ns16550a","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","partial_cmp","partial_cmp","partial_cmp","rbr","read","read","read_buffer","read_end","remove","remove","remove","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","set","set","set","sub","sub","sub","sub_assign","sub_assign","sub_assign","symmetric_difference","symmetric_difference","symmetric_difference","thr","to_owned","to_owned","to_owned","toggle","toggle","toggle","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","union","union","union","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","write","write","write_end","BMP_DATA","GPUDevice","GPU_DEVICE","VIRTIO7","VirtIOGPU","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","deref","fb","flush","flush","from","from","getfreambuffer","getfreambuffer","gpu","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","update_cursor","update_cursor","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","0","INPUTDevice","KEYBOARD_DEVICE","MOUSE_DEVICE","VIRTIO5","VIRTIO6","VirtIOINPUT","__private_field","__private_field","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","deref","deref","from","from","from","handle_irq","handle_irq","into","into","into","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","IntrTargetPriority","Machine","PLIC","Supervisor","az","az","base_addr","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","claim","claim_comp_ptr_of_hart_with_priority","clone","clone_into","complete","disable","enable","enable_ptr","from","from","get_priority","get_threshold","hart_id_with_priority","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","priority_ptr","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","set_priority","set_threshold","supported_number","threshold_ptr_of_hart_with_priority","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","File","OSInode","OpenFlags","Pipe","ROOT_INODE","ROOT_INODE","Stdin","Stdout","inode","list_apps","make_pipe","open_file","pipe","read","readable","stdio","writable","write","CREATE","OSInode","OSInodeInner","OpenFlags","RDONLY","RDWR","ROOT_INODE","TRUNC","WRONLY","__private_field","all","az","az","az","az","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","cmp","complement","contains","deref","difference","empty","eq","extend","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from_bits","from_bits_truncate","from_bits_unchecked","from_iter","hash","inner","inode","insert","intersection","intersects","into","into","into","into","is_all","is_empty","list_apps","ne","new","not","offset","open_file","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","partial_cmp","read","read_all","read_write","readable","readable","remove","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","set","sub","sub_assign","symmetric_difference","to_owned","toggle","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","union","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","writable","writable","write","Empty","Full","Normal","Pipe","PipeRingBuffer","RING_BUFFER_SIZE","RingBufferStatus","all_write_ends_closed","arr","available_read","available_write","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","buffer","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","eq","from","from","from","head","into","into","into","make_pipe","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","read","read_byte","read_end_with_buffer","readable","readable","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","set_write_end","status","tail","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","writable","writable","write","write_byte","write_end","write_end_with_buffer","Stdin","Stdout","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","from","from","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","read","read","readable","readable","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","writable","writable","write","write","Component","add","bound","button","graphic","icon","image","paint","panel","terminal","Button","ButtonInner","add","az","az","borrow","borrow","borrow_mut","borrow_mut","bound","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","from","from","graphic","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","paint","parent","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","text","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","Graphics","az","borrow","borrow_mut","bounding_box","cast_from","checked_as","checked_cast_from","clipped","clone","clone_into","color_converted","cropped","draw_iter","drv","from","into","new","overflowing_as","overflowing_cast_from","point","saturating_as","saturating_cast_from","size","size","to_owned","translated","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","FILEICON","IconController","IconControllerInner","add","az","az","borrow","borrow","borrow_mut","borrow_mut","bound","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","files","from","from","graphic","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","paint","parent","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","ImageComp","ImageInner","add","az","az","borrow","borrow","borrow_mut","borrow_mut","bound","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","from","from","graphic","image","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","paint","parent","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","Panel","PanelInner","add","az","az","borrow","borrow","borrow_mut","borrow_mut","bound","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","comps","from","from","graphic","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","paint","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","Terminal","TerminalInner","add","az","az","borrow","borrow","borrow_mut","borrow_mut","bound","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","comps","from","from","graphic","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","paint","repaint","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","text","titel","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","backtrace","panic","FrameTracker","KERNEL_SPACE","KERNEL_SPACE","MapPermission","MemorySet","PageTable","PageTableEntry","PhysAddr","PhysPageNum","StepByOne","UserBuffer","UserBufferIterator","VirtAddr","VirtPageNum","address","frame_alloc","frame_allocator","frame_dealloc","heap_allocator","init","kernel_token","memory_set","page_table","remap_test","translated_byte_buffer","translated_ref","translated_refmut","translated_str","0","0","0","0","PA_WIDTH_SV39","PPN_WIDTH_SV39","PhysAddr","PhysPageNum","SimpleRange","SimpleRangeIterator","StepByOne","VA_WIDTH_SV39","VPNRange","VPN_WIDTH_SV39","VirtAddr","VirtPageNum","aligned","aligned","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","ceil","ceil","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","current","draw","end","eq","eq","eq","eq","floor","floor","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_bytes_array","get_end","get_mut","get_mut","get_pte_array","get_ref","get_start","indexes","into","into","into","into","into","into","into_iter","into_iter","l","ne","ne","ne","ne","new","new","next","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","page_offset","page_offset","partial_cmp","partial_cmp","partial_cmp","partial_cmp","r","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","step","step","step","to_owned","to_owned","to_owned","to_owned","to_owned","translated","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","FRAME_ALLOCATOR","FrameAllocator","FrameAllocatorImpl","FrameTracker","StackFrameAllocator","__private_field","alloc","alloc","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","current","dealloc","dealloc","deref","drop","end","fmt","frame_alloc","frame_allocator_test","frame_dealloc","from","from","from","init","init_frame_allocator","into","into","into","new","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","ppn","recycled","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","HEAP_ALLOCATOR","HEAP_SPACE","handle_alloc_error","heap_test","init_heap","Framed","Identical","KERNEL_SPACE","MapArea","MapPermission","MapType","MemorySet","R","U","W","X","__private_field","activate","all","areas","az","az","az","az","az","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone_into","clone_into","cmp","complement","contains","copy_data","data_frames","deref","difference","ebss","edata","ekernel","empty","eq","eq","erodata","etext","extend","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_another","from_bits","from_bits_truncate","from_bits_unchecked","from_elf","from_existed_user","from_iter","hash","insert","insert_framed_area","intersection","intersects","into","into","into","into","into","is_all","is_empty","kernel_token","map","map_one","map_perm","map_trampoline","map_type","ne","new","new_bare","new_kernel","not","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","page_table","partial_cmp","push","recycle_data_pages","remap_test","remove","remove_area_with_start_vpn","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sbss_with_stack","sdata","set","srodata","stext","strampoline","sub","sub_assign","symmetric_difference","to_owned","to_owned","toggle","token","translate","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","union","unmap","unmap_one","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vpn_range","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","A","D","G","PTEFlags","PageTable","PageTableEntry","R","U","UserBuffer","UserBufferIterator","V","W","X","all","az","az","az","az","az","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buffers","buffers","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone_into","clone_into","cmp","complement","contains","current_buffer","current_idx","difference","empty","empty","eq","executable","extend","find_pte","find_pte_create","flags","fmt","fmt","fmt","fmt","fmt","frames","from","from","from","from","from","from_bits","from_bits_truncate","from_bits_unchecked","from_iter","from_token","hash","insert","intersection","intersects","into","into","into","into","into","into_iter","into_iter","is_all","is_empty","is_valid","len","map","ne","new","new","new","next","not","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","partial_cmp","ppn","readable","remove","root_ppn","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","set","sub","sub_assign","symmetric_difference","to_owned","to_owned","toggle","token","translate","translate_va","translated_byte_buffer","translated_ref","translated_refmut","translated_str","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","union","unmap","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","writable","SBI_CLEAR_IPI","SBI_CONSOLE_GETCHAR","SBI_CONSOLE_PUTCHAR","SBI_REMOTE_FENCE_I","SBI_REMOTE_SFENCE_VMA","SBI_REMOTE_SFENCE_VMA_ASID","SBI_SEND_IPI","SBI_SET_TIMER","SBI_SHUTDOWN","console_getchar","console_putchar","sbi_call","set_timer","shutdown","Condvar","Mutex","MutexBlocking","MutexSpin","Semaphore","UPIntrFreeCell","UPIntrRefMut","condvar","mutex","semaphore","up","Condvar","CondvarInner","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","from","from","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","signal","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wait_no_sched","wait_queue","wait_with_mutex","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","Mutex","MutexBlocking","MutexBlockingInner","MutexSpin","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","from","from","from","inner","into","into","into","lock","lock","lock","locked","locked","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unlock","unlock","unlock","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wait_queue","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","Semaphore","SemaphoreInner","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","count","down","from","from","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","up","wait_queue","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","0","INTR_MASKING_INFO","IntrMaskingInfo","UPIntrFreeCell","UPIntrRefMut","UPSafeCellRaw","__private_field","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","deref","deref","deref_mut","drop","enter","exclusive_access","exclusive_session","exit","from","from","from","from","from","get_mut","inner","inner","into","into","into","into","into","nested_level","new","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sie_before_masking","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","PAD","PAD","SYSCALL_CLOSE","SYSCALL_CONDVAR_CREATE","SYSCALL_CONDVAR_SIGNAL","SYSCALL_CONDVAR_WAIT","SYSCALL_CREATE_DESKTOP","SYSCALL_DUP","SYSCALL_EXEC","SYSCALL_EXIT","SYSCALL_FORK","SYSCALL_GETPID","SYSCALL_GETTID","SYSCALL_GET_TIME","SYSCALL_KILL","SYSCALL_MUTEX_CREATE","SYSCALL_MUTEX_LOCK","SYSCALL_MUTEX_UNLOCK","SYSCALL_OPEN","SYSCALL_PIPE","SYSCALL_READ","SYSCALL_SEMAPHORE_CREATE","SYSCALL_SEMAPHORE_DOWN","SYSCALL_SEMAPHORE_UP","SYSCALL_SLEEP","SYSCALL_THREAD_CREATE","SYSCALL_WAITPID","SYSCALL_WAITTID","SYSCALL_WRITE","SYSCALL_YIELD","create_desktop","fs","gui","process","sync","syscall","thread","sys_close","sys_dup","sys_open","sys_pipe","sys_read","sys_write","DESKTOP","DT","PAD","__private_field","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","create_desktop","create_terminal","deref","deref","from","from","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","sys_exec","sys_exit","sys_fork","sys_get_time","sys_getpid","sys_kill","sys_waitpid","sys_yield","sys_condvar_create","sys_condvar_signal","sys_condvar_wait","sys_mutex_create","sys_mutex_lock","sys_mutex_unlock","sys_semaphore_create","sys_semaphore_down","sys_semaphore_up","sys_sleep","sys_gettid","sys_thread_create","sys_waittid","IDLE_PID","INITPROC","KernelStack","PidHandle","SignalFlags","TaskContext","TaskControlBlock","TaskStatus","__private_field","add_initproc","add_task","az","block_current_and_run_next","block_current_task","borrow","borrow_mut","cast_from","check_signals_of_current","checked_as","checked_cast_from","context","current_add_signal","current_kstack_top","current_process","current_task","current_trap_cx","current_trap_cx_user_va","current_user_token","deref","exit_current_and_run_next","from","id","into","kstack_alloc","manager","overflowing_as","overflowing_cast_from","pid2process","pid_alloc","process","processor","remove_from_pid2process","run_tasks","saturating_as","saturating_cast_from","schedule","signal","suspend_current_and_run_next","switch","take_current_task","task","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","TaskContext","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","from","goto_trap_return","into","overflowing_as","overflowing_cast_from","ra","s","saturating_as","saturating_cast_from","sp","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","zero_init","0","0","IDLE_PID","KSTACK_ALLOCATOR","KernelStack","PID_ALLOCATOR","PidHandle","RecycleAllocator","TaskUserRes","__private_field","__private_field","alloc","alloc_tid","alloc_user_res","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","current","dealloc","dealloc_tid","dealloc_user_res","deref","deref","drop","drop","drop","from","from","from","from","from","from","get_top","into","into","into","into","into","into","kernel_stack_position","kstack_alloc","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","pid_alloc","process","push_on_top","recycled","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","tid","trap_cx_bottom_from_tid","trap_cx_ppn","trap_cx_user_va","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","ustack_base","ustack_base","ustack_bottom_from_tid","ustack_top","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","PID2PCB","TASK_MANAGER","TaskManager","__private_field","__private_field","add","add_task","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","deref","deref","fetch","fetch_task","from","from","from","insert_into_pid2process","into","into","into","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","pid2process","ready_queue","remove_from_pid2process","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ProcessControlBlock","ProcessControlBlockInner","alloc_fd","alloc_tid","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","children","condvar_list","dealloc_tid","exec","exit_code","fd_table","fork","from","from","get_task","get_user_token","getpid","inner","inner_exclusive_access","into","into","is_zombie","memory_set","mutex_list","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","parent","pid","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","semaphore_list","signals","task_res_allocator","tasks","thread_count","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","PROCESSOR","Processor","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","current","current","current_kstack_top","current_process","current_task","current_trap_cx","current_trap_cx_user_va","current_user_token","deref","from","from","get_idle_task_cx_ptr","idle_task_cx","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","run_tasks","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","schedule","take_current","take_current_task","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","SIGABRT","SIGFPE","SIGILL","SIGINT","SIGSEGV","SignalFlags","all","az","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow_mut","cast_from","check_error","checked_as","checked_cast_from","clone","clone_into","cmp","complement","contains","difference","empty","eq","extend","fmt","fmt","fmt","fmt","fmt","from","from_bits","from_bits_truncate","from_bits_unchecked","from_iter","hash","insert","intersection","intersects","into","is_all","is_empty","ne","not","overflowing_as","overflowing_cast_from","partial_cmp","remove","saturating_as","saturating_cast_from","set","sub","sub_assign","symmetric_difference","to_owned","toggle","try_from","try_into","type_id","union","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","__switch","Blocking","Ready","Running","TaskControlBlock","TaskControlBlockInner","TaskStatus","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","eq","exit_code","from","from","from","get_status","get_trap_cx","get_user_token","inner","inner_exclusive_access","into","into","into","kstack","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","process","res","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","task_cx","task_status","to_owned","trap_cx_ppn","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","MSEC_PER_SEC","TICKS_PER_SEC","TIMERS","TimerCondVar","__private_field","add_timer","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","check_timer","checked_as","checked_as","checked_cast_from","checked_cast_from","cmp","deref","eq","expire_ms","from","from","get_time","get_time_ms","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","partial_cmp","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","set_next_trigger","task","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","TrapContext","context","disable_supervisor_interrupt","enable_supervisor_interrupt","enable_timer_interrupt","init","set_kernel_trap_entry","set_user_trap_entry","trap_from_kernel","trap_handler","trap_return","TrapContext","app_init_context","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","fmt","from","into","kernel_satp","kernel_sp","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","sepc","set_sp","sstatus","trap_handler","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","x"],"q":["os","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::board","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::config","","","","","","","","","","os::console","","","","","","","","","","","","","","","","","","","","","","os::drivers","","","","","","","","","","os::drivers::block","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::block::sdcard","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::block::sdcard::InitError","","","os::drivers::block::virtio_blk","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::bus","os::drivers::bus::virtio","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::chardev","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::chardev::ns16550a","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::gpu","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::input","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::plic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::fs","","","","","","","","","","","","","","","","","","os::fs::inode","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::fs::pipe","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::fs::stdio","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::gui","","","","","","","","","","os::gui::button","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::gui::graphic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::gui::icon","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::gui::image","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::gui::panel","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::gui::terminal","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::lang_items","","os::mm","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::address","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::frame_allocator","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::heap_allocator","","","","","os::mm::memory_set","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::page_table","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sbi","","","","","","","","","","","","","","os::sync","","","","","","","","","","","os::sync::condvar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::mutex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::semaphore","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::up","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::syscall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::syscall::fs","","","","","","os::syscall::gui","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::syscall::process","","","","","","","","os::syscall::sync","","","","","","","","","","os::syscall::thread","","","os::task","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::context","","","","","","","","","","","","","","","","","","","","","","","","","os::task::id","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::manager","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::process","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::processor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::signal","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::switch","os::task::task","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::timer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::trap","","","","","","","","","","","os::trap::context","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","RISCV64 configuration","","","","","","Address of the sifive_test mapped device.","","","","","","","","Exit with specified return code.","Exit qemu with specified exit code.","Encode the exit code using EXIT_FAILURE_FLAG.","Exit QEMU using EXIT_FAILURE, aka 1.","","Exit QEMU using EXIT_SUCCESS, aka 0, if possible.","","Returns the argument unchanged.","Calls U::from(self).","","Create an instance.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","Number of blocks to erase (SDC) ","Initiate initialization process (SDC) ","","SD commands ","Software reset ","Read CID register ","Stop to read data ","Change R/W block size ","Read block ","Read multiple blocks ","Write a block ","Write multiple blocks ","Leading command for ACMD* ","Read OCR ","Enable/disable CRC check ","Check voltage range (SDC V2) ","Read CSD register ","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Card Identification Data: CID Register","Card Specific Data: CSD Register","Card information","","CS value passed to SPI controller, this is a dummy value …","GPIOHS GPIO number to use for controlling the SD card CS …","Data token start byte, Start Multiple Block Read ","Data token start byte, Start Multiple Block Write ","Data token start byte, Start Single Block Read ","Data token start byte, Start Single Block Write ","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Connect pins to internal functions ","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","InterruptEnableRegister","LineStatusRegister","Model Control Register","","","","","","","","","","ignore FCR","ignore MSR","ignore other registers","ignore SCR","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","","","","","","","","","","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","","","","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns an empty set of flags.","Returns an empty set of flags.","Returns an empty set of flags.","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","","","","","","","","interrupt enable register","interrupt enable register","interrupt identification register","","","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","line control register","line control register","line status register","line status register","model control register","modem control register","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","","","","","","","","","","","","","","","","","","","receiver buffer register","","","","","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","","","","","","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","transmitter holding register","","","","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","","","","","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","","Returns the difference between the flags in self and other.","Returns an empty set of flags.","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","","","","","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","","","Returns the complement of this set of flags.","","","","","","","","","","","","","","Do not check validity for simplicity Return (readable, …","","","Removes the specified flags in-place.","","","","","","","","","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","Toggles the specified flags in-place.","","","","","","","","","","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Return (read_end, write_end)","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Definitions","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","","","","","","","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","data: start-aligned but maybe with shorter length assume …","","","Returns the difference between the flags in self and other.","","","","Returns an empty set of flags.","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Include sections in elf and trampoline, also returns …","","","","Inserts the specified flags in-place.","Assume that no conflicts.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","","","","Mention that trampoline is not collected by areas.","","","","","Without kernel stacks.","Returns the complement of this set of flags.","","","","","","","","","","","","","","","","Removes the specified flags in-place.","","","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","","","","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","","","","","","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","","","Returns the difference between the flags in self and other.","Returns an empty set of flags.","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","","Temporarily used to get arguments from user space.","","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","","","","","","","","Returns the complement of this set of flags.","","","","","","","","","","","","","","Removes the specified flags in-place.","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","","Toggles the specified flags in-place.","","","","","","","Load a string from other address spaces into kernel space …","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Panic if the data has been borrowed.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","inner data","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","If there is not a child process whose pid is same as …","","","","","","","","","","","","","","thread does not exist, return -1 thread has not exited …","","","","","","","","","","","","","","This function must be followed by a schedule","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Return (bottom, top) of a kernel stack in kernel space.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Only support processes with a single thread.","","","Only support processes with a single thread.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","Returns the difference between the flags in self and other.","Returns an empty set of flags.","","","","","","","","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","","","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","Returns the complement of this set of flags.","","","","Removes the specified flags in-place.","","","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","Toggles the specified flags in-place.","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","",""],"i":[0,2,2,0,2,2,2,2,2,0,0,0,2,0,2,0,0,2,0,0,2,2,0,0,0,2,2,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,8,8,0,133,8,0,133,8,133,8,8,8,0,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,0,14,14,14,14,14,14,14,14,14,14,14,14,0,14,14,14,14,14,0,14,14,27,18,18,21,0,18,18,18,18,18,18,18,18,18,18,18,18,18,19,20,20,17,17,19,22,22,19,20,20,20,20,20,20,20,20,20,20,17,0,20,21,21,20,20,20,21,0,20,20,21,21,21,21,20,20,20,21,20,21,20,20,0,0,0,0,0,0,0,0,0,0,0,22,22,0,20,20,20,20,20,20,20,20,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,18,19,20,21,22,18,19,20,21,22,17,23,17,18,18,19,20,21,22,17,27,18,19,20,21,22,23,17,17,17,17,17,27,17,0,17,27,18,19,20,21,22,23,0,17,17,27,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,27,17,17,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,17,17,18,19,20,21,22,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,17,27,18,19,20,21,22,23,27,17,17,134,135,134,0,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,0,0,0,32,136,32,136,32,136,32,136,32,136,32,136,32,32,136,136,136,32,136,32,136,32,136,32,136,136,32,136,32,136,32,136,32,136,32,136,32,136,32,136,136,32,136,32,0,0,0,34,34,34,34,34,34,34,34,34,137,34,0,34,34,137,34,34,34,34,34,34,34,34,34,137,37,37,36,37,0,0,0,0,0,0,37,35,0,36,35,0,43,42,43,42,35,36,37,42,43,41,138,40,35,36,37,41,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,40,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,35,35,35,35,35,36,36,36,36,36,37,37,37,37,37,42,43,41,138,40,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,40,35,36,37,42,43,42,41,40,35,36,37,35,36,37,35,36,37,42,43,41,138,40,35,36,37,35,36,37,35,36,37,42,43,42,43,42,43,35,36,37,41,40,35,36,37,138,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,35,36,37,42,41,40,138,41,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,35,36,37,35,36,37,35,36,37,35,36,37,43,35,36,37,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,42,43,41,138,40,35,36,37,41,40,41,0,0,0,0,0,44,45,44,45,44,45,44,45,44,45,44,45,44,44,45,139,45,45,44,139,45,45,45,44,45,45,44,45,44,45,44,45,44,45,44,45,44,45,44,45,44,45,44,139,45,45,44,45,44,48,0,0,0,0,0,0,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,46,47,48,46,47,140,48,48,46,47,48,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,46,47,0,50,0,50,49,50,49,49,50,49,50,49,50,49,50,49,50,49,49,50,50,49,49,49,49,49,50,49,49,49,49,50,49,49,50,49,50,49,49,50,49,50,49,49,50,49,50,49,50,49,50,49,50,49,50,49,50,49,50,49,50,0,0,0,0,0,0,0,0,0,0,0,0,0,141,141,0,141,141,52,0,0,0,52,52,0,52,52,53,52,55,142,53,52,52,52,52,52,52,52,52,52,55,142,53,52,55,142,53,52,55,142,53,52,55,142,53,52,55,142,53,52,52,52,52,52,52,53,52,52,52,52,52,52,52,52,52,55,142,53,52,52,52,52,52,52,55,142,52,52,52,55,142,53,52,52,52,0,52,55,52,142,0,55,142,53,52,55,142,53,52,52,55,55,52,55,55,52,55,142,53,52,55,142,53,52,52,52,52,52,52,52,55,142,53,52,55,142,53,52,55,142,53,52,52,55,142,53,52,55,142,53,52,55,142,53,52,55,142,53,52,55,55,55,58,58,58,0,0,0,0,57,57,57,57,59,57,58,59,57,58,59,57,58,59,59,57,58,59,57,58,59,57,58,58,58,58,59,57,58,57,59,57,58,0,57,59,57,58,59,57,58,59,57,59,59,59,59,57,58,59,57,58,57,57,57,58,59,57,58,59,57,58,59,57,58,59,57,58,59,57,58,59,57,58,59,57,58,59,59,59,57,57,59,0,0,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,60,61,0,62,62,0,0,0,0,62,0,0,0,0,63,63,143,63,143,63,143,63,63,143,63,143,63,143,63,143,143,63,63,143,63,63,143,63,143,63,143,63,143,63,143,143,63,143,63,143,63,143,63,143,63,143,63,143,63,143,0,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,0,0,0,73,73,144,73,144,73,144,73,73,144,73,144,73,144,144,73,144,144,73,73,144,73,73,144,73,144,73,144,73,144,73,144,73,144,73,144,73,144,73,144,73,144,73,144,73,144,0,0,74,74,145,74,145,74,145,74,74,145,74,145,74,145,74,145,145,145,74,74,145,74,74,145,74,145,74,145,74,145,74,145,74,145,74,145,74,145,74,145,74,145,74,145,74,145,0,0,75,75,146,75,146,75,146,75,75,146,75,146,75,146,146,75,146,146,75,75,146,75,75,146,75,146,75,75,146,75,146,75,146,75,146,75,146,75,146,75,146,75,146,75,146,0,0,76,76,147,76,147,76,147,76,76,147,76,147,76,147,147,76,147,147,76,76,147,76,76,147,76,147,76,76,76,147,76,147,147,147,76,147,76,147,76,147,76,147,76,147,76,147,76,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,79,80,81,0,0,0,0,0,0,0,0,0,0,0,0,78,79,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,78,79,84,78,79,80,81,83,84,78,79,80,81,83,78,79,80,81,83,78,79,80,81,83,78,79,80,81,84,84,84,78,79,80,81,78,79,78,79,80,81,84,78,78,78,79,79,79,80,80,80,81,81,81,83,80,83,78,80,80,78,83,81,84,78,79,80,81,83,84,83,83,78,79,80,81,84,83,84,84,78,79,80,81,83,84,78,79,80,81,83,78,79,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,148,80,81,78,79,80,81,83,84,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,84,78,79,80,81,83,0,0,0,0,0,87,149,86,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,86,149,86,87,88,86,88,0,0,0,88,86,87,86,0,88,86,87,149,88,86,88,86,87,88,86,87,88,86,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,88,86,87,0,0,0,0,0,92,92,0,0,0,0,0,91,91,91,91,95,90,91,90,90,93,95,92,91,91,91,91,91,91,91,91,91,90,93,95,92,91,90,93,95,92,91,90,93,95,92,91,90,93,95,92,91,90,93,95,92,91,92,91,92,91,91,91,91,93,93,95,91,0,0,0,91,92,91,0,0,91,92,91,91,91,91,91,90,93,95,92,91,93,91,91,91,90,90,91,91,91,90,91,91,90,93,95,92,91,91,91,0,93,93,93,90,93,91,93,90,90,91,90,93,95,92,91,90,93,95,92,91,90,91,90,90,0,91,90,90,93,95,92,91,90,93,95,92,91,0,0,91,0,0,0,91,91,91,92,91,91,90,90,90,93,95,92,91,90,93,95,92,91,90,93,95,92,91,91,93,93,90,93,95,92,91,90,93,95,92,91,93,90,93,95,92,91,90,93,95,92,91,97,97,97,0,0,0,97,97,0,0,97,97,97,97,94,51,98,97,96,97,97,97,97,97,97,96,97,97,94,51,98,97,96,94,51,98,97,96,51,98,94,51,98,97,96,94,51,98,97,96,94,51,98,97,96,97,96,97,96,97,97,97,98,98,97,97,96,97,96,97,94,94,96,97,97,97,97,97,94,94,51,98,97,96,97,97,97,97,94,97,97,97,97,94,51,98,97,96,51,98,97,97,96,51,94,97,94,51,96,98,97,94,51,98,97,96,94,51,98,97,96,97,96,96,97,94,94,51,98,97,96,94,51,98,97,96,97,97,97,97,97,96,97,94,94,94,0,0,0,0,94,51,98,97,96,94,51,98,97,96,94,51,98,97,96,97,94,94,51,98,97,96,94,51,98,97,96,94,51,98,97,96,94,51,98,97,96,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,150,99,150,99,150,99,150,99,150,99,150,99,150,99,99,150,99,99,150,99,150,99,150,99,150,99,99,150,99,150,99,150,99,150,99,150,99,150,99,99,150,99,150,0,0,0,0,102,103,151,102,103,151,102,103,151,102,103,151,102,103,151,102,103,151,102,103,151,103,102,103,151,101,102,103,102,151,102,103,102,103,151,102,103,151,102,103,151,102,103,151,102,103,151,102,103,151,102,103,151,101,102,103,102,103,151,102,103,151,151,102,103,151,102,103,151,0,0,104,152,104,152,104,152,104,152,104,152,104,152,152,104,104,152,104,104,152,104,104,152,104,152,104,152,104,152,104,152,104,152,104,152,104,152,104,152,104,152,104,152,104,152,105,0,0,0,0,0,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,105,106,105,105,108,3,3,108,107,108,3,105,106,107,107,3,107,108,3,105,106,108,107,108,3,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,108,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,107,108,3,105,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,111,110,111,110,111,110,111,110,111,110,111,110,111,0,0,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,110,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,0,0,113,0,0,113,113,113,0,113,113,0,0,0,0,0,0,0,0,113,0,113,0,113,0,0,113,113,0,0,0,0,0,0,113,113,0,0,0,0,0,0,113,113,113,113,113,113,113,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,118,119,0,0,0,0,0,0,0,116,117,114,115,115,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,114,114,115,115,116,117,118,119,115,114,118,119,115,116,117,119,114,118,119,115,116,117,0,0,114,115,114,118,119,115,116,117,114,118,119,115,116,117,0,115,119,114,114,118,119,115,116,117,114,118,119,115,116,117,115,0,115,115,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,114,118,119,115,116,117,115,115,0,115,114,118,119,115,116,117,114,118,119,115,116,117,0,0,0,123,124,121,0,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,123,124,121,0,121,123,124,0,121,123,124,121,121,123,124,121,123,124,0,121,0,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,121,123,124,0,0,125,125,120,125,120,125,120,125,120,125,120,125,120,125,125,125,125,120,125,125,120,120,125,125,125,120,120,120,120,125,125,125,125,120,120,125,120,125,125,120,120,125,120,125,125,125,125,125,125,120,125,120,125,120,125,120,125,120,125,120,125,120,125,0,0,128,126,128,126,128,126,128,126,128,126,128,126,128,126,126,0,0,0,0,0,0,128,126,128,126,126,126,128,126,126,128,126,128,0,126,128,126,128,0,126,0,126,128,126,128,126,128,126,128,126,128,126,128,126,128,112,112,112,112,112,0,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,0,129,129,129,0,0,0,122,130,129,122,130,129,122,130,129,122,130,129,122,130,129,122,130,129,129,129,129,130,122,130,129,130,130,122,122,122,122,130,129,122,122,122,130,129,122,130,129,122,130,122,130,129,122,130,129,130,130,129,130,122,130,129,122,130,129,122,130,129,122,130,129,122,130,129,122,130,129,122,130,129,0,0,0,0,132,0,131,132,131,132,131,132,131,132,0,131,132,131,132,131,132,131,131,131,132,0,0,131,132,131,132,131,132,131,131,132,131,132,0,131,131,132,131,132,131,132,131,132,131,132,131,132,131,132,0,0,0,0,0,0,0,0,0,0,0,0,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127],"f":[0,0,[[]],0,[[]],[[]],[[]],[[],1],[[],1],[[]],0,0,[2,3],0,[[]],0,0,[[]],0,0,[[]],[[]],0,0,[[],4],[[]],[[]],0,0,0,0,0,0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[]],[7,4],[[8,7],4],[7,7],[[],4],[8,4],[[],4],[8,4],[[]],[[]],[[]],[9,8],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[]],[[]],[[]],[[]],[10],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[[11,12],13],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[14,15],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],5],[[],5],[[],6],[[]],[[]],0,[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[17,[16]]]],[[[17,[16]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[17,[16]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[18,18],[19,19],[20,20],[21,21],[22,22],[[]],[[]],[[]],[[]],[[]],0,[23,3],[[[17,[16]]]],[[18,18],24],[[18,25],13],[[19,25],13],[[20,25],13],[[21,25],13],[[22,25],13],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[17,[16]]],[[5,[22]]]],[[[17,[16]]],[[5,[21]]]],[[[17,[16]]],[[5,[20]]]],[[[17,[16]]],26],[[[17,[16]]],26],[27],[[[17,[16]]],[[5,[22,19]]]],[[],[[17,[[29,[28]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[17,[16]]]],[[16,7,26],[[17,[16]]]],[[],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[27,30]],[[[17,[16]]]],[[[17,[16]],7],5],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[17,[16]],18,7,26]],0,0,[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[27,30]],[[[17,[16]]]],[[[17,[16]],7],5],0,0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],0,[[]],[31],[[]],[[],31],[[]],[[]],[[31,30]],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],0,[[]],[[]],[[31,30]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[32,3],[30,30],[[30,30],33],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[30,30],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[30,30],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[34,15],[[]],[[]],[[]],0,[[]],[[]],[[],26],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[26],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],35],[[],36],[[],37],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[35,35],35],[[36,36],36],[[37,37],37],[[35,35]],[[36,36]],[[37,37]],[[35,35],35],[[36,36],36],[[37,37],37],[[35,35]],[[36,36]],[[37,37]],[35,26],[36,26],[37,26],0,0,0,[[35,35],35],[[36,36],36],[[37,37],37],[[35,35]],[[36,36]],[[37,37]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[35,35],[36,36],[37,37],[[]],[[]],[[]],[[35,35],38],[[36,36],38],[[37,37],38],[35,35],[36,36],[37,37],0,[[35,35],24],[[36,36],24],[[37,37],24],[[35,35],35],[[36,36],36],[[37,37],37],[[],35],[[],36],[[],37],[[35,35],24],[[36,36],24],[[37,37],24],[[35,39]],[[36,39]],[[37,39]],[[35,25],13],[[35,25],13],[[35,25],13],[[35,25],13],[[35,25],13],[[36,25],13],[[36,25],13],[[36,25],13],[[36,25],13],[[36,25],13],[[37,25],13],[[37,25],13],[[37,25],13],[[37,25],13],[[37,25],13],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[26,[[1,[35]]]],[26,[[1,[36]]]],[26,[[1,[37]]]],[26,35],[26,36],[26,37],[26,35],[26,36],[26,37],[39,35],[39,36],[39,37],[40],[35],[36],[37],0,0,0,[41],0,[[35,35]],[[36,36]],[[37,37]],[[35,35],35],[[36,36],36],[[37,37],37],[[35,35],24],[[36,36],24],[[37,37],24],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[35,24],[36,24],[37,24],[35,24],[36,24],[37,24],0,0,0,0,0,0,[[35,35],24],[[36,36],24],[[37,37],24],[30,41],[[],40],[35,35],[36,36],[37,37],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[35,35],[[1,[38]]]],[[36,36],[[1,[38]]]],[[37,37],[[1,[38]]]],0,[41,[[1,[26]]]],[40,26],0,[41,42],[[35,35]],[[36,36]],[[37,37]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[35,35,24]],[[36,36,24]],[[37,37,24]],[[35,35],35],[[36,36],36],[[37,37],37],[[35,35]],[[36,36]],[[37,37]],[[35,35],35],[[36,36],36],[[37,37],37],0,[[]],[[]],[[]],[[35,35]],[[36,36]],[[37,37]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[35,35],35],[[36,36],36],[[37,37],37],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[41,26]],[[40,26]],[41,43],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[44,15],0,[[]],[45],[[]],[[]],[[]],[45],0,[[]],[[]],[[],45],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[45],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[46,15],[47,15],[[]],[[]],[[]],[[]],[48],[[]],[[]],[[]],[30,48],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[49,30,50],7],[[49,30,50],7],[50,50],[[]],[[49,30,50,7]],[[49,30,50,30]],[[49,30,50,30]],[[49,30,50,30]],[[]],[[]],[[49,30],7],[[49,30,50],7],[[30,50],30],[[]],[[]],[30,49],[[]],[[]],[[]],[[]],[[49,30],7],[[]],[[]],[[]],[[]],[[49,30,7]],[[49,30,50,7]],[[],30],[[49,30,50],7],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[51,30],[[],24],0,[[],24],[51,30],0,0,0,0,0,0,0,0,0,0,[[],52],[[]],[[]],[[]],[[]],[[52,52],52],[[52,52]],[[52,52],52],[[52,52]],[52,7],0,[[52,52],52],[[52,52]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[52,52],[[]],[[52,52],38],[52,52],[[52,52],24],[53,15],[[52,52],52],[[],52],[[52,52],24],[[52,39]],[[52,25],13],[[52,25],13],[[52,25],13],[[52,25],13],[[52,25],13],[[]],[[]],[[]],[[]],[7,[[1,[52]]]],[7,52],[7,52],[39,52],[52],0,0,[[52,52]],[[52,52],52],[[52,52],24],[[]],[[]],[[]],[[]],[52,24],[52,24],[[]],[[52,52],24],[[24,24,[15,[54]]],55],[52,52],0,[[12,52],[[1,[[15,[55]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[52,52],[[1,[38]]]],[[55,51],30],[55,[[56,[26]]]],[52],[55,24],0,[[52,52]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[52,52,24]],[[52,52],52],[[52,52]],[[52,52],52],[[]],[[52,52]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[52,52],52],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[55,24],0,[[55,51],30],0,0,0,0,0,0,0,[57,24],0,[57,30],[57,30],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[58,58],[[]],[[58,58],24],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],57],[[]],[[]],[[]],[[]],[[]],[[]],[[59,51],30],[57,26],[[[15,[[3,[57]]]]],59],[59,24],0,[[]],[[]],[[]],[[]],[[]],[[]],[[57,15]],0,0,[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[59,24],0,[[59,51],30],[[57,26]],0,[[[15,[[3,[57]]]]],59],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[60,51],30],[[61,51],30],[60,24],[61,24],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[60,24],[61,24],[[60,51],30],[[61,51],30],0,[[[15,[62]]]],[[]],0,0,0,0,[[]],0,0,0,0,[[63,[15,[62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[63],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],0,0,[[]],[[]],[[64,65,[1,[[15,[62]]]],66],63],[[]],[[]],[[]],[[]],[63],0,[[]],[[]],[[]],[[]],0,[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[],67],[[]],[[],1],[[],1],[67,68],[69,69],[[]],[[],70],[67,71],[69,5],0,[[]],[[]],[[64,65],69],[[]],[[]],0,[[]],[[]],[69,64],0,[[]],[65,72],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0,0,0,[[73,[15,[62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[73],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],0,0,[[]],[[]],[[[56,[66]],[1,[[15,[62]]]]],73],[[]],[[]],[[]],[[]],[73],0,[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[74,[15,[62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[74],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],0,0,0,[[]],[[]],[[64,65,[1,[[15,[62]]]]],74],[[]],[[]],[[]],[[]],[74],0,[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[75,[15,[62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[75],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],0,0,[[]],[[]],[[64,65],75],[[]],[[]],[[]],[[]],[75],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[76,[15,[62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[76],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,[[]],[[]],0,0,[[]],[[]],[[64,65,[1,[[15,[62]]]],[1,[66]],66],76],[[]],[[]],[[]],[[]],[76],[[76,66]],[[]],[[]],[[]],[[]],0,0,[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[77,4],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[78,24],[79,24],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[78,80],[79,81],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[78,78],[79,79],[80,80],[81,81],[[[83,[82]]],[[83,[82]]]],[[]],[[]],[[]],[[]],[[]],[[78,78],38],[[79,79],38],[[80,80],38],[[81,81],38],0,[[],5],0,[[78,78],24],[[79,79],24],[[80,80],24],[[81,81],24],[78,80],[79,81],[[78,25],13],[[79,25],13],[[80,25],13],[[81,25],13],[[]],[[]],[30,78],[80,78],[[]],[30,79],[81,79],[78,80],[[]],[30,80],[79,81],[[]],[30,81],[[]],[80],[83],[78],[80],[80],[78],[83],[81],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[83],0,[[78,78],24],[[79,79],24],[[80,80],24],[[81,81],24],[[],84],[[],83],[84,1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[78,30],[79,30],[[78,78],[[1,[38]]]],[[79,79],[[1,[38]]]],[[80,80],[[1,[38]]]],[[81,81],[[1,[38]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[80],[81],[[]],[[]],[[]],[[]],[[]],[65,85],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[],[[1,[80]]]],[86,[[1,[80]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[80],[[86,80]],[87,3],[88],0,[[88,25],13],[[],[[1,[88]]]],[[]],[80],[[]],[[]],[[]],[[86,80,80]],[[]],[[]],[[]],[[]],[[]],[80,88],[[],86],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[89,4],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[90],[[],91],0,[[]],[[]],[[]],[[]],[[]],[[91,91],91],[[91,91]],[[91,91],91],[[91,91]],[91,26],0,[[91,91],91],[[91,91]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[92,92],[91,91],[[]],[[]],[[91,91],38],[91,91],[[91,91],24],[[93,94]],0,[95,15],[[91,91],91],0,0,0,[[],91],[[92,92],24],[[91,91],24],0,0,[[91,39]],[[92,25],13],[[91,25],13],[[91,25],13],[[91,25],13],[[91,25],13],[[91,25],13],[[]],[[]],[[]],[[]],[[]],[93,93],[26,[[1,[91]]]],[26,91],[26,91],[[]],[90,90],[39,91],[91],[[91,91]],[[90,79,79,91]],[[91,91],91],[[91,91],24],[[]],[[]],[[]],[[]],[[]],[91,24],[91,24],[[],30],[[93,94]],[[93,94,81]],0,[90],0,[[91,91],24],[[79,79,92,91],93],[[],90],[[],90],[91,91],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[91,91],[[1,[38]]]],[[90,93,1]],[90],[[]],[[91,91]],[[90,81]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[91,91,24]],0,0,0,[[91,91],91],[[91,91]],[[91,91],91],[[]],[[]],[[91,91]],[90,30],[[90,81],[[1,[96]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[91,91],91],[[93,94]],[[93,94,81]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[],97],[[]],[[]],[[]],[[]],[[]],[[97,97],97],[[97,97]],[[97,97],97],[[97,97]],[97,26],0,0,[[97,97],97],[[97,97]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[97,97],[96,96],[[]],[[]],[[97,97],38],[97,97],[[97,97],24],0,0,[[97,97],97],[[],97],[[],96],[[97,97],24],[96,24],[[97,39]],[[94,81],[[1,[96]]]],[[94,81],[[1,[96]]]],[96,97],[[97,25],13],[[97,25],13],[[97,25],13],[[97,25],13],[[97,25],13],0,[[]],[[]],[[]],[[]],[[]],[26,[[1,[97]]]],[26,97],[26,97],[39,97],[30,94],[97],[[97,97]],[[97,97],97],[[97,97],24],[[]],[[]],[[]],[[]],[[]],[51],[[]],[97,24],[97,24],[96,24],[51,30],[[94,81,80,97]],[[97,97],24],[[],94],[56,51],[[80,97],96],[98,1],[97,97],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[97,97],[[1,[38]]]],[96,80],[96,24],[[97,97]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[97,97,24]],[[97,97],97],[[97,97]],[[97,97],97],[[]],[[]],[[97,97]],[94,30],[[94,81],[[1,[96]]]],[[94,79],[[1,[78]]]],[[30,26,30],56],[30],[30],[[30,26],66],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[97,97],97],[[94,81]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[96,24],0,0,0,0,0,0,0,0,0,[[],30],[30],[[30,30,30,30],30],[30],[30,4],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],0,[[]],[[]],[[],99],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[99],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[99,100],0,[[99,[15,[101]]]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[102],[103],0,0,[[],102],[[],103],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[102],[103],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,[104],[[]],[[]],0,[[]],[[]],[30,104],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[104],0,[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[105],[106,107],[105],[105],[108],[3,105],[3],[108],[[]],[[]],[[]],[[]],[[]],[107],0,0,[[]],[[]],[[]],[[]],[[]],0,[[],107],[[],108],[[],3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[30,109],0,[30,109],[30,109],[[26,7],109],[30,109],[[30,26,30],109],[[30,26,30],109],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],109],[[]],[110,3],[111,3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[26,30],109],[33,4],[[],109],[[],109],[[],109],[[30,7],109],[[109,33],109],[[],109],[30,109],[30,109],[[30,30],109],[24,109],[30,109],[30,109],[30,109],[30,109],[30,109],[30,109],[[],109],[[30,30],109],[30,33],0,0,0,0,0,0,0,0,0,[[]],0,[[]],[[]],[[],100],[[]],[[]],[[]],[[],1],[[],1],[[],1],0,[112],0,0,0,0,0,0,[113,15],[33],[[]],0,[[]],0,0,[[]],[[]],0,0,0,0,0,0,[[]],[[]],0,0,[[]],0,0,0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[]],[30,100],[[]],[[]],[[]],0,0,[[]],[[]],0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[[],100],0,0,0,0,0,0,0,0,0,0,0,[114,30],[115],[115],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[[114,30]],[115],[115],[116,3],[117,3],[118],[119],[115],[[]],[[]],[[]],[[]],[[]],[[]],[119,30],[[]],[[]],[[]],[[]],[[]],[[]],[30],[[],119],[[],114],[[[15,[120]],30,24],115],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],118],0,[119],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[30,30],[115,80],[115,30],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[115,30],0,[[30,30],30],[115,30],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[121,[15,[122]]]],[[[15,[122]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[123,3],[124,3],[121,[[1,[[15,[122]]]]]],[[],[[1,[[15,[122]]]]]],[[]],[[]],[[]],[[30,[15,[120]]]],[[]],[[]],[[]],[[],121],[[]],[[]],[[]],[[]],[[]],[[]],[30,[[1,[[15,[120]]]]]],0,[30],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[125,30],[125,30],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,0,[[125,30]],[[15,[56,[66]]]],0,0,[15,[[15,[120]]]],[[]],[[]],[[125,30],[[15,[122]]]],[125,30],[120,30],0,[120,[[105,[125]]]],[[]],[[]],0,0,0,[[],[[15,[120]]]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],0,0,0,0,[125,30],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[126,[[1,[[15,[122]]]]]],0,[[],30],[[],[[15,[120]]]],[[],[[1,[[15,[122]]]]]],[[],127],[[],30],[[],30],[128,3],[[]],[[]],[126,100],0,[[]],[[]],[[],126],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[100],[126,[[1,[[15,[122]]]]]],[[],[[1,[[15,[122]]]]]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[],112],[[]],[[112,112],112],[[112,112]],[[112,112],112],[[112,112]],[112,7],0,[[112,112],112],[[112,112]],[[]],[[]],[[]],[112,1],[[],1],[[],1],[112,112],[[]],[[112,112],38],[112,112],[[112,112],24],[[112,112],112],[[],112],[[112,112],24],[[112,39]],[[112,25],13],[[112,25],13],[[112,25],13],[[112,25],13],[[112,25],13],[[]],[7,[[1,[112]]]],[7,112],[7,112],[39,112],[112],[[112,112]],[[112,112],112],[[112,112],24],[[]],[112,24],[112,24],[[112,112],24],[112,112],[[]],[[]],[[112,112],[[1,[38]]]],[[112,112]],[[]],[[]],[[112,112,24]],[[112,112],112],[[112,112]],[[112,112],112],[[]],[[112,112]],[[],5],[[],5],[[],6],[[112,112],112],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[129,129],[[]],[[129,129],24],0,[[]],[[]],[[]],[130,129],[130,127],[122,30],0,[122,[[105,[130]]]],[[]],[[]],[[]],0,[[[15,[120]],30,24],122],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[30,[15,[122]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[131,131],38],[132,3],[[131,131],24],0,[[]],[[]],[[],30],[[],30],[[]],[[]],[[]],[[]],[[]],[[]],[[131,131],[[1,[38]]]],[[]],[[]],[[]],[[]],[[]],0,[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[127],[[],4],[[],4],0,[[30,30,30,30,30],127],[[]],[[]],[[]],[[]],[[],1],[[],1],[[127,25],13],[[]],[[]],0,0,[[]],[[]],[[]],[[]],0,[[127,30]],0,0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0],"p":[[4,"Option"],[3,"DEV_NON_BLOCKING_ACCESS"],[3,"UPIntrFreeCell"],[15,"never"],[4,"Result"],[3,"TypeId"],[15,"u32"],[3,"RISCV64"],[15,"u64"],[3,"Arguments"],[3,"Stdout"],[15,"str"],[6,"Result"],[3,"BLOCK_DEVICE"],[3,"Arc"],[8,"SPI"],[3,"SDCard"],[4,"CMD"],[4,"InitError"],[3,"SDCardCSD"],[3,"SDCardCID"],[3,"SDCardInfo"],[3,"PERIPHERALS"],[15,"bool"],[3,"Formatter"],[15,"u8"],[3,"SDCardWrapper"],[3,"SPI0"],[3,"SPIImpl"],[15,"usize"],[3,"VirtIOBlock"],[3,"QUEUE_FRAMES"],[15,"i32"],[3,"UART"],[3,"IER"],[3,"LSR"],[3,"MCR"],[4,"Ordering"],[8,"IntoIterator"],[3,"NS16550a"],[3,"NS16550aRaw"],[3,"ReadWithoutDLAB"],[3,"WriteWithoutDLAB"],[3,"GPU_DEVICE"],[3,"VirtIOGPU"],[3,"KEYBOARD_DEVICE"],[3,"MOUSE_DEVICE"],[3,"VirtIOINPUT"],[3,"PLIC"],[4,"IntrTargetPriority"],[3,"UserBuffer"],[3,"OpenFlags"],[3,"ROOT_INODE"],[3,"Inode"],[3,"OSInode"],[3,"Vec"],[3,"PipeRingBuffer"],[4,"RingBufferStatus"],[3,"Pipe"],[3,"Stdin"],[3,"Stdout"],[8,"Component"],[3,"Button"],[3,"Size"],[3,"Point"],[3,"String"],[3,"Rectangle"],[3,"Clipped"],[3,"Graphics"],[3,"ColorConverted"],[3,"Cropped"],[3,"Translated"],[3,"IconController"],[3,"ImageComp"],[3,"Panel"],[3,"Terminal"],[3,"PanicInfo"],[3,"PhysAddr"],[3,"VirtAddr"],[3,"PhysPageNum"],[3,"VirtPageNum"],[8,"Clone"],[3,"SimpleRange"],[3,"SimpleRangeIterator"],[3,"Translated"],[3,"StackFrameAllocator"],[3,"FRAME_ALLOCATOR"],[3,"FrameTracker"],[3,"Layout"],[3,"MemorySet"],[3,"MapPermission"],[4,"MapType"],[3,"MapArea"],[3,"PageTable"],[3,"KERNEL_SPACE"],[3,"PageTableEntry"],[3,"PTEFlags"],[3,"UserBufferIterator"],[3,"Condvar"],[3,"TaskContext"],[8,"Mutex"],[3,"MutexSpin"],[3,"MutexBlocking"],[3,"Semaphore"],[3,"UPIntrRefMut"],[3,"INTR_MASKING_INFO"],[3,"UPSafeCellRaw"],[3,"IntrMaskingInfo"],[15,"isize"],[3,"DESKTOP"],[3,"PAD"],[3,"SignalFlags"],[3,"INITPROC"],[3,"RecycleAllocator"],[3,"TaskUserRes"],[3,"PID_ALLOCATOR"],[3,"KSTACK_ALLOCATOR"],[3,"PidHandle"],[3,"KernelStack"],[3,"ProcessControlBlock"],[3,"TaskManager"],[3,"TaskControlBlock"],[3,"TASK_MANAGER"],[3,"PID2PCB"],[3,"ProcessControlBlockInner"],[3,"Processor"],[3,"TrapContext"],[3,"PROCESSOR"],[4,"TaskStatus"],[3,"TaskControlBlockInner"],[3,"TimerCondVar"],[3,"TIMERS"],[8,"QEMUExit"],[13,"CMDFailed"],[13,"CardCapacityStatusNotSet"],[3,"VirtioHal"],[8,"CharDevice"],[3,"NS16550aInner"],[8,"GPUDevice"],[8,"INPUTDevice"],[8,"File"],[3,"OSInodeInner"],[3,"ButtonInner"],[3,"IconControllerInner"],[3,"ImageInner"],[3,"PanelInner"],[3,"TerminalInner"],[8,"StepByOne"],[8,"FrameAllocator"],[3,"CondvarInner"],[3,"MutexBlockingInner"],[3,"SemaphoreInner"]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/ch9/settings.css b/ch9/settings.css index 7178567e..a142e14f 100644 --- a/ch9/settings.css +++ b/ch9/settings.css @@ -1 +1 @@ -.setting-line{margin:0.6em 0 0.6em 0.3em;position:relative;}.setting-line .choices{display:flex;flex-wrap:wrap;}.setting-line .radio-line input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:1px solid;outline:none;-webkit-appearance:none;cursor:pointer;border-radius:50%;}.setting-line .radio-line input+span{padding-bottom:1px;}.radio-line .setting-name{width:100%;}.radio-line .choice{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:flex;align-items:center;cursor:pointer;}.radio-line .choice+.choice{margin-left:0.5em;}.toggle{position:relative;display:inline-block;width:100%;height:27px;margin-right:20px;display:flex;align-items:center;cursor:pointer;}.toggle input{opacity:0;position:absolute;}.slider{position:relative;width:45px;display:block;height:28px;margin-right:20px;cursor:pointer;background-color:#ccc;transition:.3s;}.slider:before{position:absolute;content:"";height:19px;width:19px;left:4px;bottom:4px;transition:.3s;}input:checked+.slider:before{transform:translateX(19px);}.setting-line>.sub-settings{padding-left:42px;width:100%;display:block;}#settings .setting-line{margin:1.2em 0.6em;} \ No newline at end of file +.setting-line{margin:0.6em 0 0.6em 0.3em;position:relative;}.setting-line .choices{display:flex;flex-wrap:wrap;}.setting-line .radio-line input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:1px solid;outline:none;-webkit-appearance:none;cursor:pointer;border-radius:50%;}.setting-line .radio-line input+span{padding-bottom:1px;}.radio-line .setting-name{width:100%;}.radio-line .choice{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:flex;align-items:center;cursor:pointer;}.radio-line .choice+.choice{margin-left:0.5em;}.toggle{position:relative;width:100%;margin-right:20px;display:flex;align-items:center;cursor:pointer;}.toggle input{opacity:0;position:absolute;}.slider{position:relative;width:45px;min-width:45px;display:block;height:28px;margin-right:20px;cursor:pointer;background-color:#ccc;transition:.3s;}.slider:before{position:absolute;content:"";height:19px;width:19px;left:4px;bottom:4px;transition:.3s;}input:checked+.slider:before{transform:translateX(19px);}.setting-line>.sub-settings{padding-left:42px;width:100%;display:block;}#settings .setting-line{margin:1.2em 0.6em;} \ No newline at end of file diff --git a/ch9/settings.html b/ch9/settings.html index d7076efd..ecb27c50 100644 --- a/ch9/settings.html +++ b/ch9/settings.html @@ -1,8 +1 @@ -Rustdoc settings -

Rustdoc settings

Back
- \ No newline at end of file +Rustdoc settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/ch9/source-files.js b/ch9/source-files.js index e97cf6aa..314c1906 100644 --- a/ch9/source-files.js +++ b/ch9/source-files.js @@ -1,3 +1,4 @@ -var sourcesIndex = {}; -sourcesIndex["os"] = {"name":"","dirs":[{"name":"boards","files":["qemu.rs"]},{"name":"drivers","dirs":[{"name":"block","files":["mod.rs","sdcard.rs","virtio_blk.rs"]},{"name":"bus","files":["mod.rs","virtio.rs"]},{"name":"chardev","files":["mod.rs","ns16550a.rs"]},{"name":"gpu","files":["mod.rs"]},{"name":"input","files":["mod.rs"]}],"files":["mod.rs","plic.rs"]},{"name":"fs","files":["inode.rs","mod.rs","pipe.rs","stdio.rs"]},{"name":"gui","files":["button.rs","graphic.rs","icon.rs","image.rs","mod.rs","panel.rs","terminal.rs"]},{"name":"mm","files":["address.rs","frame_allocator.rs","heap_allocator.rs","memory_set.rs","mod.rs","page_table.rs"]},{"name":"sync","files":["condvar.rs","mod.rs","mutex.rs","semaphore.rs","up.rs"]},{"name":"syscall","files":["fs.rs","gui.rs","mod.rs","process.rs","sync.rs","thread.rs"]},{"name":"task","files":["context.rs","id.rs","manager.rs","mod.rs","process.rs","processor.rs","signal.rs","switch.rs","task.rs"]},{"name":"trap","files":["context.rs","mod.rs"]}],"files":["config.rs","console.rs","lang_items.rs","main.rs","sbi.rs","timer.rs"]}; +var sourcesIndex = JSON.parse('{\ +"os":["",[["boards",[],["qemu.rs"]],["drivers",[["block",[],["mod.rs","sdcard.rs","virtio_blk.rs"]],["bus",[],["mod.rs","virtio.rs"]],["chardev",[],["mod.rs","ns16550a.rs"]],["gpu",[],["mod.rs"]],["input",[],["mod.rs"]]],["mod.rs","plic.rs"]],["fs",[],["inode.rs","mod.rs","pipe.rs","stdio.rs"]],["gui",[],["button.rs","graphic.rs","icon.rs","image.rs","mod.rs","panel.rs","terminal.rs"]],["mm",[],["address.rs","frame_allocator.rs","heap_allocator.rs","memory_set.rs","mod.rs","page_table.rs"]],["sync",[],["condvar.rs","mod.rs","mutex.rs","semaphore.rs","up.rs"]],["syscall",[],["fs.rs","gui.rs","mod.rs","process.rs","sync.rs","thread.rs"]],["task",[],["context.rs","id.rs","manager.rs","mod.rs","process.rs","processor.rs","signal.rs","switch.rs","task.rs"]],["trap",[],["context.rs","mod.rs"]]],["config.rs","console.rs","lang_items.rs","main.rs","sbi.rs","timer.rs"]]\ +}'); createSourceSidebar(); diff --git a/ch9/source-script.js b/ch9/source-script.js index bdad923d..e0fac073 100644 --- a/ch9/source-script.js +++ b/ch9/source-script.js @@ -1 +1 @@ -"use strict";(function(){const rootPath=document.getElementById("rustdoc-vars").attributes["data-root-path"].value;let oldScrollPosition=0;function closeSidebarIfMobile(){if(window.innerWidth"){if(window.innerWidth";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";const inner=document.createElement("button");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}inner.onclick=toggleSidebar;sidebarToggle.appendChild(inner);return sidebarToggle}function createSourceSidebar(){const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="source-sidebar";let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(key=>{sourcesIndex[key].name=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",hasFoundFile)});container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}const lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSourceLines(match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to{onEachLazy(e.getElementsByTagName("span"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSourceHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",()=>{const match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSourceLines(match)}});onEachLazy(document.getElementsByClassName("line-numbers"),el=>{el.addEventListener("click",handleSourceHighlight)});highlightSourceLines();window.createSourceSidebar=createSourceSidebar})() \ No newline at end of file +"use strict";(function(){const rootPath=document.getElementById("rustdoc-vars").attributes["data-root-path"].value;let oldScrollPosition=0;const NAME_OFFSET=0;const DIRS_OFFSET=1;const FILES_OFFSET=2;function closeSidebarIfMobile(){if(window.innerWidth"){if(window.innerWidth";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";const inner=document.createElement("button");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}inner.onclick=toggleSidebar;sidebarToggle.appendChild(inner);return sidebarToggle}function createSourceSidebar(){const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="source-sidebar";let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(key=>{sourcesIndex[key][NAME_OFFSET]=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",hasFoundFile)});container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}const lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSourceLines(match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to{onEachLazy(e.getElementsByTagName("span"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSourceHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",()=>{const match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSourceLines(match)}});onEachLazy(document.getElementsByClassName("line-numbers"),el=>{el.addEventListener("click",handleSourceHighlight)});highlightSourceLines();window.createSourceSidebar=createSourceSidebar})() \ No newline at end of file diff --git a/ch9/src/os/boards/qemu.rs.html b/ch9/src/os/boards/qemu.rs.html index 9a3bc091..861102bc 100644 --- a/ch9/src/os/boards/qemu.rs.html +++ b/ch9/src/os/boards/qemu.rs.html @@ -1,10 +1,4 @@ -qemu.rs - source -
1
+qemu.rs - source
1
 2
 3
 4
@@ -271,5 +265,4 @@
 
 pub const QEMU_EXIT_HANDLE: RISCV64 = RISCV64::new(VIRT_TEST);
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/config.rs.html b/ch9/src/os/config.rs.html index defd5119..54c7274d 100644 --- a/ch9/src/os/config.rs.html +++ b/ch9/src/os/config.rs.html @@ -1,10 +1,4 @@ -config.rs - source -
1
+config.rs - source
1
 2
 3
 4
@@ -31,5 +25,4 @@
 
 pub use crate::board::{CLOCK_FREQ, MMIO};
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/console.rs.html b/ch9/src/os/console.rs.html index 77bea8c6..2d95b459 100644 --- a/ch9/src/os/console.rs.html +++ b/ch9/src/os/console.rs.html @@ -1,10 +1,4 @@ -console.rs - source -
1
+console.rs - source
1
 2
 3
 4
@@ -81,5 +75,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/drivers/block/mod.rs.html b/ch9/src/os/drivers/block/mod.rs.html index e474578b..0e56373a 100644 --- a/ch9/src/os/drivers/block/mod.rs.html +++ b/ch9/src/os/drivers/block/mod.rs.html @@ -1,10 +1,4 @@ -mod.rs - source -
1
+mod.rs - source
1
 2
 3
 4
@@ -65,5 +59,4 @@
     println!("block device test passed!");
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/drivers/block/sdcard.rs.html b/ch9/src/os/drivers/block/sdcard.rs.html index 07d98ddf..379c52b6 100644 --- a/ch9/src/os/drivers/block/sdcard.rs.html +++ b/ch9/src/os/drivers/block/sdcard.rs.html @@ -1,10 +1,4 @@ -sdcard.rs - source -
1
+sdcard.rs - source
1
 2
 3
 4
@@ -1539,5 +1533,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/drivers/block/virtio_blk.rs.html b/ch9/src/os/drivers/block/virtio_blk.rs.html index 5c0c52c4..0c0a58f3 100644 --- a/ch9/src/os/drivers/block/virtio_blk.rs.html +++ b/ch9/src/os/drivers/block/virtio_blk.rs.html @@ -1,10 +1,4 @@ -virtio_blk.rs - source -
1
+virtio_blk.rs - source
1
 2
 3
 4
@@ -177,5 +171,4 @@
 }
 
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/drivers/bus/mod.rs.html b/ch9/src/os/drivers/bus/mod.rs.html index 1360062f..92419f17 100644 --- a/ch9/src/os/drivers/bus/mod.rs.html +++ b/ch9/src/os/drivers/bus/mod.rs.html @@ -1,10 +1,3 @@ -mod.rs - source -
1
+mod.rs - source
1
 
pub mod virtio;
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/drivers/bus/virtio.rs.html b/ch9/src/os/drivers/bus/virtio.rs.html index f619d7d6..b63a6e70 100644 --- a/ch9/src/os/drivers/bus/virtio.rs.html +++ b/ch9/src/os/drivers/bus/virtio.rs.html @@ -1,10 +1,4 @@ -virtio.rs - source -
1
+virtio.rs - source
1
 2
 3
 4
@@ -108,5 +102,4 @@
             .0
     }
 }
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/drivers/chardev/mod.rs.html b/ch9/src/os/drivers/chardev/mod.rs.html index 42f95332..80d403b6 100644 --- a/ch9/src/os/drivers/chardev/mod.rs.html +++ b/ch9/src/os/drivers/chardev/mod.rs.html @@ -1,10 +1,4 @@ -mod.rs - source -
1
+mod.rs - source
1
 2
 3
 4
@@ -39,5 +33,4 @@
     pub static ref UART: Arc<CharDeviceImpl> = Arc::new(CharDeviceImpl::new());
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/drivers/chardev/ns16550a.rs.html b/ch9/src/os/drivers/chardev/ns16550a.rs.html index 431a9216..9bcf901c 100644 --- a/ch9/src/os/drivers/chardev/ns16550a.rs.html +++ b/ch9/src/os/drivers/chardev/ns16550a.rs.html @@ -1,10 +1,4 @@ -ns16550a.rs - source -
1
+ns16550a.rs - source
1
 2
 3
 4
@@ -355,5 +349,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/drivers/gpu/mod.rs.html b/ch9/src/os/drivers/gpu/mod.rs.html index 40deda22..9884a44b 100644 --- a/ch9/src/os/drivers/gpu/mod.rs.html +++ b/ch9/src/os/drivers/gpu/mod.rs.html @@ -1,10 +1,4 @@ -mod.rs - source -
1
+mod.rs - source
1
 2
 3
 4
@@ -139,5 +133,4 @@
     fn update_cursor(&self) {}
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/drivers/input/mod.rs.html b/ch9/src/os/drivers/input/mod.rs.html index ff81eaea..646afa3a 100644 --- a/ch9/src/os/drivers/input/mod.rs.html +++ b/ch9/src/os/drivers/input/mod.rs.html @@ -1,10 +1,4 @@ -mod.rs - source -
1
+mod.rs - source
1
 2
 3
 4
@@ -155,5 +149,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/drivers/mod.rs.html b/ch9/src/os/drivers/mod.rs.html index f410ec5d..3fdf8eb4 100644 --- a/ch9/src/os/drivers/mod.rs.html +++ b/ch9/src/os/drivers/mod.rs.html @@ -1,10 +1,4 @@ -mod.rs - source -
1
+mod.rs - source
1
 2
 3
 4
@@ -41,5 +35,4 @@
 #[cfg(feature = "board_qemu")]
 pub use bus::*;
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/drivers/plic.rs.html b/ch9/src/os/drivers/plic.rs.html index 0e25a8c4..4f3bfa2f 100644 --- a/ch9/src/os/drivers/plic.rs.html +++ b/ch9/src/os/drivers/plic.rs.html @@ -1,10 +1,4 @@ -plic.rs - source -
1
+plic.rs - source
1
 2
 3
 4
@@ -253,5 +247,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/fs/inode.rs.html b/ch9/src/os/fs/inode.rs.html index 99936300..3d8fbdf9 100644 --- a/ch9/src/os/fs/inode.rs.html +++ b/ch9/src/os/fs/inode.rs.html @@ -1,10 +1,4 @@ -inode.rs - source -
1
+inode.rs - source
1
 2
 3
 4
@@ -283,5 +277,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/fs/mod.rs.html b/ch9/src/os/fs/mod.rs.html index 5275fc8e..82d38fbc 100644 --- a/ch9/src/os/fs/mod.rs.html +++ b/ch9/src/os/fs/mod.rs.html @@ -1,10 +1,4 @@ -mod.rs - source -
1
+mod.rs - source
1
 2
 3
 4
@@ -37,5 +31,4 @@
 pub use pipe::{make_pipe, Pipe};
 pub use stdio::{Stdin, Stdout};
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/fs/pipe.rs.html b/ch9/src/os/fs/pipe.rs.html index c4e6ed42..06bc0a5d 100644 --- a/ch9/src/os/fs/pipe.rs.html +++ b/ch9/src/os/fs/pipe.rs.html @@ -1,10 +1,4 @@ -pipe.rs - source -
1
+pipe.rs - source
1
 2
 3
 4
@@ -337,5 +331,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/fs/stdio.rs.html b/ch9/src/os/fs/stdio.rs.html index 672a434e..9f52adfc 100644 --- a/ch9/src/os/fs/stdio.rs.html +++ b/ch9/src/os/fs/stdio.rs.html @@ -1,10 +1,4 @@ -stdio.rs - source -
1
+stdio.rs - source
1
 2
 3
 4
@@ -151,5 +145,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/gui/button.rs.html b/ch9/src/os/gui/button.rs.html index 0a72c828..e6061a71 100644 --- a/ch9/src/os/gui/button.rs.html +++ b/ch9/src/os/gui/button.rs.html @@ -1,10 +1,4 @@ -button.rs - source -
1
+button.rs - source
1
 2
 3
 4
@@ -163,5 +157,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/gui/graphic.rs.html b/ch9/src/os/gui/graphic.rs.html index 9f2220b9..1552c11a 100644 --- a/ch9/src/os/gui/graphic.rs.html +++ b/ch9/src/os/gui/graphic.rs.html @@ -1,10 +1,4 @@ -graphic.rs - source -
1
+graphic.rs - source
1
 2
 3
 4
@@ -119,5 +113,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/gui/icon.rs.html b/ch9/src/os/gui/icon.rs.html index 9fbd3678..d83350d1 100644 --- a/ch9/src/os/gui/icon.rs.html +++ b/ch9/src/os/gui/icon.rs.html @@ -1,10 +1,4 @@ -icon.rs - source -
1
+icon.rs - source
1
 2
 3
 4
@@ -163,5 +157,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/gui/image.rs.html b/ch9/src/os/gui/image.rs.html index 7a44b5c0..37d1996c 100644 --- a/ch9/src/os/gui/image.rs.html +++ b/ch9/src/os/gui/image.rs.html @@ -1,10 +1,4 @@ -image.rs - source -
1
+image.rs - source
1
 2
 3
 4
@@ -165,5 +159,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/gui/mod.rs.html b/ch9/src/os/gui/mod.rs.html index 5128383d..2d7ed3d8 100644 --- a/ch9/src/os/gui/mod.rs.html +++ b/ch9/src/os/gui/mod.rs.html @@ -1,10 +1,4 @@ -mod.rs - source -
1
+mod.rs - source
1
 2
 3
 4
@@ -47,5 +41,4 @@
     fn bound(&self) -> (Size, Point);
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/gui/panel.rs.html b/ch9/src/os/gui/panel.rs.html index 81461f63..2df83283 100644 --- a/ch9/src/os/gui/panel.rs.html +++ b/ch9/src/os/gui/panel.rs.html @@ -1,10 +1,4 @@ -panel.rs - source -
1
+panel.rs - source
1
 2
 3
 4
@@ -137,5 +131,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/gui/terminal.rs.html b/ch9/src/os/gui/terminal.rs.html index 622a955b..9674658f 100644 --- a/ch9/src/os/gui/terminal.rs.html +++ b/ch9/src/os/gui/terminal.rs.html @@ -1,10 +1,4 @@ -terminal.rs - source -
1
+terminal.rs - source
1
 2
 3
 4
@@ -215,5 +209,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/lang_items.rs.html b/ch9/src/os/lang_items.rs.html index 6a7f6b97..a9b8a860 100644 --- a/ch9/src/os/lang_items.rs.html +++ b/ch9/src/os/lang_items.rs.html @@ -1,10 +1,4 @@ -lang_items.rs - source -
1
+lang_items.rs - source
1
 2
 3
 4
@@ -79,5 +73,4 @@
     println!("---END   BACKTRACE---");
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/main.rs.html b/ch9/src/os/main.rs.html index c17920de..8a15b142 100644 --- a/ch9/src/os/main.rs.html +++ b/ch9/src/os/main.rs.html @@ -1,10 +1,4 @@ -main.rs - source -
1
+main.rs - source
1
 2
 3
 4
@@ -171,5 +165,4 @@
     panic!("Unreachable in rust_main!");
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/mm/address.rs.html b/ch9/src/os/mm/address.rs.html index 20ccd638..c39b1316 100644 --- a/ch9/src/os/mm/address.rs.html +++ b/ch9/src/os/mm/address.rs.html @@ -1,10 +1,4 @@ -address.rs - source -
1
+address.rs - source
1
 2
 3
 4
@@ -529,5 +523,4 @@
 }
 pub type VPNRange = SimpleRange<VirtPageNum>;
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/mm/frame_allocator.rs.html b/ch9/src/os/mm/frame_allocator.rs.html index 42c1ef9b..c75e9441 100644 --- a/ch9/src/os/mm/frame_allocator.rs.html +++ b/ch9/src/os/mm/frame_allocator.rs.html @@ -1,10 +1,4 @@ -frame_allocator.rs - source -
1
+frame_allocator.rs - source
1
 2
 3
 4
@@ -259,5 +253,4 @@
     println!("frame_allocator_test passed!");
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/mm/heap_allocator.rs.html b/ch9/src/os/mm/heap_allocator.rs.html index 56f534a8..0054936e 100644 --- a/ch9/src/os/mm/heap_allocator.rs.html +++ b/ch9/src/os/mm/heap_allocator.rs.html @@ -1,10 +1,4 @@ -heap_allocator.rs - source -
1
+heap_allocator.rs - source
1
 2
 3
 4
@@ -95,5 +89,4 @@
     println!("heap_test passed!");
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/mm/memory_set.rs.html b/ch9/src/os/mm/memory_set.rs.html index 4fe8a0f5..9e25539f 100644 --- a/ch9/src/os/mm/memory_set.rs.html +++ b/ch9/src/os/mm/memory_set.rs.html @@ -1,10 +1,4 @@ -memory_set.rs - source -
1
+memory_set.rs - source
1
 2
 3
 4
@@ -745,5 +739,4 @@
     println!("remap_test passed!");
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/mm/mod.rs.html b/ch9/src/os/mm/mod.rs.html index af6f2d1d..ea6cee3b 100644 --- a/ch9/src/os/mm/mod.rs.html +++ b/ch9/src/os/mm/mod.rs.html @@ -1,10 +1,4 @@ -mod.rs - source -
1
+mod.rs - source
1
 2
 3
 4
@@ -49,5 +43,4 @@
     KERNEL_SPACE.exclusive_access().activate();
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/mm/page_table.rs.html b/ch9/src/os/mm/page_table.rs.html index 8a124cc3..0451e8e7 100644 --- a/ch9/src/os/mm/page_table.rs.html +++ b/ch9/src/os/mm/page_table.rs.html @@ -1,10 +1,4 @@ -page_table.rs - source -
1
+page_table.rs - source
1
 2
 3
 4
@@ -503,5 +497,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/sbi.rs.html b/ch9/src/os/sbi.rs.html index bf2abdb5..3a7671be 100644 --- a/ch9/src/os/sbi.rs.html +++ b/ch9/src/os/sbi.rs.html @@ -1,10 +1,4 @@ -sbi.rs - source -
1
+sbi.rs - source
1
 2
 3
 4
@@ -109,5 +103,4 @@
     panic!("It should shutdown!");
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/sync/condvar.rs.html b/ch9/src/os/sync/condvar.rs.html index 7861164e..c7fcb946 100644 --- a/ch9/src/os/sync/condvar.rs.html +++ b/ch9/src/os/sync/condvar.rs.html @@ -1,10 +1,4 @@ -condvar.rs - source -
1
+condvar.rs - source
1
 2
 3
 4
@@ -121,5 +115,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/sync/mod.rs.html b/ch9/src/os/sync/mod.rs.html index 8c3bd561..adfa3523 100644 --- a/ch9/src/os/sync/mod.rs.html +++ b/ch9/src/os/sync/mod.rs.html @@ -1,10 +1,4 @@ -mod.rs - source -
1
+mod.rs - source
1
 2
 3
 4
@@ -23,5 +17,4 @@
 pub use semaphore::Semaphore;
 pub use up::{UPIntrFreeCell, UPIntrRefMut};
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/sync/mutex.rs.html b/ch9/src/os/sync/mutex.rs.html index 18026e25..50c48536 100644 --- a/ch9/src/os/sync/mutex.rs.html +++ b/ch9/src/os/sync/mutex.rs.html @@ -1,10 +1,4 @@ -mutex.rs - source -
1
+mutex.rs - source
1
 2
 3
 4
@@ -181,5 +175,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/sync/semaphore.rs.html b/ch9/src/os/sync/semaphore.rs.html index 16e645cf..ac7adb53 100644 --- a/ch9/src/os/sync/semaphore.rs.html +++ b/ch9/src/os/sync/semaphore.rs.html @@ -1,10 +1,4 @@ -semaphore.rs - source -
1
+semaphore.rs - source
1
 2
 3
 4
@@ -95,5 +89,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/sync/up.rs.html b/ch9/src/os/sync/up.rs.html index be8ae3e9..e6c94cb0 100644 --- a/ch9/src/os/sync/up.rs.html +++ b/ch9/src/os/sync/up.rs.html @@ -1,10 +1,4 @@ -up.rs - source -
1
+up.rs - source
1
 2
 3
 4
@@ -285,5 +279,4 @@ impl<T> UPSafeCell<T> {
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/syscall/fs.rs.html b/ch9/src/os/syscall/fs.rs.html index 5020529f..cdc43e57 100644 --- a/ch9/src/os/syscall/fs.rs.html +++ b/ch9/src/os/syscall/fs.rs.html @@ -1,10 +1,4 @@ -fs.rs - source -
1
+fs.rs - source
1
 2
 3
 4
@@ -203,5 +197,4 @@
     new_fd as isize
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/syscall/gui.rs.html b/ch9/src/os/syscall/gui.rs.html index af963e7c..484c982d 100644 --- a/ch9/src/os/syscall/gui.rs.html +++ b/ch9/src/os/syscall/gui.rs.html @@ -1,10 +1,4 @@ -gui.rs - source -
1
+gui.rs - source
1
 2
 3
 4
@@ -131,5 +125,4 @@
     *pad = Some(arc_t);
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/syscall/mod.rs.html b/ch9/src/os/syscall/mod.rs.html index 52fe0783..22ebd66f 100644 --- a/ch9/src/os/syscall/mod.rs.html +++ b/ch9/src/os/syscall/mod.rs.html @@ -1,10 +1,4 @@ -mod.rs - source -
1
+mod.rs - source
1
 2
 3
 4
@@ -229,5 +223,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/syscall/process.rs.html b/ch9/src/os/syscall/process.rs.html index 3e48e9a2..651bbe77 100644 --- a/ch9/src/os/syscall/process.rs.html +++ b/ch9/src/os/syscall/process.rs.html @@ -1,10 +1,4 @@ -process.rs - source -
1
+process.rs - source
1
 2
 3
 4
@@ -239,5 +233,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/syscall/sync.rs.html b/ch9/src/os/syscall/sync.rs.html index cf5b9e12..ddaef287 100644 --- a/ch9/src/os/syscall/sync.rs.html +++ b/ch9/src/os/syscall/sync.rs.html @@ -1,10 +1,4 @@ -sync.rs - source -
1
+sync.rs - source
1
 2
 3
 4
@@ -273,5 +267,4 @@
     0
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/syscall/thread.rs.html b/ch9/src/os/syscall/thread.rs.html index bf9b9380..149974da 100644 --- a/ch9/src/os/syscall/thread.rs.html +++ b/ch9/src/os/syscall/thread.rs.html @@ -1,10 +1,4 @@ -thread.rs - source -
1
+thread.rs - source
1
 2
 3
 4
@@ -175,5 +169,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/task/context.rs.html b/ch9/src/os/task/context.rs.html index dd388f48..42740875 100644 --- a/ch9/src/os/task/context.rs.html +++ b/ch9/src/os/task/context.rs.html @@ -1,10 +1,4 @@ -context.rs - source -
1
+context.rs - source
1
 2
 3
 4
@@ -55,5 +49,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/task/id.rs.html b/ch9/src/os/task/id.rs.html index a43aa0a9..3f101e3b 100644 --- a/ch9/src/os/task/id.rs.html +++ b/ch9/src/os/task/id.rs.html @@ -1,10 +1,4 @@ -id.rs - source -
1
+id.rs - source
1
 2
 3
 4
@@ -455,5 +449,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/task/manager.rs.html b/ch9/src/os/task/manager.rs.html index 601d245e..64714057 100644 --- a/ch9/src/os/task/manager.rs.html +++ b/ch9/src/os/task/manager.rs.html @@ -1,10 +1,4 @@ -manager.rs - source -
1
+manager.rs - source
1
 2
 3
 4
@@ -115,5 +109,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/task/mod.rs.html b/ch9/src/os/task/mod.rs.html index 0f602dba..f9629390 100644 --- a/ch9/src/os/task/mod.rs.html +++ b/ch9/src/os/task/mod.rs.html @@ -1,10 +1,4 @@ -mod.rs - source -
1
+mod.rs - source
1
 2
 3
 4
@@ -325,5 +319,4 @@
     process_inner.signals |= signal;
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/task/process.rs.html b/ch9/src/os/task/process.rs.html index b26789ef..eb53f98d 100644 --- a/ch9/src/os/task/process.rs.html +++ b/ch9/src/os/task/process.rs.html @@ -1,10 +1,4 @@ -process.rs - source -
1
+process.rs - source
1
 2
 3
 4
@@ -521,5 +515,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/task/processor.rs.html b/ch9/src/os/task/processor.rs.html index 97d87d7f..534e9751 100644 --- a/ch9/src/os/task/processor.rs.html +++ b/ch9/src/os/task/processor.rs.html @@ -1,10 +1,4 @@ -processor.rs - source -
1
+processor.rs - source
1
 2
 3
 4
@@ -211,5 +205,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/task/signal.rs.html b/ch9/src/os/task/signal.rs.html index c854e231..3c565841 100644 --- a/ch9/src/os/task/signal.rs.html +++ b/ch9/src/os/task/signal.rs.html @@ -1,10 +1,4 @@ -signal.rs - source -
1
+signal.rs - source
1
 2
 3
 4
@@ -63,5 +57,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/task/switch.rs.html b/ch9/src/os/task/switch.rs.html index b6ca7961..c4cb829b 100644 --- a/ch9/src/os/task/switch.rs.html +++ b/ch9/src/os/task/switch.rs.html @@ -1,10 +1,4 @@ -switch.rs - source -
1
+switch.rs - source
1
 2
 3
 4
@@ -21,5 +15,4 @@
     pub fn __switch(current_task_cx_ptr: *mut TaskContext, next_task_cx_ptr: *const TaskContext);
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/task/task.rs.html b/ch9/src/os/task/task.rs.html index 6d5550bb..0111ca7d 100644 --- a/ch9/src/os/task/task.rs.html +++ b/ch9/src/os/task/task.rs.html @@ -1,10 +1,4 @@ -task.rs - source -
1
+task.rs - source
1
 2
 3
 4
@@ -165,5 +159,4 @@
     Blocking,
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/timer.rs.html b/ch9/src/os/timer.rs.html index 907b36f6..7af3cf83 100644 --- a/ch9/src/os/timer.rs.html +++ b/ch9/src/os/timer.rs.html @@ -1,10 +1,4 @@ -timer.rs - source -
1
+timer.rs - source
1
 2
 3
 4
@@ -151,5 +145,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/trap/context.rs.html b/ch9/src/os/trap/context.rs.html index 3f0097a0..72ae4b87 100644 --- a/ch9/src/os/trap/context.rs.html +++ b/ch9/src/os/trap/context.rs.html @@ -1,10 +1,4 @@ -context.rs - source -
1
+context.rs - source
1
 2
 3
 4
@@ -83,5 +77,4 @@
     }
 }
 
-
- \ No newline at end of file +
\ No newline at end of file diff --git a/ch9/src/os/trap/mod.rs.html b/ch9/src/os/trap/mod.rs.html index 1448c0d4..18ac933b 100644 --- a/ch9/src/os/trap/mod.rs.html +++ b/ch9/src/os/trap/mod.rs.html @@ -1,10 +1,4 @@ -mod.rs - source -
1
+mod.rs - source
1
 2
 3
 4
@@ -343,5 +337,4 @@
 
 pub use context::TrapContext;
 
-
- \ No newline at end of file +
\ No newline at end of file