plc.c.html 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. <?xml version='1.0' encoding='iso-8859-1'?>
  2. <!doctype html public '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
  3. <html xmlns='http://www.w3c.org/1999/xhtml' lang='en-us'>
  4. <head>
  5. <title>
  6. plc.c
  7. </title>
  8. <meta http-equiv='content-type' content='text/html;iso-8859-1'/>
  9. <meta name='generator' content='motley-tools 1.9.4 13:40:33 Feb 18 2015'/>
  10. <meta name='author' content='cmaier@cmassoc.net'/>
  11. <meta name='robots' content='noindex,nofollow'/>
  12. <link href='toolkit.css' rel='stylesheet' type='text/css'/>
  13. </head>
  14. <body>
  15. <div class='headerlink'>
  16. [<a href='plcboot.c.html' title=' plcboot.c '>PREV</a>]
  17. [<a href='toolkit.html' title=' Index '>HOME</a>]
  18. [<a href='plcdevs.c.html' title=' plcdevs.c '>NEXT</a>]
  19. </div>
  20. <pre>
  21. /*====================================================================*
  22. *
  23. * Copyright (c) 2013 Qualcomm Atheros, Inc.
  24. *
  25. * All rights reserved.
  26. *
  27. * Redistribution and use in source and binary forms, with or
  28. * without modification, are permitted (subject to the limitations
  29. * in the disclaimer below) provided that the following conditions
  30. * are met:
  31. *
  32. * * Redistributions of source code must retain the above copyright
  33. * notice, this list of conditions and the following disclaimer.
  34. *
  35. * * Redistributions in binary form must reproduce the above
  36. * copyright notice, this list of conditions and the following
  37. * disclaimer in the documentation and/or other materials
  38. * provided with the distribution.
  39. *
  40. * * Neither the name of Qualcomm Atheros nor the names of
  41. * its contributors may be used to endorse or promote products
  42. * derived from this software without specific prior written
  43. * permission.
  44. *
  45. * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
  46. * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE
  47. * COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR
  48. * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  49. * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  50. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
  51. * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  52. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  53. * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  54. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  55. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  56. * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
  57. * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  58. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  59. *
  60. *--------------------------------------------------------------------*/
  61. /*====================================================================*
  62. *
  63. * plc.c - Qualcomm Atheros Powerline Data Structure;
  64. *
  65. * this structure contains information needed to perform various
  66. * operations on Qualcomm Atheros powerline devices; it represents
  67. * one instance of a device and could easily be converted to an
  68. * object in the future;
  69. *
  70. * this structure points to a channel and a message structure;
  71. *
  72. *
  73. * Contributor(s):
  74. * Charles Maier &lt;cmaier@qca.qualcomm.com&gt;
  75. * Alex Vasquez &lt;avasquez@qca.qualcomm.com&gt;
  76. *
  77. *--------------------------------------------------------------------*/
  78. #ifndef PLC_SOURCE
  79. #define PLC_SOURCE
  80. #include &quot;../plc/plc.h&quot;
  81. #include &quot;../ether/channel.h&quot;
  82. struct plc plc =
  83. {
  84. (struct channel *) (&amp; channel),
  85. (struct message *) (0),
  86. (void *) (0),
  87. 0,
  88. /*
  89. * Local Device Address (LDA) buffer needed by all operations;
  90. */
  91. {
  92. 0x00,
  93. 0x00,
  94. 0x00,
  95. 0x00,
  96. 0x00,
  97. 0x00
  98. },
  99. /*
  100. * Remote Device Address (RDA) buffer needed by selected operations;
  101. */
  102. {
  103. 0x00,
  104. 0x00,
  105. 0x00,
  106. 0x00,
  107. 0x00,
  108. 0x00
  109. },
  110. /*
  111. * Network Membership Key (NMK) needed by VS_SET_KEY operations;
  112. * The default is an encrypted version of password &quot;HomePlugAV&quot;;
  113. */
  114. {
  115. 0x50,
  116. 0xD3,
  117. 0xE4,
  118. 0x93,
  119. 0x3F,
  120. 0x85,
  121. 0x5B,
  122. 0x70,
  123. 0x40,
  124. 0x78,
  125. 0x4D,
  126. 0xF8,
  127. 0x15,
  128. 0xAA,
  129. 0x8D,
  130. 0xB7
  131. },
  132. /*
  133. * Device Access Key (DAK) needed for VS_SET_KEY operations;
  134. * The default is an encrypted version of password &quot;HomePlugAV&quot;;
  135. */
  136. {
  137. 0x68,
  138. 0x9F,
  139. 0x07,
  140. 0x4B,
  141. 0x8B,
  142. 0x02,
  143. 0x75,
  144. 0xA2,
  145. 0x71,
  146. 0x0B,
  147. 0x0B,
  148. 0x57,
  149. 0x79,
  150. 0xAD,
  151. 0x16,
  152. 0x30
  153. },
  154. /*
  155. * struct _file_ CFG; MAC software will be read from this file and
  156. * written to RAM for each device specified on the command line;
  157. * some tools use this file for the panther/lynx softloader;
  158. */
  159. {
  160. (file_t) (-1),
  161. (char const *) (0)
  162. },
  163. /*
  164. * struct _file_ cfg; SDRAM configuration will be read from flash
  165. * on the specified device and written to this file;
  166. */
  167. {
  168. (file_t) (-1),
  169. (char const *) (0)
  170. },
  171. /*
  172. * struct _file_ SFT; softloader file to be written to flash
  173. * memory;
  174. */
  175. {
  176. (file_t) (-1),
  177. (char const *) (0)
  178. },
  179. /*
  180. * struct _file_ sft; softloader file to be read from flash
  181. * memory;
  182. */
  183. {
  184. (file_t) (-1),
  185. (char const *) (0)
  186. },
  187. /*
  188. * struct _file_ NVM; runtime firmware will be read from this file
  189. * and written to RAM for each device specified on the command line;
  190. */
  191. {
  192. (file_t) (-1),
  193. (char const *) (0)
  194. },
  195. /*
  196. * struct _file_ nvm; MAC software will be read from SDRAM on the
  197. * specified device and written to this file; interlocks elsewhere
  198. * in the code should prevent this file from being overwritten
  199. * multiple times, by accident, and ensure that it is created before
  200. * and new MAC software is written to device RAM;
  201. */
  202. {
  203. (file_t) (-1),
  204. (char const *) (0)
  205. },
  206. /*
  207. * struct _file_ PIB; PIB information will be read from this file
  208. * and written to RAM for each device specified on the command line;
  209. */
  210. {
  211. (file_t) (-1),
  212. (char const *) (0)
  213. },
  214. /*
  215. * struct _file_ pib; PIB information will be read from SDRAM on
  216. * the specified device and written to this file; interlocks elsewhere
  217. * in the code should prevent this file from being overwritten
  218. * multiple times, by accident, and ensure that it is created before
  219. * any new PIB software is written to device RAM;
  220. */
  221. {
  222. (file_t) (-1),
  223. (char const *) (0)
  224. },
  225. /*
  226. * struct _file_ XML; optional XML PIB edit instructions; this is an
  227. * advanced feature;
  228. */
  229. {
  230. (file_t) (-1),
  231. (char const *) (0)
  232. },
  233. /*
  234. * struct _file_ rpt; Watchdog Report data will be read from the device
  235. * and written to this file;
  236. */
  237. {
  238. (file_t) (-1),
  239. (char const *) (0)
  240. },
  241. /*
  242. * struct _file_ socket;
  243. */
  244. {
  245. (file_t) (-1),
  246. (char const *) (0)
  247. },
  248. /*
  249. * miscellaneous small integers used as needed when arguments
  250. * are required for an MME;
  251. */
  252. HARDWAREID,
  253. SOFTWAREID,
  254. PLCSESSION,
  255. HOSTACTION,
  256. SECTORCODE,
  257. MODULECODE,
  258. PUSHBUTTON,
  259. READACTION,
  260. PLCOUPLING,
  261. FLASH_SIZE,
  262. /*
  263. * various boolean flags; bailout causes exit on first failure;
  264. * timeout indicates a real timeout; count is the loop counter;
  265. * pause is a loop wait timer; values are declared as constants
  266. * above;
  267. */
  268. PLC_STATE,
  269. PLC_TIMER,
  270. PLC_SLEEP,
  271. PLC_COUNT,
  272. PLC_INDEX,
  273. PLC_FLAGS,
  274. PLC_FLAGS
  275. };
  276. #endif
  277. </pre>
  278. <div class='footerlink'>
  279. [<a href='plcboot.c.html' title=' plcboot.c '>PREV</a>]
  280. [<a href='toolkit.html' title=' Index '>HOME</a>]
  281. [<a href='plcdevs.c.html' title=' plcdevs.c '>NEXT</a>]
  282. </div>
  283. </body>
  284. </html>