diff --git a/.gitignore b/.gitignore index e649ec2..567609b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ build/ -html/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 12e4652..083b76c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,4 +30,5 @@ message("---- make doc will not work until doxygen is installed") ENDIF (NOT DOXYGEN_FOUND) add_custom_target(doc - COMMAND doxygen ${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile) + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc + COMMAND doxygen ${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile) diff --git a/doc/html/annotated.html b/doc/html/annotated.html new file mode 100644 index 0000000..38adc95 --- /dev/null +++ b/doc/html/annotated.html @@ -0,0 +1,107 @@ + + + + + + +Lib Z-Wave IP: Data Structures + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + +
+ +
+ All Data Structures Functions Variables Enumerations Enumerator Groups Pages
+ + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+ + + + + + +
oCevt_handler_struct
oCevt_handler_struct.dsk_report
oCevt_handler_struct.requested_keys
oCima_data
\Czip_service
+
+
+ + + + diff --git a/doc/html/bc_s.png b/doc/html/bc_s.png new file mode 100644 index 0000000..224b29a Binary files /dev/null and b/doc/html/bc_s.png differ diff --git a/doc/html/bdwn.png b/doc/html/bdwn.png new file mode 100644 index 0000000..940a0b9 Binary files /dev/null and b/doc/html/bdwn.png differ diff --git a/doc/html/classes.html b/doc/html/classes.html new file mode 100644 index 0000000..7473e1e --- /dev/null +++ b/doc/html/classes.html @@ -0,0 +1,111 @@ + + + + + + +Lib Z-Wave IP: Data Structure Index + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + +
+ +
+ All Data Structures Functions Variables Enumerations Enumerator Groups Pages
+ + +
+ +
+ +
+
+
Data Structure Index
+
+
+
E | I | Z
+ + + + + + + +
  E  
+
evt_handler_struct.dsk_report   
  Z  
+
evt_handler_struct.requested_keys   
evt_handler_struct   
  I  
+
zip_service   
ima_data   
+
E | I | Z
+
+ + + + diff --git a/doc/html/closed.png b/doc/html/closed.png new file mode 100644 index 0000000..98cc2c9 Binary files /dev/null and b/doc/html/closed.png differ diff --git a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 0000000..9290a37 --- /dev/null +++ b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,109 @@ + + + + + + +Lib Z-Wave IP: /home/jbu/work/libzwaveip/include Directory Reference + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + +
+ All Data Structures Functions Variables Enumerations Enumerator Groups Pages
+ + +
+ +
+ + +
+
+
+
include Directory Reference
+
+
+ + + + + + + + + + + + +

+Files

file  libzwaveip.h [code]
 
file  network_management.h [code]
 
file  unique_seqno.h [code]
 
file  zconnection.h [code]
 
file  zresource.h [code]
 
+
+ + + + diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css new file mode 100644 index 0000000..3ac2851 --- /dev/null +++ b/doc/html/doxygen.css @@ -0,0 +1,1186 @@ +/* The standard CSS for doxygen 1.8.4 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +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; +} + +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%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 0px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + 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+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +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: 12px; + 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; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.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; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @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; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.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); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +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; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.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; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view when not used as main index */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +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.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.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; + background-position: 0 -5px; + 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; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: 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 +{ + font-size: 8pt; + 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 10px; +} + +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 +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + 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; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +@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; + } +} + diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png new file mode 100644 index 0000000..3ff17d8 Binary files /dev/null and b/doc/html/doxygen.png differ diff --git a/doc/html/dynsections.js b/doc/html/dynsections.js new file mode 100644 index 0000000..ed092c7 --- /dev/null +++ b/doc/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} +function toggleLevel(level) +{ + $('table.directory tr').each(function(){ + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +Lib Z-Wave IP: File List + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + +
+ +
+ All Data Structures Functions Variables Enumerations Enumerator Groups Pages
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 12]
+ + + + + + +
\-include
 o*libzwaveip.h
 o*network_management.h
 o*unique_seqno.h
 o*zconnection.h
 \*zresource.h
+
+
+ + + + diff --git a/doc/html/ftv2blank.png b/doc/html/ftv2blank.png new file mode 100644 index 0000000..63c605b Binary files /dev/null and b/doc/html/ftv2blank.png differ diff --git a/doc/html/ftv2cl.png b/doc/html/ftv2cl.png new file mode 100644 index 0000000..132f657 Binary files /dev/null and b/doc/html/ftv2cl.png differ diff --git a/doc/html/ftv2doc.png b/doc/html/ftv2doc.png new file mode 100644 index 0000000..17edabf Binary files /dev/null and b/doc/html/ftv2doc.png differ diff --git a/doc/html/ftv2folderclosed.png b/doc/html/ftv2folderclosed.png new file mode 100644 index 0000000..bb8ab35 Binary files /dev/null and b/doc/html/ftv2folderclosed.png differ diff --git a/doc/html/ftv2folderopen.png b/doc/html/ftv2folderopen.png new file mode 100644 index 0000000..d6c7f67 Binary files /dev/null and b/doc/html/ftv2folderopen.png differ diff --git a/doc/html/ftv2lastnode.png b/doc/html/ftv2lastnode.png new file mode 100644 index 0000000..63c605b Binary files /dev/null and b/doc/html/ftv2lastnode.png differ diff --git a/doc/html/ftv2link.png b/doc/html/ftv2link.png new file mode 100644 index 0000000..17edabf Binary files /dev/null and b/doc/html/ftv2link.png differ diff --git a/doc/html/ftv2mlastnode.png b/doc/html/ftv2mlastnode.png new file mode 100644 index 0000000..0b63f6d Binary files /dev/null and b/doc/html/ftv2mlastnode.png differ diff --git a/doc/html/ftv2mnode.png b/doc/html/ftv2mnode.png new file mode 100644 index 0000000..0b63f6d Binary files /dev/null and b/doc/html/ftv2mnode.png differ diff --git a/doc/html/ftv2mo.png b/doc/html/ftv2mo.png new file mode 100644 index 0000000..4bfb80f Binary files /dev/null and b/doc/html/ftv2mo.png differ diff --git a/doc/html/ftv2node.png b/doc/html/ftv2node.png new file mode 100644 index 0000000..63c605b Binary files /dev/null and b/doc/html/ftv2node.png differ diff --git a/doc/html/ftv2ns.png b/doc/html/ftv2ns.png new file mode 100644 index 0000000..72e3d71 Binary files /dev/null and b/doc/html/ftv2ns.png differ diff --git a/doc/html/ftv2plastnode.png b/doc/html/ftv2plastnode.png new file mode 100644 index 0000000..c6ee22f Binary files /dev/null and b/doc/html/ftv2plastnode.png differ diff --git a/doc/html/ftv2pnode.png b/doc/html/ftv2pnode.png new file mode 100644 index 0000000..c6ee22f Binary files /dev/null and b/doc/html/ftv2pnode.png differ diff --git a/doc/html/ftv2splitbar.png b/doc/html/ftv2splitbar.png new file mode 100644 index 0000000..fe895f2 Binary files /dev/null and b/doc/html/ftv2splitbar.png differ diff --git a/doc/html/ftv2vertline.png b/doc/html/ftv2vertline.png new file mode 100644 index 0000000..63c605b Binary files /dev/null and b/doc/html/ftv2vertline.png differ diff --git a/doc/html/functions.html b/doc/html/functions.html new file mode 100644 index 0000000..4d4262a --- /dev/null +++ b/doc/html/functions.html @@ -0,0 +1,174 @@ + + + + + + +Lib Z-Wave IP: Data Fields + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + + +
+ +
+ All Data Structures Functions Variables Enumerations Enumerator Groups Pages
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+
+ + + + diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html new file mode 100644 index 0000000..95452ea --- /dev/null +++ b/doc/html/functions_vars.html @@ -0,0 +1,174 @@ + + + + + + +Lib Z-Wave IP: Data Fields - Variables + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + + +
+ +
+ All Data Structures Functions Variables Enumerations Enumerator Groups Pages
+ + +
+ +
+ +
+
+ + + + diff --git a/doc/html/group__zconnection.html b/doc/html/group__zconnection.html new file mode 100644 index 0000000..efb02e6 --- /dev/null +++ b/doc/html/group__zconnection.html @@ -0,0 +1,402 @@ + + + + + + +Lib Z-Wave IP: Z/IP connection + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + +
+ +
+ All Data Structures Functions Variables Enumerations Enumerator Groups Pages
+ + +
+ +
+ +
+ +
+
Z/IP connection
+
+
+ + + + +

+Data Structures

struct  ima_data
 
+ + + + + +

+Typedefs

+typedef void(* transfer_func_t )(struct zconnection *connection, const uint8_t *data, uint16_t datalen)
 
+typedef void(* transmit_done_func_t )(struct zconnection *connection, transmission_status_code_t status)
 
+ + + + + +

+Enumerations

enum  transmission_status_code_t { TRANSMIT_OK, +TRANSMIT_NOT_OK, +TRANSMIT_TIMEOUT + }
 
enum  transmission_speed_t { SPEED_96, +SPEED_40, +SPEED_100, +SPEED_200 + }
 
+ + + + + + + + + + + + + +

+Functions

uint8_t zconnection_send_async (struct zconnection *connection, const uint8_t *data, uint16_t datalen, int response)
 
void zconnection_wait_for_transmission (struct zconnection *connection)
 
struct ima_datazconnection_get_ima_data (const struct zconnection *connection)
 
uint16_t zconnection_get_expected_delay (const struct zconnection *connection)
 
void zconnection_set_transmit_done_func (struct zconnection *connection, transmit_done_func_t func)
 
void zconncetion_set_endpoint (struct zconnection *connection, uint8_t endpoint)
 
+

Detailed Description

+

Relation between a Z/IP client and a Z/IP service The zconnection module implements the logic in Z/IP udp frame transmission and reception.

+

Data Structure Documentation

+ +
+
+ + + + +
struct ima_data
+
+

IMA data which is returned by zconnection_get_ima_data

+
+ + + + + + + + + + + + + +
Data Fields
+uint8_t +last_working_route[4] +List of repeaters used in the last.
+uint8_t +route_changed +Boolean indicating if a route change was.
+transmission_speed_t +speed +Transmission speed using in the last.
+uint16_t +tramission_time +Transmission time of the transmission in ms.
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum transmission_speed_t
+
+

Types of tranmission speeds

+ +
+
+ +
+
+ + + + +
enum transmission_status_code_t
+
+

Transmission status code

+ + + + +
Enumerator
TRANSMIT_OK  +

Transmission was successful.

+
TRANSMIT_NOT_OK  +

Transmission was rejected by far end.

+
TRANSMIT_TIMEOUT  +

The Z/IP service did not respond to the request, possibly an error on the IP layer. Or the Z/IP service is currently unavailable

+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void zconncetion_set_endpoint (struct zconnection * connection,
uint8_t endpoint 
)
+
+

Set the destination endpoint of the connection.

+
Parameters
+ + + +
connectionhandle to the connection object
endpointThe desitination endpoint
+
+
+ +
+
+ +
+
+ + + + + + + + +
uint16_t zconnection_get_expected_delay (const struct zconnection * connection)
+
+

Get the expected delivery time of the last received frame

+
Parameters
+ + +
connectionhandle to the connection object
+
+
+
Returns
The expected transmission time in milliseconds.
+ +
+
+ +
+
+ + + + + + + + +
struct ima_data* zconnection_get_ima_data (const struct zconnection * connection)
+
+

Get the IMA data

+
Parameters
+ + +
connectionhandle to the connection object
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uint8_t zconnection_send_async (struct zconnection * connection,
const uint8_t * data,
uint16_t datalen,
int response 
)
+
+

Send and return the seq of the frame just sent.

+
Parameters
+ + + + +
connectionhandle to the connection object to use for the transmission,  
dataA pointer to the data to be sent.  
datalenThe length of the date to be sent.  
+
+
+
Returns
True if this is a response to another frame, ie. a report sent as a response to a get. False otherwise.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void zconnection_set_transmit_done_func (struct zconnection * connection,
transmit_done_func_t func 
)
+
+

Set the callback function which will be called when a transmission has completed.

+
Parameters
+ + + +
connectionhandle to the connection object
funcThe callback funciton
+
+
+ +
+
+ +
+
+ + + + + + + + +
void zconnection_wait_for_transmission (struct zconnection * connection)
+
+

Wait for transmission to complete

+ +
+
+
+ + + + diff --git a/doc/html/group__zresource.html b/doc/html/group__zresource.html new file mode 100644 index 0000000..08dd6ac --- /dev/null +++ b/doc/html/group__zresource.html @@ -0,0 +1,337 @@ + + + + + + +Lib Z-Wave IP: Z/IP Resource + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + +
+ +
+ All Data Structures Functions Variables Enumerations Enumerator Groups Pages
+ + +
+ +
+ +
+ +
+
Z/IP Resource
+
+
+ + + + +

+Data Structures

struct  zip_service
 
+ + + + + + + +

+Macros

+#define MODE_FLAGS_DELETED   0x01
 The node is deleted from the network, and will soon from the resource list.
 
+#define MODE_FLAGS_FAILED   0x02
 The node is failing.
 
+ + + +

+Enumerations

enum  node_mode_t {
+  MODE_PROBING, +MODE_NONLISTENING, +MODE_ALWAYSLISTENING, +MODE_FREQUENTLYLISTENING, +
+  MODE_MAILBOX +
+ }
 
+ + + +

+Functions

void * zresource_mdns_thread_func (void *)
 
+ + + +

+Variables

struct zip_servicezresource_services
 
+

Detailed Description

+

Information about local Z/IP services

+

This modules implements a mDNS listener which listens for Z/IP services on the local network.

+

The mDNS listener should be started by calling zresource_mdns_thread_func Once the mDNS listner is started, the application may iterate to the list of resources starting with zresource_services

+
See Also
SDS11633
+

Data Structure Documentation

+ +
+
+ + + + +
struct zip_service
+
+

Structure holding information about a zip service. See SDS11633 for further details

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data Fields
+struct sockaddr_in +addr +IPv4 address of the resource.
+struct sockaddr_in6 +addr6 +IPv6 address of the resource.
+uint8_t * +aggregated +If this is an aggregated endpoint, which enpoints is this service an aggregation of.
+int +aggregatedlen +Length of the aggregated endpoints.
+int +epid +Endpoint id of service.
+int +flags +the flag is one of the following MODE_FLAGS_DELETED or MODE_FLAGS_FAILED
+char * +host_name +Hostname of the resource containing this service.
+uint8_t * +info +Pointer to the list of supported command classes.
+int +infolen +Length of the info field.
+uint16_t +installer_iconID +ID of the icon show for installers.
+uint16_t +manufacturerID +The manufacturer id.
+node_mode_t +mode +Which type of node is this.
+struct zip_service * +next +pointer to next Z/IP service in the list
+uint16_t +productID +The product ID.
+uint16_t +productType +The product type.
+int +securityClasses +Bitmask of the active security classes.
+char * +service_name +Name of the zip service.
+uint16_t +user_iconID +ID of the icon show for users.
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum node_mode_t
+
+

Describing the node type

+ + + + + + +
Enumerator
MODE_PROBING  +

Node has not yet been fully probed.

+
MODE_NONLISTENING  +

Node is a non-listening node.

+
MODE_ALWAYSLISTENING  +

Node is an always listening node.

+
MODE_FREQUENTLYLISTENING  +

Node is a Flirs node.

+
MODE_MAILBOX  +

Node is a non-listening node which supports the wakeup.

+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void* zresource_mdns_thread_func (void * )
+
+

Thread function of the mdns listner. This is the main loop of the mdns thread. This should normally be run in a thread, ie.

+
pthread_t mdns_thread;
+
pthread_create(&mdns_thread,0,&zresource_mdns_thread_func,0);
+
+
+
+

Variable Documentation

+ +
+
+ + + + +
struct zip_service* zresource_services
+
+

First elemnets in a linked list of Z/IP services

+

The list may be iterated like this

+
struct zip_service* n;;
+
for(n = zresource_services; n ; n=n->next) {
+
...
+
}
+
+
+
+
+ + + + diff --git a/doc/html/group__zwaveip.html b/doc/html/group__zwaveip.html new file mode 100644 index 0000000..09eaab5 --- /dev/null +++ b/doc/html/group__zwaveip.html @@ -0,0 +1,254 @@ + + + + + + +Lib Z-Wave IP: Z-Wave for IP library API + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + +
+ +
+ All Data Structures Functions Variables Enumerations Enumerator Groups Pages
+ + +
+ +
+ +
+ +
+
Z-Wave for IP library API
+
+
+ + + + +

+Macros

#define DTLS_PORT   41230
 
+ + + + + + + +

+Functions

void zserver_start (char *local_address, int port, char *dsk, int dsk_len, transfer_func_t handler)
 
struct zconnection * zclient_start (const char *remote_address, uint16_t port, char *dsk, int dsk_len, transfer_func_t handler)
 
void zclient_stop (struct zconnection *handle)
 
+

Detailed Description

+

DTLS server and client implementation using openssl This module implements a DTLS server and DTLS client to use with Z-Wave for IP

+

Macro Definition Documentation

+ +
+
+ + + + +
#define DTLS_PORT   41230
+
+

The standard port number for DTLS Z/IP sessions.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
struct zconnection* zclient_start (const char * remote_address,
uint16_t port,
char * dsk,
int dsk_len,
transfer_func_t handler 
)
+
+

Open up a Z/IP connection to a remote socket. This function will spawn a new thread.

+
Parameters
+ + + + + + +
remote_addressThe address of the remote Z/IP service.
portport of the remote service. In general this should be DTLS_PORT
dskThe DSK which this DTLS session uses.
dsk_lenThe length of the DSK used.
handlerA callback function to which is called when an incoming package is received.
+
+
+
Returns
a handle to the connection. see zconnection.h
+ +
+
+ +
+
+ + + + + + + + +
void zclient_stop (struct zconnection * handle)
+
+

Stop a Z/IP client thread and free associated resources.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void zserver_start (char * local_address,
int port,
char * dsk,
int dsk_len,
transfer_func_t handler 
)
+
+

Start an DTLS listening socket. This function will block forever. A new thread will be spawned for each client connection.

+
Parameters
+ + + + + + +
local_addressThis is will be the local address of the listening socket. If a specific interface is needed just provide the IPv4 or IPv6 address of that interface.
portThe local port number the socket will listen on.
dskThe DSK which this DTLS session uses.
dsk_lenThe length of the DSK used.
handlerA callback function to which is called when an incoming package is received.
+
+
+ +
+
+
+ + + + diff --git a/doc/html/index.html b/doc/html/index.html new file mode 100644 index 0000000..713d81e --- /dev/null +++ b/doc/html/index.html @@ -0,0 +1,115 @@ + + + + + + +Lib Z-Wave IP: libzwaveip - + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + +
+ +
+ All Data Structures Functions Variables Enumerations Enumerator Groups Pages
+ + +
+ +
+ +
+
+
libzwaveip -
+
+
+

+Introduction

+

libzwaveip is a library making it easier to control Z-Wave devices from an IP network via a Z/IP Gateway.

+

+Example applications

+

Two example applications are provided: reference_client and reference_listener. The reference_client is a command line client for adding, removing and sending commands to Z-Wave nodes. The Z-Wave listener listens for notifications from the Z-Wave network. When a notification arrives it is decoded and pretty-printed.

+

+Build instructions

+

To build the example applications, follow these steps To build the libzwaveip reference_client and reference_listener on the raspberry pi, please do the following.

+
    +
  1. Prepare the Raspberry Pi SD image acorting to the instructions at www.zwavepublic.com
  2. +
  3. SSH into the Raspberry Pi
  4. +
  5. Install prerequisites:
    $ sudo apt-get install cmake libssl-dev libavahi-client-dev libxml2-dev libbsd libncurses5-dev
    +
  6. +
  7. Change to the directory containing the libzwaveip source is pre-installed:
    $ cd ~/work/libzwaveip
    +
  8. +
  9. Create and enter the build folder
    $ mkdir build
    +
    $ cd build
    +
  10. +
  11. Generate makefiles:
    $ cmake ..
    +
  12. +
  13. Build the reference client and listener:
    $ make
    +
  14. +
+
+ + + + diff --git a/doc/html/jquery.js b/doc/html/jquery.js new file mode 100644 index 0000000..c197801 --- /dev/null +++ b/doc/html/jquery.js @@ -0,0 +1,31 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 +},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av); +ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},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(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; +if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b +})}})(window); diff --git a/doc/html/libzwaveip_8h_source.html b/doc/html/libzwaveip_8h_source.html new file mode 100644 index 0000000..054b488 --- /dev/null +++ b/doc/html/libzwaveip_8h_source.html @@ -0,0 +1,139 @@ + + + + + + +Lib Z-Wave IP: /home/jbu/work/libzwaveip/include/libzwaveip.h Source File + + + + + + + + + + +
+
+
+ + + + + + +
+
Lib Z-Wave IP +
+
+ + + + + + + + + + +
+ +
+ + + +
+
+
libzwaveip.h
+
+
+
1 /*
+
2  * Copyright 2016 Sigma Designs, Inc.
+
3  *
+
4  * Licensed under the Apache License, Version 2.0 (the "License");
+
5  * you may not use this file except in compliance with the License.
+
6  * You may obtain a copy of the License at:
+
7  *
+
8  * http://www.apache.org/licenses/LICENSE-2.0
+
9  *
+
10  * Unless required by applicable law or agreed to in writing, software
+
11  * distributed under the License is distributed on an "AS IS" BASIS,
+
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13  * See the License for the specific language governing permissions and
+
14  * limitations under the License.
+
15  */
+
16 /*
+
17  * libzwaveip.h
+
18  *
+
19  * Created on: May 23, 2016
+
20  * Author: aes
+
21  */
+
22 
+
23 #ifndef LIBZWAVEIP_H_
+
24 #define LIBZWAVEIP_H_
+
25 
+
37 #define DTLS_PORT 41230
+
38 
+
39 #include "zconnection.h"
+
40 
+
54 void zserver_start(char* local_address, int port, char* dsk, int dsk_len,
+
55  transfer_func_t handler);
+
56 
+
70 struct zconnection* zclient_start(const char* remote_address, uint16_t port,
+
71  char* dsk, int dsk_len,
+
72  transfer_func_t handler);
+
73 
+
77 void zclient_stop(struct zconnection* handle);
+
78 
+
83 #endif /* LIBZWAVEIP_H_ */
+
+ + + + diff --git a/doc/html/logo.png b/doc/html/logo.png new file mode 100644 index 0000000..735cf75 Binary files /dev/null and b/doc/html/logo.png differ diff --git a/doc/html/modules.html b/doc/html/modules.html new file mode 100644 index 0000000..8cdfa70 --- /dev/null +++ b/doc/html/modules.html @@ -0,0 +1,98 @@ + + + + + + +Lib Z-Wave IP: Modules + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Modules
+
+
+
Here is a list of all modules:
+
+ + + + diff --git a/doc/html/nav_f.png b/doc/html/nav_f.png new file mode 100644 index 0000000..72a58a5 Binary files /dev/null and b/doc/html/nav_f.png differ diff --git a/doc/html/nav_g.png b/doc/html/nav_g.png new file mode 100644 index 0000000..8c6c13e Binary files /dev/null and b/doc/html/nav_g.png differ diff --git a/doc/html/nav_h.png b/doc/html/nav_h.png new file mode 100644 index 0000000..33389b1 Binary files /dev/null and b/doc/html/nav_h.png differ diff --git a/doc/html/network__management_8h_source.html b/doc/html/network__management_8h_source.html new file mode 100644 index 0000000..e7718eb --- /dev/null +++ b/doc/html/network__management_8h_source.html @@ -0,0 +1,159 @@ + + + + + + +Lib Z-Wave IP: /home/jbu/work/libzwaveip/include/network_management.h Source File + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
network_management.h
+
+
+
1 /*
+
2  * Copyright 2016 Sigma Designs, Inc.
+
3  *
+
4  * Licensed under the Apache License, Version 2.0 (the "License");
+
5  * you may not use this file except in compliance with the License.
+
6  * You may obtain a copy of the License at:
+
7  *
+
8  * http://www.apache.org/licenses/LICENSE-2.0
+
9  *
+
10  * Unless required by applicable law or agreed to in writing, software
+
11  * distributed under the License is distributed on an "AS IS" BASIS,
+
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13  * See the License for the specific language governing permissions and
+
14  * limitations under the License.
+
15  */
+
16 /*
+
17  * network_management.h
+
18  *
+
19  * Created on: Aug 19, 2016
+
20  * Author: jbu
+
21  */
+
22 
+
23 #ifndef NODE_ADD_FSM_H_
+
24 #define NODE_ADD_FSM_H_
+
25 #include "zconnection.h"
+
26 
+
31 enum net_mgmt_evt_codes {
+
32  APPROVE_REQUESTED_KEYS,
+
33  APPROVE_DSK
+
34 };
+
35 
+ +
39  struct {
+
40  enum net_mgmt_evt_codes type;
+
41  uint8_t requested_keys;
+
43  uint8_t csa_requested;
+ +
46  struct {
+
47  enum net_mgmt_evt_codes type;
+
48  uint8_t input_dsk_length;
+
49  uint8_t dsk[16];
+
50  } dsk_report;
+
51 };
+
52 
+
59 void net_mgmt_init(struct zconnection *_zc);
+
60 
+
68 void parse_network_mgmt_inclusion_packet(const uint8_t *packet, uint16_t len);
+
69 
+
80 void net_mgmt_grant_keys(uint8_t granted_keys, uint8_t csa_accepted);
+
81 
+
88 void net_mgmt_set_input_dsk(uint8_t *input_dsk, uint8_t len);
+
89 
+
96 void net_mgmt_command_handler(union evt_handler_struct evt);
+
97 
+
101 void net_mgmt_learn_mode_start(void);
+
102 
+
106 void net_mgmt_abort_inclusion(void);
+
107 
+
108 #endif /* NODE_ADD_FSM_H_ */
+
+ + + + diff --git a/doc/html/open.png b/doc/html/open.png new file mode 100644 index 0000000..30f75c7 Binary files /dev/null and b/doc/html/open.png differ diff --git a/doc/html/search/all_61.html b/doc/html/search/all_61.html new file mode 100644 index 0000000..a78c8f9 --- /dev/null +++ b/doc/html/search/all_61.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_61.js b/doc/html/search/all_61.js new file mode 100644 index 0000000..db701bb --- /dev/null +++ b/doc/html/search/all_61.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['addr',['addr',['../group__zresource.html#a8f7518f74110a01024134b623007636a',1,'zip_service']]], + ['addr6',['addr6',['../group__zresource.html#a33d53ae97d6c8df370ad9371b0996c2b',1,'zip_service']]], + ['aggregated',['aggregated',['../group__zresource.html#a78d5a733d0026f2cc2cccae259363c85',1,'zip_service']]], + ['aggregatedlen',['aggregatedlen',['../group__zresource.html#ae0caccbb4a93e6e959d006b18b9c4f68',1,'zip_service']]] +]; diff --git a/doc/html/search/all_64.html b/doc/html/search/all_64.html new file mode 100644 index 0000000..6482501 --- /dev/null +++ b/doc/html/search/all_64.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_64.js b/doc/html/search/all_64.js new file mode 100644 index 0000000..bea73cc --- /dev/null +++ b/doc/html/search/all_64.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['dsk_5freport',['dsk_report',['../unionevt__handler__struct.html#a0244496baffe591f0bde59fbe5054804',1,'evt_handler_struct']]], + ['dtls_5fport',['DTLS_PORT',['../group__zwaveip.html#gab6326f12eafa348fcec7029ee5a5f7f1',1,'libzwaveip.h']]] +]; diff --git a/doc/html/search/all_65.html b/doc/html/search/all_65.html new file mode 100644 index 0000000..9004138 --- /dev/null +++ b/doc/html/search/all_65.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_65.js b/doc/html/search/all_65.js new file mode 100644 index 0000000..9daa443 --- /dev/null +++ b/doc/html/search/all_65.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['epid',['epid',['../group__zresource.html#ac158a5c952c5254aecc59fd158539524',1,'zip_service']]], + ['evt_5fhandler_5fstruct',['evt_handler_struct',['../unionevt__handler__struct.html',1,'']]], + ['evt_5fhandler_5fstruct_2edsk_5freport',['evt_handler_struct.dsk_report',['../structevt__handler__struct_8dsk__report.html',1,'']]], + ['evt_5fhandler_5fstruct_2erequested_5fkeys',['evt_handler_struct.requested_keys',['../structevt__handler__struct_8requested__keys.html',1,'']]] +]; diff --git a/doc/html/search/all_66.html b/doc/html/search/all_66.html new file mode 100644 index 0000000..5e2635f --- /dev/null +++ b/doc/html/search/all_66.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_66.js b/doc/html/search/all_66.js new file mode 100644 index 0000000..3b0027e --- /dev/null +++ b/doc/html/search/all_66.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['flags',['flags',['../group__zresource.html#abcabaeb8e78cfeadaa8b9c4df5186567',1,'zip_service']]] +]; diff --git a/doc/html/search/all_68.html b/doc/html/search/all_68.html new file mode 100644 index 0000000..2db11df --- /dev/null +++ b/doc/html/search/all_68.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_68.js b/doc/html/search/all_68.js new file mode 100644 index 0000000..5b54525 --- /dev/null +++ b/doc/html/search/all_68.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['host_5fname',['host_name',['../group__zresource.html#aefd4745ddbb6df6897028dc81e3818d6',1,'zip_service']]] +]; diff --git a/doc/html/search/all_69.html b/doc/html/search/all_69.html new file mode 100644 index 0000000..b8c8306 --- /dev/null +++ b/doc/html/search/all_69.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_69.js b/doc/html/search/all_69.js new file mode 100644 index 0000000..1d69800 --- /dev/null +++ b/doc/html/search/all_69.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['ima_5fdata',['ima_data',['../group__zconnection.html#structima__data',1,'']]], + ['info',['info',['../group__zresource.html#aa04e8f6b723b2049110874826588907b',1,'zip_service']]], + ['infolen',['infolen',['../group__zresource.html#a5199ce5d28bff025a98f1051e0f2ce5b',1,'zip_service']]], + ['installer_5ficonid',['installer_iconID',['../group__zresource.html#ab023d608a852827040df7da5ca17b27f',1,'zip_service']]] +]; diff --git a/doc/html/search/all_6c.html b/doc/html/search/all_6c.html new file mode 100644 index 0000000..131c919 --- /dev/null +++ b/doc/html/search/all_6c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_6c.js b/doc/html/search/all_6c.js new file mode 100644 index 0000000..111c545 --- /dev/null +++ b/doc/html/search/all_6c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['libzwaveip_20_2d',['libzwaveip -',['../index.html',1,'']]], + ['last_5fworking_5froute',['last_working_route',['../group__zconnection.html#af45c6c3a2ee18c43998834c2a485f28c',1,'ima_data']]] +]; diff --git a/doc/html/search/all_6d.html b/doc/html/search/all_6d.html new file mode 100644 index 0000000..650f040 --- /dev/null +++ b/doc/html/search/all_6d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_6d.js b/doc/html/search/all_6d.js new file mode 100644 index 0000000..8d2cdd5 --- /dev/null +++ b/doc/html/search/all_6d.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['manufacturerid',['manufacturerID',['../group__zresource.html#af98d5ab84f5b8b0c64814fc691d033cc',1,'zip_service']]], + ['mode',['mode',['../group__zresource.html#ab9672013465c686926436f00181395e8',1,'zip_service']]], + ['mode_5falwayslistening',['MODE_ALWAYSLISTENING',['../group__zresource.html#gga0d9ea31eaf9178726ac9d285b0b50b06a9c517150fea8b9379e0f0fe2c4ecc591',1,'zresource.h']]], + ['mode_5fflags_5fdeleted',['MODE_FLAGS_DELETED',['../group__zresource.html#gafb414a5d124b9408ad822759ce491a55',1,'zresource.h']]], + ['mode_5fflags_5ffailed',['MODE_FLAGS_FAILED',['../group__zresource.html#gad1854fb2e5607e48ddb9c1170bd97c4f',1,'zresource.h']]], + ['mode_5ffrequentlylistening',['MODE_FREQUENTLYLISTENING',['../group__zresource.html#gga0d9ea31eaf9178726ac9d285b0b50b06a16af1e47ad9347c9783243e96c79ca1e',1,'zresource.h']]], + ['mode_5fmailbox',['MODE_MAILBOX',['../group__zresource.html#gga0d9ea31eaf9178726ac9d285b0b50b06ab78cf5d8e8d1e2f885873a29e0dcb867',1,'zresource.h']]], + ['mode_5fnonlistening',['MODE_NONLISTENING',['../group__zresource.html#gga0d9ea31eaf9178726ac9d285b0b50b06a58f3bf8391b73348543e4668a20061da',1,'zresource.h']]], + ['mode_5fprobing',['MODE_PROBING',['../group__zresource.html#gga0d9ea31eaf9178726ac9d285b0b50b06ae0010807119b74ff2a9ca2bbb66601af',1,'zresource.h']]] +]; diff --git a/doc/html/search/all_6e.html b/doc/html/search/all_6e.html new file mode 100644 index 0000000..114330b --- /dev/null +++ b/doc/html/search/all_6e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_6e.js b/doc/html/search/all_6e.js new file mode 100644 index 0000000..670b31c --- /dev/null +++ b/doc/html/search/all_6e.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['next',['next',['../group__zresource.html#a48b6745a62b02e865698b43023a41340',1,'zip_service']]], + ['node_5fmode_5ft',['node_mode_t',['../group__zresource.html#ga0d9ea31eaf9178726ac9d285b0b50b06',1,'zresource.h']]] +]; diff --git a/doc/html/search/all_70.html b/doc/html/search/all_70.html new file mode 100644 index 0000000..a28cb54 --- /dev/null +++ b/doc/html/search/all_70.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_70.js b/doc/html/search/all_70.js new file mode 100644 index 0000000..af7595a --- /dev/null +++ b/doc/html/search/all_70.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['productid',['productID',['../group__zresource.html#aefdc6880b555b58dcadfd9333358e6c6',1,'zip_service']]], + ['producttype',['productType',['../group__zresource.html#ad5ba0fc9cbac12cea3fb8d6402e45471',1,'zip_service']]] +]; diff --git a/doc/html/search/all_72.html b/doc/html/search/all_72.html new file mode 100644 index 0000000..d03b8a5 --- /dev/null +++ b/doc/html/search/all_72.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_72.js b/doc/html/search/all_72.js new file mode 100644 index 0000000..5fe6543 --- /dev/null +++ b/doc/html/search/all_72.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['requested_5fkeys',['requested_keys',['../unionevt__handler__struct.html#a3d30a27fb22ddc01d928c1a3bf574c45',1,'evt_handler_struct']]], + ['route_5fchanged',['route_changed',['../group__zconnection.html#ac3bd9186672b5c640a884109e00e208a',1,'ima_data']]] +]; diff --git a/doc/html/search/all_73.html b/doc/html/search/all_73.html new file mode 100644 index 0000000..a15b975 --- /dev/null +++ b/doc/html/search/all_73.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_73.js b/doc/html/search/all_73.js new file mode 100644 index 0000000..de0a0e2 --- /dev/null +++ b/doc/html/search/all_73.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['securityclasses',['securityClasses',['../group__zresource.html#afa80917af7cf18ed9adc69a7091c8705',1,'zip_service']]], + ['service_5fname',['service_name',['../group__zresource.html#a23e62fe7d6f8d71335d2dd5c70037a3c',1,'zip_service']]], + ['speed',['speed',['../group__zconnection.html#a56e353e1523ec36af3afbcbc90071628',1,'ima_data']]] +]; diff --git a/doc/html/search/all_74.html b/doc/html/search/all_74.html new file mode 100644 index 0000000..d7dabea --- /dev/null +++ b/doc/html/search/all_74.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_74.js b/doc/html/search/all_74.js new file mode 100644 index 0000000..6206b34 --- /dev/null +++ b/doc/html/search/all_74.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['tramission_5ftime',['tramission_time',['../group__zconnection.html#ab8ec7124e36a00a796105148398ffdbf',1,'ima_data']]], + ['transmission_5fspeed_5ft',['transmission_speed_t',['../group__zconnection.html#ga7cc42f579446cdb2318bd54cd8a5be56',1,'zconnection.h']]], + ['transmission_5fstatus_5fcode_5ft',['transmission_status_code_t',['../group__zconnection.html#ga4b20b0597391ce5ab2f03f442aae5ff0',1,'zconnection.h']]], + ['transmit_5fnot_5fok',['TRANSMIT_NOT_OK',['../group__zconnection.html#gga4b20b0597391ce5ab2f03f442aae5ff0ad7b4913a3822fff41568daa0f8537fff',1,'zconnection.h']]], + ['transmit_5fok',['TRANSMIT_OK',['../group__zconnection.html#gga4b20b0597391ce5ab2f03f442aae5ff0acab3c2d1ae7aa3ca5735fd8f2a73559c',1,'zconnection.h']]], + ['transmit_5ftimeout',['TRANSMIT_TIMEOUT',['../group__zconnection.html#gga4b20b0597391ce5ab2f03f442aae5ff0a74bb322ae7a4e44389eafd9b2a539333',1,'zconnection.h']]] +]; diff --git a/doc/html/search/all_75.html b/doc/html/search/all_75.html new file mode 100644 index 0000000..d99a4c7 --- /dev/null +++ b/doc/html/search/all_75.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_75.js b/doc/html/search/all_75.js new file mode 100644 index 0000000..9cb9a44 --- /dev/null +++ b/doc/html/search/all_75.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['user_5ficonid',['user_iconID',['../group__zresource.html#ae55fa9761c416d477d39920da03fc347',1,'zip_service']]] +]; diff --git a/doc/html/search/all_7a.html b/doc/html/search/all_7a.html new file mode 100644 index 0000000..c35c7ef --- /dev/null +++ b/doc/html/search/all_7a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/all_7a.js b/doc/html/search/all_7a.js new file mode 100644 index 0000000..bf6a941 --- /dev/null +++ b/doc/html/search/all_7a.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['zclient_5fstart',['zclient_start',['../group__zwaveip.html#gaf91f3a56a63560ba0d7b1fe1c3aad193',1,'libzwaveip.h']]], + ['zclient_5fstop',['zclient_stop',['../group__zwaveip.html#ga5359627d93f669af5f069f65a801c7d1',1,'libzwaveip.h']]], + ['zconncetion_5fset_5fendpoint',['zconncetion_set_endpoint',['../group__zconnection.html#ga7f57945f78564c6ceeac693492f55bc0',1,'zconnection.h']]], + ['z_2fip_20connection',['Z/IP connection',['../group__zconnection.html',1,'']]], + ['zconnection_5fget_5fexpected_5fdelay',['zconnection_get_expected_delay',['../group__zconnection.html#ga223feff457aaded333bd36697e745dff',1,'zconnection.h']]], + ['zconnection_5fget_5fima_5fdata',['zconnection_get_ima_data',['../group__zconnection.html#gaffa0147285fa23055a696070460f1fc3',1,'zconnection.h']]], + ['zconnection_5fsend_5fasync',['zconnection_send_async',['../group__zconnection.html#ga77d2f4c1c7c29227ecca5aa6237679f5',1,'zconnection.h']]], + ['zconnection_5fset_5ftransmit_5fdone_5ffunc',['zconnection_set_transmit_done_func',['../group__zconnection.html#gad79370db9e8c38211b6b6567c9b2dff1',1,'zconnection.h']]], + ['zconnection_5fwait_5ffor_5ftransmission',['zconnection_wait_for_transmission',['../group__zconnection.html#gae3be1546d0fec98148acc19bbdafcad8',1,'zconnection.h']]], + ['zip_5fservice',['zip_service',['../group__zresource.html#structzip__service',1,'']]], + ['z_2fip_20resource',['Z/IP Resource',['../group__zresource.html',1,'']]], + ['zresource_5fmdns_5fthread_5ffunc',['zresource_mdns_thread_func',['../group__zresource.html#gadeb9c9539b5fd0385e09d599ba665619',1,'zresource.h']]], + ['zresource_5fservices',['zresource_services',['../group__zresource.html#ga8ea7a06d595dbca616f81c2fabb50d57',1,'zresource.h']]], + ['zserver_5fstart',['zserver_start',['../group__zwaveip.html#gadbd3e3dcedc930c947593ab100049915',1,'libzwaveip.h']]], + ['z_2dwave_20for_20ip_20library_20api',['Z-Wave for IP library API',['../group__zwaveip.html',1,'']]] +]; diff --git a/doc/html/search/classes_65.html b/doc/html/search/classes_65.html new file mode 100644 index 0000000..5e2a73c --- /dev/null +++ b/doc/html/search/classes_65.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/classes_65.js b/doc/html/search/classes_65.js new file mode 100644 index 0000000..f488ac5 --- /dev/null +++ b/doc/html/search/classes_65.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['evt_5fhandler_5fstruct',['evt_handler_struct',['../unionevt__handler__struct.html',1,'']]], + ['evt_5fhandler_5fstruct_2edsk_5freport',['evt_handler_struct.dsk_report',['../structevt__handler__struct_8dsk__report.html',1,'']]], + ['evt_5fhandler_5fstruct_2erequested_5fkeys',['evt_handler_struct.requested_keys',['../structevt__handler__struct_8requested__keys.html',1,'']]] +]; diff --git a/doc/html/search/classes_69.html b/doc/html/search/classes_69.html new file mode 100644 index 0000000..a883454 --- /dev/null +++ b/doc/html/search/classes_69.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/classes_69.js b/doc/html/search/classes_69.js new file mode 100644 index 0000000..e8c62f0 --- /dev/null +++ b/doc/html/search/classes_69.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ima_5fdata',['ima_data',['../group__zconnection.html#structima__data',1,'']]] +]; diff --git a/doc/html/search/classes_7a.html b/doc/html/search/classes_7a.html new file mode 100644 index 0000000..8562701 --- /dev/null +++ b/doc/html/search/classes_7a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/classes_7a.js b/doc/html/search/classes_7a.js new file mode 100644 index 0000000..9333262 --- /dev/null +++ b/doc/html/search/classes_7a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['zip_5fservice',['zip_service',['../group__zresource.html#structzip__service',1,'']]] +]; diff --git a/doc/html/search/close.png b/doc/html/search/close.png new file mode 100644 index 0000000..9342d3d Binary files /dev/null and b/doc/html/search/close.png differ diff --git a/doc/html/search/enums_6e.html b/doc/html/search/enums_6e.html new file mode 100644 index 0000000..c391fc5 --- /dev/null +++ b/doc/html/search/enums_6e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/enums_6e.js b/doc/html/search/enums_6e.js new file mode 100644 index 0000000..af6924f --- /dev/null +++ b/doc/html/search/enums_6e.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['node_5fmode_5ft',['node_mode_t',['../group__zresource.html#ga0d9ea31eaf9178726ac9d285b0b50b06',1,'zresource.h']]] +]; diff --git a/doc/html/search/enums_74.html b/doc/html/search/enums_74.html new file mode 100644 index 0000000..494e70a --- /dev/null +++ b/doc/html/search/enums_74.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/enums_74.js b/doc/html/search/enums_74.js new file mode 100644 index 0000000..127d8fc --- /dev/null +++ b/doc/html/search/enums_74.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['transmission_5fspeed_5ft',['transmission_speed_t',['../group__zconnection.html#ga7cc42f579446cdb2318bd54cd8a5be56',1,'zconnection.h']]], + ['transmission_5fstatus_5fcode_5ft',['transmission_status_code_t',['../group__zconnection.html#ga4b20b0597391ce5ab2f03f442aae5ff0',1,'zconnection.h']]] +]; diff --git a/doc/html/search/enumvalues_6d.html b/doc/html/search/enumvalues_6d.html new file mode 100644 index 0000000..0c53139 --- /dev/null +++ b/doc/html/search/enumvalues_6d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/enumvalues_6d.js b/doc/html/search/enumvalues_6d.js new file mode 100644 index 0000000..5078990 --- /dev/null +++ b/doc/html/search/enumvalues_6d.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['mode_5falwayslistening',['MODE_ALWAYSLISTENING',['../group__zresource.html#gga0d9ea31eaf9178726ac9d285b0b50b06a9c517150fea8b9379e0f0fe2c4ecc591',1,'zresource.h']]], + ['mode_5ffrequentlylistening',['MODE_FREQUENTLYLISTENING',['../group__zresource.html#gga0d9ea31eaf9178726ac9d285b0b50b06a16af1e47ad9347c9783243e96c79ca1e',1,'zresource.h']]], + ['mode_5fmailbox',['MODE_MAILBOX',['../group__zresource.html#gga0d9ea31eaf9178726ac9d285b0b50b06ab78cf5d8e8d1e2f885873a29e0dcb867',1,'zresource.h']]], + ['mode_5fnonlistening',['MODE_NONLISTENING',['../group__zresource.html#gga0d9ea31eaf9178726ac9d285b0b50b06a58f3bf8391b73348543e4668a20061da',1,'zresource.h']]], + ['mode_5fprobing',['MODE_PROBING',['../group__zresource.html#gga0d9ea31eaf9178726ac9d285b0b50b06ae0010807119b74ff2a9ca2bbb66601af',1,'zresource.h']]] +]; diff --git a/doc/html/search/enumvalues_74.html b/doc/html/search/enumvalues_74.html new file mode 100644 index 0000000..7392681 --- /dev/null +++ b/doc/html/search/enumvalues_74.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/enumvalues_74.js b/doc/html/search/enumvalues_74.js new file mode 100644 index 0000000..8bee221 --- /dev/null +++ b/doc/html/search/enumvalues_74.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['transmit_5fnot_5fok',['TRANSMIT_NOT_OK',['../group__zconnection.html#gga4b20b0597391ce5ab2f03f442aae5ff0ad7b4913a3822fff41568daa0f8537fff',1,'zconnection.h']]], + ['transmit_5fok',['TRANSMIT_OK',['../group__zconnection.html#gga4b20b0597391ce5ab2f03f442aae5ff0acab3c2d1ae7aa3ca5735fd8f2a73559c',1,'zconnection.h']]], + ['transmit_5ftimeout',['TRANSMIT_TIMEOUT',['../group__zconnection.html#gga4b20b0597391ce5ab2f03f442aae5ff0a74bb322ae7a4e44389eafd9b2a539333',1,'zconnection.h']]] +]; diff --git a/doc/html/search/functions_7a.html b/doc/html/search/functions_7a.html new file mode 100644 index 0000000..8b9c5bc --- /dev/null +++ b/doc/html/search/functions_7a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/functions_7a.js b/doc/html/search/functions_7a.js new file mode 100644 index 0000000..095ff40 --- /dev/null +++ b/doc/html/search/functions_7a.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['zclient_5fstart',['zclient_start',['../group__zwaveip.html#gaf91f3a56a63560ba0d7b1fe1c3aad193',1,'libzwaveip.h']]], + ['zclient_5fstop',['zclient_stop',['../group__zwaveip.html#ga5359627d93f669af5f069f65a801c7d1',1,'libzwaveip.h']]], + ['zconncetion_5fset_5fendpoint',['zconncetion_set_endpoint',['../group__zconnection.html#ga7f57945f78564c6ceeac693492f55bc0',1,'zconnection.h']]], + ['zconnection_5fget_5fexpected_5fdelay',['zconnection_get_expected_delay',['../group__zconnection.html#ga223feff457aaded333bd36697e745dff',1,'zconnection.h']]], + ['zconnection_5fget_5fima_5fdata',['zconnection_get_ima_data',['../group__zconnection.html#gaffa0147285fa23055a696070460f1fc3',1,'zconnection.h']]], + ['zconnection_5fsend_5fasync',['zconnection_send_async',['../group__zconnection.html#ga77d2f4c1c7c29227ecca5aa6237679f5',1,'zconnection.h']]], + ['zconnection_5fset_5ftransmit_5fdone_5ffunc',['zconnection_set_transmit_done_func',['../group__zconnection.html#gad79370db9e8c38211b6b6567c9b2dff1',1,'zconnection.h']]], + ['zconnection_5fwait_5ffor_5ftransmission',['zconnection_wait_for_transmission',['../group__zconnection.html#gae3be1546d0fec98148acc19bbdafcad8',1,'zconnection.h']]], + ['zresource_5fmdns_5fthread_5ffunc',['zresource_mdns_thread_func',['../group__zresource.html#gadeb9c9539b5fd0385e09d599ba665619',1,'zresource.h']]], + ['zserver_5fstart',['zserver_start',['../group__zwaveip.html#gadbd3e3dcedc930c947593ab100049915',1,'libzwaveip.h']]] +]; diff --git a/doc/html/search/groups_7a.html b/doc/html/search/groups_7a.html new file mode 100644 index 0000000..d775973 --- /dev/null +++ b/doc/html/search/groups_7a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/groups_7a.js b/doc/html/search/groups_7a.js new file mode 100644 index 0000000..ec10ccd --- /dev/null +++ b/doc/html/search/groups_7a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['z_2fip_20connection',['Z/IP connection',['../group__zconnection.html',1,'']]], + ['z_2fip_20resource',['Z/IP Resource',['../group__zresource.html',1,'']]], + ['z_2dwave_20for_20ip_20library_20api',['Z-Wave for IP library API',['../group__zwaveip.html',1,'']]] +]; diff --git a/doc/html/search/mag_sel.png b/doc/html/search/mag_sel.png new file mode 100644 index 0000000..81f6040 Binary files /dev/null and b/doc/html/search/mag_sel.png differ diff --git a/doc/html/search/nomatches.html b/doc/html/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/doc/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/doc/html/search/pages_6c.html b/doc/html/search/pages_6c.html new file mode 100644 index 0000000..523b6a2 --- /dev/null +++ b/doc/html/search/pages_6c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/pages_6c.js b/doc/html/search/pages_6c.js new file mode 100644 index 0000000..74f61d3 --- /dev/null +++ b/doc/html/search/pages_6c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['libzwaveip_20_2d',['libzwaveip -',['../index.html',1,'']]] +]; diff --git a/doc/html/search/search.css b/doc/html/search/search.css new file mode 100644 index 0000000..4d7612f --- /dev/null +++ b/doc/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:111px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/doc/html/search/search.js b/doc/html/search/search.js new file mode 100644 index 0000000..ed4b833 --- /dev/null +++ b/doc/html/search/search.js @@ -0,0 +1,809 @@ +// Search script generated by doxygen +// Copyright (C) 2009 by Dimitri van Heesch. + +// The code in this file is loosly based on main.js, part of Natural Docs, +// which is Copyright (C) 2003-2008 Greg Valure +// Natural Docs is licensed under the GPL. + +var indexSectionsWithContent = +{ + 0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100111011001110101111000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100111011001110101111000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 5: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 6: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 7: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "functions", + 3: "variables", + 4: "enums", + 5: "enumvalues", + 6: "groups", + 7: "pages" +}; + +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var hexCode; + if (code<16) + { + hexCode="0"+code.toString(16); + } + else + { + hexCode=code.toString(16); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + if (indexSectionsWithContent[this.searchIndex].charAt(code) == '1') + { + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_61.js b/doc/html/search/variables_61.js new file mode 100644 index 0000000..db701bb --- /dev/null +++ b/doc/html/search/variables_61.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['addr',['addr',['../group__zresource.html#a8f7518f74110a01024134b623007636a',1,'zip_service']]], + ['addr6',['addr6',['../group__zresource.html#a33d53ae97d6c8df370ad9371b0996c2b',1,'zip_service']]], + ['aggregated',['aggregated',['../group__zresource.html#a78d5a733d0026f2cc2cccae259363c85',1,'zip_service']]], + ['aggregatedlen',['aggregatedlen',['../group__zresource.html#ae0caccbb4a93e6e959d006b18b9c4f68',1,'zip_service']]] +]; diff --git a/doc/html/search/variables_64.html b/doc/html/search/variables_64.html new file mode 100644 index 0000000..87ccbcc --- /dev/null +++ b/doc/html/search/variables_64.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_64.js b/doc/html/search/variables_64.js new file mode 100644 index 0000000..657b011 --- /dev/null +++ b/doc/html/search/variables_64.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dsk_5freport',['dsk_report',['../unionevt__handler__struct.html#a0244496baffe591f0bde59fbe5054804',1,'evt_handler_struct']]] +]; diff --git a/doc/html/search/variables_65.html b/doc/html/search/variables_65.html new file mode 100644 index 0000000..9b98f66 --- /dev/null +++ b/doc/html/search/variables_65.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_65.js b/doc/html/search/variables_65.js new file mode 100644 index 0000000..9ba50f0 --- /dev/null +++ b/doc/html/search/variables_65.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['epid',['epid',['../group__zresource.html#ac158a5c952c5254aecc59fd158539524',1,'zip_service']]] +]; diff --git a/doc/html/search/variables_66.html b/doc/html/search/variables_66.html new file mode 100644 index 0000000..67d53d8 --- /dev/null +++ b/doc/html/search/variables_66.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_66.js b/doc/html/search/variables_66.js new file mode 100644 index 0000000..3b0027e --- /dev/null +++ b/doc/html/search/variables_66.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['flags',['flags',['../group__zresource.html#abcabaeb8e78cfeadaa8b9c4df5186567',1,'zip_service']]] +]; diff --git a/doc/html/search/variables_68.html b/doc/html/search/variables_68.html new file mode 100644 index 0000000..cf24dc5 --- /dev/null +++ b/doc/html/search/variables_68.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_68.js b/doc/html/search/variables_68.js new file mode 100644 index 0000000..5b54525 --- /dev/null +++ b/doc/html/search/variables_68.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['host_5fname',['host_name',['../group__zresource.html#aefd4745ddbb6df6897028dc81e3818d6',1,'zip_service']]] +]; diff --git a/doc/html/search/variables_69.html b/doc/html/search/variables_69.html new file mode 100644 index 0000000..941e607 --- /dev/null +++ b/doc/html/search/variables_69.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_69.js b/doc/html/search/variables_69.js new file mode 100644 index 0000000..b4b61f2 --- /dev/null +++ b/doc/html/search/variables_69.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['info',['info',['../group__zresource.html#aa04e8f6b723b2049110874826588907b',1,'zip_service']]], + ['infolen',['infolen',['../group__zresource.html#a5199ce5d28bff025a98f1051e0f2ce5b',1,'zip_service']]], + ['installer_5ficonid',['installer_iconID',['../group__zresource.html#ab023d608a852827040df7da5ca17b27f',1,'zip_service']]] +]; diff --git a/doc/html/search/variables_6c.html b/doc/html/search/variables_6c.html new file mode 100644 index 0000000..30533ad --- /dev/null +++ b/doc/html/search/variables_6c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_6c.js b/doc/html/search/variables_6c.js new file mode 100644 index 0000000..46e8a72 --- /dev/null +++ b/doc/html/search/variables_6c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['last_5fworking_5froute',['last_working_route',['../group__zconnection.html#af45c6c3a2ee18c43998834c2a485f28c',1,'ima_data']]] +]; diff --git a/doc/html/search/variables_6d.html b/doc/html/search/variables_6d.html new file mode 100644 index 0000000..ca88546 --- /dev/null +++ b/doc/html/search/variables_6d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_6d.js b/doc/html/search/variables_6d.js new file mode 100644 index 0000000..e2dee71 --- /dev/null +++ b/doc/html/search/variables_6d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['manufacturerid',['manufacturerID',['../group__zresource.html#af98d5ab84f5b8b0c64814fc691d033cc',1,'zip_service']]], + ['mode',['mode',['../group__zresource.html#ab9672013465c686926436f00181395e8',1,'zip_service']]] +]; diff --git a/doc/html/search/variables_6e.html b/doc/html/search/variables_6e.html new file mode 100644 index 0000000..e0813cf --- /dev/null +++ b/doc/html/search/variables_6e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_6e.js b/doc/html/search/variables_6e.js new file mode 100644 index 0000000..ef9bd02 --- /dev/null +++ b/doc/html/search/variables_6e.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['next',['next',['../group__zresource.html#a48b6745a62b02e865698b43023a41340',1,'zip_service']]] +]; diff --git a/doc/html/search/variables_70.html b/doc/html/search/variables_70.html new file mode 100644 index 0000000..091e4bf --- /dev/null +++ b/doc/html/search/variables_70.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_70.js b/doc/html/search/variables_70.js new file mode 100644 index 0000000..af7595a --- /dev/null +++ b/doc/html/search/variables_70.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['productid',['productID',['../group__zresource.html#aefdc6880b555b58dcadfd9333358e6c6',1,'zip_service']]], + ['producttype',['productType',['../group__zresource.html#ad5ba0fc9cbac12cea3fb8d6402e45471',1,'zip_service']]] +]; diff --git a/doc/html/search/variables_72.html b/doc/html/search/variables_72.html new file mode 100644 index 0000000..0e513f2 --- /dev/null +++ b/doc/html/search/variables_72.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_72.js b/doc/html/search/variables_72.js new file mode 100644 index 0000000..5fe6543 --- /dev/null +++ b/doc/html/search/variables_72.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['requested_5fkeys',['requested_keys',['../unionevt__handler__struct.html#a3d30a27fb22ddc01d928c1a3bf574c45',1,'evt_handler_struct']]], + ['route_5fchanged',['route_changed',['../group__zconnection.html#ac3bd9186672b5c640a884109e00e208a',1,'ima_data']]] +]; diff --git a/doc/html/search/variables_73.html b/doc/html/search/variables_73.html new file mode 100644 index 0000000..3c65150 --- /dev/null +++ b/doc/html/search/variables_73.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_73.js b/doc/html/search/variables_73.js new file mode 100644 index 0000000..de0a0e2 --- /dev/null +++ b/doc/html/search/variables_73.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['securityclasses',['securityClasses',['../group__zresource.html#afa80917af7cf18ed9adc69a7091c8705',1,'zip_service']]], + ['service_5fname',['service_name',['../group__zresource.html#a23e62fe7d6f8d71335d2dd5c70037a3c',1,'zip_service']]], + ['speed',['speed',['../group__zconnection.html#a56e353e1523ec36af3afbcbc90071628',1,'ima_data']]] +]; diff --git a/doc/html/search/variables_74.html b/doc/html/search/variables_74.html new file mode 100644 index 0000000..3a0726b --- /dev/null +++ b/doc/html/search/variables_74.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_74.js b/doc/html/search/variables_74.js new file mode 100644 index 0000000..255bbba --- /dev/null +++ b/doc/html/search/variables_74.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['tramission_5ftime',['tramission_time',['../group__zconnection.html#ab8ec7124e36a00a796105148398ffdbf',1,'ima_data']]] +]; diff --git a/doc/html/search/variables_75.html b/doc/html/search/variables_75.html new file mode 100644 index 0000000..95713e5 --- /dev/null +++ b/doc/html/search/variables_75.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_75.js b/doc/html/search/variables_75.js new file mode 100644 index 0000000..9cb9a44 --- /dev/null +++ b/doc/html/search/variables_75.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['user_5ficonid',['user_iconID',['../group__zresource.html#ae55fa9761c416d477d39920da03fc347',1,'zip_service']]] +]; diff --git a/doc/html/search/variables_7a.html b/doc/html/search/variables_7a.html new file mode 100644 index 0000000..5b9e156 --- /dev/null +++ b/doc/html/search/variables_7a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/html/search/variables_7a.js b/doc/html/search/variables_7a.js new file mode 100644 index 0000000..7a8d62a --- /dev/null +++ b/doc/html/search/variables_7a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['zresource_5fservices',['zresource_services',['../group__zresource.html#ga8ea7a06d595dbca616f81c2fabb50d57',1,'zresource.h']]] +]; diff --git a/doc/html/structevt__handler__struct_8dsk__report.html b/doc/html/structevt__handler__struct_8dsk__report.html new file mode 100644 index 0000000..6ca9e49 --- /dev/null +++ b/doc/html/structevt__handler__struct_8dsk__report.html @@ -0,0 +1,152 @@ + + + + + + +Lib Z-Wave IP: evt_handler_struct.dsk_report Struct Reference + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
evt_handler_struct.dsk_report Struct Reference
+
+
+ + + + + + + + +

