From 0f0373f0672996ee3856078e06d713ce6b1d95b2 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Thu, 17 May 2012 20:59:11 -0500 Subject: [PATCH] Don't include generated html docs in git repo --- doc/html/bc_s.png | Bin 677 -> 0 bytes doc/html/bdwn.png | Bin 147 -> 0 bytes doc/html/closed.png | Bin 126 -> 0 bytes doc/html/doxygen.css | 1012 ------------- doc/html/doxygen.png | Bin 3942 -> 0 bytes doc/html/files.html | 108 -- doc/html/globals.html | 408 ----- doc/html/globals_defs.html | 149 -- doc/html/globals_enum.html | 122 -- doc/html/globals_eval.html | 249 ---- doc/html/globals_func.html | 231 --- doc/html/globals_type.html | 116 -- doc/html/index.html | 150 -- doc/html/jquery.js | 64 - doc/html/nav_f.png | Bin 159 -> 0 bytes doc/html/nav_h.png | Bin 97 -> 0 bytes doc/html/open.png | Bin 118 -> 0 bytes doc/html/search/all_77.html | 25 - doc/html/search/all_77.js | 100 -- doc/html/search/close.png | Bin 273 -> 0 bytes doc/html/search/defines_77.html | 25 - doc/html/search/defines_77.js | 15 - doc/html/search/enums_77.html | 25 - doc/html/search/enums_77.js | 6 - doc/html/search/enumvalues_77.html | 25 - doc/html/search/enumvalues_77.js | 46 - doc/html/search/files_77.html | 25 - doc/html/search/files_77.js | 4 - doc/html/search/functions_77.html | 25 - doc/html/search/functions_77.js | 40 - doc/html/search/mag_sel.png | Bin 563 -> 0 bytes doc/html/search/nomatches.html | 12 - doc/html/search/search.css | 238 --- doc/html/search/search.js | 807 ---------- doc/html/search/search_l.png | Bin 604 -> 0 bytes doc/html/search/search_m.png | Bin 158 -> 0 bytes doc/html/search/search_r.png | Bin 612 -> 0 bytes doc/html/search/typedefs_77.html | 25 - doc/html/search/typedefs_77.js | 4 - doc/html/tab_a.png | Bin 140 -> 0 bytes doc/html/tab_b.png | Bin 178 -> 0 bytes doc/html/tab_h.png | Bin 192 -> 0 bytes doc/html/tab_s.png | Bin 189 -> 0 bytes doc/html/tabs.css | 59 - doc/html/wimlib_8h.html | 2235 ---------------------------- doc/html/wimlib_8h_source.html | 309 ---- 46 files changed, 6659 deletions(-) delete mode 100644 doc/html/bc_s.png delete mode 100644 doc/html/bdwn.png delete mode 100644 doc/html/closed.png delete mode 100644 doc/html/doxygen.css delete mode 100644 doc/html/doxygen.png delete mode 100644 doc/html/files.html delete mode 100644 doc/html/globals.html delete mode 100644 doc/html/globals_defs.html delete mode 100644 doc/html/globals_enum.html delete mode 100644 doc/html/globals_eval.html delete mode 100644 doc/html/globals_func.html delete mode 100644 doc/html/globals_type.html delete mode 100644 doc/html/index.html delete mode 100644 doc/html/jquery.js delete mode 100644 doc/html/nav_f.png delete mode 100644 doc/html/nav_h.png delete mode 100644 doc/html/open.png delete mode 100644 doc/html/search/all_77.html delete mode 100644 doc/html/search/all_77.js delete mode 100644 doc/html/search/close.png delete mode 100644 doc/html/search/defines_77.html delete mode 100644 doc/html/search/defines_77.js delete mode 100644 doc/html/search/enums_77.html delete mode 100644 doc/html/search/enums_77.js delete mode 100644 doc/html/search/enumvalues_77.html delete mode 100644 doc/html/search/enumvalues_77.js delete mode 100644 doc/html/search/files_77.html delete mode 100644 doc/html/search/files_77.js delete mode 100644 doc/html/search/functions_77.html delete mode 100644 doc/html/search/functions_77.js delete mode 100644 doc/html/search/mag_sel.png delete mode 100644 doc/html/search/nomatches.html delete mode 100644 doc/html/search/search.css delete mode 100644 doc/html/search/search.js delete mode 100644 doc/html/search/search_l.png delete mode 100644 doc/html/search/search_m.png delete mode 100644 doc/html/search/search_r.png delete mode 100644 doc/html/search/typedefs_77.html delete mode 100644 doc/html/search/typedefs_77.js delete mode 100644 doc/html/tab_a.png delete mode 100644 doc/html/tab_b.png delete mode 100644 doc/html/tab_h.png delete mode 100644 doc/html/tab_s.png delete mode 100644 doc/html/tabs.css delete mode 100644 doc/html/wimlib_8h.html delete mode 100644 doc/html/wimlib_8h_source.html diff --git a/doc/html/bc_s.png b/doc/html/bc_s.png deleted file mode 100644 index e4018628b5b45cb4301037485a29d7d74ac22138..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 677 zcmV;W0$TlvP)X?0Pv5h+5!wElpi=&YL!gfY!djl#UDdPKy97F|A-deTa@qo3BWh1YQIvzmHR^g zFjV4I6pLB7_*vEZk^%p7c7Bh>0`4r^X#gpJE_Vz9fSHKqclcZaV^k3gX%h+1`u||O zZ+BY?7(R=ayr^kXE=E0Dw=$Ud3VJ?9^Cz@hP?388Cw5>9TloOJ>^KczCgj zns2=|0!a|)Yq3{hjL{xyy7|Tk0N}Pe+g9PUTL!4{#;eUhrNd@!_T<>Vu+35c)h>sq ztgb?(6W3oFLz#%?OMEV@{j#4LuDvjVGZ~6hpQT8li5b0yjvK8c4efl+vSz5)P6 zle78)00_Iv5)&E~hnOdcd}L}i+MU>k+Q8#@KjqJJN`gRj(~)RmNrck9ht@LelPtVO zwp(J;k!T=gC#%o(13-^E+g@aqc()pf{+j|0w)AH*Mq$54UjLv#jV$RYpz3Vjg$$=u z>yjfBQOhL=^@+#4#$l|{~}HZ-?1Yy{lI*$N}*YDC`<{+;>_#gMXZdz4NI00000 LNkvXXu0mjfx86dR diff --git a/doc/html/bdwn.png b/doc/html/bdwn.png deleted file mode 100644 index d0b575b75bb17ca8be0ea11f5b89e6f515e42f02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb2suf81S&@r>)`W zoMpOVbHi*4U$GNDGr3ztRD>1Hemtw)^_}lW#_Q$jl{Yp22Ssn!U$}NQL!}(gxzoGk v8BZ+U-rgwm=aTL8S&KLwd@nXUI$9eScU_ug?HiF!pe+oZu6{1-oD!M1|%O$WD@{VuAVNAAr*{o?>h22DDp4|bgj*t z)u^AqcA-V@guRYpb17F<&b?_~8HV>~XqWvB;^$!VVSTy0!eQcJp_yD7TIQA>7dijs YXf6~H5cs^Q6KEiVr>mdKI;Vst0NsWqGynhq diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css deleted file mode 100644 index c151fde3..00000000 --- a/doc/html/doxygen.css +++ /dev/null @@ -1,1012 +0,0 @@ -/* The standard CSS for doxygen */ - -body, table, div, p, dl { - font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; - font-size: 13px; - line-height: 1.3; -} - -/* @group Heading Levels */ - -h1 { - font-size: 150%; -} - -.title { - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2 { - font-size: 120%; -} - -h3 { - font-size: 100%; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd, p.starttd { - margin-top: 2px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited { - color: #4665A2; -} - -a.codeRef, a.codeRef:visited { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -.fragment { - font-family: monospace, fixed; - font-size: 105%; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; -} - -div.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 8px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memItemLeft, .memItemRight, .memTemplParams { - border-top: 1px solid #C4CFE5; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; -} - -.memname { - white-space: nowrap; - font-weight: bold; - margin-left: 6px; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 8px; - border-top-left-radius: 8px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 8px; - -moz-border-radius-topleft: 8px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 8px; - -webkit-border-top-left-radius: 8px; - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 2px 5px; - background-color: #FBFCFD; - border-top-width: 0; - /* opera specific markup */ - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 8px; - -moz-border-radius-bottomright: 8px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7); - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 8px; - -webkit-border-bottom-right-radius: 8px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7)); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} - -.params, .retval, .exception, .tparams { - border-spacing: 6px 2px; -} - -.params .paramname, .retval .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - - - - -/* @end */ - -/* @group Directory (tree) */ - -/* for the tree view */ - -.ftvtree { - font-family: sans-serif; - margin: 0px; -} - -/* these are for tree view when used as main index */ - -.directory { - font-size: 9pt; - font-weight: bold; - margin: 5px; -} - -.directory h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -/* -The following two styles can be used to replace the root node title -with an image of your choice. Simply uncomment the next two styles, -specify the name of your image and be sure to set 'height' to the -proper pixel height of your image. -*/ - -/* -.directory h3.swap { - height: 61px; - background-repeat: no-repeat; - background-image: url("yourimage.gif"); -} -.directory h3.swap span { - display: none; -} -*/ - -.directory > h3 { - margin-top: 0; -} - -.directory p { - margin: 0px; - white-space: nowrap; -} - -.directory div { - display: none; - margin: 0px; -} - -.directory img { - vertical-align: -30%; -} - -/* these are for tree view when not used as main index */ - -.directory-alt { - font-size: 100%; - font-weight: bold; -} - -.directory-alt h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -.directory-alt > h3 { - margin-top: 0; -} - -.directory-alt p { - margin: 0px; - white-space: nowrap; -} - -.directory-alt div { - display: none; - margin: 0px; -} - -.directory-alt img { - vertical-align: -30%; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - width: 100%; - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - width: 100%; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -div.ingroups -{ - margin-left: 5px; - font-size: 8pt; - padding-left: 5px; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 7px; -} - -dl -{ - padding: 0 0 0 10px; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section -{ - border-left:4px solid; - padding: 0 0 0 6px; -} - -dl.note -{ - border-color: #D0C000; -} - -dl.warning, dl.attention -{ - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant -{ - border-color: #00D000; -} - -dl.deprecated -{ - border-color: #505050; -} - -dl.todo -{ - border-color: #00C0E0; -} - -dl.test -{ - border-color: #3030E0; -} - -dl.bug -{ - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #90A5CE; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; -} - -dl.citelist dd { - margin:2px 0; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 20px 10px 10px; - width: 200px; -} - -div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 30px; -} - -div.toc li.level4 { - margin-left: 45px; -} - - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } - pre.fragment - { - overflow: visible; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - } -} - diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png deleted file mode 100644 index 635ed52fce7057ac24df92ec7664088a881fa5d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3942 zcmV-s51H_ZP)95ENDh(OT9xpYZC{M(=rqI* z+1erNEr&9zRjUI-4rN=4BBz>P@ys*xOjGRjzVE*Fx_qvyt9d@B@BO*&@8Mq!nM{Tc z_WoM84-~xLreSL9@vgZ{m2dF}`u=^ZF3syQ-s2tnBwCI3ZFvSfI20Wbj236~Urq*8Kfw@RKKfRQTgE>}uUHK^ptamY=o)LU(xy55zNQ(`qZ znZ&$O075mrrInIXQgw4%GCbMD8Vn`3n3$EaRwtP1D{A!Gs=e!L%3;ayv@I{rAw{xw z^x^>EIWQM8ob3m}$(BaupDMV;Ed8w5|i(*e`7rU$TOc&1o7`|!LyN5jHI z7uWAR!v4c2xMp?}QmRYyf>i}tYGU(g=>DW&==J@GbhR z5@BNVY3O$`^D%gk4khm9XpFhuwzxUhi9T=Du4rpVuYRSMPHeDqo+4htnZRU@G9`0& z9~p)CsFl1|t*wjfoTo&%davN^3RfJUhQ{ZZIAcD77X^XsF_iR&ZMQ;p>K5*+*48)x z+=<>nh+6Uq85jOkg>{z>a;+V`s(I;I%*5s+R@9a^wNoZ03(g9-EcH%uHvX&yp7`D#`9Kw>DU3s zjD-VuW_A-K)unlS4O3f>_B%pPONUmI#oyL};Lglp3=04>0eBBEw$D1k-$WTsoi#K* z$7h`NcyRZsZ#w~6I<%~u!^xDofYrzF>zVIj2N>Ijs`mVR(Oy&*9f}<{JtQj8jJT!oEc!NQXBq5y|6ET*N?7ox*E6#{i- z@_DLD^IYTtg|Pg?A~!7@OCd8p^)kxK%VBM84docx$Z{MvO)iiqep@or-N}TEU8$%; zJih?#yJ9)V1s_`}c3XbY9V}nEKwNz8ILmR|v)(w|D@oVG;=i`+$*)!(xH{9#$2Za;pyZ1wgU#)mHl|&8%iwu%yncO z`T32Ib0$D}j`c}}5M@M#7oR&G=QwU!!Ja*P7|NJt1@lo=d{_dY-q_lmDcH7{BHncF zR@^PmcLC6EsN?6N{fV3o8}>?h9X_@;=&-p7%tms7$_{3w(anwek_k&<&)~c$Ar?S> zy9gKavndTmxqAbE?SMgcWhXPENdKdz7ntt55Y3Hs3jjc~uR-#$tR(1a_abv9`-QzG z^J0Fsbd&yruq%xAsxf3rc=T}$Zx|AD%x{Fd=? z{qhl3kG5w-PqVK9-Gru%7UIEw)bt$ZMF|Z6HpmO)F%@GNT8yT|#FuWPxv@@Ic={;6 zU7)e!XG|1dx=kU|&|)+m+$&|Yw92Fa;*MnegXcCf8XsHfqg_F5t)3Jt8)EkXKuY21 zqt%4}@R8hK*(_JO0*H+Pa)6Pp&K49rKNeQEYb*x9WY`!`Vh3|80YF%I`lxv9_!$hD zOh$>zWaRIW!);6`vA$Zp;5lnGyX^^N%YEjCeJMHPolKCE1ttIqK<$0w&LcE8)`_c2 z^H^qf6ACV0t7FLLCsu#mL&Mb8gE@rZE#k+1Nrrxw+{N0^#bN*~!qt2>S4e#jC$a$` ze4@{)$aTEYq_!#2|t@Fj3e?w-XVuG$Z}kAR?_kgJAlZIJ)0{eHw#fybNooA zp02jyYVc&w!}m#BVP>ef2|U^J(A-#O1R#A&><*?Y! zOwml{CnE+aU3JfKE@uzge(qMY{^6siuXFt;+mMbapU;Ppejl=L#>s2#SMBbfP9AFT znEVA=TBtZ6d-GfF>kOxylg>Ek%qTp*h2ze!^^hOsmKOEE6b;maQ>~R>3#z`Zawbik z88OTykU3_!Atg^+vnM=1n}?%<$dHzn)?k&T#RWwb+*y;XNQbYNHKo3wr~&}Qa$id; z6^D*K9RTQZUuQVg)g~P%!BIiv+cXllt)KEP9IN)1udQKf>p|~lXj7K<-9}0Q%i9+K zXaF7qXclE>sf)7)J4_M%V{;(sFT7HN$o0#_qU#Ah1D{ zon=JihPcgG5xHuvQwOXBkt3(iUdx{6Gn|aa>@C9Cqg%rPK(+REZ4>6t3z7m@Aj;0l zSHh&%cKSJ*+WOJGwe?Y7d(9RAy)&NVS6uj}1m@U}jXH3oVQT9E0A)$ZDRdK>;_i;+ z7vbEoI7$1XK6vNxT(_sJ(GM4s92e;gB&Q zDO;(Ve^%gPG&lWW1fUf_=9-Q1%&`s%aD^o`Q2u`WI9V>Qm#D5?SW<)Njmt@aR5@6( zL4cdTo+Jg@>Brm1^_gf%0Z?}1AppR3NdFE5uzdpBZz;{Thd6SI-$gb2}pFAww$*j(2=s{mdz2E;lBvVcrN@}i2bC`Q5Y_;BID^f0J+ACVhyQsLg0@`okIk+i=LJ=3yvI*oASj62 za3C{Pu_fQ+atw!zN{$Shr*_UV=|jp4#CqWeGE?Jb`pq!|5bDES&-Ix=-N>DpydHqW z+-{QS+i)d;uGS)M%Suw9khR}3N82j|S{a#&Tctme0s%mTy<1S|;@M-+S4#o@!qr;r z+w(n=;@43Y_n#dI0Gb(T0{G7k-KY8k`MPM_Bss$?)SK){KJMrwv!vz42_U_Za zX7lDqiU8ZvCAfGpAtfVC5bQrYa4C)M9G$S4D&VqpJ8)lm$t5FAAR%ywf>*~VaivC70RVFXISv4Lx&tk^Cf1)qQ|rxp z*8H>)cgoM;(eKxH14u~~@JopNr9@A z#-yXVG?$es;EPqsn-j?45^L52U=nT#0A^T3JY$&B3EH&%2UHdv3P=_3$!n76!34ks zz^2ii@sXAu8LKYMmG=_^*qtiiOFNlG3?QYtG%wrCZh|)vlj8vq3sw~f1b8;_TMB>z zPSyDQy_9bbXD*#sNRGMzfSAwUD}ASX;ZGQcGdE=9q~ORU{v$}=z2Bc8EOe2S&);jS zCZB8P`hPoV1NBk)TQP2z{q$NL-GLUc7%>&fecE^E{I5gs?8!qTK7VgR7Z?}-`YG|z zVN-NvOlQ+B;~J*69_Xd1n-0MLKTY6&*%rTi*0^HXniz8{bCMsVpSXqs(GGO)*_#Kz z9YBCQ_VRhtwhMfppMh@OdxjCN0mH`5hKZr>UoxMx`W~u^kD&bskplglOiRxQvep*2 z0mk+kMP>J)K`8X3`6Zq|X~5IQ-_rrOn+_WvU{1Gs{ow1-Eb;K(Z?p$@ugXpr^?PM( z(5Hv;$*X=QZaqG_4q)N1v9sO(Dsei!;%IcIztt6YUs{yj z^77e`UYa^%<-Ts+d*b=ihKt?0_sj!ePNO@K*PGmGD*v^;rRAkduikx~UNk=@{XKeV zp_ir(dTaGVWBr{_02Kg2Xmlsn|IvIIRYivbo|L{yx}yX5Bte@P6C>1KyqvYnT{boB#j-07*qoM6N<$f^XQQ A+yDRo diff --git a/doc/html/files.html b/doc/html/files.html deleted file mode 100644 index 2ebc2cd6..00000000 --- a/doc/html/files.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -wimlib: File List - - - - - - - - - - - -
- - -
- - - - - - - - - - - -
-
wimlib - -
- -
-
- - - - - -
- - - - -
- -
- -
-
-
File List
-
-
-
Here is a list of all files with brief descriptions:
- -
wimlib.h [code]
-
- - - - - - diff --git a/doc/html/globals.html b/doc/html/globals.html deleted file mode 100644 index 5e2e8211..00000000 --- a/doc/html/globals.html +++ /dev/null @@ -1,408 +0,0 @@ - - - - - -wimlib: Globals - - - - - - - - - - - -
- - -
- - - - - - - - - - - -
-
wimlib - -
- -
-
- - - - - - - -
- - - - -
- -
- -
-
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
- -