+Data Fields

+enum net_mgmt_evt_codes type
 
+uint8_t input_dsk_length
 
+uint8_t dsk [16]
 
+

Detailed Description

+

Event dispatched when joining node has sent its public key

+

Field Documentation

+ +
+
+ + + + +
+
+ +
+
+ +
+
+ + + + +
+
+ +
+
+ +
+
+ + + + +
+
+ +
+
+
The documentation for this struct was generated from the following files:
+ + + + diff --git a/doc/html/structevt__handler__struct_8requested__keys.html b/doc/html/structevt__handler__struct_8requested__keys.html new file mode 100644 index 0000000..a8ef3a5 --- /dev/null +++ b/doc/html/structevt__handler__struct_8requested__keys.html @@ -0,0 +1,152 @@ + + + + + + +Lib Z-Wave IP: evt_handler_struct.requested_keys Struct Reference + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
evt_handler_struct.requested_keys Struct Reference
+
+
+ + + + + + + + +

+Data Fields

+enum net_mgmt_evt_codes type
 
+uint8_t requested_keys
 
uint8_t csa_requested
 
+

Detailed Description

+

Event dispatched when joining node requests security keys

+

Field Documentation

+ +
+
+ + + + +
+
+

Client side authentication requested flag

+ +
+
+ +
+
+ + + + +
+
+ +
+
+ +
+
+ + + + +
+
+ +
+
+
The documentation for this struct was generated from the following files:
+ + + + diff --git a/doc/html/style.css b/doc/html/style.css new file mode 100644 index 0000000..d8120e7 --- /dev/null +++ b/doc/html/style.css @@ -0,0 +1,106 @@ + +/* Tab general background */ +.tabs, .tabs2, .tabs3 { + + background-image: none; + background-color: #1a365d; + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +/* Tab page background*/ +.tablist li { + border-right: 1px solid #0a264d; + background-image: none; +} + +/* Tab link */ +.tablist a { + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +/*Hover over tab */ +.tablist a:hover { + background-image: none; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +} + +/* Selected tab */ +.tablist li.current a { + background-image: none; + color: #fff; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: underline; +} + +/*The split bar*/ +.ui-resizable-e { + background-color: #1a365d; + background-image: none; +} + +/* All links */ +a { + color: #1a365d; +} + +.contents a:visited { + color: #1a365d; +} + +/*Footer */ +.navpath ul { + background-color: #1a365d; + background-image: none; + +} + +.navpath li.footer { + color: #FFFFFF; +} + + + +#footer { + width: 100%; + bottom: 0; + left: 0; + position: relative; +} +.region-footer { + margin-top: 80px; + background: #dedede; + padding: 0; +} + +.container, .region-footer .block-block { + width: 960px; + margin: 0 auto; +} +.region-footer .footer-menu { + width: 40%; + float: left; + padding: 28px 0; +} +.region-footer .footer-logo { + width: 20%; + float: left; + text-align: center; +} +.region-footer .footer-copy { + width: 40%; + float: left; + text-align: right; + padding: 28px 0; +} + +blockquote { +border-left: 6px solid #e4e4e4; + padding-left: 15px; +} + + diff --git a/doc/html/sync_off.png b/doc/html/sync_off.png new file mode 100644 index 0000000..3b443fc Binary files /dev/null and b/doc/html/sync_off.png differ diff --git a/doc/html/sync_on.png b/doc/html/sync_on.png new file mode 100644 index 0000000..e08320f Binary files /dev/null and b/doc/html/sync_on.png differ diff --git a/doc/html/tab_a.png b/doc/html/tab_a.png new file mode 100644 index 0000000..3b725c4 Binary files /dev/null and b/doc/html/tab_a.png differ diff --git a/doc/html/tab_b.png b/doc/html/tab_b.png new file mode 100644 index 0000000..e2b4a86 Binary files /dev/null and b/doc/html/tab_b.png differ diff --git a/doc/html/tab_h.png b/doc/html/tab_h.png new file mode 100644 index 0000000..fd5cb70 Binary files /dev/null and b/doc/html/tab_h.png differ diff --git a/doc/html/tab_s.png b/doc/html/tab_s.png new file mode 100644 index 0000000..ab478c9 Binary files /dev/null and b/doc/html/tab_s.png differ diff --git a/doc/html/tabs.css b/doc/html/tabs.css new file mode 100644 index 0000000..9cf578f --- /dev/null +++ b/doc/html/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/doc/html/unionevt__handler__struct.html b/doc/html/unionevt__handler__struct.html new file mode 100644 index 0000000..08689f7 --- /dev/null +++ b/doc/html/unionevt__handler__struct.html @@ -0,0 +1,161 @@ + + + + + + +Lib Z-Wave IP: evt_handler_struct Union Reference + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
evt_handler_struct Union Reference
+
+
+ +

#include <network_management.h>

+ + + + + + + + + + + + + + + + + + + + +

+Data Fields

struct {
+enum net_mgmt_evt_codes type
 
+uint8_t requested_keys
 
uint8_t csa_requested
 
requested_keys
 
struct {
+enum net_mgmt_evt_codes type
 
+uint8_t input_dsk_length
 
+uint8_t dsk [16]
 
dsk_report
 
+

Detailed Description

+

The net_mgmt_command_handler() takes these events as arguments

+

Field Documentation

+ +
+
+ + + + +
struct { ... } evt_handler_struct::dsk_report
+
+

Event dispatched when joining node has sent its public key

+ +
+
+ +
+
+ + + + +
struct { ... } evt_handler_struct::requested_keys
+
+

Event dispatched when joining node requests security keys

+ +
+
+
The documentation for this union was generated from the following file: +
+ + + + diff --git a/doc/html/unique__seqno_8h_source.html b/doc/html/unique__seqno_8h_source.html new file mode 100644 index 0000000..6c63de8 --- /dev/null +++ b/doc/html/unique__seqno_8h_source.html @@ -0,0 +1,128 @@ + + + + + + +Lib Z-Wave IP: /home/jbu/work/libzwaveip/include/unique_seqno.h Source File + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
unique_seqno.h
+
+
+
1 /*
+
2  * Copyright 2016 Sigma Designs, Inc.
+
3  *
+
4  * Licensed under the Apache License, Version 2.0 (the "License");
+
5  * you may not use this file except in compliance with the License.
+
6  * You may obtain a copy of the License at:
+
7  *
+
8  * http://www.apache.org/licenses/LICENSE-2.0
+
9  *
+
10  * Unless required by applicable law or agreed to in writing, software
+
11  * distributed under the License is distributed on an "AS IS" BASIS,
+
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13  * See the License for the specific language governing permissions and
+
14  * limitations under the License.
+
15  */
+
16 /*
+
17  * unique_seqno.h
+
18  *
+
19  * Created on: Aug 23, 2016
+
20  * Author: jbu
+
21  */
+
22 
+
23 #ifndef UNIQUE_SEQNO_H_
+
24 #define UNIQUE_SEQNO_H_
+
25 
+
32 uint8_t get_unique_seq_no(void);
+
33 
+
34 #endif /* UNIQUE_SEQNO_H_ */
+
+ + + + diff --git a/doc/html/zconnection_8h_source.html b/doc/html/zconnection_8h_source.html new file mode 100644 index 0000000..aee0bd1 --- /dev/null +++ b/doc/html/zconnection_8h_source.html @@ -0,0 +1,176 @@ + + + + + + +Lib Z-Wave IP: /home/jbu/work/libzwaveip/include/zconnection.h Source File + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
zconnection.h
+
+
+
1 /*
+
2  * Copyright 2016 Sigma Designs, Inc.
+
3  *
+
4  * Licensed under the Apache License, Version 2.0 (the "License");
+
5  * you may not use this file except in compliance with the License.
+
6  * You may obtain a copy of the License at:
+
7  *
+
8  * http://www.apache.org/licenses/LICENSE-2.0
+
9  *
+
10  * Unless required by applicable law or agreed to in writing, software
+
11  * distributed under the License is distributed on an "AS IS" BASIS,
+
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13  * See the License for the specific language governing permissions and
+
14  * limitations under the License.
+
15  */
+
16 /*
+
17  * zconnection.h
+
18  *
+
19  * Created on: May 23, 2016
+
20  * Author: aes
+
21  */
+
22 
+
23 #ifndef ZCONNECTION_H_
+
24 #define ZCONNECTION_H_
+
25 
+
26 #include <stdint.h>
+
27 #include <pthread.h>
+
28 
+
38 struct zconnection;
+
39 
+
43 typedef enum {
+ + +
46 
+ + +
53 
+
54 typedef void (*transfer_func_t)(struct zconnection* connection,
+
55  const uint8_t* data, uint16_t datalen);
+
56 typedef void (*transmit_done_func_t)(struct zconnection* connection,
+ +
58 
+
62 typedef enum {
+
63  SPEED_96,
+
64  SPEED_40,
+
65  SPEED_100,
+
66  SPEED_200
+ +
68 
+
72 struct ima_data {
+
73  uint8_t last_working_route[4];
+
74  //transmission
+ +
76  //transmission
+
77  uint8_t route_changed;
+
78  //detected.
+
79  uint16_t tramission_time;
+
80 };
+
81 
+
91 uint8_t zconnection_send_async(struct zconnection* connection,
+
92  const uint8_t* data, uint16_t datalen,
+
93  int response);
+
94 
+
98 void zconnection_wait_for_transmission(struct zconnection* connection);
+
99 
+
104 const struct ima_data* zconnection_get_ima_data(
+
105  const struct zconnection* connection);
+
106 
+
112 uint16_t zconnection_get_expected_delay(const struct zconnection* connection);
+
113 
+
120 void zconnection_set_transmit_done_func(struct zconnection* connection,
+
121  transmit_done_func_t func);
+
122 
+
128 void zconncetion_set_endpoint(struct zconnection* connection, uint8_t endpoint);
+
129 
+
134 #endif /* ZCONNECTION_H_ */
+
+ + + + diff --git a/doc/html/zresource_8h_source.html b/doc/html/zresource_8h_source.html new file mode 100644 index 0000000..0618298 --- /dev/null +++ b/doc/html/zresource_8h_source.html @@ -0,0 +1,170 @@ + + + + + + +Lib Z-Wave IP: /home/jbu/work/libzwaveip/include/zresource.h Source File + + + + + + + + + + +
+
+ + + + + + + +
+
Lib Z-Wave IP +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
zresource.h
+
+
+
1 /*
+
2  * Copyright 2016 Sigma Designs, Inc.
+
3  *
+
4  * Licensed under the Apache License, Version 2.0 (the "License");
+
5  * you may not use this file except in compliance with the License.
+
6  * You may obtain a copy of the License at:
+
7  *
+
8  * http://www.apache.org/licenses/LICENSE-2.0
+
9  *
+
10  * Unless required by applicable law or agreed to in writing, software
+
11  * distributed under the License is distributed on an "AS IS" BASIS,
+
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13  * See the License for the specific language governing permissions and
+
14  * limitations under the License.
+
15  */
+
16 /*
+
17  * zipresource.h
+
18  *
+
19  * Created on: Sep 5, 2016
+
20  * Author: aes
+
21  */
+
22 
+
23 #ifndef ZRESOURCE_H_
+
24 #define ZRESOURCE_H_
+
25 
+
26 #include <stdint.h>
+
27 #include <netinet/in.h>
+
28 #include <netinet/ip6.h>
+
46 #define MODE_FLAGS_DELETED 0x01
+
48 #define MODE_FLAGS_FAILED 0x02
+
50 
+
54 typedef enum {
+ + + + + +
60  //command class
+
61 } node_mode_t;
+
62 
+ +
68 {
+
69  struct zip_service* next;
+
70  char* service_name;
+
71  char* host_name;
+
72  uint8_t *info;
+
73  int infolen;
+
74  uint8_t *aggregated;
+ +
76  int epid;
+ +
78  int flags;
+
79 
+
80  uint16_t manufacturerID;
+
81  uint16_t productType;
+
82  uint16_t productID;
+
83 
+ +
85  uint16_t installer_iconID;
+
86  uint16_t user_iconID;
+
87 
+
88  struct sockaddr_in6 addr6;
+
89  struct sockaddr_in addr;
+
90 };
+
91 
+
103 extern struct zip_service* zresource_services;
+
104 
+
113 void* zresource_mdns_thread_func(void*);
+
114 
+
118 #endif /* ZRESOURCE_H_ */
+
+ + + +