- w -

-
- - - - - - diff --git a/doc/html/globals_defs.html b/doc/html/globals_defs.html deleted file mode 100644 index 808ba852..00000000 --- a/doc/html/globals_defs.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - -wimlib: Globals - - - - - - - - - - - -
- - -
- - - - - - - - - - - -
-
wimlib - -
- -
-
- - - - - - -
- - - - -
- -
- -
    -
  • WIM_ALL_IMAGES -: wimlib.h -
  • -
  • WIM_NO_IMAGE -: wimlib.h -
  • -
  • WIMLIB_ADD_IMAGE_FLAG_BOOT -: wimlib.h -
  • -
  • WIMLIB_EXPORT_FLAG_BOOT -: wimlib.h -
  • -
  • WIMLIB_MOUNT_FLAG_DEBUG -: wimlib.h -
  • -
  • WIMLIB_MOUNT_FLAG_READWRITE -: wimlib.h -
  • -
  • WIMLIB_OPEN_FLAG_CHECK_INTEGRITY -: wimlib.h -
  • -
  • WIMLIB_OPEN_FLAG_SHOW_PROGRESS -: wimlib.h -
  • -
  • WIMLIB_UNMOUNT_FLAG_CHECK_INTEGRITY -: wimlib.h -
  • -
  • WIMLIB_UNMOUNT_FLAG_COMMIT -: wimlib.h -
  • -
  • WIMLIB_WRITE_FLAG_CHECK_INTEGRITY -: wimlib.h -
  • -
  • WIMLIB_WRITE_FLAG_SHOW_PROGRESS -: wimlib.h -
  • -
-
- - - - - - diff --git a/doc/html/globals_enum.html b/doc/html/globals_enum.html deleted file mode 100644 index 370d8e21..00000000 --- a/doc/html/globals_enum.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - -wimlib: Globals - - - - - - - - - - - -
- - -
- - - - - - - - - - - -
-
wimlib - -
- -
-
- - - - - - -
- - - - -
- -
- -
-
- - - - - - diff --git a/doc/html/globals_eval.html b/doc/html/globals_eval.html deleted file mode 100644 index 8811da38..00000000 --- a/doc/html/globals_eval.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - -wimlib: Globals - - - - - - - - - - - -
- - -
- - - - - - - - - - - -
-
wimlib - -
- -
-
- - - - - - - -
- - - - -
- -
- -
-  - -

- w -

-
- - - - - - diff --git a/doc/html/globals_func.html b/doc/html/globals_func.html deleted file mode 100644 index 5fddec32..00000000 --- a/doc/html/globals_func.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - -wimlib: Globals - - - - - - - - - - - -
- - -
- - - - - - - - - - - -
-
wimlib - -
- -
-
- - - - - - - -
- - - - -
- -
- -
-  - -

- w -

-
- - - - - - diff --git a/doc/html/globals_type.html b/doc/html/globals_type.html deleted file mode 100644 index 6d35d2f1..00000000 --- a/doc/html/globals_type.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - -wimlib: Globals - - - - - - - - - - - -
- - -
- - - - - - - - - - - -
-
wimlib - -
- -
-
- - - - - - -
- - - - -
- -
- -
-
- - - - - - diff --git a/doc/html/index.html b/doc/html/index.html deleted file mode 100644 index 69364566..00000000 --- a/doc/html/index.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - -wimlib: Main Page - - - - - - - - - - - -
- - -
- - - - - - - - - - - -
-
wimlib - -
- -
-
- - - - -
- - - - -
- -
- -
-
-
wimlib Documentation
-
-
-

-Introduction

-

wimlib is a C library to read, write, and mount archive files in the Windows Imaging Format (WIM files). These files are normally created using the imagex.exe utility on Windows, but this library provides a free implementetion of imagex for UNIX-based systems and an API to allow other programs to read, write, and mount WIM files. wimlib is comparable to Microsoft's WIMGAPI, but was designed independently and is not a clone of it.

-

The main intended use of wimlib is to create customized images of Windows PE, the Windows Preinstallation Environment, without having to rely on Windows. Windows PE, which is the operating system that runs when you boot from the Windows Vista or Windows 7 DVD, is a lightweight version of Windows that can run entirely from memory. It can be used to install Windows from local media or a network drive or perform maintenance.

-

You can find Windows PE on the installation media for Windows Vista, Windows 7, and Windows 8. The Windows PE image itself is a WIM file, sources/boot.wim, on the ISO filesystem. Windows PE can also be found in the Windows Automated Installation Kit (WAIK) inside the WinPE.cab file, which you can extract if you install the cabextract program.

-

-WIM files

-

A Windows Imaging (WIM) file is an archive. Like some other archive formats such as ZIP, files in WIM archives may be compressed. WIM archives support two Microsoft-specific compression formats: LZX and XPRESS. Both are based on LZ77 and Huffman encoding, and both are supported by wimlib.

-

Unlike ZIP files, WIM files can contain multiple independent toplevel directory trees known as images. While each image has its own metadata, files are not duplicated for each image; instead, each file is included only once in the entire WIM. Microsoft did this so that in one WIM file, they could do things like have 5 different versions of Windows that are almost exactly the same.

-

WIM files may contain a integrity table. The integrity table, if it exists, is located at the end of the WIM file and contains SHA1 message digests of 10MB chunks of the WIM.

-

Microsoft provides documentation for the WIM file format, XPRESS compression format, and LZX compression format. However, there are errors and omissions in some places in their documentation.

-

-Getting Started

-

wimlib uses the GNU autotools, so it should be easy to install with configure && make && sudo make install, provided that you have libxml2 and libfuse installed. To use wimlib in a program after installing it, include wimlib.h and link your program with -lwim.

-

wimlib wraps up a WIM file in an opaque WIMStruct structure.

-

All functions in wimlib's public API are prefixed with wimlib. Most return an integer error code on failure. Use wimlib_get_error_string() to get a string that describes an error code. wimlib also can print error messages itself when an error happens, and these may be more informative than the error code; to enable this, call wimlib_set_print_errors().

-

wimlib is thread-safe as long as different WIMStruct's are used, with the following exceptions: wimlib_set_print_errors() and wimlib_set_memory_allocator() apply globally, and wimlib_mount() can only be used by one WIMStruct at a time.

-

To open an existing WIM, use wimlib_open_wim().

-

To create a new WIM that initially contains no images, use wimlib_create_new_wim().

-

To add an image to a WIM file from a directory tree on your filesystem, call wimlib_add_image(). This can be done with a WIMStruct gotten from wimlib_open_wim() or from wimlib_create_new_wim().

-

To extract an image from a WIM file, call wimlib_set_output_dir() to set the output directory, then call wimlib_extract_image().

-

wimlib supports mounting WIM files either read-only or read-write. Mounting is done using wimlib_mount() and unmounting is done using wimlib_unmount(). Mounting can be done without root privileges because it is implemented using FUSE (Filesystem in Userspace). If wimlib is compiled with the --without-fuse flag, these functions will be available but will fail.

-

After creating or modifying a WIM file, you can write it to a file using wimlib_write(). Alternatively, if the WIM was originally read from a file, you can use wimlib_overwrite() to overwrite the original file. In some cases, wimlib_overwrite_xml_and_header() can be used instead.

-

After you are done with the WIM file, use wimlib_free() to free all memory associated with a WIMStruct and close all files associated with it.

-

To see an example of how to use wimlib, see the file programs/imagex.c in wimlib's source tree.

-

wimlib supports custom memory allocators; use wimlib_set_memory_allocator() for this.

-

-imagex

-

wimlib comes with the imagex program, which is documented in man pages.

-

-mkwinpeimg

-

wimlib comes with the mkwinpeimg script, which is documented in a man page.

-

-Limitations

-

While wimlib supports the main features of WIM files, wimlib currently has the following limitations:

-
    -
  • wimlib does not support "security data", which describes the access rights of the files in the WIM. This data is very Windows-specific, and it would be difficult to do anything with it. Microsoft's software can still read a WIM without security data, including a boot.wim for Windows PE, but do not expect to be able to use wimlib to image a Windows installation and preserve file attributes.
  • -
  • There is no support for split WIMs, which have an image divided up between multiple WIM files.
  • -
  • There is not yet any code to verify that there are no collisions between different files that happen to have the same SHA1 message digest. This is extremely unlikely, but could result in something bad such as a file going missing.
  • -
  • Alternate stream entries for directory entries are ignored. I'm not sure if these are ever used for anything important.
  • -
  • Different versions of the WIM file format, if they even exist, are unsupported. Let me know if you notice WIM files with a different version.
  • -
  • Chunk sizes other than 32768 are unsupported (except for uncompressed WIMs, for which the chunk size field is ignored). As far as I can tell, other chunk sizes are not used in compressed WIMs. Let me know if you find a WIM file with a different chunk size.
  • -
  • wimlib does not provide a clone of the PEImg tool that allows you to make certain Windows-specific modifications to a Windows PE image, such as adding a driver or Windows component. Such a tool could conceivably be implemented on top of wimlib, although it likely would be hard to implement because it would have to do very Windows-specific things such as manipulating the driver store. wimlib does provide the mkwinpeimg script for a similar purpose, however. With regards to adding drivers to Windows PE, you have the option of putting them anywhere in the Windows PE image, then loading them after boot using drvload.exe.
  • -
  • There is not yet a way to extract specific files or directories from a WIM file without mounting it, or to add, remove, or modify files in a WIM without mounting it, other than by adding or removing an entire image. I can implement this if requested, but I intend the FUSE mount feature to be used for this purpose, as it is easy to do these things in whatever way you want after the image is mounted.
  • -
-

Currently, Microsoft's image.exe can create slightly smaller WIM files than wimlib when using maximum (LZX) compression because it knows how to split up LZX compressed blocks, which is not yet implemented in wimlib.

-

wimlib is experimental and likely contains bugs; use Microsoft's imagex.exe if you want to make sure your WIM files are made correctly.

-

-License

-

The wimlib library is licensed under the GNU Lesser General Public License version 2.1 or later.

-

imagex and mkwinpeiso are licensed under the GNU General Public License version 3 or later.

-
- - - - - - diff --git a/doc/html/jquery.js b/doc/html/jquery.js deleted file mode 100644 index 90b3a2bc..00000000 --- a/doc/html/jquery.js +++ /dev/null @@ -1,64 +0,0 @@ -/* - * jQuery JavaScript Library v1.3.2 - * http://jquery.com/ - * - * Copyright (c) 2009 John Resig - * Dual licensed under the MIT and GPL licenses. - * http://docs.jquery.com/License - * - * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) - * Revision: 6246 - */ -(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); -/* - * Sizzle CSS Selector Engine - v0.9.3 - * Copyright 2009, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0) -{I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function() -{G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); - -/* - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' -
- - -
- -
-
wimlib.h File Reference
-
-
-
#include <stdio.h>
-#include <stddef.h>
-#include <stdbool.h>
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

#define WIMLIB_MOUNT_FLAG_READWRITE   0x1
 Mount the WIM read-write.
#define WIMLIB_MOUNT_FLAG_DEBUG   0x2
 For debugging only.
#define WIMLIB_UNMOUNT_FLAG_CHECK_INTEGRITY   0x1
 Include an integrity table in the new WIM being written during the unmount.
#define WIMLIB_UNMOUNT_FLAG_COMMIT   0x2
 Unless this flag is given, changes to a mounted WIM are discarded.
#define WIMLIB_WRITE_FLAG_CHECK_INTEGRITY   0x1
 Include an integrity table in the new WIM file.
#define WIMLIB_WRITE_FLAG_SHOW_PROGRESS   0x2
 Print progress information when writing the integrity table.
#define WIMLIB_ADD_IMAGE_FLAG_BOOT   0x1
 Mark the image being added as the bootable image of the WIM.
#define WIMLIB_EXPORT_FLAG_BOOT   0x1
 See documentation for wimlib_export_image().
#define WIMLIB_OPEN_FLAG_CHECK_INTEGRITY   0x1
 Verify the integrity of the WIM if an integrity table is present.
#define WIMLIB_OPEN_FLAG_SHOW_PROGRESS   0x2
 Print progress information when verifying integrity table.
#define WIM_NO_IMAGE   0
 Used to indicate that no WIM image is currently selected.
#define WIM_ALL_IMAGES   (-1)
 Used to specify all images in the WIM.

-Typedefs

typedef struct WIMStruct WIMStruct
 Opaque structure that represents a WIM file.

-Enumerations

enum  wim_link_type { WIM_LINK_TYPE_HARD = 0, -WIM_LINK_TYPE_SYMBOLIC = 1, -WIM_LINK_TYPE_NONE = 2 - }
 Specifies the way in which identical files are linked when extracting image(s) from the WIM. More...
enum  wim_compression_type { WIM_COMPRESSION_TYPE_INVALID = -1, -WIM_COMPRESSION_TYPE_NONE = 0, -WIM_COMPRESSION_TYPE_LZX = 1, -WIM_COMPRESSION_TYPE_XPRESS = 2 - }
 Specifies the compression type of a WIM file. More...
enum  wimlib_error_code {
-  WIMLIB_ERR_SUCCESS = 0, -WIMLIB_ERR_COMPRESSED_LOOKUP_TABLE, -WIMLIB_ERR_DECOMPRESSION, -WIMLIB_ERR_DELETE_STAGING_DIR, -
-  WIMLIB_ERR_FORK, -WIMLIB_ERR_FUSE, -WIMLIB_ERR_FUSERMOUNT, -WIMLIB_ERR_IMAGE_COUNT, -
-  WIMLIB_ERR_IMAGE_NAME_COLLISION, -WIMLIB_ERR_INTEGRITY, -WIMLIB_ERR_INVALID_CHUNK_SIZE, -WIMLIB_ERR_INVALID_COMPRESSION_TYPE, -
-  WIMLIB_ERR_INVALID_DENTRY, -WIMLIB_ERR_INVALID_HEADER_SIZE, -WIMLIB_ERR_INVALID_IMAGE, -WIMLIB_ERR_INVALID_INTEGRITY_TABLE, -
-  WIMLIB_ERR_INVALID_PARAM, -WIMLIB_ERR_INVALID_RESOURCE_SIZE, -WIMLIB_ERR_LINK, -WIMLIB_ERR_MKDIR, -
-  WIMLIB_ERR_MQUEUE, -WIMLIB_ERR_NOMEM, -WIMLIB_ERR_NOTDIR, -WIMLIB_ERR_NOT_A_WIM_FILE, -
-  WIMLIB_ERR_NO_FILENAME, -WIMLIB_ERR_OPEN, -WIMLIB_ERR_OPENDIR, -WIMLIB_ERR_READ, -
-  WIMLIB_ERR_RENAME, -WIMLIB_ERR_SPLIT, -WIMLIB_ERR_STAT, -WIMLIB_ERR_TIMEOUT, -
-  WIMLIB_ERR_UNKNOWN_VERSION, -WIMLIB_ERR_UNSUPPORTED, -WIMLIB_ERR_WRITE, -WIMLIB_ERR_XML -
- }
 Possible values of the error code returned by many functions in wimlib. More...

-Functions

int wimlib_add_image (WIMStruct *wim, const char *dir, const char *name, const char *description, const char *flags_element, int flags)
 Adds an image to a WIM file from a directory tree on disk.
int wimlib_create_new_wim (int ctype, WIMStruct **wim_ret)
 Creates a WIMStruct for a new WIM file.
int wimlib_delete_image (WIMStruct *wim, int image)
 Deletes an image, or all images, from a WIM file.
int wimlib_export_image (WIMStruct *src_wim, int src_image, WIMStruct *dest_wim, const char *dest_name, const char *dest_description, int flags)
 Copies an image, or all the images, from a WIM file, into another WIM file.
int wimlib_extract_image (WIMStruct *wim, int image)
 Extracts an image, or all images, from a WIM file.
int wimlib_extract_xml_data (WIMStruct *wim, FILE *fp)
 Extracts the XML data for a WIM file to a file stream.
void wimlib_free (WIMStruct *wim)
 Frees all memory allocated for a WIMStruct and closes all files associated with it.
int wimlib_get_boot_idx (const WIMStruct *wim)
 Finds which image in a WIM is bootable.
int wimlib_get_compression_type (const WIMStruct *wim)
 Gets the compression type used in the WIM.
const char * wimlib_get_compression_type_string (int ctype)
 Converts a compression type enumeration value into a string.
const char * wimlib_get_error_string (enum wimlib_error_code code)
 Converts an error code into a string describing it.
const char * wimlib_get_image_description (const WIMStruct *wim, int image)
 Returns the description of the specified image.
const char * wimlib_get_image_name (const WIMStruct *wim, int image)
 Returns the name of the specified image.
int wimlib_get_num_images (const WIMStruct *wim)
 Gets the number of images contained in the WIM.
bool wimlib_has_integrity_table (const WIMStruct *wim)
 Returns true if the WIM has an integrity table.
bool wimlib_image_name_in_use (const WIMStruct *wim, const char *name)
 Determines if an image name is already used by some image in the WIM.
int wimlib_mount (WIMStruct *wim, int image, const char *dir, int flags)
 Mounts an image in a WIM file on a directory read-only or read-write.
int wimlib_open_wim (const char *wim_file, int flags, WIMStruct **wim_ret)
 Opens a WIM file and creates a WIMStruct for it.
int wimlib_overwrite (WIMStruct *wim, int flags)
 Overwrites the file that the WIM was originally read from, with changes made.
int wimlib_overwrite_xml_and_header (WIMStruct *wim, int flags)
 Updates the header and XML data of the WIM file, without the need to write out the entire WIM to a temporary file as in wimlib_write().
void wimlib_print_available_images (const WIMStruct *wim, int image)
 Prints information about one image, or all images, contained in a WIM.
int wimlib_print_files (WIMStruct *wim, int image)
 Prints the full paths to all files contained in an image, or all images, in a WIM file.
void wimlib_print_header (const WIMStruct *wim)
 Prints detailed information from the header of a WIM file.
void wimlib_print_lookup_table (WIMStruct *wim)
 Prints the lookup table of a WIM file.
int wimlib_print_metadata (WIMStruct *wim, int image)
 Prints the metadata of the specified image in a WIM file.
void wimlib_print_wim_information (const WIMStruct *wim)
 Prints some basic information about a WIM file.
int wimlib_resolve_image (WIMStruct *wim, const char *image_name_or_num)
 Translates a string specifying the name or number of an image in the WIM into the number of the image.
int wimlib_set_boot_idx (WIMStruct *wim, int boot_idx)
 Sets which image in the WIM is marked as bootable.
int wimlib_set_image_descripton (WIMStruct *wim, int image, const char *description)
 Changes the description of an image in the WIM.
int wimlib_set_image_name (WIMStruct *wim, int image, const char *name)
 Changes the name of an image in the WIM.
int wimlib_set_link_type (WIMStruct *wim, int link_type)
 Sets the link type to use when extracting files from a WIM.
int wimlib_set_memory_allocator (void *(*malloc_func)(size_t), void(*free_func)(void *), void *(*realloc_func)(void *, size_t))
 Set the functions that wimlib uses to allocate and free memory.
int wimlib_set_print_errors (bool show_messages)
 Sets whether wimlib is to print error messages to stderr when a function fails or not.
void wimlib_set_verbose (WIMStruct *wim, bool verbose)
 Sets whether wimlib is to be verbose when extracting files from a WIM or when creating an image from a directory (i.e.
int wimlib_set_output_dir (WIMStruct *wim, const char *dir)
 Sets and creates the directory to which files are to be extracted when extracting files from the WIM.
int wimlib_unmount (const char *dir, int flags)
 Unmounts a WIM image that was mounted using wimlib_mount().
int wimlib_write (WIMStruct *wim, const char *path, int image, int flags)
 Writes the WIM to a file.
-

Define Documentation

- -
-
- - - - -
#define WIM_ALL_IMAGES   (-1)
-
-
- -

Used to specify all images in the WIM.

- -
-
- -
-
- - - - -
#define WIM_NO_IMAGE   0
-
-
- -

Used to indicate that no WIM image is currently selected.

- -
-
- -
-
- - - - -
#define WIMLIB_ADD_IMAGE_FLAG_BOOT   0x1
-
-
- -

Mark the image being added as the bootable image of the WIM.

- -
-
- -
-
- - - - -
#define WIMLIB_EXPORT_FLAG_BOOT   0x1
-
-
- -

See documentation for wimlib_export_image().

- -
-
- -
-
- - - - -
#define WIMLIB_MOUNT_FLAG_DEBUG   0x2
-
-
- -

For debugging only.

-

(This passes the -d flag to fuse_main()).

- -
-
- -
-
- - - - -
#define WIMLIB_MOUNT_FLAG_READWRITE   0x1
-
-
- -

Mount the WIM read-write.

- -
-
- -
-
- - - - -
#define WIMLIB_OPEN_FLAG_CHECK_INTEGRITY   0x1
-
-
- -

Verify the integrity of the WIM if an integrity table is present.

- -
-
- -
-
- - - - -
#define WIMLIB_OPEN_FLAG_SHOW_PROGRESS   0x2
-
-
- -

Print progress information when verifying integrity table.

- -
-
- -
-
- - - - -
#define WIMLIB_UNMOUNT_FLAG_CHECK_INTEGRITY   0x1
-
-
- -

Include an integrity table in the new WIM being written during the unmount.

-

Ignored for read-only mounts.

- -
-
- -
-
- - - - -
#define WIMLIB_UNMOUNT_FLAG_COMMIT   0x2
-
-
- -

Unless this flag is given, changes to a mounted WIM are discarded.

-

Ignored for read-only mounts.

- -
-
- -
-
- - - - -
#define WIMLIB_WRITE_FLAG_CHECK_INTEGRITY   0x1
-
-
- -

Include an integrity table in the new WIM file.

- -
-
- -
-
- - - - -
#define WIMLIB_WRITE_FLAG_SHOW_PROGRESS   0x2
-
-
- -

Print progress information when writing the integrity table.

- -
-
-

Typedef Documentation

- -
-
- - - - -
typedef struct WIMStruct WIMStruct
-
-
- -

Opaque structure that represents a WIM file.

- -
-
-

Enumeration Type Documentation

- -
-
- - - - -
enum wim_compression_type
-
-
- -

Specifies the compression type of a WIM file.

-
Enumerator:
- - - - -
WIM_COMPRESSION_TYPE_INVALID  -

An invalid compression type.

-
WIM_COMPRESSION_TYPE_NONE  -

The WIM does not include any compressed resources.

-
WIM_COMPRESSION_TYPE_LZX  -

Compressed resources in the WIM use LZX compression.

-
WIM_COMPRESSION_TYPE_XPRESS  -

Compressed resources in the WIM use XPRESS compression.

-
-
-
- -
-
- -
-
- - - - -
enum wim_link_type
-
-
- -

Specifies the way in which identical files are linked when extracting image(s) from the WIM.

-
Enumerator:
- - - -
WIM_LINK_TYPE_HARD  -

Hard link identical files when extracting files from the WIM.

-
WIM_LINK_TYPE_SYMBOLIC  -

Symbolic link identical files when extracting files from the WIM.

-
WIM_LINK_TYPE_NONE  -

Do not create links when extracting identical files from the WIM (default).

-
-
-
- -
-
- -
-
- - - - -
enum wimlib_error_code
-
-
- -

Possible values of the error code returned by many functions in wimlib.

-

See the documentation for each wimlib function to see specifically what error codes can be returned by a given function, and what they mean.

-
Enumerator:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
WIMLIB_ERR_SUCCESS  -
WIMLIB_ERR_COMPRESSED_LOOKUP_TABLE  -
WIMLIB_ERR_DECOMPRESSION  -
WIMLIB_ERR_DELETE_STAGING_DIR  -
WIMLIB_ERR_FORK  -
WIMLIB_ERR_FUSE  -
WIMLIB_ERR_FUSERMOUNT  -
WIMLIB_ERR_IMAGE_COUNT  -
WIMLIB_ERR_IMAGE_NAME_COLLISION  -
WIMLIB_ERR_INTEGRITY  -
WIMLIB_ERR_INVALID_CHUNK_SIZE  -
WIMLIB_ERR_INVALID_COMPRESSION_TYPE  -
WIMLIB_ERR_INVALID_DENTRY  -
WIMLIB_ERR_INVALID_HEADER_SIZE  -
WIMLIB_ERR_INVALID_IMAGE  -
WIMLIB_ERR_INVALID_INTEGRITY_TABLE  -
WIMLIB_ERR_INVALID_PARAM  -
WIMLIB_ERR_INVALID_RESOURCE_SIZE  -
WIMLIB_ERR_LINK  -
WIMLIB_ERR_MKDIR  -
WIMLIB_ERR_MQUEUE  -
WIMLIB_ERR_NOMEM  -
WIMLIB_ERR_NOTDIR  -
WIMLIB_ERR_NOT_A_WIM_FILE  -
WIMLIB_ERR_NO_FILENAME  -
WIMLIB_ERR_OPEN  -
WIMLIB_ERR_OPENDIR  -
WIMLIB_ERR_READ  -
WIMLIB_ERR_RENAME  -
WIMLIB_ERR_SPLIT  -
WIMLIB_ERR_STAT  -
WIMLIB_ERR_TIMEOUT  -
WIMLIB_ERR_UNKNOWN_VERSION  -
WIMLIB_ERR_UNSUPPORTED  -
WIMLIB_ERR_WRITE  -
WIMLIB_ERR_XML  -
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int wimlib_add_image (WIMStructwim,
const char * dir,
const char * name,
const char * description,
const char * flags_element,
int flags 
)
-
-
- -

Adds an image to a WIM file from a directory tree on disk.

-

The directory tree is read immediately for the purpose of constructing a directory entry tree in-memory. Also, all files are read to calculate their SHA1 message digests. However, because the directory tree may contain a very large amount of data, the files themselves are not read into memory permanently, and instead references to their paths saved. This means that the directory tree must not be modified, other than by adding entirely new files or directories, before executing a call to wimlib_write() or wimlib_overwrite(). Otherwise, wimlib_write() may fail or incorrect files may be included in the WIM written by wimlib_write().

-
Parameters:
- - - - - - - -
wimPointer to the WIMStruct for a WIM file to which the image will be added.
dirA path to a directory in the outside filesystem. It will become the root directory for the WIM image.
nameThe name to give the image. This must be non-NULL.
descriptionThe description to give the image. This parameter may be left NULL, in which case no description is given to the image.
flags_elementWhat to put in the <FLAGS> element for the image's XML data. This parameter may be left NULL, in which case no <FLAGS> element is given to the image.
flagsIf set to WIMLIB_ADD_IMAGE_FLAG_BOOT, change the image in wim marked as bootable to the one being added. Otherwise, leave the boot index unchanged.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - - - - - -
WIMLIB_ERR_IMAGE_NAME_COLLISIONThere is already an image named name in w.
WIMLIB_ERR_INVALID_PARAMdir was NULL, name was NULL, or name was the empty string.
WIMLIB_ERR_NOMEMFailed to allocate needed memory.
WIMLIB_ERR_NOTDIRdir is not a directory.
WIMLIB_ERR_OPENFailed to open a file or directory in the directory tree rooted at dir.
WIMLIB_ERR_READFailed to read a file in the directory tree rooted at dir.
WIMLIB_ERR_STATFailed obtain the metadata for a file or directory in the directory tree rooted at dir.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_create_new_wim (int ctype,
WIMStruct ** wim_ret 
)
-
-
- -

Creates a WIMStruct for a new WIM file.

-
Parameters:
- - - -
ctypeThe type of compression to be used in the new WIM file. Must be WIM_COMPRESSION_TYPE_NONE, WIM_COMPRESSION_TYPE_LZX, or WIM_COMPRESSION_TYPE_XPRESS.
wim_retOn success, a pointer to an opaque WIMStruct for the new WIM file is written to the memory location pointed to by this paramater. The WIMStruct must be freed using using FREE() when finished with it.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - -
WIMLIB_ERR_INVALID_COMPRESSION_TYPEctype was not WIM_COMPRESSION_TYPE_NONE, WIM_COMPRESSION_TYPE_LZX, or WIM_COMPRESSION_TYPE_XPRESS.
WIMLIB_ERR_NOMEMFailed to allocate needed memory.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_delete_image (WIMStructwim,
int image 
)
-
-
- -

Deletes an image, or all images, from a WIM file.

-

All file resources referenced by the image(s) being deleted are removed from the WIM if they are not referenced by any other images in the WIM.

-
Parameters:
- - - -
wimPointer to the WIMStruct for the WIM file that contains the image(s) being deleted.
imageThe number of the image to delete, or WIM_ALL_IMAGES to delete all images.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - - - - -
WIMLIB_ERR_DECOMPRESSIONCould not decompress the metadata resource for image.
WIMLIB_ERR_INVALID_DENTRYA directory entry in the metadata resource for image in the WIM is invalid.
WIMLIB_ERR_INVALID_IMAGEimage does not exist in the WIM and is not WIM_ALL_IMAGES.
WIMLIB_ERR_INVALID_RESOURCE_SIZEThe metadata resource for image in the WIM is invalid.
WIMLIB_ERR_NOMEMFailed to allocate needed memory.
WIMLIB_ERR_READCould not read the metadata resource for image from the WIM.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int wimlib_export_image (WIMStructsrc_wim,
int src_image,
WIMStructdest_wim,
const char * dest_name,
const char * dest_description,
int flags 
)
-
-
- -

Copies an image, or all the images, from a WIM file, into another WIM file.

-
Parameters:
- - - - - - - -
src_wimPointer to the WIMStruct for a WIM file that contains the image(s) being exported.
src_imageThe image to export from src_wim. Can be the number of an image, or WIM_ALL_IMAGES to export all images.
dest_wimPointer to the WIMStruct for a WIM filethat will receive the images being exported.
dest_nameThe name to give the exported image in the new WIM file. If left NULL, the name from src_wim is used. This parameter must be left NULL if src_image is WIM_ALL_IMAGES and src_wim contains more than one image; in that case, the names are all taken from the src_wim.
dest_descriptionThe description to give the exported image in the new WIM file. If left NULL, the description from the src_wim is used. This parameter must be left NULL if src_image is WIM_ALL_IMAGES and src_wim contains more than one image; in that case, the descriptions are all taken from src_wim.
flagsWIMLIB_EXPORT_FLAG_BOOT if the image being exported is to be made bootable, or 0 if which image is marked as bootable in the destination WIM is to be left unchanged. If src_image is WIM_ALL_IMAGES and there are multiple images in src_wim, specifying WIMLIB_EXPORT_FLAG_BOOT is valid only if one of the exported images is currently marked as bootable in src_wim; if that is the case, then that image is marked as bootable in the destination WIM.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - - - - - - -
WIMLIB_ERR_DECOMPRESSIONCould not decompress the metadata resource for src_image in src_wim
WIMLIB_ERR_IMAGE_NAME_COLLISIONOne or more of the names being given to an exported image was already in use in the destination WIM.
WIMLIB_ERR_INVALID_DENTRYA directory entry in the metadata resource for src_image in src_wim is invalid.
WIMLIB_ERR_INVALID_IMAGEsrc_image does not exist in src_wim.
WIMLIB_ERR_INVALID_PARAMWIMLIB_EXPORT_FLAG_BOOT was specified in flags, src_image was WIM_ALL_IMAGES, src_wim contains multiple images, and no images in src_wim are marked as bootable; or dest_name and/or dest_description were non-NULL, src_image was WIM_ALL_IMAGES, and src_wim contains multiple images.
WIMLIB_ERR_INVALID_RESOURCE_SIZEThe metadata resource for src_image in src_wim is invalid.
WIMLIB_ERR_NOMEMFailed to allocate needed memory.
WIMLIB_ERR_READCould not read the metadata resource for src_image from src_wim.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_extract_image (WIMStructwim,
int image 
)
-
-
- -

Extracts an image, or all images, from a WIM file.

-

The output directory must have been previously set with wimlib_set_output_dir().

-

The link type used for extracted files is that specified by a previous call to wimlib_set_link_type(), or WIM_LINK_TYPE_NONE by default.

-
Parameters:
- - - -
wimPointer to the WIMStruct for a WIM file.
imageThe image to extract. Can be the number of an image, or WIM_ALL_IMAGES to specify that all images are to be extracted.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - - - - - - - - -
WIMLIB_ERR_DECOMPRESSIONCould not decompress a resource (file or metadata) for image in wim.
WIMLIB_ERR_INVALID_DENTRYA directory entry in the metadata resource for image in wim is invalid.
WIMLIB_ERR_INVALID_RESOURCE_SIZEA resource (file or metadata) for image in wim is invalid.
WIMLIB_ERR_LINKFailed to create a symbolic link or a hard link.
WIMLIB_ERR_MKDIRFailed create a needed directory.
WIMLIB_ERR_NOMEMFailed to allocate needed memory.
WIMLIB_ERR_NOTDIRwimlib_set_output_dir() has not been successfully called on wim.
WIMLIB_ERR_OPENCould not open one of the files being extracted for writing.
WIMLIB_ERR_READA unexpected end-of-file or read error occurred when trying to read data from the WIM file associated with wim.
WIMLIB_ERR_WRITEFailed to write a file being extracted.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_extract_xml_data (WIMStructwim,
FILE * fp 
)
-
-
- -

Extracts the XML data for a WIM file to a file stream.

-

Every WIM file includes a string of XML that describes the images contained in the WIM.

-
Parameters:
- - - -
wimPointer to the WIMStruct for a WIM file.
fpstdout, or a FILE* opened for writing, to extract the data to.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - -
WIMLIB_ERR_WRITEFailed to completely write the XML data to fp.
-
-
- -
-
- -
-
- - - - - - - - -
void wimlib_free (WIMStructwim)
-
-
- -

Frees all memory allocated for a WIMStruct and closes all files associated with it.

-
Parameters:
- - -
wimPointer to the WIMStruct for a WIM file.
-
-
-
Returns:
This function has no return value.
- -
-
- -
-
- - - - - - - - -
int wimlib_get_boot_idx (const WIMStructwim)
-
-
- -

Finds which image in a WIM is bootable.

-
Parameters:
- - -
wimPointer to the WIMStruct for a WIM file.
-
-
-
Returns:
0 if no image is marked as bootable, or the number of the image marked as bootable (numbered starting at 1).
- -
-
- -
-
- - - - - - - - -
int wimlib_get_compression_type (const WIMStructwim)
-
-
- -

Gets the compression type used in the WIM.

-
Parameters:
- - -
wimPointer to the WIMStruct for a WIM file
-
-
-
Returns:
WIM_COMPRESSION_TYPE_NONE, WIM_COMPRESSION_TYPE_LZX, or WIM_COMPRESSION_TYPE_XPRESS.
- -
-
- -
-
- - - - - - - - -
const char* wimlib_get_compression_type_string (int ctype)
-
-
- -

Converts a compression type enumeration value into a string.

-
Parameters:
- - -
ctypeWIM_COMPRESSION_TYPE_NONE, WIM_COMPRESSION_TYPE_LZX, WIM_COMPRESSION_TYPE_XPRESS, or another value.
-
-
-
Returns:
A statically allocated string: "None", "LZX", "XPRESS", or "Invalid", respectively.
- -
-
- -
-
- - - - - - - - -
const char* wimlib_get_error_string (enum wimlib_error_code code)
-
-
- -

Converts an error code into a string describing it.

-
Parameters:
- - -
codeThe error code returned by one of wimlib's functions.
-
-
-
Returns:
Pointer to a statically allocated string describing the error code, or NULL if the error code is not valid.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
const char* wimlib_get_image_description (const WIMStructwim,
int image 
)
-
-
- -

Returns the description of the specified image.

-
Parameters:
- - - -
wimPointer to the WIMStruct for a WIM file.
imageThe number of the image, numbered starting at 1.
-
-
-
Returns:
The description of the image, or NULL if there is no such image, or NULL if the specified image has no description.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
const char* wimlib_get_image_name (const WIMStructwim,
int image 
)
-
-
- -

Returns the name of the specified image.

-
Parameters:
- - - -
wimPointer to the WIMStruct for a WIM file.
imageThe number of the image, numbered starting at 1.
-
-
-
Returns:
The name of the image, or NULL if there is no such image.
- -
-
- -
-
- - - - - - - - -
int wimlib_get_num_images (const WIMStructwim)
-
-
- -

Gets the number of images contained in the WIM.

-
Parameters:
- - -
wimPointer to the WIMStruct for a WIM file.
-
-
-
Returns:
The number of images contained in the WIM file.
- -
-
- -
-
- - - - - - - - -
bool wimlib_has_integrity_table (const WIMStructwim)
-
-
- -

Returns true if the WIM has an integrity table.

-
Parameters:
- - -
wimPointer to the WIMStruct for a WIM file.
-
-
-
Returns:
true if the WIM has an integrity table; false otherwise.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool wimlib_image_name_in_use (const WIMStructwim,
const char * name 
)
-
-
- -

Determines if an image name is already used by some image in the WIM.

-
Parameters:
- - - -
wimPointer to the WIMStruct for a WIM file.
nameThe name to check.
-
-
-
Returns:
true if there is already an image in wim named name; false if there is no image named name in wim.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int wimlib_mount (WIMStructwim,
int image,
const char * dir,
int flags 
)
-
-
- -

Mounts an image in a WIM file on a directory read-only or read-write.

-

A daemon will be forked to service the filesystem.

-

If the mount is read-write, modifications to the WIM are staged in a staging directory.

-

wimlib_mount() currently cannot be used with multiple WIMStruct's without intervening wimlib_unmount()s. If there was a way to have libfuse pass a pointer to user data to each FUSE callback, then this would be possible, but there doesn't seem to be a way to do this currently.

-
Parameters:
- - - - - -
wimPointer to the WIMStruct for the WIM file to be mounted.
imageThe number of the image to mount, numbered from 1. It must be an existing, single image.
dirThe path to an existing directory to mount the image on.
flagsBitwise OR of the flags WIMLIB_MOUNT_FLAG_READWRITE or WIMLIB_MOUNT_FLAG_DEBUG. If WIMLIB_MOUNT_FLAG_READWRITE is not given, the WIM is mounted read-only.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - - - - - - - -
WIMLIB_ERR_DECOMPRESSIONCould not decompress the metadata resource for image in wim.
WIMLIB_ERR_FUSEA non-zero status was returned by fuse_main().
WIMLIB_ERR_INVALID_DENTRYA directory entry in the metadata resource for image in wim is invalid.
WIMLIB_ERR_INVALID_IMAGEimage does not specify an existing, single image in wim.
WIMLIB_ERR_INVALID_RESOURCE_SIZEThe metadata resource for image in wim is invalid.
WIMLIB_ERR_MKDIRWIMLIB_MOUNT_FLAG_READWRITE was specified in flags, but the staging directory could not be created.
WIMLIB_ERR_NOMEMFailed to allocate needed memory.
WIMLIB_ERR_NOTDIRCould not determine the current working directory.
WIMLIB_ERR_READAn unexpected end-of-file or read error occurred when trying to read data from the WIM file associated with wim.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int wimlib_open_wim (const char * wim_file,
int flags,
WIMStruct ** wim_ret 
)
-
-
- -

Opens a WIM file and creates a WIMStruct for it.

-
Parameters:
- - - - -
wim_fileThe path to the WIM file to open.
flagsBitwise OR of WIMLIB_OPEN_FLAG_CHECK_INTEGRITY and/or WIMLIB_OPEN_FLAG_SHOW_PROGRESS. If WIMLIB_OPEN_FLAG_CHECK_INTEGRITY is given, the integrity table of the WIM, if it exists, is checked, and the function will fail with an WIMLIB_ERR_INTEGRITY status if any of the computed SHA1 message digests of the WIM do not exactly match the corresponding message digests given in the integrity table. If WIMLIB_OPEN_FLAG_SHOW_PROGRESS is given, progress information will be shown if the integrity of the WIM is checked.
wim_retOn success, a pointer to an opaque WIMStruct for the opened WIM file is written to the memory location pointed to by this parameter. The WIMStruct must be freed using using FREE() when finished with it.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - - - - - - - - - - - - -
WIMLIB_ERR_COMPRESSED_LOOKUP_TABLEThe lookup table of wim_file is compressed. Support for this can be added to wimlib if needed, but it appears to be the case that the lookup table is never compressed.
WIMLIB_ERR_IMAGE_COUNTThe number of metadata resources found in the WIM did not match the image count given in the WIM header, or the number of <IMAGE> elements in the XML data for the WIM did not match the image count given in the WIM header.
WIMLIB_ERR_INTEGRITYWIMLIB_OPEN_FLAG_CHECK_INTEGRITY was specified in flags and wim_file contains an integrity table, but the SHA1 message digest for a chunk of the WIM does not match the corresponding message digest given in the integrity table.
WIMLIB_ERR_INVALID_CHUNK_SIZEResources in wim_file are compressed, but the chunk size is not 32768.
WIMLIB_ERR_INVALID_COMPRESSION_TYPEThe header of wim_file says that resources in the WIM are compressed, but the header flag indicating LZX or XPRESS compression is not set.
WIMLIB_ERR_INVALID_HEADER_SIZEThe length field of the WIM header is not 208.
WIMLIB_ERR_INVALID_INTEGRITY_TABLEWIMLIB_OPEN_FLAG_CHECK_INTEGRITY was specified in flags and wim_file contains an integrity table, but the integrity table is invalid.
WIMLIB_ERR_NOMEMFailed to allocated needed memory.
WIMLIB_ERR_NOT_A_WIM_FILEwim_file does not begin with the expected magic characters.
WIMLIB_ERR_OPENFailed to open the file wim_file for reading.
WIMLIB_ERR_READAn unexpected end-of-file or read error occurred when trying to read data from wim_file.
WIMLIB_ERR_SPLITwim_file is a split WIM. wimlib does not support this kind of WIM.
WIMLIB_ERR_UNKNOWN_VERSIONA number other than 0x10d00 is written in the version field of the WIM header of wim_file.
WIMLIB_ERR_XMLThe XML data for wim_file is invalid.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_overwrite (WIMStructwim,
int flags 
)
-
-
- -

Overwrites the file that the WIM was originally read from, with changes made.

-

The new WIM is written to a temporary file and then renamed to the original file after it is has been completely written. The temporary file currently is made in the same directory as the original WIM file.

-

Note that it is not possible for this function to delete the original file before having written the new file because it is very likely that file resources in the new WIM file need to be retrieved from the old WIM file.

-

After this function returns, wim must be freed using FREE(). Any further actions on wim before doing this are undefined.

-
Parameters:
- - - -
wimPointer to the WIMStruct for the WIM file to write. There may have been in-memory changes made to it, which are then reflected in the output file.
flagsBitwise OR of WIMLIB_WRITE_FLAG_CHECK_INTEGRITY and/or WIMLIB_WRITE_FLAG_SHOW_PROGRESS.
-
-
-
Returns:
0 on success; nonzero on error. This function may return any value returned by wimlib_write() as well as the following error codes:
-
Return values:
- - - -
WIMLIB_ERR_NO_FILENAMEwim corresponds to a WIM created with wimlib_create_new_wim() rather than a WIM read with wimlib_open_wim().
WIMLIB_ERR_RENAMEThe temporary file that the WIM was written to could not be renamed to the original filename of wim.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_overwrite_xml_and_header (WIMStructwim,
int flags 
)
-
-
- -

Updates the header and XML data of the WIM file, without the need to write out the entire WIM to a temporary file as in wimlib_write().

-

This function must only be used if no files, directories, or images have been added, removed, or changed in the WIM. It must be used when only the boot index or the name or description of image(s) has been changed.

-

After this function returns, wim must be freed using FREE(). Any further actions on wim before doing this are undefined.

-
Parameters:
- - - -
wimPointer to the WIMStruct for the WIM file to overwrite.
flagsBitwise OR of WIMLIB_WRITE_FLAG_CHECK_INTEGRITY and/or WIMLIB_WRITE_FLAG_SHOW_PROGRESS.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - - - -
WIMLIB_ERR_NO_FILENAMEwim corresponds to a WIM created with wimlib_create_new_wim() rather than a WIM read with wimlib_open_wim().
WIMLIB_ERR_NOMEMFailed to allocate needed memory.
WIMLIB_ERR_OPENThe WIM file associated with wim could not be re-opened read-write.
WIMLIB_ERR_READWIMLIB_WRITE_FLAG_CHECK_INTEGRITY was specified in flags, but data from the WIM file associated with wim could not be read to compute the SHA1 message digests, or the old integrity table (if it existed) could not be read.
WIMLIB_ERR_WRITEFailed to write the WIM header, the XML data, or the integrity table to the WIM file associated with wim.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void wimlib_print_available_images (const WIMStructwim,
int image 
)
-
-
- -

Prints information about one image, or all images, contained in a WIM.

-
Parameters:
- - - -
wimPointer to the WIMStruct for a WIM file.
imageThe image about which to print information. Can be the number of an image, or WIM_ALL_IMAGES to print information about all images in the WIM.
-
-
-
Returns:
This function has no return value.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_print_files (WIMStructwim,
int image 
)
-
-
- -

Prints the full paths to all files contained in an image, or all images, in a WIM file.

-
Parameters:
- - - -
wimPointer to the WIMStruct for a WIM file.
imageWhich image to print files for. Can be the number of an image, or WIM_ALL_IMAGES to print the files contained in all images.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - - - - -
WIMLIB_ERR_DECOMPRESSIONThe metadata resource for one of the specified images could not be decompressed.
WIMLIB_ERR_INVALID_DENTRYA directory entry in the metadata resource for one of the specified images is invaled.
WIMLIB_ERR_INVALID_IMAGEimage does not specify a valid image in wim, and is not WIM_ALL_IMAGES.
WIMLIB_ERR_INVALID_RESOURCE_SIZEThe metadata resource for one of the specified images is invalid.
WIMLIB_ERR_NOMEMFailed to allocate needed memory.
WIMLIB_ERR_READAn unexpected read error or end-of-file occurred when reading the metadata resource for one of the specified images.
-
-
- -
-
- -
-
- - - - - - - - -
void wimlib_print_header (const WIMStructwim)
-
-
- -

Prints detailed information from the header of a WIM file.

-
Parameters:
- - -
wimPointer to the WIMStruct for a WIM file.
-
-
-
Returns:
This function has no return value.
- -
-
- -
-
- - - - - - - - -
void wimlib_print_lookup_table (WIMStructwim)
-
-
- -

Prints the lookup table of a WIM file.

-

The lookup table maps SHA1 message digests, as found in the directory entry tree in the WIM file, to file resources in the WIM file. This table includes one entry for each unique file in the WIM, so it can be quite long. There is only one lookup table per WIM.

-
Parameters:
- - -
wimPointer to the WIMStruct for a WIM file.
-
-
-
Returns:
This function has no return value.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_print_metadata (WIMStructwim,
int image 
)
-
-
- -

Prints the metadata of the specified image in a WIM file.

-

The metadata consists of the security data as well as the directory entry tree, and each image has its own metadata.

-
Parameters:
- - - -
wimPointer to the WIMStruct for a WIM file.
imageWhich image to print the metadata for. Can be the number of an image, or WIM_ALL_IMAGES to print the metadata for all images in the WIM.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - - - - -
WIMLIB_ERR_DECOMPRESSIONThe metadata resource for one of the specified images could not be decompressed.
WIMLIB_ERR_INVALID_DENTRYA directory entry in the metadata resource for one of the specified images is invaled.
WIMLIB_ERR_INVALID_IMAGEimage does not specify a valid image in wim, and is not WIM_ALL_IMAGES.
WIMLIB_ERR_INVALID_RESOURCE_SIZEThe metadata resource for one of the specified images is invalid.
WIMLIB_ERR_NOMEMFailed to allocate needed memory.
WIMLIB_ERR_READAn unexpected read error or end-of-file occurred when reading the metadata resource for one of the specified images.
-
-
- -
-
- -
-
- - - - - - - - -
void wimlib_print_wim_information (const WIMStructwim)
-
-
- -

Prints some basic information about a WIM file.

-

All information printed by this function is also printed by wimlib_print_header(), but wimlib_print_wim_information() prints some of this information more concisely and in a more readable form.

-
Parameters:
- - -
wimPointer to the WIMStruct for a WIM file.
-
-
-
Returns:
This function has no return value.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_resolve_image (WIMStructwim,
const char * image_name_or_num 
)
-
-
- -

Translates a string specifying the name or number of an image in the WIM into the number of the image.

-

The images are numbered starting at 1.

-
Parameters:
- - - -
wimPointer to the WIMStruct for a WIM file.
image_name_or_numA string specifying which image. If it begins with a number, it is taken to be a string specifying the image number. Otherwise, it is taken to be the name of an image, as specified in the XML data for the WIM file. It also may be the keyword "all", which will resolve to WIM_ALL_IMAGES.
-
-
-
Returns:
If the string resolved to a single existing image, the number of that image, counting starting at 1, is returned. If the keyword "all" was specified, WIM_ALL_IMAGES is returned. Otherwise, WIM_NO_IMAGE is returned.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_set_boot_idx (WIMStructwim,
int boot_idx 
)
-
-
- -

Sets which image in the WIM is marked as bootable.

-
Parameters:
- - - -
wimPointer to the WIMStruct for a WIM file.
boot_idxThe number of the image to mark as bootable, or 0 to mark no image as bootable.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - -
WIMLIB_ERR_INVALID_IMAGEboot_idx does not specify an existing image in wim, and it was not 0.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int wimlib_set_image_descripton (WIMStructwim,
int image,
const char * description 
)
-
-
- -

Changes the description of an image in the WIM.

-
Parameters:
- - - - -
wimPointer to the WIMStruct for a WIM file.
imageThe number of the image for which to change the description.
descriptionThe new description to give the image. It may be NULL, which indicates that the image is to be given no description.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - -
WIMLIB_ERR_INVALID_IMAGEimage does not specify a single existing image in wim.
WIMLIB_ERR_NOMEMFailed to allocate the memory needed to duplicate the description string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int wimlib_set_image_name (WIMStructwim,
int image,
const char * name 
)
-
-
- -

Changes the name of an image in the WIM.

-
Parameters:
- - - - -
wimPointer to the WIMStruct for a WIM file.
imageThe number of the image for which to change the name.
nameThe new name to give the image. It must not be NULL.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - - -
WIMLIB_ERR_IMAGE_NAME_COLLISIONThere is already an image named name in wim.
WIMLIB_ERR_INVALID_PARAMname was NULL or the empty string.
WIMLIB_ERR_INVALID_IMAGEimage does not specify a single existing image in wim.
WIMLIB_ERR_NOMEMFailed to allocate the memory needed to duplicate the name string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_set_link_type (WIMStructwim,
int link_type 
)
-
-
- -

Sets the link type to use when extracting files from a WIM.

-

This applies when extracting one image as well as when extracting all images. Cross-image links may save a lot of space because it is common for files to be referenced multiple times in WIM files. By default, the link type used for extraction is WIM_LINK_TYPE_NONE, meaning that links are not created.

-
Parameters:
- - - -
wimPointer to the WIMStruct for a WIM file
link_typeWIM_LINK_TYPE_NONE, WIM_LINK_TYPE_SYMBOLIC, or WIM_LINK_TYPE_HARD.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - -
WIMLIB_ERR_INVALID_PARAMlink_type was not WIM_LINK_TYPE_NONE, WIM_LINK_TYPE_SYMBOLIC, or WIM_LINK_TYPE_HARD.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int wimlib_set_memory_allocator (void *(*)(size_t) malloc_func,
void(*)(void *) free_func,
void *(*)(void *, size_t) realloc_func 
)
-
-
- -

Set the functions that wimlib uses to allocate and free memory.

-

These settings are global and not per-WIM.

-

The default is to use the default malloc() and free() from the C library.

-
Parameters:
- - - - -
malloc_funcA function equivalent to malloc() that wimlib will use to allocate memory. If NULL, the allocator function is set back to the default malloc() from the C library.
free_funcA function equivalent to free() that wimlib will use to free memory. If NULL, the free function is set back to the default free() from the C library.
realloc_funcA function equivalent to realloc() that wimlib will use to reallocate memory. If NULL, the free function is set back to the default realloc() from the C library.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - -
WIMLIB_ERR_UNSUPPORTEDwimlib was compiled with the --without-custom-memory-allocator flag, so custom memory allocators are unsupported.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_set_output_dir (WIMStructwim,
const char * dir 
)
-
-
- -

Sets and creates the directory to which files are to be extracted when extracting files from the WIM.

-
Parameters:
- - - -
wimPointer to the WIMStruct for the WIM file.
dirThe name of the directory to extract files to.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - -
WIMLIB_ERR_INVALID_PARAMdir was NULL.
WIMLIB_ERR_MKDIRdir does not already exist and it could not created.
WIMLIB_ERR_NOMEMFailed to allocate the memory needed to duplicate the dir string.
-
-
- -
-
- -
-
- - - - - - - - -
int wimlib_set_print_errors (bool show_messages)
-
-
- -

Sets whether wimlib is to print error messages to stderr when a function fails or not.

-

These error messages may provide information that cannot be determined only from the error code that is returned.

-

This setting is global and not per-WIM.

-

By default, error messages are not printed.

-
Parameters:
- - -
show_messagestrue if error messages are to be printed; false if error messages are not to be printed.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - -
WIMLIB_ERR_UNSUPPORTEDshow_messages was true, but wimlib was compiled with the --without-error-messages option. Therefore, error messages cannot be shown.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void wimlib_set_verbose (WIMStructwim,
bool verbose 
)
-
-
- -

Sets whether wimlib is to be verbose when extracting files from a WIM or when creating an image from a directory (i.e.

-

whether it will print all affected files or not.) This is a per-WIM parameter.

-
Parameters:
- - - -
wimPointer to the WIMStruct for the WIM file.
verboseWhether wimlib is to be verbose when extracting files from wim using wimlib_extract_image() or when adding an image to wim using wimlib_add_image().
-
-
-
Returns:
This function has no return value.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int wimlib_unmount (const char * dir,
int flags 
)
-
-
- -

Unmounts a WIM image that was mounted using wimlib_mount().

-

Blocks until it is known whether the mount succeeded or failed.

-

To perform this operation, the process calling wimlib_unmount() communicates with the process that had called wimlib_mount().

-

There is currently a design problem with this function because it is hard to know whether the filesystem daemon is still working or whether it has crashed, has been killed, or has reached an infinite loop. However, ideally there should be no infinite loops or crashes in the code, so this wouldn't be much of a problem. Currently, a timeout of 600 seconds (so long because WIMs can be very large) is implemented so that this function will not wait forever before returning failure.

-
Parameters:
- - - -
dirThe directory that the WIM image was mounted on.
flagsBitwise OR of the flags WIMLIB_UNMOUNT_FLAG_CHECK_INTEGRITY or WIMLIB_UNMOUNT_FLAG_COMMIT. Neither of these flags affect read-only mounts.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - - - - - - - - -
WIMLIB_ERR_DELETE_STAGING_DIRThe filesystem daemon was unable to remove the staging directory and the temporary files that it contains.
WIMLIB_ERR_FORKCould not fork() the process.
WIMLIB_ERR_FUSERMOUNTThe fusermount program could not be executed or exited with a failure status.
WIMLIB_ERR_MQUEUECould not open a POSIX message queue to communicate with the filesystem daemon servicing the mounted filesystem, could not send a message through the queue, or could not receive a message through the queue.
WIMLIB_ERR_NOMEMFailed to allocate needed memory.
WIMLIB_ERR_OPENThe filesystem daemon could not open a temporary file for writing the new WIM.
WIMLIB_ERR_TIMEOUT600 seconds elapsed while waiting for the filesystem daemon to notify the process of its exit status, so the WIM file probably was not written successfully.
WIMLIB_ERR_READA read error occurred when the filesystem daemon tried to a file from the staging directory
WIMLIB_ERR_RENAMEThe filesystem daemon failed to rename the newly written WIM file to the original WIM file.
WIMLIB_ERR_WRITEA write error occurred when the filesystem daemon was writing to the new WIM file, or the filesystem daemon was unable to flush changes that had been made to files in the staging directory.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int wimlib_write (WIMStructwim,
const char * path,
int image,
int flags 
)
-
-
- -

Writes the WIM to a file.

-
Parameters:
- - - - - -
wimPointer to the WIMStruct for a WIM file. There may have been in-memory changes made to it, which are then reflected in the output file.
pathThe path to the file to write the WIM to.
imageThe image inside the WIM to write. Use WIM_ALL_IMAGES to include all images.
flagsBitwise OR of WIMLIB_WRITE_FLAG_CHECK_INTEGRITY and/or WIMLIB_WRITE_FLAG_SHOW_PROGRESS. If WIMLIB_WRITE_FLAG_CHECK_INTEGRITY is given, an integrity table is included in the WIM being written. If WIMLIB_WRITE_FLAG_SHOW_PROGRESS is given, the progress of the calculation of the integrity table is shown.
-
-
-
Returns:
0 on success; nonzero on error.
-
Return values:
- - - - - - - - -
WIMLIB_ERR_DECOMPRESSIONFailed to decompress a metadata or file resource in wim.
WIMLIB_ERR_INVALID_DENTRYA directory entry in the metadata resource for image in wim is invalid.
WIMLIB_ERR_INVALID_IMAGEimage does not specify a single existing image in wim, and is not WIM_ALL_IMAGES.
WIMLIB_ERR_INVALID_RESOURCE_SIZEThe metadata resource for image in wim is invalid.
WIMLIB_ERR_NOMEMFailed to allocate needed memory.
WIMLIB_ERR_OPENFailed to open path for writing, or some file resources in wim refer to files in the outside filesystem, and one of these files could not be opened for reading.
WIMLIB_ERR_READAn error occurred when trying to read data from the WIM file associated with wim, or some file resources in wim refer to files in the outside filesystem, and a read error occurred when reading one of these files.
-
-
- -
-
-
- - - - - - diff --git a/doc/html/wimlib_8h_source.html b/doc/html/wimlib_8h_source.html deleted file mode 100644 index 43b27c93..00000000 --- a/doc/html/wimlib_8h_source.html +++ /dev/null @@ -1,309 +0,0 @@ - - - - - -wimlib: wimlib.h Source File - - - - - - - - - - - -
- - -
- - - - - - - - - - - -
-
wimlib - -
- -
-
- - - - - -
- - - - -
- -
- -
-
-
wimlib.h
-
-
-Go to the documentation of this file.
00001 /*
-00002  * wimlib.h
-00003  *
-00004  * External header for wimlib.
-00005  *
-00006  * Copyright (C) 2012 Eric Biggers
-00007  *
-00008  * wimlib - Library for working with WIM files 
-00009  *
-00010  * This library is free software; you can redistribute it and/or modify it under
-00011  * the terms of the GNU Lesser General Public License as published by the Free
-00012  * Software Foundation; either version 2.1 of the License, or (at your option) any
-00013  * later version.
-00014  *
-00015  * This library is distributed in the hope that it will be useful, but WITHOUT ANY
-00016  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-00017  * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-00018  *
-00019  * You should have received a copy of the GNU Lesser General Public License along
-00020  * with this library; if not, write to the Free Software Foundation, Inc., 59
-00021  * Temple Place, Suite 330, Boston, MA 02111-1307 USA 
-00022  */
-00023 
-00189 #ifndef _WIMLIB_H
-00190 #define _WIMLIB_H
-00191 
-00192 #include <stdio.h>
-00193 #include <stddef.h>
-00194 #include <stdbool.h>
-00195 
-00196 #ifndef _WIMLIB_INTERNAL_H
-00197 
-00200 typedef struct WIMStruct WIMStruct;
-00201 #endif
-00202 
-00207 enum wim_link_type {
-00209         WIM_LINK_TYPE_HARD = 0,
-00211         WIM_LINK_TYPE_SYMBOLIC = 1,
-00214         WIM_LINK_TYPE_NONE = 2,
-00215 };
-00216 
-00221 enum wim_compression_type {
-00223         WIM_COMPRESSION_TYPE_INVALID = -1,
-00224 
-00226         WIM_COMPRESSION_TYPE_NONE = 0,
-00227 
-00229         WIM_COMPRESSION_TYPE_LZX = 1,
-00230 
-00232         WIM_COMPRESSION_TYPE_XPRESS = 2,
-00233 };
-00234 
-00236 #define WIMLIB_MOUNT_FLAG_READWRITE             0x1
-00237 
-00239 #define WIMLIB_MOUNT_FLAG_DEBUG                 0x2
-00240 
-00243 #define WIMLIB_UNMOUNT_FLAG_CHECK_INTEGRITY     0x1
-00244 
-00247 #define WIMLIB_UNMOUNT_FLAG_COMMIT              0x2
-00248 
-00250 #define WIMLIB_WRITE_FLAG_CHECK_INTEGRITY       0x1
-00251 
-00253 #define WIMLIB_WRITE_FLAG_SHOW_PROGRESS         0x2
-00254 
-00256 #define WIMLIB_ADD_IMAGE_FLAG_BOOT              0x1
-00257 
-00259 #define WIMLIB_EXPORT_FLAG_BOOT                 0x1
-00260 
-00262 #define WIMLIB_OPEN_FLAG_CHECK_INTEGRITY        0x1
-00263 
-00265 #define WIMLIB_OPEN_FLAG_SHOW_PROGRESS          0x2
-00266 
-00273 enum wimlib_error_code {
-00274         WIMLIB_ERR_SUCCESS = 0,
-00275         WIMLIB_ERR_COMPRESSED_LOOKUP_TABLE,
-00276         WIMLIB_ERR_DECOMPRESSION,
-00277         WIMLIB_ERR_DELETE_STAGING_DIR,
-00278         WIMLIB_ERR_FORK,
-00279         WIMLIB_ERR_FUSE,
-00280         WIMLIB_ERR_FUSERMOUNT,
-00281         WIMLIB_ERR_IMAGE_COUNT,
-00282         WIMLIB_ERR_IMAGE_NAME_COLLISION,
-00283         WIMLIB_ERR_INTEGRITY,
-00284         WIMLIB_ERR_INVALID_CHUNK_SIZE,
-00285         WIMLIB_ERR_INVALID_COMPRESSION_TYPE,
-00286         WIMLIB_ERR_INVALID_DENTRY,
-00287         WIMLIB_ERR_INVALID_HEADER_SIZE,
-00288         WIMLIB_ERR_INVALID_IMAGE,
-00289         WIMLIB_ERR_INVALID_INTEGRITY_TABLE,
-00290         WIMLIB_ERR_INVALID_PARAM,
-00291         WIMLIB_ERR_INVALID_RESOURCE_SIZE,
-00292         WIMLIB_ERR_LINK,
-00293         WIMLIB_ERR_MKDIR,
-00294         WIMLIB_ERR_MQUEUE,
-00295         WIMLIB_ERR_NOMEM,
-00296         WIMLIB_ERR_NOTDIR,
-00297         WIMLIB_ERR_NOT_A_WIM_FILE,
-00298         WIMLIB_ERR_NO_FILENAME,
-00299         WIMLIB_ERR_OPEN,
-00300         WIMLIB_ERR_OPENDIR,
-00301         WIMLIB_ERR_READ,
-00302         WIMLIB_ERR_RENAME,
-00303         WIMLIB_ERR_SPLIT,
-00304         WIMLIB_ERR_STAT,
-00305         WIMLIB_ERR_TIMEOUT,
-00306         WIMLIB_ERR_UNKNOWN_VERSION,
-00307         WIMLIB_ERR_UNSUPPORTED,
-00308         WIMLIB_ERR_WRITE,
-00309         WIMLIB_ERR_XML,
-00310 };
-00311 
-00312 
-00314 #define WIM_NO_IMAGE    0
-00315 
-00317 #define WIM_ALL_IMAGES  (-1)
-00318 
-00319 
-00372 extern int wimlib_add_image(WIMStruct *wim, const char *dir, 
-00373                             const char *name, const char *description, 
-00374                             const char *flags_element, int flags);
-00375 
-00395 extern int wimlib_create_new_wim(int ctype, WIMStruct **wim_ret);
-00396 
-00423 extern int wimlib_delete_image(WIMStruct *wim, int image);
-00424 
-00482 extern int wimlib_export_image(WIMStruct *src_wim, int src_image, 
-00483                         WIMStruct *dest_wim, const char *dest_name, 
-00484                         const char *dest_description, int flags);
-00485 
-00526 extern int wimlib_extract_image(WIMStruct *wim, int image);
-00527 
-00541 extern int wimlib_extract_xml_data(WIMStruct *wim, FILE *fp);
-00542 
-00552 extern void wimlib_free(WIMStruct *wim);
-00553 
-00564 extern int wimlib_get_boot_idx(const WIMStruct *wim);
-00565 
-00576 extern int wimlib_get_compression_type(const WIMStruct *wim);
-00577 
-00589 extern const char *wimlib_get_compression_type_string(int ctype);
-00590 
-00601 extern const char *wimlib_get_error_string(enum wimlib_error_code code);
-00602 
-00615 extern const char *wimlib_get_image_description(const WIMStruct *wim, int image);
-00616 
-00628 extern const char *wimlib_get_image_name(const WIMStruct *wim, int image);
-00629 
-00630 
-00640 extern int wimlib_get_num_images(const WIMStruct *wim);
-00641 
-00650 bool wimlib_has_integrity_table(const WIMStruct *wim);
-00651 
-00652 
-00665 extern bool wimlib_image_name_in_use(const WIMStruct *wim, const char *name);
-00666 
-00716 extern int wimlib_mount(WIMStruct *wim, int image, const char *dir, int flags);
-00717 
-00784 extern int wimlib_open_wim(const char *wim_file, int flags, 
-00785                            WIMStruct **wim_ret);
-00786 
-00818 extern int wimlib_overwrite(WIMStruct *wim, int flags);
-00819 
-00855 extern int wimlib_overwrite_xml_and_header(WIMStruct *wim, int flags);
-00856 
-00869 extern void wimlib_print_available_images(const WIMStruct *wim, int image);
-00870 
-00899 extern int wimlib_print_files(WIMStruct *wim, int image);
-00900 
-00910 extern void wimlib_print_header(const WIMStruct *wim);
-00911 
-00924 extern void wimlib_print_lookup_table(WIMStruct *wim);
-00925 
-00955 extern int wimlib_print_metadata(WIMStruct *wim, int image);
-00956 
-00968 extern void wimlib_print_wim_information(const WIMStruct *wim);
-00969 
-00989 extern int wimlib_resolve_image(WIMStruct *wim, const char *image_name_or_num);
-00990 
-01004 extern int wimlib_set_boot_idx(WIMStruct *wim, int boot_idx);
-01005 
-01024 extern int wimlib_set_image_descripton(WIMStruct *wim, int image, 
-01025                                        const char *description);
-01026 
-01047 extern int wimlib_set_image_name(WIMStruct *wim, int image, const char *name);
-01048 
-01066 extern int wimlib_set_link_type(WIMStruct *wim, int link_type);
-01067 
-01093 int wimlib_set_memory_allocator(void *(*malloc_func)(size_t),
-01094                                  void (*free_func)(void *),
-01095                                  void *(*realloc_func)(void *, size_t));
-01096 
-01116 extern int wimlib_set_print_errors(bool show_messages);
-01117 
-01132 extern void wimlib_set_verbose(WIMStruct *wim, bool verbose);
-01133 
-01151 extern int wimlib_set_output_dir(WIMStruct *wim, const char *dir);
-01152 
-01209 extern int wimlib_unmount(const char *dir, int flags);
-01210 
-01254 extern int wimlib_write(WIMStruct *wim, const char *path, int image, int flags);
-01255 
-01256 
-01257 
-01258 #endif /* _WIMLIB_H */
-01259 
-
- - - - - - -- 2.43.0